⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipcfun.h

📁 本代码主要是在SUN操作系统下消息队列的管理
💻 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 + -