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