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