msg.h 1009 B

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