diff options
| author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-10-19 15:19:19 -0400 |
|---|---|---|
| committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-10-19 15:19:19 -0400 |
| commit | e05dacd71db0a5da7c1a44bcaab2a8a240b9c233 (patch) | |
| tree | 31382cf1c7d62c03126448affb2fc86e8c4aaa8b /include/linux/ipc.h | |
| parent | 3ab0b83bf6a1e834f4b884150d8012990c75d25d (diff) | |
| parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) | |
Merge commit 'v3.7-rc1' into stable/for-linus-3.7
* commit 'v3.7-rc1': (10892 commits)
Linux 3.7-rc1
x86, boot: Explicitly include autoconf.h for hostprogs
perf: Fix UAPI fallout
ARM: config: make sure that platforms are ordered by option string
ARM: config: sort select statements alphanumerically
UAPI: (Scripted) Disintegrate include/linux/byteorder
UAPI: (Scripted) Disintegrate include/linux
UAPI: Unexport linux/blk_types.h
UAPI: Unexport part of linux/ppp-comp.h
perf: Handle new rbtree implementation
procfs: don't need a PATH_MAX allocation to hold a string representation of an int
vfs: embed struct filename inside of names_cache allocation if possible
audit: make audit_inode take struct filename
vfs: make path_openat take a struct filename pointer
vfs: turn do_path_lookup into wrapper around struct filename variant
audit: allow audit code to satisfy getname requests from its names_list
vfs: define struct filename and have getname() return it
btrfs: Fix compilation with user namespace support enabled
userns: Fix posix_acl_file_xattr_userns gid conversion
userns: Properly print bluetooth socket uids
...
Diffstat (limited to 'include/linux/ipc.h')
| -rw-r--r-- | include/linux/ipc.h | 89 |
1 files changed, 6 insertions, 83 deletions
diff --git a/include/linux/ipc.h b/include/linux/ipc.h index 30e816148df4..8d861b2651f7 100644 --- a/include/linux/ipc.h +++ b/include/linux/ipc.h | |||
| @@ -1,84 +1,9 @@ | |||
| 1 | #ifndef _LINUX_IPC_H | 1 | #ifndef _LINUX_IPC_H |
| 2 | #define _LINUX_IPC_H | 2 | #define _LINUX_IPC_H |
| 3 | 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 | /* | ||
| 53 | * These are used to wrap system calls. | ||
| 54 | * | ||
| 55 | * See architecture code for ugly details.. | ||
| 56 | */ | ||
| 57 | struct ipc_kludge { | ||
| 58 | struct msgbuf __user *msgp; | ||
| 59 | long msgtyp; | ||
| 60 | }; | ||
| 61 | |||
| 62 | #define SEMOP 1 | ||
| 63 | #define SEMGET 2 | ||
| 64 | #define SEMCTL 3 | ||
| 65 | #define SEMTIMEDOP 4 | ||
| 66 | #define MSGSND 11 | ||
| 67 | #define MSGRCV 12 | ||
| 68 | #define MSGGET 13 | ||
| 69 | #define MSGCTL 14 | ||
| 70 | #define SHMAT 21 | ||
| 71 | #define SHMDT 22 | ||
| 72 | #define SHMGET 23 | ||
| 73 | #define SHMCTL 24 | ||
| 74 | |||
| 75 | /* Used by the DIPC package, try and avoid reusing it */ | ||
| 76 | #define DIPC 25 | ||
| 77 | |||
| 78 | #define IPCCALL(version,op) ((version)<<16 | (op)) | ||
| 79 | |||
| 80 | #ifdef __KERNEL__ | ||
| 81 | #include <linux/spinlock.h> | 4 | #include <linux/spinlock.h> |
| 5 | #include <linux/uidgid.h> | ||
| 6 | #include <uapi/linux/ipc.h> | ||
| 82 | 7 | ||
| 83 | #define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */ | 8 | #define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */ |
| 84 | 9 | ||
| @@ -89,15 +14,13 @@ struct kern_ipc_perm | |||
| 89 | int deleted; | 14 | int deleted; |
| 90 | int id; | 15 | int id; |
| 91 | key_t key; | 16 | key_t key; |
| 92 | uid_t uid; | 17 | kuid_t uid; |
| 93 | gid_t gid; | 18 | kgid_t gid; |
| 94 | uid_t cuid; | 19 | kuid_t cuid; |
| 95 | gid_t cgid; | 20 | kgid_t cgid; |
| 96 | umode_t mode; | 21 | umode_t mode; |
| 97 | unsigned long seq; | 22 | unsigned long seq; |
| 98 | void *security; | 23 | void *security; |
| 99 | }; | 24 | }; |
| 100 | 25 | ||
| 101 | #endif /* __KERNEL__ */ | ||
| 102 | |||
| 103 | #endif /* _LINUX_IPC_H */ | 26 | #endif /* _LINUX_IPC_H */ |
