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