Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-block
[sfrench/cifs-2.6.git] / include / linux / msg.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_MSG_H
3 #define _LINUX_MSG_H
4
5 #include <linux/list.h>
6 #include <linux/time64.h>
7 #include <uapi/linux/msg.h>
8
9 /* one msg_msg structure for each message */
10 struct msg_msg {
11         struct list_head m_list;
12         long m_type;
13         size_t m_ts;            /* message text size */
14         struct msg_msgseg *next;
15         void *security;
16         /* the actual message follows immediately */
17 };
18
19 /* one msq_queue structure for each present queue on the system */
20 struct msg_queue {
21         struct kern_ipc_perm q_perm;
22         time64_t q_stime;               /* last msgsnd time */
23         time64_t q_rtime;               /* last msgrcv time */
24         time64_t q_ctime;               /* last change time */
25         unsigned long q_cbytes;         /* current number of bytes on queue */
26         unsigned long q_qnum;           /* number of messages in queue */
27         unsigned long q_qbytes;         /* max number of bytes on queue */
28         pid_t q_lspid;                  /* pid of last msgsnd */
29         pid_t q_lrpid;                  /* last receive pid */
30
31         struct list_head q_messages;
32         struct list_head q_receivers;
33         struct list_head q_senders;
34 } __randomize_layout;
35
36 #endif /* _LINUX_MSG_H */