diff options
| author | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
| commit | 607ca46e97a1b6594b29647d98a32d545c24bdff (patch) | |
| tree | 30f4c0784bfddb57332cdc0678bd06d1e77fa185 /include/uapi/linux/msg.h | |
| parent | 08cce05c5a91f5017f4edc9866cf026908c73f9f (diff) | |
UAPI: (Scripted) Disintegrate include/linux
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'include/uapi/linux/msg.h')
| -rw-r--r-- | include/uapi/linux/msg.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/include/uapi/linux/msg.h b/include/uapi/linux/msg.h new file mode 100644 index 000000000000..78dbd2f996a3 --- /dev/null +++ b/include/uapi/linux/msg.h | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | #ifndef _UAPI_LINUX_MSG_H | ||
| 2 | #define _UAPI_LINUX_MSG_H | ||
| 3 | |||
| 4 | #include <linux/ipc.h> | ||
| 5 | |||
| 6 | /* ipcs ctl commands */ | ||
| 7 | #define MSG_STAT 11 | ||
| 8 | #define MSG_INFO 12 | ||
| 9 | |||
| 10 | /* msgrcv options */ | ||
| 11 | #define MSG_NOERROR 010000 /* no error if message is too big */ | ||
| 12 | #define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/ | ||
| 13 | |||
| 14 | /* Obsolete, used only for backwards compatibility and libc5 compiles */ | ||
| 15 | struct msqid_ds { | ||
| 16 | struct ipc_perm msg_perm; | ||
| 17 | struct msg *msg_first; /* first message on queue,unused */ | ||
| 18 | struct msg *msg_last; /* last message in queue,unused */ | ||
| 19 | __kernel_time_t msg_stime; /* last msgsnd time */ | ||
| 20 | __kernel_time_t msg_rtime; /* last msgrcv time */ | ||
| 21 | __kernel_time_t msg_ctime; /* last change time */ | ||
| 22 | unsigned long msg_lcbytes; /* Reuse junk fields for 32 bit */ | ||
| 23 | unsigned long msg_lqbytes; /* ditto */ | ||
| 24 | unsigned short msg_cbytes; /* current number of bytes on queue */ | ||
| 25 | unsigned short msg_qnum; /* number of messages in queue */ | ||
| 26 | unsigned short msg_qbytes; /* max number of bytes on queue */ | ||
| 27 | __kernel_ipc_pid_t msg_lspid; /* pid of last msgsnd */ | ||
| 28 | __kernel_ipc_pid_t msg_lrpid; /* last receive pid */ | ||
| 29 | }; | ||
| 30 | |||
| 31 | /* Include the definition of msqid64_ds */ | ||
| 32 | #include <asm/msgbuf.h> | ||
| 33 | |||
| 34 | /* message buffer for msgsnd and msgrcv calls */ | ||
| 35 | struct msgbuf { | ||
| 36 | long mtype; /* type of message */ | ||
| 37 | char mtext[1]; /* message text */ | ||
| 38 | }; | ||
| 39 | |||
| 40 | /* buffer for msgctl calls IPC_INFO, MSG_INFO */ | ||
| 41 | struct msginfo { | ||
| 42 | int msgpool; | ||
| 43 | int msgmap; | ||
| 44 | int msgmax; | ||
| 45 | int msgmnb; | ||
| 46 | int msgmni; | ||
| 47 | int msgssz; | ||
| 48 | int msgtql; | ||
| 49 | unsigned short msgseg; | ||
| 50 | }; | ||
| 51 | |||
| 52 | /* | ||
| 53 | * Scaling factor to compute msgmni: | ||
| 54 | * the memory dedicated to msg queues (msgmni * msgmnb) should occupy | ||
| 55 | * at most 1/MSG_MEM_SCALE of the lowmem (see the formula in ipc/msg.c): | ||
| 56 | * up to 8MB : msgmni = 16 (MSGMNI) | ||
| 57 | * 4 GB : msgmni = 8K | ||
| 58 | * more than 16 GB : msgmni = 32K (IPCMNI) | ||
| 59 | */ | ||
| 60 | #define MSG_MEM_SCALE 32 | ||
| 61 | |||
| 62 | #define MSGMNI 16 /* <= IPCMNI */ /* max # of msg queue identifiers */ | ||
| 63 | #define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */ | ||
| 64 | #define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */ | ||
| 65 | |||
| 66 | /* unused */ | ||
| 67 | #define MSGPOOL (MSGMNI * MSGMNB / 1024) /* size in kbytes of message pool */ | ||
| 68 | #define MSGTQL MSGMNB /* number of system message headers */ | ||
| 69 | #define MSGMAP MSGMNB /* number of entries in message map */ | ||
| 70 | #define MSGSSZ 16 /* message segment size */ | ||
| 71 | #define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ) /* max no. of segments */ | ||
| 72 | #define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff) | ||
| 73 | |||
| 74 | |||
| 75 | #endif /* _UAPI_LINUX_MSG_H */ | ||
