![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 0002 #ifndef __ASM_GENERIC_MSGBUF_H 0003 #define __ASM_GENERIC_MSGBUF_H 0004 0005 #include <asm/bitsperlong.h> 0006 #include <asm/ipcbuf.h> 0007 0008 /* 0009 * generic msqid64_ds structure. 0010 * 0011 * Note extra padding because this structure is passed back and forth 0012 * between kernel and user space. 0013 * 0014 * msqid64_ds was originally meant to be architecture specific, but 0015 * everyone just ended up making identical copies without specific 0016 * optimizations, so we may just as well all use the same one. 0017 * 0018 * 64 bit architectures use a 64-bit long time field here, while 0019 * 32 bit architectures have a pair of unsigned long values. 0020 * On big-endian systems, the lower half is in the wrong place. 0021 * 0022 * Pad space is left for: 0023 * - 2 miscellaneous 32-bit values 0024 */ 0025 0026 struct msqid64_ds { 0027 struct ipc64_perm msg_perm; 0028 #if __BITS_PER_LONG == 64 0029 long msg_stime; /* last msgsnd time */ 0030 long msg_rtime; /* last msgrcv time */ 0031 long msg_ctime; /* last change time */ 0032 #else 0033 unsigned long msg_stime; /* last msgsnd time */ 0034 unsigned long msg_stime_high; 0035 unsigned long msg_rtime; /* last msgrcv time */ 0036 unsigned long msg_rtime_high; 0037 unsigned long msg_ctime; /* last change time */ 0038 unsigned long msg_ctime_high; 0039 #endif 0040 unsigned long msg_cbytes; /* current number of bytes on queue */ 0041 unsigned long msg_qnum; /* number of messages in queue */ 0042 unsigned long msg_qbytes; /* max number of bytes on queue */ 0043 __kernel_pid_t msg_lspid; /* pid of last msgsnd */ 0044 __kernel_pid_t msg_lrpid; /* last receive pid */ 0045 unsigned long __unused4; 0046 unsigned long __unused5; 0047 }; 0048 0049 #endif /* __ASM_GENERIC_MSGBUF_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |