mqueue.h - message queues (REALTIME)
[MSG] #include <mqueue.h>
The <mqueue.h> header shall define the mqd_t type, which is used for message queue descriptors. This is not an array type.
The <mqueue.h> header shall define the sigevent structure (as described in <signal.h> ) and the mq_attr structure, which is used in getting and setting the attributes of a message queue. Attributes are initially set when the message queue is created. An mq_attr structure shall have at least the following fields:long mq_flags Message queue flags. long mq_maxmsg Maximum number of messages. long mq_msgsize Maximum message size. long mq_curmsgs Number of messages currently queued.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.int mq_close(mqd_t); int mq_getattr(mqd_t, struct mq_attr *); int mq_notify(mqd_t, const struct sigevent *); mqd_t mq_open(const char *, int, ...); ssize_t mq_receive(mqd_t, char *, size_t, unsigned *); int mq_send(mqd_t, const char *, size_t, unsigned ); int mq_setattr(mqd_t, const struct mq_attr *restrict, struct mq_attr *restrict); [TMO] ssize_t mq_timedreceive(mqd_t, char *restrict, size_t, unsigned *restrict, const struct timespec *restrict); int mq_timedsend(mqd_t, const char *, size_t, unsigned , const struct timespec *); int mq_unlink(const char *);
Inclusion of the <mqueue.h> header may make visible symbols defined in the headers <fcntl.h>, <signal.h>, <sys/types.h>, and <time.h>.
<fcntl.h>, <signal.h>, <sys/types.h>, <time.h>, the System Interfaces volume of IEEE Std 1003.1-2001, mq_close(), mq_getattr(), mq_notify(), mq_open(), mq_receive(), mq_send(), mq_setattr(), mq_timedreceive(), mq_timedsend(), mq_unlink()
First released in Issue 5. Included for alignment with the POSIX Realtime Extension.
The <mqueue.h> header is marked as part of the Message Passing option.
The mq_timedreceive() and mq_timedsend() functions are added for alignment with IEEE Std 1003.1d-1999.
The restrict keyword is added to the prototypes for mq_setattr() and mq_timedreceive().