1#ifndef _ASM_X86_MSGBUF_H 2#define _ASM_X86_MSGBUF_H 3 4/* 5 * The msqid64_ds structure for i386 architecture. 6 * Note extra padding because this structure is passed back and forth 7 * between kernel and user space. 8 * 9 * Pad space on i386 is left for: 10 * - 64-bit time_t to solve y2038 problem 11 * - 2 miscellaneous 32-bit values 12 * 13 * Pad space on x8664 is left for: 14 * - 2 miscellaneous 64-bit values 15 */ 16struct 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#endif 22 __kernel_time_t msg_rtime; /* last msgrcv time */ 23#ifdef __i386__ 24 unsigned long __unused2; 25#endif 26 __kernel_time_t msg_ctime; /* last change time */ 27#ifdef __i386__ 28 unsigned long __unused3; 29#endif 30 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 */ 40