MQUEUE.H(7) Miscellaneous Information Manual MQUEUE.H(7)

mqueue.hmessage queues (REALTIME)


#include <mqueue.h>

The <mqueue.h> header shall define the type, which is used for message queue descriptors. This is not an array type.

The <mqueue.h> header shall define the 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>.

None.

None.

None.

<fcntl.h> , <signal.h> , <sys/types.h> , <time.h> , the System Interfaces volume of IEEE Std 1003.1-2001 (“POSIX.1”), mq_close(3), mq_getattr(3), mq_notify(3), mq_open(3), mq_receive(3), mq_send(3), mq_setattr(3), mq_timedreceive(3), mq_timedsend(3), mq_unlink(3)

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(3) and mq_timedsend(3) functions are added for alignment with IEEE Std 1003.1d-1999.

The keyword is added to the prototypes for mq_setattr(3) and mq_timedreceive(3).

footer end

December 6, 2001 posix.fail