Warning: main(/www/www/htdocs/style/globals.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 1
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/globals.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 1
Warning: main(/www/www/htdocs/style/header.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 8
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/header.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 8
Get a message queue's attributes
#include <mqueue.h>
int mq_getattr( mqd_t mqdes,
struct mq_attr* mqstat );
- mqdes
- The message-queue descriptor, returned by
mq_open(),
of the message queue that you want to get the attributes of.
- mqstat
- A pointer to a mq_attr structure where the function
can store the attributes of the message queue.
For more information, see below.
The mq_getattr() function determines the current attributes of
the queue referenced by mqdes. These attributes are
stored in the location pointed to by mqstat.
|
Neutrino supports two implementations of message queues:
a traditional implementation, and an alternate one that uses
asynchronous messages.
For more information, see the entry for
mq and mqueue
in the Utilities Reference. |
The fields of the
mq_attr structure are as follows:
- long mq_flags
- The options set for this open message-queue description (i.e. these
options are for the given mqdes, not the queue as a whole).
This field may have been changed by call to
mq_setattr()
since you opened the queue.
- O_NONBLOCK — no call to
mq_receive()
or
mq_send()
will ever block on this queue.
If the queue is in such a condition that the given
operation can't be performed without blocking, then an error is
returned, and errno is set to EAGAIN.
- long mq_maxmsg
- The maximum number of messages that can be stored on the queue.
This value was set when the queue was created.
- long mq_msgsize
- The maximum size of each message on the given message queue.
This value was also set when the queue was created.
- long mq_curmsgs
- The number of messages currently on the given queue.
- long mq_sendwait
- The number of threads currently
waiting to send a message.
This field was eliminated from the
POSIX standard after draft 9, but has
been kept as a QNX Neutrino extension.
A nonzero value in
this field implies that the queue is
full.
- long mq_recvwait
- The number of threads currently
waiting to receive a
message. Like mq_sendwait,
this field has been kept as a QNX Neutrino extension.
A nonzero value in
this field implies that the queue is
empty.
|
The alternate (mq) implementation of message queues doesn't
see the non-POSIX mq_sendwait and mq_recvwait fields. |
-1 if an error occurred
(errno is set).
Any other value indicates success.
- EBADF
- Invalid message queue mqdes.
POSIX 1003.1 MSG
Safety: | |
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |
mq_close(),
mq_open(),
mq_receive(),
mq_send(),
mq_setattr()
mq, mqueue
in the Utilities Reference
Warning: main(/www/www/htdocs/style/footer.php) [function.main]: failed to open stream: No such file or directory in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 237
Warning: main() [function.include]: Failed opening '/www/www/htdocs/style/footer.php' for inclusion (include_path='.:/www/www/common:/www/www/php/lib/php') in /www/www/docs/6.4.1/neutrino/lib_ref/m/mq_getattr.html on line 237