|
Packit |
8681c6 |
/*
|
|
Packit |
8681c6 |
* COPYRIGHT (c) International Business Machines Corp. 2001-2017
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
* This program is provided under the terms of the Common Public License,
|
|
Packit |
8681c6 |
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
|
|
Packit |
8681c6 |
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
|
|
Packit |
8681c6 |
* found in the file LICENSE file or at
|
|
Packit |
8681c6 |
* https://opensource.org/licenses/cpl1.0.php
|
|
Packit |
8681c6 |
*/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/***********************************************************************
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
* Slot Manager Daemon header file
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
***********************************************************************/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef _PKCSSLOTMGR_H
|
|
Packit |
8681c6 |
#define _PKCSSLOTMGR_H 1
|
|
Packit |
8681c6 |
|
|
Packit Service |
8aa27d |
#include <configparser.h>
|
|
Packit Service |
8aa27d |
|
|
Packit |
8681c6 |
/***********
|
|
Packit |
8681c6 |
* Defines *
|
|
Packit |
8681c6 |
***********/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define UNUSED(var) ((void)(var))
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifdef DEV
|
|
Packit |
8681c6 |
#ifndef BECOME_DAEMON
|
|
Packit |
8681c6 |
#define BECOME_DAEMON FALSE
|
|
Packit |
8681c6 |
#endif /* BECOME_DAEMON */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef DEFAULT_LOG_FILE
|
|
Packit |
8681c6 |
#define DEFAULT_LOG_FILE (TOK_PATH ".log")
|
|
Packit |
8681c6 |
#endif /* DEFAULT_LOG_FILE */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef DEFAULT_DEBUG_LEVEL
|
|
Packit |
8681c6 |
#define DEFAULT_DEBUG_LEVEL DEBUG_LEVEL0
|
|
Packit |
8681c6 |
#endif /* DEFAULT_DEBUG_LEVEL */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#else /* DEV not defined */
|
|
Packit |
8681c6 |
#define BECOME_DAEMON TRUE
|
|
Packit |
8681c6 |
#define DEFAULT_DEBUG_LEVEL DEBUG_NONE
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#endif /* DEV */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define HASH_SHA1 1
|
|
Packit |
8681c6 |
#define HASH_MD5 2
|
|
Packit |
8681c6 |
#define compute_md5(a,b,c) compute_hash(HASH_MD5,b,a,c)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
int compute_hash(int hash_type, int buf_size, char *buf, char *digest);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/********************
|
|
Packit |
8681c6 |
* Global Variables *
|
|
Packit |
8681c6 |
********************/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
extern Slot_Mgr_Shr_t *shmp; // pointer to the shared memory region.
|
|
Packit |
8681c6 |
extern int shmid;
|
|
Packit |
8681c6 |
extern key_t tok;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
extern Slot_Info_t_64 sinfo[NUMBER_SLOTS_MANAGED];
|
|
Packit |
8681c6 |
extern unsigned int NumberSlotsInDB;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
extern int socketfd;
|
|
Packit |
8681c6 |
extern Slot_Mgr_Socket_t socketData;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/***********************
|
|
Packit |
8681c6 |
* Function Prototypes *
|
|
Packit |
8681c6 |
***********************/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
BOOL IsDaemon(void);
|
|
Packit |
8681c6 |
BOOL StopGCThread(void *Ptr);
|
|
Packit |
8681c6 |
BOOL StartGCThread(Slot_Mgr_Shr_t *MemPtr);
|
|
Packit |
8681c6 |
BOOL CheckForGarbage(Slot_Mgr_Shr_t *MemPtr);
|
|
Packit |
8681c6 |
int InitializeMutexes(void);
|
|
Packit |
8681c6 |
int DestroyMutexes(void);
|
|
Packit |
8681c6 |
int CreateSharedMemory(void);
|
|
Packit |
8681c6 |
int AttachToSharedMemory(void);
|
|
Packit |
8681c6 |
int InitSharedMemory(Slot_Mgr_Shr_t *sp);
|
|
Packit |
8681c6 |
void DetachFromSharedMemory(void);
|
|
Packit |
8681c6 |
void DestroySharedMemory(void);
|
|
Packit |
8681c6 |
int SetupSignalHandlers(void);
|
|
Packit |
8681c6 |
void slotdGenericSignalHandler(int Signal);
|
|
Packit |
8681c6 |
void PopulateCKInfo(CK_INFO_PTR_64 ckinf);
|
|
Packit |
8681c6 |
void PopulateSlotInfo(Slot_Info_t_64 *slot_info, unsigned int *processed);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
int XProcLock(void);
|
|
Packit |
8681c6 |
int XProcUnLock(void);
|
|
Packit |
8681c6 |
int CreateXProcLock(void);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
int CreateListenerSocket(void);
|
|
Packit |
8681c6 |
int InitSocketData(Slot_Mgr_Socket_t *sp);
|
|
Packit |
8681c6 |
int SocketConnectionHandler(int socketfd, int timeout_secs);
|
|
Packit |
8681c6 |
void DetachSocketListener(int socketfd);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#endif /* _SLOTMGR_H */
|