1c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#ifndef _ASM_X86_MSGBUF_H 2c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#define _ASM_X86_MSGBUF_H 3c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 4c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru/* 5c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * The msqid64_ds structure for i386 architecture. 6c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * Note extra padding because this structure is passed back and forth 7c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * between kernel and user space. 8c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * 9c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * Pad space on i386 is left for: 10c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * - 64-bit time_t to solve y2038 problem 11c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * - 2 miscellaneous 32-bit values 12c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * 13c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * Pad space on x8664 is left for: 14c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru * - 2 miscellaneous 64-bit values 15c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru */ 16c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Querustruct msqid64_ds { 17c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru struct ipc64_perm msg_perm; 18c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru __kernel_time_t msg_stime; /* last msgsnd time */ 19c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#ifdef __i386__ 20c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long __unused1; 21c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#endif 22c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru __kernel_time_t msg_rtime; /* last msgrcv time */ 23c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#ifdef __i386__ 24c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long __unused2; 25c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#endif 26c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru __kernel_time_t msg_ctime; /* last change time */ 27c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#ifdef __i386__ 28c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long __unused3; 29c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#endif 30c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long msg_cbytes; /* current number of bytes on queue */ 31c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long msg_qnum; /* number of messages in queue */ 32c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long msg_qbytes; /* max number of bytes on queue */ 33c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru __kernel_pid_t msg_lspid; /* pid of last msgsnd */ 34c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru __kernel_pid_t msg_lrpid; /* last receive pid */ 35c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long __unused4; 36c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru unsigned long __unused5; 37c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru}; 38c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru 39c559cd81139f97cecad1ad91a0b2e25a5936d53Jean-Baptiste Queru#endif /* _ASM_X86_MSGBUF_H */ 40