/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1#ifndef __ASM_GENERIC_IPCBUF_H2#define __ASM_GENERIC_IPCBUF_H34#include <linux/posix_types.h>56/*7* The generic ipc64_perm structure:8* Note extra padding because this structure is passed back and forth9* between kernel and user space.10*11* ipc64_perm was originally meant to be architecture specific, but12* everyone just ended up making identical copies without specific13* optimizations, so we may just as well all use the same one.14*15* Pad space is left for:16* - 32-bit mode_t on architectures that only had 16 bit17* - 32-bit seq18* - 2 miscellaneous 32-bit values19*/2021struct ipc64_perm {22__kernel_key_t key;23__kernel_uid32_t uid;24__kernel_gid32_t gid;25__kernel_uid32_t cuid;26__kernel_gid32_t cgid;27__kernel_mode_t mode;28/* pad if mode_t is u16: */29unsigned char __pad1[4 - sizeof(__kernel_mode_t)];30unsigned short seq;31unsigned short __pad2;32__kernel_ulong_t __unused1;33__kernel_ulong_t __unused2;34};3536#endif /* __ASM_GENERIC_IPCBUF_H */373839