[Previous] [Contents] [Next]

mq_getattr()

Get a message queue's attributes

Synopsis:

#include <mqueue.h>

int mq_getattr( mqd_t mqdes,
                struct mq_attr* mqstat );

Library:

libc

Description:

The mq_getattr() function is used to determine the current attributes of the queue referenced by mqdes. These attributes are stored in the location pointed to by mqstat. The fields of the mq_attr structure are as follows:

Member Description
long mq_flags The options set for this queue. This field may have been changed since queue creation with a call to mq_setattr() (see mq_setattr() for a complete description of each bit).
long mq_maxmsg The maximum number of messages which can be stored on the queue. This value was set at queue creation.
long mq_msgsize The maximum size of each message on the given message queue. This value was also set at queue creation.
long mq_curmsgs This field represents the number of messages currently on the given queue.
long mq_sendwait The number of processes currently waiting to send a message. This field was eliminated from the POSIX standard after draft 9, but has been resurrected for the QNX implementation. A nonzero value in this field implies that the queue is full.
long mq_recvwait The number of processes currently waiting to receive a message. Like mq_sendwait, this field was resurrected for the QNX implementation. A nonzero value in this field implies that the queue is empty.

Returns:

-1
An error occurred (errno is set).
Any other value
Success.

Errors:

EBADF
Invalid message queue mqdes.

Classification:

POSIX 1003.1 (Realtime Extensions)

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

mq_close(), mq_open(), mq_setattr()


[Previous] [Contents] [Next]