2005-04-17 06:20:36 +08:00
|
|
|
#ifndef _LINUX_IPC_H
|
|
|
|
#define _LINUX_IPC_H
|
|
|
|
|
2007-07-16 14:39:57 +08:00
|
|
|
#include <linux/spinlock.h>
|
2012-02-08 08:54:11 +08:00
|
|
|
#include <linux/uidgid.h>
|
2012-10-13 17:46:48 +08:00
|
|
|
#include <uapi/linux/ipc.h>
|
2006-10-04 17:15:19 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */
|
|
|
|
|
|
|
|
/* used by in-kernel data structures */
|
2017-05-09 06:57:06 +08:00
|
|
|
struct kern_ipc_perm {
|
2005-04-17 06:20:36 +08:00
|
|
|
spinlock_t lock;
|
2014-01-28 09:07:02 +08:00
|
|
|
bool deleted;
|
2007-10-19 14:40:48 +08:00
|
|
|
int id;
|
2005-04-17 06:20:36 +08:00
|
|
|
key_t key;
|
2012-02-08 08:54:11 +08:00
|
|
|
kuid_t uid;
|
|
|
|
kgid_t gid;
|
|
|
|
kuid_t cuid;
|
|
|
|
kgid_t cgid;
|
2017-05-09 06:57:06 +08:00
|
|
|
umode_t mode;
|
2005-04-17 06:20:36 +08:00
|
|
|
unsigned long seq;
|
|
|
|
void *security;
|
2017-07-13 05:34:41 +08:00
|
|
|
|
|
|
|
struct rcu_head rcu;
|
|
|
|
atomic_t refcount;
|
2017-05-09 06:57:06 +08:00
|
|
|
} ____cacheline_aligned_in_smp;
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
#endif /* _LINUX_IPC_H */
|