1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef _ASM_MSGBUF_H 3 #define _ASM_MSGBUF_H 4 5 #include <asm/ipcbuf.h> 6 7 /* 8 * The msqid64_ds structure for the MIPS architecture. 9 * Note extra padding because this structure is passed back and forth 10 * between kernel and user space. 11 * 12 * Pad space is left for: 13 * - 2 miscellaneous unsigned long values 14 */ 15 16 #if defined(__mips64) 17 struct msqid64_ds { 18 struct ipc64_perm msg_perm; 19 long msg_stime; /* last msgsnd time */ 20 long msg_rtime; /* last msgrcv time */ 21 long msg_ctime; /* last change time */ 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 #elif defined (__MIPSEB__) 31 struct msqid64_ds { 32 struct ipc64_perm msg_perm; 33 unsigned long msg_stime_high; 34 unsigned long msg_stime; /* last msgsnd time */ 35 unsigned long msg_rtime_high; 36 unsigned long msg_rtime; /* last msgrcv time */ 37 unsigned long msg_ctime_high; 38 unsigned long msg_ctime; /* last change time */ 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 #elif defined (__MIPSEL__) 48 struct msqid64_ds { 49 struct ipc64_perm msg_perm; 50 unsigned long msg_stime; /* last msgsnd time */ 51 unsigned long msg_stime_high; 52 unsigned long msg_rtime; /* last msgrcv time */ 53 unsigned long msg_rtime_high; 54 unsigned long msg_ctime; /* last change time */ 55 unsigned long msg_ctime_high; 56 unsigned long msg_cbytes; /* current number of bytes on queue */ 57 unsigned long msg_qnum; /* number of messages in queue */ 58 unsigned long msg_qbytes; /* max number of bytes on queue */ 59 __kernel_pid_t msg_lspid; /* pid of last msgsnd */ 60 __kernel_pid_t msg_lrpid; /* last receive pid */ 61 unsigned long __unused4; 62 unsigned long __unused5; 63 }; 64 #else 65 #warning no endianness set 66 #endif 67 68 #endif /* _ASM_MSGBUF_H */ 69