18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 28c2ecf20Sopenharmony_ci#ifndef __ASM_X86_SHMBUF_H 38c2ecf20Sopenharmony_ci#define __ASM_X86_SHMBUF_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#if !defined(__x86_64__) || !defined(__ILP32__) 68c2ecf20Sopenharmony_ci#include <asm-generic/shmbuf.h> 78c2ecf20Sopenharmony_ci#else 88c2ecf20Sopenharmony_ci/* 98c2ecf20Sopenharmony_ci * The shmid64_ds structure for x86 architecture with x32 ABI. 108c2ecf20Sopenharmony_ci * 118c2ecf20Sopenharmony_ci * On x86-32 and x86-64 we can just use the generic definition, but 128c2ecf20Sopenharmony_ci * x32 uses the same binary layout as x86_64, which is differnet 138c2ecf20Sopenharmony_ci * from other 32-bit architectures. 148c2ecf20Sopenharmony_ci */ 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_cistruct shmid64_ds { 178c2ecf20Sopenharmony_ci struct ipc64_perm shm_perm; /* operation perms */ 188c2ecf20Sopenharmony_ci size_t shm_segsz; /* size of segment (bytes) */ 198c2ecf20Sopenharmony_ci __kernel_long_t shm_atime; /* last attach time */ 208c2ecf20Sopenharmony_ci __kernel_long_t shm_dtime; /* last detach time */ 218c2ecf20Sopenharmony_ci __kernel_long_t shm_ctime; /* last change time */ 228c2ecf20Sopenharmony_ci __kernel_pid_t shm_cpid; /* pid of creator */ 238c2ecf20Sopenharmony_ci __kernel_pid_t shm_lpid; /* pid of last operator */ 248c2ecf20Sopenharmony_ci __kernel_ulong_t shm_nattch; /* no. of current attaches */ 258c2ecf20Sopenharmony_ci __kernel_ulong_t __unused4; 268c2ecf20Sopenharmony_ci __kernel_ulong_t __unused5; 278c2ecf20Sopenharmony_ci}; 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_cistruct shminfo64 { 308c2ecf20Sopenharmony_ci __kernel_ulong_t shmmax; 318c2ecf20Sopenharmony_ci __kernel_ulong_t shmmin; 328c2ecf20Sopenharmony_ci __kernel_ulong_t shmmni; 338c2ecf20Sopenharmony_ci __kernel_ulong_t shmseg; 348c2ecf20Sopenharmony_ci __kernel_ulong_t shmall; 358c2ecf20Sopenharmony_ci __kernel_ulong_t __unused1; 368c2ecf20Sopenharmony_ci __kernel_ulong_t __unused2; 378c2ecf20Sopenharmony_ci __kernel_ulong_t __unused3; 388c2ecf20Sopenharmony_ci __kernel_ulong_t __unused4; 398c2ecf20Sopenharmony_ci}; 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci#endif 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci#endif /* __ASM_X86_SHMBUF_H */ 44