Blame usr/sbin/pkcsslotd/pkcsslotd.h

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 */