|
|
1.1 root 1: /* @(#)ipc.h 6.1 */
2: /* Common IPC Access Structure */
3:
4: typedef long key_t;
5:
6: struct ipc_perm {
7: u_short uid; /* owner's user id */
8: u_short gid; /* owner's group id */
9: u_short cuid; /* creator's user id */
10: u_short cgid; /* creator's group id */
11: u_short mode; /* access modes */
12: u_short seq; /* slot usage sequence number */
13: key_t key; /* key */
14: u_char flag; /* status flag */
15: };
16:
17: /* Common IPC Definitions. */
18: /* Mode bits. */
19: #define IPC_ALLOC 0x8000 /* entry currently allocated */
20: #define IPC_CREAT 0x0200 /* create entry if key doesn't exist */
21: #define IPC_EXCL 0x0400 /* fail if key exists */
22: #define IPC_NOWAIT 0x0800 /* error if request must wait */
23:
24: /* Keys. */
25: #define IPC_PRIVATE (key_t)0 /* private key */
26:
27: /* Control Commands. */
28: #define IPC_RMID 0 /* remove identifier */
29: #define IPC_SET 1 /* set options */
30: #define IPC_STAT 2 /* get options */
31:
32: /* Defines for locking */
33:
34: #define IPC_LOCK 0x01 /* ipc_perm structure is locked */
35: #define IPC_WANT 0x02 /* want to lock ipc_perm structure */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.