root/include/uapi/asm-generic/msgbuf.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef __ASM_GENERIC_MSGBUF_H
   3 #define __ASM_GENERIC_MSGBUF_H
   4 
   5 #include <asm/bitsperlong.h>
   6 /*
   7  * generic msqid64_ds structure.
   8  *
   9  * Note extra padding because this structure is passed back and forth
  10  * between kernel and user space.
  11  *
  12  * msqid64_ds was originally meant to be architecture specific, but
  13  * everyone just ended up making identical copies without specific
  14  * optimizations, so we may just as well all use the same one.
  15  *
  16  * 64 bit architectures typically define a 64 bit __kernel_time_t,
  17  * so they do not need the first three padding words.
  18  * On big-endian systems, the padding is in the wrong place.
  19  *
  20  * Pad space is left for:
  21  * - 2 miscellaneous 32-bit values
  22  */
  23 
  24 struct msqid64_ds {
  25         struct ipc64_perm msg_perm;
  26 #if __BITS_PER_LONG == 64
  27         __kernel_time_t msg_stime;      /* last msgsnd time */
  28         __kernel_time_t msg_rtime;      /* last msgrcv time */
  29         __kernel_time_t msg_ctime;      /* last change time */
  30 #else
  31         unsigned long   msg_stime;      /* last msgsnd time */
  32         unsigned long   msg_stime_high;
  33         unsigned long   msg_rtime;      /* last msgrcv time */
  34         unsigned long   msg_rtime_high;
  35         unsigned long   msg_ctime;      /* last change time */
  36         unsigned long   msg_ctime_high;
  37 #endif
  38         unsigned long   msg_cbytes;     /* current number of bytes on queue */
  39         unsigned long   msg_qnum;       /* number of messages in queue */
  40         unsigned long    msg_qbytes;    /* max number of bytes on queue */
  41         __kernel_pid_t msg_lspid;       /* pid of last msgsnd */
  42         __kernel_pid_t msg_lrpid;       /* last receive pid */
  43         unsigned long    __unused4;
  44         unsigned long    __unused5;
  45 };
  46 
  47 #endif /* __ASM_GENERIC_MSGBUF_H */

/* [<][>][^][v][top][bottom][index][help] */