📄 ipcfun.h
字号:
/*************************************** *文件名:ipcfun.h *描 述:进程间通信通用函数头文件 *编 写:LHZ *时 间:2004-05-10 *函 数: ****************************************/#ifndef IPCFUN_H#define IPCFUN_H#define RO_IPC 0 /*IPC readonly 只读*/#define RW_IPC 1 /*IPC readwrite 读写*/#define WAIT_IPC 0 /*IPC wait 阻塞*/#define NOWT_IPC 1 /*IPC nowait 非阻塞*/#define __MSG_INC#define __SHM_INC#define __SEM_INC#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <sys/sem.h>#include <sys/shm.h>#include <signal.h>#include <ctype.h>#include <errno.h>#ifdef __MSG_INC#define MSG_DATA_SIZE (1024 - 2 * sizeof(long))typedef struct{ long msg_type; long msg_level; char msg_data[MSG_DATA_SIZE];}MsgBuf;typedef struct{ char path[50]; /*ftok参考路径,须系统完整路径*/ char proc[50]; /*客户端程序名*/ key_t key; /*ftok key value*/ int msqid; /*消息队列标识*/ MsgBuf msgbuf; /*消息队列缓冲*/}MsgSrv;extern MsgSrv msgsrv;void msg_down_srv();int msg_initfp(char *, char *);int msg_init_srv(char *, char *);int msg_init_clt(char *, char *);int msg_data_recv(long , char *);int msg_data_send(long , char *);int msg_data_sendto(long , char *);int msg_creat(key_t , int );int msg_open(key_t , int );int msg_remove(int );int msg_recv(int , MsgBuf *);int msg_send(int , MsgBuf *);int msg_sendto(int , MsgBuf *);#endif /*__MSG_INC*/#ifdef __SHM_INCint shm_create(key_t key, size_t size);void *shm_link(key_t key, int shmid, int flag);int shm_unlink(void *paddr);int shm_remove(key_t key, int shmid);#endif /*__SHM_INC*/#ifdef __SEM_INC#define MIN_SHMSIZE 100union semun{ int val; struct semid_ds *buf; ushort *array;};int sem_create(key_t key, int semnum);int sem_remove(key_t key);int sem_lock(key_t key, int semnum, int flag);int sem_unlock(key_t key, int semnum, int flag);int sem_valused(key_t key, int semnum, int flag);int sem_valfree(key_t key, int semnum, int flag);int sem_setval(key_t key, int semnum, int semval);int sem_getval(key_t key, int semnum);#endif /*__SEM_INC*/#endif /*IPCFUN_H*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -