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