1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_MSG_H
20#define _UAPI_LINUX_MSG_H
21#include <linux/ipc.h>
22#define MSG_STAT 11
23#define MSG_INFO 12
24#define MSG_NOERROR 010000
25#define MSG_EXCEPT 020000
26#define MSG_COPY 040000
27struct __kernel_legacy_msqid_ds {
28  struct __kernel_legacy_ipc_perm msg_perm;
29  struct msg * msg_first;
30  struct msg * msg_last;
31  __kernel_time_t msg_stime;
32  __kernel_time_t msg_rtime;
33  __kernel_time_t msg_ctime;
34  unsigned long msg_lcbytes;
35  unsigned long msg_lqbytes;
36  unsigned short msg_cbytes;
37  unsigned short msg_qnum;
38  unsigned short msg_qbytes;
39  __kernel_ipc_pid_t msg_lspid;
40  __kernel_ipc_pid_t msg_lrpid;
41};
42#include <asm/msgbuf.h>
43struct msgbuf {
44  __kernel_long_t mtype;
45  char mtext[1];
46};
47struct msginfo {
48  int msgpool;
49  int msgmap;
50  int msgmax;
51  int msgmnb;
52  int msgmni;
53  int msgssz;
54  int msgtql;
55  unsigned short msgseg;
56};
57#define MSGMNI 32000
58#define MSGMAX 8192
59#define MSGMNB 16384
60#define MSGPOOL (MSGMNI * MSGMNB / 1024)
61#define MSGTQL MSGMNB
62#define MSGMAP MSGMNB
63#define MSGSSZ 16
64#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ)
65#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
66#endif
67