linux/include/uapi/asm-generic/msgbuf.h
<<
>>
Prefs
   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
  24struct 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 */
  48