blob: bb32b93066a7b124abd0c94e68ba7eca2d471323 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define MSG_INFO 12
Christopher Ferris76a1d452018-06-27 14:12:29 -070024#define MSG_STAT_ANY 13
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define MSG_NOERROR 010000
26#define MSG_EXCEPT 020000
27#define MSG_COPY 040000
Elliott Hughes7c59f3f2016-08-16 18:14:26 -070028struct __kernel_legacy_msqid_ds {
29 struct __kernel_legacy_ipc_perm msg_perm;
Tao Baod7db5942015-01-28 10:07:51 -080030 struct msg * msg_first;
31 struct msg * msg_last;
Christopher Ferrisd32ca142020-02-04 16:16:51 -080032 __kernel_old_time_t msg_stime;
33 __kernel_old_time_t msg_rtime;
34 __kernel_old_time_t msg_ctime;
Tao Baod7db5942015-01-28 10:07:51 -080035 unsigned long msg_lcbytes;
Tao Baod7db5942015-01-28 10:07:51 -080036 unsigned long msg_lqbytes;
37 unsigned short msg_cbytes;
38 unsigned short msg_qnum;
39 unsigned short msg_qbytes;
Tao Baod7db5942015-01-28 10:07:51 -080040 __kernel_ipc_pid_t msg_lspid;
41 __kernel_ipc_pid_t msg_lrpid;
Ben Cheng655a7c02013-10-16 16:09:24 -070042};
43#include <asm/msgbuf.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070044struct msgbuf {
Tao Baod7db5942015-01-28 10:07:51 -080045 __kernel_long_t mtype;
46 char mtext[1];
Ben Cheng655a7c02013-10-16 16:09:24 -070047};
Ben Cheng655a7c02013-10-16 16:09:24 -070048struct msginfo {
Tao Baod7db5942015-01-28 10:07:51 -080049 int msgpool;
50 int msgmap;
51 int msgmax;
Tao Baod7db5942015-01-28 10:07:51 -080052 int msgmnb;
53 int msgmni;
54 int msgssz;
55 int msgtql;
Tao Baod7db5942015-01-28 10:07:51 -080056 unsigned short msgseg;
Ben Cheng655a7c02013-10-16 16:09:24 -070057};
Christopher Ferris05d08e92016-02-04 13:16:38 -080058#define MSGMNI 32000
Ben Cheng655a7c02013-10-16 16:09:24 -070059#define MSGMAX 8192
60#define MSGMNB 16384
61#define MSGPOOL (MSGMNI * MSGMNB / 1024)
62#define MSGTQL MSGMNB
Ben Cheng655a7c02013-10-16 16:09:24 -070063#define MSGMAP MSGMNB
64#define MSGSSZ 16
65#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ)
66#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
Ben Cheng655a7c02013-10-16 16:09:24 -070067#endif