]>
Commit | Line | Data |
---|---|---|
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 */ |