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