The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> mqueue.h - message queues (REALTIME)

#### SYNOPSIS

> `[MSG] #include <mqueue.h>`

#### 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 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>.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> <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()

#### 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() 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().

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]