1 #ifndef _LINUX_IPC_H 2 #define _LINUX_IPC_H 3 4 #include <linux/spinlock.h> 5 #include <linux/uidgid.h> 6 #include <linux/rhashtable.h> 7 #include <uapi/linux/ipc.h> 8 #include <linux/refcount.h> 9 10 #define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */ 11 12 /* used by in-kernel data structures */ 13 struct kern_ipc_perm { 14 spinlock_t lock; 15 bool deleted; 16 int id; 17 key_t key; 18 kuid_t uid; 19 kgid_t gid; 20 kuid_t cuid; 21 kgid_t cgid; 22 umode_t mode; 23 unsigned long seq; 24 void *security; 25 26 struct rhash_head khtnode; 27 28 struct rcu_head rcu; 29 refcount_t refcount; 30 } ____cacheline_aligned_in_smp __randomize_layout; 31 32 #endif /* _LINUX_IPC_H */ 33