ipcbuf.h revision e87eaf040ab639e94ed0a58ff0eac68d1d38fb0a
1#ifndef __ASM_GENERIC_IPCBUF_H
2#define __ASM_GENERIC_IPCBUF_H
3
4/*
5 * The generic ipc64_perm structure:
6 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space.
8 *
9 * ipc64_perm was originally meant to be architecture specific, but
10 * everyone just ended up making identical copies without specific
11 * optimizations, so we may just as well all use the same one.
12 *
13 * Pad space is left for:
14 * - 32-bit mode_t on architectures that only had 16 bit
15 * - 32-bit seq
16 * - 2 miscellaneous 32-bit values
17 */
18
19struct ipc64_perm {
20	__kernel_key_t		key;
21	__kernel_uid32_t	uid;
22	__kernel_gid32_t	gid;
23	__kernel_uid32_t	cuid;
24	__kernel_gid32_t	cgid;
25	__kernel_mode_t		mode;
26				/* pad if mode_t is u16: */
27	unsigned char		__pad1[4 - sizeof(__kernel_mode_t)];
28	unsigned short		seq;
29	unsigned short		__pad2;
30	__kernel_ulong_t	__unused1;
31	__kernel_ulong_t	__unused2;
32};
33
34#endif /* __ASM_GENERIC_IPCBUF_H */
35