Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef __ASM_X86_SHMBUF_H
0003 #define __ASM_X86_SHMBUF_H
0004 
0005 #if !defined(__x86_64__) || !defined(__ILP32__)
0006 #include <asm-generic/shmbuf.h>
0007 #else
0008 
0009 #include <asm/ipcbuf.h>
0010 #include <asm/posix_types.h>
0011 
0012 /*
0013  * The shmid64_ds structure for x86 architecture with x32 ABI.
0014  *
0015  * On x86-32 and x86-64 we can just use the generic definition, but
0016  * x32 uses the same binary layout as x86_64, which is different
0017  * from other 32-bit architectures.
0018  */
0019 
0020 struct shmid64_ds {
0021     struct ipc64_perm   shm_perm;   /* operation perms */
0022     __kernel_size_t     shm_segsz;  /* size of segment (bytes) */
0023     __kernel_long_t     shm_atime;  /* last attach time */
0024     __kernel_long_t     shm_dtime;  /* last detach time */
0025     __kernel_long_t     shm_ctime;  /* last change time */
0026     __kernel_pid_t      shm_cpid;   /* pid of creator */
0027     __kernel_pid_t      shm_lpid;   /* pid of last operator */
0028     __kernel_ulong_t    shm_nattch; /* no. of current attaches */
0029     __kernel_ulong_t    __unused4;
0030     __kernel_ulong_t    __unused5;
0031 };
0032 
0033 struct shminfo64 {
0034     __kernel_ulong_t    shmmax;
0035     __kernel_ulong_t    shmmin;
0036     __kernel_ulong_t    shmmni;
0037     __kernel_ulong_t    shmseg;
0038     __kernel_ulong_t    shmall;
0039     __kernel_ulong_t    __unused1;
0040     __kernel_ulong_t    __unused2;
0041     __kernel_ulong_t    __unused3;
0042     __kernel_ulong_t    __unused4;
0043 };
0044 
0045 #endif
0046 
0047 #endif /* __ASM_X86_SHMBUF_H */