···1-#ifdef __KERNEL__2-# ifdef CONFIG_X86_323-# include "msgbuf_32.h"4-# else5-# include "msgbuf_64.h"6-# endif7-#else8-# ifdef __i386__9-# include "msgbuf_32.h"10-# else11-# include "msgbuf_64.h"12-# endif0000000013#endif000000000000000000
···1+#ifndef _ASM_X86_MSGBUF_H2+#define _ASM_X86_MSGBUF_H3+4+/*5+ * The msqid64_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 on i386 is left for:10+ * - 64-bit time_t to solve y2038 problem11+ * - 2 miscellaneous 32-bit values12+ *13+ * Pad space on x8664 is left for:14+ * - 2 miscellaneous 64-bit values15+ */16+struct msqid64_ds {17+ struct ipc64_perm msg_perm;18+ __kernel_time_t msg_stime; /* last msgsnd time */19+#ifdef __i386__20+ unsigned long __unused1;21#endif22+ __kernel_time_t msg_rtime; /* last msgrcv time */23+#ifdef __i386__24+ unsigned long __unused2;25+#endif26+ __kernel_time_t msg_ctime; /* last change time */27+#ifdef __i386__28+ unsigned long __unused3;29+#endif30+ unsigned long msg_cbytes; /* current number of bytes on queue */31+ unsigned long msg_qnum; /* number of messages in queue */32+ unsigned long msg_qbytes; /* max number of bytes on queue */33+ __kernel_pid_t msg_lspid; /* pid of last msgsnd */34+ __kernel_pid_t msg_lrpid; /* last receive pid */35+ unsigned long __unused4;36+ unsigned long __unused5;37+};38+39+#endif /* _ASM_X86_MSGBUF_H */
-31
include/asm-x86/msgbuf_32.h
···1-#ifndef _I386_MSGBUF_H2-#define _I386_MSGBUF_H3-4-/* 5- * The msqid64_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 msqid64_ds {15- struct ipc64_perm msg_perm;16- __kernel_time_t msg_stime; /* last msgsnd time */17- unsigned long __unused1;18- __kernel_time_t msg_rtime; /* last msgrcv time */19- unsigned long __unused2;20- __kernel_time_t msg_ctime; /* last change time */21- unsigned long __unused3;22- unsigned long msg_cbytes; /* current number of bytes on queue */23- unsigned long msg_qnum; /* number of messages in queue */24- unsigned long msg_qbytes; /* max number of bytes on queue */25- __kernel_pid_t msg_lspid; /* pid of last msgsnd */26- __kernel_pid_t msg_lrpid; /* last receive pid */27- unsigned long __unused4;28- unsigned long __unused5;29-};30-31-#endif /* _I386_MSGBUF_H */
···0000000000000000000000000000000
-27
include/asm-x86/msgbuf_64.h
···1-#ifndef _X8664_MSGBUF_H2-#define _X8664_MSGBUF_H3-4-/* 5- * The msqid64_ds structure for x86-64 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 msqid64_ds {14- struct ipc64_perm msg_perm;15- __kernel_time_t msg_stime; /* last msgsnd time */16- __kernel_time_t msg_rtime; /* last msgrcv time */17- __kernel_time_t msg_ctime; /* last change time */18- unsigned long msg_cbytes; /* current number of bytes on queue */19- unsigned long msg_qnum; /* number of messages in queue */20- unsigned long msg_qbytes; /* max number of bytes on queue */21- __kernel_pid_t msg_lspid; /* pid of last msgsnd */22- __kernel_pid_t msg_lrpid; /* last receive pid */23- unsigned long __unused4;24- unsigned long __unused5;25-};26-27-#endif