Contents of /alx-src/tags/kernel26-2.6.12-alx-r9/include/linux/ipc.h
Parent Directory | Revision Log
Revision 630 -
(show annotations)
(download)
Wed Mar 4 11:03:09 2009 UTC (15 years, 3 months ago) by niro
File MIME type: text/plain
File size: 1872 byte(s)
Wed Mar 4 11:03:09 2009 UTC (15 years, 3 months ago) by niro
File MIME type: text/plain
File size: 1872 byte(s)
Tag kernel26-2.6.12-alx-r9
1 | #ifndef _LINUX_IPC_H |
2 | #define _LINUX_IPC_H |
3 | |
4 | #include <linux/types.h> |
5 | |
6 | #define IPC_PRIVATE ((__kernel_key_t) 0) |
7 | |
8 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ |
9 | struct ipc_perm |
10 | { |
11 | __kernel_key_t key; |
12 | __kernel_uid_t uid; |
13 | __kernel_gid_t gid; |
14 | __kernel_uid_t cuid; |
15 | __kernel_gid_t cgid; |
16 | __kernel_mode_t mode; |
17 | unsigned short seq; |
18 | }; |
19 | |
20 | /* Include the definition of ipc64_perm */ |
21 | #include <asm/ipcbuf.h> |
22 | |
23 | /* resource get request flags */ |
24 | #define IPC_CREAT 00001000 /* create if key is nonexistent */ |
25 | #define IPC_EXCL 00002000 /* fail if key exists */ |
26 | #define IPC_NOWAIT 00004000 /* return error on wait */ |
27 | |
28 | /* these fields are used by the DIPC package so the kernel as standard |
29 | should avoid using them if possible */ |
30 | |
31 | #define IPC_DIPC 00010000 /* make it distributed */ |
32 | #define IPC_OWN 00020000 /* this machine is the DIPC owner */ |
33 | |
34 | /* |
35 | * Control commands used with semctl, msgctl and shmctl |
36 | * see also specific commands in sem.h, msg.h and shm.h |
37 | */ |
38 | #define IPC_RMID 0 /* remove resource */ |
39 | #define IPC_SET 1 /* set ipc_perm options */ |
40 | #define IPC_STAT 2 /* get ipc_perm options */ |
41 | #define IPC_INFO 3 /* see ipcs */ |
42 | |
43 | /* |
44 | * Version flags for semctl, msgctl, and shmctl commands |
45 | * These are passed as bitflags or-ed with the actual command |
46 | */ |
47 | #define IPC_OLD 0 /* Old version (no 32-bit UID support on many |
48 | architectures) */ |
49 | #define IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger |
50 | message sizes, etc. */ |
51 | |
52 | #ifdef __KERNEL__ |
53 | |
54 | #define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */ |
55 | |
56 | /* used by in-kernel data structures */ |
57 | struct kern_ipc_perm |
58 | { |
59 | spinlock_t lock; |
60 | int deleted; |
61 | key_t key; |
62 | uid_t uid; |
63 | gid_t gid; |
64 | uid_t cuid; |
65 | gid_t cgid; |
66 | mode_t mode; |
67 | unsigned long seq; |
68 | void *security; |
69 | }; |
70 | |
71 | #endif /* __KERNEL__ */ |
72 | |
73 | #endif /* _LINUX_IPC_H */ |
74 | |
75 |