1 /* libc/sys/linux/include/mqueue.h - message queue functions */
2 
3 /* Copyright 2002, Red Hat Inc. - all rights reserved */
4 
5 #ifndef __MQUEUE_H
6 #define __MQUEUE_H
7 
8 #include <sys/types.h>
9 #define __need_sigevent_t 1
10 #include <bits/siginfo.h>
11 
12 #include <sys/fcntl.h>
13 
14 /* message queue types */
15 typedef int mqd_t;
16 
17 struct mq_attr {
18   long mq_flags;    /* message queue flags */
19   long mq_maxmsg;   /* maximum number of messages */
20   long mq_msgsize;  /* maximum message size */
21   long mq_curmsgs;  /* number of messages currently queued */
22 };
23 
24 #define MQ_PRIO_MAX 16
25 
26 /* prototypes */
27 mqd_t mq_open (const char *__name, int __oflag, ...);
28 int mq_close (mqd_t __msgid);
29 int mq_send (mqd_t __msgid, const char *__msg, size_t __msg_len, unsigned int __msg_prio);
30 ssize_t mq_receive (mqd_t __msgid, char *__msg, size_t __msg_len, unsigned int *__msg_prio);
31 int mq_notify (mqd_t __msgid, const struct sigevent *__notification);
32 int mq_unlink (const char *__name);
33 int mq_getattr (mqd_t __msgid, struct mq_attr *__mqstat);
34 int mq_setattr (mqd_t __msgid, const struct mq_attr *__mqstat, struct mq_attr *__omqattr);
35 
36 #endif /* __MQUEUE_H */
37