📄 msg.h
字号:
/* @(#) msg.h 1.4 1/27/86 17:47:08 *//*ident "@(#)cfront:incl/sys/msg.h 1.4"*/// ***** <sys/types.h and <sys/ipc.h> must be included./*** IPC Message Facility.*//*** Implementation Constants.*/#define PMSG (PZERO + 2) /* message facility sleep priority *//*** Permission Definitions.*/#define MSG_R 0400 /* read permission */#define MSG_W 0200 /* write permission *//*** ipc_perm Mode Definitions.*/#define MSG_RWAIT 01000 /* a reader is waiting for a message */#define MSG_WWAIT 02000 /* a writer is waiting to send *//*** Message Operation Flags.*/#define MSG_NOERROR 010000 /* no error if big message *//*** Structure Definitions.*//*** There is one msg queue id data structure for each q in the system.*/struct msqid_ds { struct ipc_perm msg_perm; /* operation permission struct */ struct msg *msg_first; /* ptr to first message on q */ struct msg *msg_last; /* ptr to last message on q */ ushort msg_cbytes; /* current # bytes on q */ ushort msg_qnum; /* # of messages on q */ ushort msg_qbytes; /* max # of bytes on q */ ushort msg_lspid; /* pid of last msgsnd */ ushort msg_lrpid; /* pid of last msgrcv */ time_t msg_stime; /* last msgsnd time */ time_t msg_rtime; /* last msgrcv time */ time_t msg_ctime; /* last change time */};/*** There is one msg structure for each message that may be in the system.*/struct msg { struct msg *msg_next; /* ptr to next message on q */ long msg_type; /* message type */ short msg_ts; /* message text size */ short msg_spot; /* message text map address */};/*** User message buffer template for msgsnd and msgrecv system calls.*/struct msgbuf { long mtype; /* message type */ char mtext[1]; /* message text */};/*** Message information structure.*/struct msginfo { int msgmap, /* # of entries in msg map */ msgmax, /* max message size */ msgmnb, /* max # bytes on queue */ msgmni, /* # of message queue identifiers */ msgssz, /* msg segment size (should be word size multiple) */ msgtql; /* # of system message headers */ ushort msgseg; /* # of msg segments (MUST BE < 32768) */};extern int msgctl (int, int, msqid_ds*), msgget (key_t, int), msgrcv (int, msgbuf*, int, long, int), msgsnd (int, const msgbuf*, int, int);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -