blob: 9d84942ae2e577835a338b8a352f9c93eabe148b [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _LINUX_IPC_H
2#define _LINUX_IPC_H
3
Robert P. J. Day0a3021f2007-07-15 23:39:57 -07004#include <linux/spinlock.h>
Eric W. Biederman1efdb692012-02-07 16:54:11 -08005#include <linux/uidgid.h>
David Howells607ca462012-10-13 10:46:48 +01006#include <uapi/linux/ipc.h>
Cedric Le Goaterb119f132006-10-04 02:15:19 -07007
Linus Torvalds1da177e2005-04-16 15:20:36 -07008#define IPCMNI 32768 /* <= MAX_INT limit for ipc arrays (including sysctl changes) */
9
10/* used by in-kernel data structures */
11struct kern_ipc_perm
12{
13 spinlock_t lock;
Rafael Aquini72a8ff22014-01-27 17:07:02 -080014 bool deleted;
Nadia Derbey7ca7e562007-10-18 23:40:48 -070015 int id;
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 key_t key;
Eric W. Biederman1efdb692012-02-07 16:54:11 -080017 kuid_t uid;
18 kgid_t gid;
19 kuid_t cuid;
20 kgid_t cgid;
Al Viro2570ebb2011-07-27 14:03:22 -040021 umode_t mode;
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 unsigned long seq;
23 void *security;
24};
25
Linus Torvalds1da177e2005-04-16 15:20:36 -070026#endif /* _LINUX_IPC_H */