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