···11-#ifdef __KERNEL__22-# ifdef CONFIG_X86_3233-# include "shmbuf_32.h"44-# else55-# include "shmbuf_64.h"66-# endif77-#else88-# ifdef __i386__99-# include "shmbuf_32.h"1010-# else1111-# include "shmbuf_64.h"1212-# endif11+#ifndef _ASM_X86_SHMBUF_H22+#define _ASM_X86_SHMBUF_H33+44+/*55+ * The shmid64_ds structure for x86 architecture.66+ * Note extra padding because this structure is passed back and forth77+ * between kernel and user space.88+ *99+ * Pad space on 32 bit is left for:1010+ * - 64-bit time_t to solve y2038 problem1111+ * - 2 miscellaneous 32-bit values1212+ *1313+ * Pad space on 64 bit is left for:1414+ * - 2 miscellaneous 64-bit values1515+ */1616+1717+struct shmid64_ds {1818+ struct ipc64_perm shm_perm; /* operation perms */1919+ size_t shm_segsz; /* size of segment (bytes) */2020+ __kernel_time_t shm_atime; /* last attach time */2121+#ifdef __i386__2222+ unsigned long __unused1;1323#endif2424+ __kernel_time_t shm_dtime; /* last detach time */2525+#ifdef __i386__2626+ unsigned long __unused2;2727+#endif2828+ __kernel_time_t shm_ctime; /* last change time */2929+#ifdef __i386__3030+ unsigned long __unused3;3131+#endif3232+ __kernel_pid_t shm_cpid; /* pid of creator */3333+ __kernel_pid_t shm_lpid; /* pid of last operator */3434+ unsigned long shm_nattch; /* no. of current attaches */3535+ unsigned long __unused4;3636+ unsigned long __unused5;3737+};3838+3939+struct shminfo64 {4040+ unsigned long shmmax;4141+ unsigned long shmmin;4242+ unsigned long shmmni;4343+ unsigned long shmseg;4444+ unsigned long shmall;4545+ unsigned long __unused1;4646+ unsigned long __unused2;4747+ unsigned long __unused3;4848+ unsigned long __unused4;4949+};5050+5151+#endif /* _ASM_X86_SHMBUF_H */
-42
include/asm-x86/shmbuf_32.h
···11-#ifndef _I386_SHMBUF_H22-#define _I386_SHMBUF_H33-44-/* 55- * The shmid64_ds structure for i386 architecture.66- * Note extra padding because this structure is passed back and forth77- * between kernel and user space.88- *99- * Pad space is left for:1010- * - 64-bit time_t to solve y2038 problem1111- * - 2 miscellaneous 32-bit values1212- */1313-1414-struct shmid64_ds {1515- struct ipc64_perm shm_perm; /* operation perms */1616- size_t shm_segsz; /* size of segment (bytes) */1717- __kernel_time_t shm_atime; /* last attach time */1818- unsigned long __unused1;1919- __kernel_time_t shm_dtime; /* last detach time */2020- unsigned long __unused2;2121- __kernel_time_t shm_ctime; /* last change time */2222- unsigned long __unused3;2323- __kernel_pid_t shm_cpid; /* pid of creator */2424- __kernel_pid_t shm_lpid; /* pid of last operator */2525- unsigned long shm_nattch; /* no. of current attaches */2626- unsigned long __unused4;2727- unsigned long __unused5;2828-};2929-3030-struct shminfo64 {3131- unsigned long shmmax;3232- unsigned long shmmin;3333- unsigned long shmmni;3434- unsigned long shmseg;3535- unsigned long shmall;3636- unsigned long __unused1;3737- unsigned long __unused2;3838- unsigned long __unused3;3939- unsigned long __unused4;4040-};4141-4242-#endif /* _I386_SHMBUF_H */
-38
include/asm-x86/shmbuf_64.h
···11-#ifndef _X8664_SHMBUF_H22-#define _X8664_SHMBUF_H33-44-/* 55- * The shmid64_ds structure for x8664 architecture.66- * Note extra padding because this structure is passed back and forth77- * between kernel and user space.88- *99- * Pad space is left for:1010- * - 2 miscellaneous 64-bit values1111- */1212-1313-struct shmid64_ds {1414- struct ipc64_perm shm_perm; /* operation perms */1515- size_t shm_segsz; /* size of segment (bytes) */1616- __kernel_time_t shm_atime; /* last attach time */1717- __kernel_time_t shm_dtime; /* last detach time */1818- __kernel_time_t shm_ctime; /* last change time */1919- __kernel_pid_t shm_cpid; /* pid of creator */2020- __kernel_pid_t shm_lpid; /* pid of last operator */2121- unsigned long shm_nattch; /* no. of current attaches */2222- unsigned long __unused4;2323- unsigned long __unused5;2424-};2525-2626-struct shminfo64 {2727- unsigned long shmmax;2828- unsigned long shmmin;2929- unsigned long shmmni;3030- unsigned long shmseg;3131- unsigned long shmall;3232- unsigned long __unused1;3333- unsigned long __unused2;3434- unsigned long __unused3;3535- unsigned long __unused4;3636-};3737-3838-#endif