linux/include/uapi/asm-generic/ipcbuf.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   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
  20struct 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;
  31        __kernel_ulong_t        __unused1;
  32        __kernel_ulong_t        __unused2;
  33};
  34
  35#endif /* __ASM_GENERIC_IPCBUF_H */
  36