1 /* 2 * include/asm-xtensa/msgbuf.h 3 * 4 * The msqid64_ds structure for the Xtensa architecture. 5 * Note extra padding because this structure is passed back and forth 6 * between kernel and user space. 7 * 8 * Pad space is left for: 9 * - 64-bit time_t to solve y2038 problem 10 * - 2 miscellaneous 32-bit values 11 * 12 * This file is subject to the terms and conditions of the GNU General 13 * Public License. See the file "COPYING" in the main directory of 14 * this archive for more details. 15 */ 16 17 #ifndef _XTENSA_MSGBUF_H 18 #define _XTENSA_MSGBUF_H 19 20 struct msqid64_ds { 21 struct ipc64_perm msg_perm; 22 #ifdef __XTENSA_EB__ 23 unsigned int __unused1; 24 __kernel_time_t msg_stime; /* last msgsnd time */ 25 unsigned int __unused2; 26 __kernel_time_t msg_rtime; /* last msgrcv time */ 27 unsigned int __unused3; 28 __kernel_time_t msg_ctime; /* last change time */ 29 #elif defined(__XTENSA_EL__) 30 __kernel_time_t msg_stime; /* last msgsnd time */ 31 unsigned int __unused1; 32 __kernel_time_t msg_rtime; /* last msgrcv time */ 33 unsigned int __unused2; 34 __kernel_time_t msg_ctime; /* last change time */ 35 unsigned int __unused3; 36 #else 37 # error processor byte order undefined! 38 #endif 39 unsigned long msg_cbytes; /* current number of bytes on queue */ 40 unsigned long msg_qnum; /* number of messages in queue */ 41 unsigned long msg_qbytes; /* max number of bytes on queue */ 42 __kernel_pid_t msg_lspid; /* pid of last msgsnd */ 43 __kernel_pid_t msg_lrpid; /* last receive pid */ 44 unsigned long __unused4; 45 unsigned long __unused5; 46 }; 47 48 #endif /* _XTENSA_MSGBUF_H */ 49