Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef _ASM_MSGBUF_H
0003 #define _ASM_MSGBUF_H
0004 
0005 #include <asm/ipcbuf.h>
0006 
0007 /*
0008  * The msqid64_ds structure for the MIPS architecture.
0009  * Note extra padding because this structure is passed back and forth
0010  * between kernel and user space.
0011  *
0012  * Pad space is left for:
0013  * - 2 miscellaneous unsigned long values
0014  */
0015 
0016 #if defined(__mips64)
0017 struct msqid64_ds {
0018     struct ipc64_perm msg_perm;
0019     long msg_stime;         /* last msgsnd time */
0020     long msg_rtime;         /* last msgrcv time */
0021     long msg_ctime;         /* last change time */
0022     unsigned long  msg_cbytes;  /* current number of bytes on queue */
0023     unsigned long  msg_qnum;    /* number of messages in queue */
0024     unsigned long  msg_qbytes;  /* max number of bytes on queue */
0025     __kernel_pid_t msg_lspid;   /* pid of last msgsnd */
0026     __kernel_pid_t msg_lrpid;   /* last receive pid */
0027     unsigned long  __unused4;
0028     unsigned long  __unused5;
0029 };
0030 #elif defined (__MIPSEB__)
0031 struct msqid64_ds {
0032     struct ipc64_perm msg_perm;
0033     unsigned long  msg_stime_high;
0034     unsigned long  msg_stime;   /* last msgsnd time */
0035     unsigned long  msg_rtime_high;
0036     unsigned long  msg_rtime;   /* last msgrcv time */
0037     unsigned long  msg_ctime_high;
0038     unsigned long  msg_ctime;   /* last change time */
0039     unsigned long  msg_cbytes;  /* current number of bytes on queue */
0040     unsigned long  msg_qnum;    /* number of messages in queue */
0041     unsigned long  msg_qbytes;  /* max number of bytes on queue */
0042     __kernel_pid_t msg_lspid;   /* pid of last msgsnd */
0043     __kernel_pid_t msg_lrpid;   /* last receive pid */
0044     unsigned long  __unused4;
0045     unsigned long  __unused5;
0046 };
0047 #elif defined (__MIPSEL__)
0048 struct msqid64_ds {
0049     struct ipc64_perm msg_perm;
0050     unsigned long  msg_stime;   /* last msgsnd time */
0051     unsigned long  msg_stime_high;
0052     unsigned long  msg_rtime;   /* last msgrcv time */
0053     unsigned long  msg_rtime_high;
0054     unsigned long  msg_ctime;   /* last change time */
0055     unsigned long  msg_ctime_high;
0056     unsigned long  msg_cbytes;  /* current number of bytes on queue */
0057     unsigned long  msg_qnum;    /* number of messages in queue */
0058     unsigned long  msg_qbytes;  /* max number of bytes on queue */
0059     __kernel_pid_t msg_lspid;   /* pid of last msgsnd */
0060     __kernel_pid_t msg_lrpid;   /* last receive pid */
0061     unsigned long  __unused4;
0062     unsigned long  __unused5;
0063 };
0064 #else
0065 #warning no endianess set
0066 #endif
0067 
0068 #endif /* _ASM_MSGBUF_H */