1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 21da177e4SLinus Torvalds #ifndef _LINUX_IPC_H 31da177e4SLinus Torvalds #define _LINUX_IPC_H 41da177e4SLinus Torvalds 5*72375a88SKent Overstreet #include <linux/spinlock_types.h> 61efdb69bSEric W. Biederman #include <linux/uidgid.h> 70eb71a9dSNeilBrown #include <linux/rhashtable-types.h> 8607ca46eSDavid Howells #include <uapi/linux/ipc.h> 99405c03eSElena Reshetova #include <linux/refcount.h> 10b119f13fSCedric Le Goater 111da177e4SLinus Torvalds /* used by in-kernel data structures */ 1260f3e00dSDavidlohr Bueso struct kern_ipc_perm { 131da177e4SLinus Torvalds spinlock_t lock; 1472a8ff2fSRafael Aquini bool deleted; 157ca7e564SNadia Derbey int id; 161da177e4SLinus Torvalds key_t key; 171efdb69bSEric W. Biederman kuid_t uid; 181efdb69bSEric W. Biederman kgid_t gid; 191efdb69bSEric W. Biederman kuid_t cuid; 201efdb69bSEric W. Biederman kgid_t cgid; 212570ebbdSAl Viro umode_t mode; 221da177e4SLinus Torvalds unsigned long seq; 231da177e4SLinus Torvalds void *security; 24dba4cdd3SManfred Spraul 250cfb6aeeSGuillaume Knispel struct rhash_head khtnode; 260cfb6aeeSGuillaume Knispel 27dba4cdd3SManfred Spraul struct rcu_head rcu; 289405c03eSElena Reshetova refcount_t refcount; 293859a271SKees Cook } ____cacheline_aligned_in_smp __randomize_layout; 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds #endif /* _LINUX_IPC_H */ 32