NAME
mqueue.h — message
queues (REALTIME)
SYNOPSIS
DESCRIPTION
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 pthread_attr_t, size_t, and ssize_t types as described in <sys/types.h>.
The <mqueue.h> header shall define the struct timespec structure as described in <time.h>.
The tag sigevent shall be declared as naming an incomplete structure type, the contents of which are described in the <signal.h> header.
The <mqueue.h> header shall define 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);
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>, and <time.h>.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
<fcntl.h>, <signal.h> , <sys/types.h>, <time.h>
XSH mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_setattr(3), mq_unlink(3)
CHANGE HISTORY
First released in Issue 5. Included for alignment with the POSIX Realtime Extension.
Issue 6
The <mqueue.h> header is marked as part of the Message Passing option.
The mq_timedreceive(3) and mq_timedsend(3) functions are added for alignment with IEEE Std 1003.1d-1999.
The restrict keyword is added to the prototypes for mq_setattr(3) and mq_timedreceive(3).
Issue 7
Type and structure declarations are added.