···1-#ifdef __KERNEL__2-# ifdef CONFIG_X86_323-# include "shmbuf_32.h"4-# else5-# include "shmbuf_64.h"6-# endif7-#else8-# ifdef __i386__9-# include "shmbuf_32.h"10-# else11-# include "shmbuf_64.h"12-# endif000000000013#endif0000000000000000000000000000
···1+#ifndef _ASM_X86_SHMBUF_H2+#define _ASM_X86_SHMBUF_H3+4+/*5+ * The shmid64_ds structure for x86 architecture.6+ * Note extra padding because this structure is passed back and forth7+ * between kernel and user space.8+ *9+ * Pad space on 32 bit is left for:10+ * - 64-bit time_t to solve y2038 problem11+ * - 2 miscellaneous 32-bit values12+ *13+ * Pad space on 64 bit is left for:14+ * - 2 miscellaneous 64-bit values15+ */16+17+struct shmid64_ds {18+ struct ipc64_perm shm_perm; /* operation perms */19+ size_t shm_segsz; /* size of segment (bytes) */20+ __kernel_time_t shm_atime; /* last attach time */21+#ifdef __i386__22+ unsigned long __unused1;23#endif24+ __kernel_time_t shm_dtime; /* last detach time */25+#ifdef __i386__26+ unsigned long __unused2;27+#endif28+ __kernel_time_t shm_ctime; /* last change time */29+#ifdef __i386__30+ unsigned long __unused3;31+#endif32+ __kernel_pid_t shm_cpid; /* pid of creator */33+ __kernel_pid_t shm_lpid; /* pid of last operator */34+ unsigned long shm_nattch; /* no. of current attaches */35+ unsigned long __unused4;36+ unsigned long __unused5;37+};38+39+struct shminfo64 {40+ unsigned long shmmax;41+ unsigned long shmmin;42+ unsigned long shmmni;43+ unsigned long shmseg;44+ unsigned long shmall;45+ unsigned long __unused1;46+ unsigned long __unused2;47+ unsigned long __unused3;48+ unsigned long __unused4;49+};50+51+#endif /* _ASM_X86_SHMBUF_H */
-42
include/asm-x86/shmbuf_32.h
···1-#ifndef _I386_SHMBUF_H2-#define _I386_SHMBUF_H3-4-/* 5- * The shmid64_ds structure for i386 architecture.6- * Note extra padding because this structure is passed back and forth7- * between kernel and user space.8- *9- * Pad space is left for:10- * - 64-bit time_t to solve y2038 problem11- * - 2 miscellaneous 32-bit values12- */13-14-struct shmid64_ds {15- struct ipc64_perm shm_perm; /* operation perms */16- size_t shm_segsz; /* size of segment (bytes) */17- __kernel_time_t shm_atime; /* last attach time */18- unsigned long __unused1;19- __kernel_time_t shm_dtime; /* last detach time */20- unsigned long __unused2;21- __kernel_time_t shm_ctime; /* last change time */22- unsigned long __unused3;23- __kernel_pid_t shm_cpid; /* pid of creator */24- __kernel_pid_t shm_lpid; /* pid of last operator */25- unsigned long shm_nattch; /* no. of current attaches */26- unsigned long __unused4;27- unsigned long __unused5;28-};29-30-struct shminfo64 {31- unsigned long shmmax;32- unsigned long shmmin;33- unsigned long shmmni;34- unsigned long shmseg;35- unsigned long shmall;36- unsigned long __unused1;37- unsigned long __unused2;38- unsigned long __unused3;39- unsigned long __unused4;40-};41-42-#endif /* _I386_SHMBUF_H */
···000000000000000000000000000000000000000000
-38
include/asm-x86/shmbuf_64.h
···1-#ifndef _X8664_SHMBUF_H2-#define _X8664_SHMBUF_H3-4-/* 5- * The shmid64_ds structure for x8664 architecture.6- * Note extra padding because this structure is passed back and forth7- * between kernel and user space.8- *9- * Pad space is left for:10- * - 2 miscellaneous 64-bit values11- */12-13-struct shmid64_ds {14- struct ipc64_perm shm_perm; /* operation perms */15- size_t shm_segsz; /* size of segment (bytes) */16- __kernel_time_t shm_atime; /* last attach time */17- __kernel_time_t shm_dtime; /* last detach time */18- __kernel_time_t shm_ctime; /* last change time */19- __kernel_pid_t shm_cpid; /* pid of creator */20- __kernel_pid_t shm_lpid; /* pid of last operator */21- unsigned long shm_nattch; /* no. of current attaches */22- unsigned long __unused4;23- unsigned long __unused5;24-};25-26-struct shminfo64 {27- unsigned long shmmax;28- unsigned long shmmin;29- unsigned long shmmni;30- unsigned long shmseg;31- unsigned long shmall;32- unsigned long __unused1;33- unsigned long __unused2;34- unsigned long __unused3;35- unsigned long __unused4;36-};37-38-#endif