mq_setattr(3R)
NAME
mq_setattr, mq_getattr − set/get message queue attributes
SYNOPSIS
cc [ flag ... ] file ... −lposix4 [ library ... ]
#include <mqueue.h>
int mq_setattr(mqd_t mqdes, const struct mq_attr ∗mqstat,
struct mq_attr∗ omqstat);
int mq_getattr(mqd_t mqdes, struct mq_attr ∗mqstat);
struct mq_attr {
longmq_flags;/∗ message queue flags ∗/
longmq_maxmsg;/∗ maximum number of messages ∗/
longmq_msgsize;/∗ maximum message size ∗/
longmq_curmsgs;/∗ number of messages currently queued ∗/
...
};
MT-LEVEL
MT-Safe
DESCRIPTION
mq_setattr() is used to set attributes associated with the message queue specified by mqdes.
The message queue attributes corresponding to the following members defined in the mq_attr structure are set to the specified values upon successful completion of mq_setattr():
mq_flags The value of this member is either 0 or O_NONBLOCK.
The values of mq_maxmsg, mq_msgsize, and mq_curmsgs are ignored by mq_setattr().
If omqstat is non-NULL, mq_setattr() stores, in the location referenced by omqstat, the previous message queue attributes and the current queue status. These values are the same as would be returned by a call to mq_getattr() at that point. mq_getattr() is used to get status information and attributes associated with the message queue specified in mqdes. Upon return, the mq_flags member of the mq_attr structure referenced by mqstat has the value that was set when the message queue was created but also with modifications made by subsequent mq_setattr() calls.
The following attributes were set at message queue creation:
mq_maxmsg
mq_msgsize
Upon return, the mq_curmsgs (the number of messages currently on the queue) member of the mq_attr structure referenced by mqstat is set according to the current state of the message queue.
RETURN VALUES
Upon successful completion, these function(s) return 0; otherwise, they return -1, and set errno to indicate the error condition.
mq_setattr(), if successful, also changes the attributes of the message queue as specified.
ERRORS
EBADF mqdes is not a valid message queue descriptor.
ENOSYS mq_setattr() and mq_getattr() are not supported by this implementation.
SEE ALSO
mq_open(3R), mq_receive(3R), mq_send(3R)
BUGS
In Solaris 2.4, these functions always return −1 and set errno to ENOSYS, because this release does not support the Message Passing option. It is our intention to provide support for these interfaces in future releases.
BUGS
In Solaris 2.4, these functions always return −1 and set errno to ENOSYS, because this release does not support the Message Passing option. It is our intention to provide support for these interfaces in future releases.
SunOS 5.4 — Last change: 19 Aug 1993