ipc: add sysctl to specify desired next object id
[deliverable/linux.git] / include / linux / msg.h
CommitLineData
1da177e4
LT
1#ifndef _LINUX_MSG_H
2#define _LINUX_MSG_H
3
77597ad6 4#include <linux/list.h>
607ca46e 5#include <uapi/linux/msg.h>
1da177e4
LT
6
7/* one msg_msg structure for each message */
8struct msg_msg {
9 struct list_head m_list;
10 long m_type;
11 int m_ts; /* message text size */
12 struct msg_msgseg* next;
13 void *security;
14 /* the actual message follows immediately */
15};
16
17/* one msq_queue structure for each present queue on the system */
18struct msg_queue {
19 struct kern_ipc_perm q_perm;
20 time_t q_stime; /* last msgsnd time */
21 time_t q_rtime; /* last msgrcv time */
22 time_t q_ctime; /* last change time */
23 unsigned long q_cbytes; /* current number of bytes on queue */
24 unsigned long q_qnum; /* number of messages in queue */
25 unsigned long q_qbytes; /* max number of bytes on queue */
26 pid_t q_lspid; /* pid of last msgsnd */
27 pid_t q_lrpid; /* last receive pid */
28
29 struct list_head q_messages;
30 struct list_head q_receivers;
31 struct list_head q_senders;
32};
33
651971cb 34/* Helper routines for sys_msgsnd and sys_msgrcv */
35extern long do_msgsnd(int msqid, long mtype, void __user *mtext,
36 size_t msgsz, int msgflg);
37extern long do_msgrcv(int msqid, long *pmtype, void __user *mtext,
38 size_t msgsz, long msgtyp, int msgflg);
39
1da177e4 40#endif /* _LINUX_MSG_H */
This page took 0.945386 seconds and 5 git commands to generate.