1 #ifndef _LINUX_MSG_H
2 #define _LINUX_MSG_H
3 #include <linux/ipc.h>
4
5
6 #define MSG_NOERROR 010000
7 #define MSG_EXCEPT 020000
8
9
10
11 struct msg {
12 struct msg *msg_next;
13 long msg_type;
14 char *msg_spot;
15 short msg_ts;
16 };
17
18
19 struct msqid_ds {
20 struct ipc_perm msg_perm;
21 struct msg *msg_first;
22 struct msg *msg_last;
23 time_t msg_stime;
24 time_t msg_rtime;
25 time_t msg_ctime;
26 struct wait_queue *wwait;
27 struct wait_queue *rwait;
28 ushort msg_cbytes;
29 ushort msg_qnum;
30 ushort msg_qbytes;
31 ushort msg_lspid;
32 ushort msg_lrpid;
33 };
34
35
36
37 struct msgbuf {
38 long mtype;
39 char mtext[1];
40 };
41
42
43 struct msginfo {
44 int msgpool;
45 int msgmap;
46 int msgmax;
47 int msgmnb;
48 int msgmni;
49 int msgssz;
50 int msgtql;
51 ushort msgseg;
52 };
53
54 #define MSGMNI 128
55 #define MSGMAX 4056
56 #define MSGMNB 16384
57
58
59 #define MSGPOOL (MSGMNI*MSGMNB/1024)
60 #define MSGTQL MSGMNB
61 #define MSGMAP MSGMNB
62 #define MSGSSZ 16
63 #define __MSGSEG ((MSGPOOL*1024)/ MSGSSZ)
64 #define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
65
66 #ifdef __KERNEL__
67
68
69 #define MSG_STAT 11
70 #define MSG_INFO 12
71
72 #endif
73
74 #endif