Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mq_setattr(3R) — SunOS 5.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mq_open(3R)

mq_receive(3R)

mq_send(3R)

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. 

SunOS 5.4  —  Last change: 19 Aug 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026