xref: /aosp_15_r20/external/musl/include/sys/msg.h (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #ifndef _SYS_MSG_H
2*c9945492SAndroid Build Coastguard Worker #define _SYS_MSG_H
3*c9945492SAndroid Build Coastguard Worker 
4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
5*c9945492SAndroid Build Coastguard Worker extern "C" {
6*c9945492SAndroid Build Coastguard Worker #endif
7*c9945492SAndroid Build Coastguard Worker 
8*c9945492SAndroid Build Coastguard Worker #include <sys/ipc.h>
9*c9945492SAndroid Build Coastguard Worker 
10*c9945492SAndroid Build Coastguard Worker #define __NEED_pid_t
11*c9945492SAndroid Build Coastguard Worker #define __NEED_key_t
12*c9945492SAndroid Build Coastguard Worker #define __NEED_time_t
13*c9945492SAndroid Build Coastguard Worker #define __NEED_size_t
14*c9945492SAndroid Build Coastguard Worker #define __NEED_ssize_t
15*c9945492SAndroid Build Coastguard Worker 
16*c9945492SAndroid Build Coastguard Worker #include <bits/alltypes.h>
17*c9945492SAndroid Build Coastguard Worker 
18*c9945492SAndroid Build Coastguard Worker typedef unsigned long msgqnum_t;
19*c9945492SAndroid Build Coastguard Worker typedef unsigned long msglen_t;
20*c9945492SAndroid Build Coastguard Worker 
21*c9945492SAndroid Build Coastguard Worker #include <bits/msg.h>
22*c9945492SAndroid Build Coastguard Worker 
23*c9945492SAndroid Build Coastguard Worker #define __msg_cbytes msg_cbytes
24*c9945492SAndroid Build Coastguard Worker 
25*c9945492SAndroid Build Coastguard Worker #define MSG_NOERROR 010000
26*c9945492SAndroid Build Coastguard Worker #define MSG_EXCEPT  020000
27*c9945492SAndroid Build Coastguard Worker 
28*c9945492SAndroid Build Coastguard Worker #define MSG_STAT (11 | (IPC_STAT & 0x100))
29*c9945492SAndroid Build Coastguard Worker #define MSG_INFO 12
30*c9945492SAndroid Build Coastguard Worker #define MSG_STAT_ANY (13 | (IPC_STAT & 0x100))
31*c9945492SAndroid Build Coastguard Worker 
32*c9945492SAndroid Build Coastguard Worker struct msginfo {
33*c9945492SAndroid Build Coastguard Worker 	int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql;
34*c9945492SAndroid Build Coastguard Worker 	unsigned short msgseg;
35*c9945492SAndroid Build Coastguard Worker };
36*c9945492SAndroid Build Coastguard Worker 
37*c9945492SAndroid Build Coastguard Worker int msgctl (int, int, struct msqid_ds *);
38*c9945492SAndroid Build Coastguard Worker int msgget (key_t, int);
39*c9945492SAndroid Build Coastguard Worker ssize_t msgrcv (int, void *, size_t, long, int);
40*c9945492SAndroid Build Coastguard Worker int msgsnd (int, const void *, size_t, int);
41*c9945492SAndroid Build Coastguard Worker 
42*c9945492SAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
43*c9945492SAndroid Build Coastguard Worker struct msgbuf {
44*c9945492SAndroid Build Coastguard Worker 	long mtype;
45*c9945492SAndroid Build Coastguard Worker 	char mtext[1];
46*c9945492SAndroid Build Coastguard Worker };
47*c9945492SAndroid Build Coastguard Worker #endif
48*c9945492SAndroid Build Coastguard Worker 
49*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus
50*c9945492SAndroid Build Coastguard Worker }
51*c9945492SAndroid Build Coastguard Worker #endif
52*c9945492SAndroid Build Coastguard Worker 
53*c9945492SAndroid Build Coastguard Worker #endif
54