📄 sessemaphore.h
字号:
/****************************************************************************
*
* (c) Copyright 2006 by SCADA Enterprise Solutions Inc
* All rights reserved
*
* NAME:
*
* sesSemaphore.H -- This is the header include file for the
* semaphore functions.
*
* AUTHOR: Wai Tse
*
* DESCRIPTION:
*
* This program allows other objects to handle the signal interruption.
*
* REVISION HISTORY:
*
* 11-JUN-2006 Wai Tse Created the initial version.
*
***************************************************************************/
#ifndef SES_SEMA_H
#define SES_SEMA_H
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include "sesDbg.H"
#include "sesLogErr.H"
// For locking
#define SEMA_LOCK -1
#define SEMA_UNLOCK 1
// For semaphore access
#define SEMA_TOTAL 4
#define SEMA_HASH 0
#define SEMA_HEADER 1
#define SEMA_VALUE 2
#define SEMA_SSMA 3
#define SEMA_KEY_HASH "/opt/ems/dat/sem-hash"
#define SEMA_KEY_HEADER "/opt/ems/dat/sem-db-hdr"
#define SEMA_KEY_VALUE "/opt/ems/dat/sem-db-val"
#define SEMA_KEY_SSMA "/opt/ems/dat/sem-ssma"
#define SEMA_KEY_SSMA_STACK "/opt/ems/dat/sem-ssma-stack"
#define SEMA_KEY_TAG "/opt/ems/dat/sem-db-tag"
#define SEMA_KEY_PKT "/opt/ems/dat/sem-db-pkt"
#define SEMA_KEY_SYNC "/opt/ems/dat/sem-db-sync"
//*****************************************************************
// This function creates a semaphore
//*****************************************************************
int semaCreate(int &_semid, char *keyName);
//*****************************************************************
// This function attaches to a semaphore
//*****************************************************************
int semaAttach(int &_semid, char *keyName);
//*****************************************************************
// This function waits on the semaphore and locks or release
// the semaphore when it is available.
//*****************************************************************
int semaAct(int _semid, int action);
//*****************************************************************
// This function waits on the semaphore and locks or release
// the semaphore when it available.
//*****************************************************************
int semaRemove(int _semid);
#endif // SES_SEMA_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -