1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
38
39
40
41
42
43
44
45
46
47
50
51
52
55
62
63
68
69
70
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
99
100
101
102
103
104
111
112
113
114
115
116
123
124
125
126
127
128
129
136
137
138
139
140
141
142
147
148
149
150
151
152
153
154
155
/* ... */
/* ... */
#pragma once
#include <time.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ... */
typedef void * mqd_t;
/* ... */
struct mq_attr
{
long mq_flags;
long mq_maxmsg;
long mq_msgsize;
long mq_curmsgs;
}{ ... };
/* ... */
int mq_close( mqd_t mqdes );
/* ... */
int mq_getattr( mqd_t mqdes,
struct mq_attr * mqstat );
/* ... */
mqd_t mq_open( const char * name,
int oflag,
... );
/* ... */
ssize_t mq_receive( mqd_t mqdes,
char * msg_ptr,
size_t msg_len,
unsigned int * msg_prio );
/* ... */
int mq_send( mqd_t mqdes,
const char * msg_ptr,
size_t msg_len,
unsigned msg_prio );
/* ... */
ssize_t mq_timedreceive( mqd_t mqdes,
char * msg_ptr,
size_t msg_len,
unsigned * msg_prio,
const struct timespec * abstime );
/* ... */
int mq_timedsend( mqd_t mqdes,
const char * msg_ptr,
size_t msg_len,
unsigned msg_prio,
const struct timespec * abstime );
/* ... */
int mq_unlink( const char * name );
int mq_notify( mqd_t, const struct sigevent * );
int mq_setattr( mqd_t, const struct mq_attr *, struct mq_attr * );
#ifdef __cplusplus
}{...}
#endif