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

> mq_setattr - set message queue attributes (REALTIME)

#### SYNOPSIS

> ``[MSG] #include <mqueue.h>
> int mq_setattr(mqd_t` mqdes`, const struct mq_attr *restrict` mqstat`,
> struct mq_attr *restrict` omqstat`);``
> `
> `

#### DESCRIPTION

> The mq_setattr() function shall set attributes associated with the open message queue description referenced by the message queue descriptor specified by mqdes.

> The message queue attributes corresponding to the following members defined in the mq_attr structure shall be set to the specified values upon successful completion of mq_setattr():

> mq_flags
>   The value of this member is the bitwise-logical OR of zero or more of O_NONBLOCK and any implementation-defined flags.

> The values of the mq_maxmsg, mq_msgsize, and mq_curmsgs members of the mq_attr structure shall be ignored by mq_setattr().

> If omqstat is non-NULL, the mq_setattr() function shall store, in the location referenced by omqstat, the previous message queue attributes and the current queue status. These values shall be the same as would be returned by a call to mq_getattr() at that point.

#### RETURN VALUE

> Upon successful completion, the function shall return a value of zero and the attributes of the message queue shall have been changed as specified.

> Otherwise, the message queue attributes shall be unchanged, and the function shall return a value of -1 and set errno to indicate the error.

#### ERRORS

> The mq_setattr() function shall fail if:

> [EBADF]
>   The mqdes argument is not a valid message queue descriptor.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> mq_open(), mq_send(), mq_timedsend(), msgctl(), msgget(), msgrcv(), msgsnd(), the Base Definitions volume of IEEE Std 1003.1-2001, <mqueue.h>

#### CHANGE HISTORY

> First released in Issue 5. Included for alignment with the POSIX Realtime Extension.

#### Issue 6

> The mq_setattr() function is marked as part of the Message Passing option.

> The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Message Passing option.

> The mq_timedsend() function is added to the SEE ALSO section for alignment with IEEE Std 1003.1d-1999.

> The restrict keyword is added to the mq_setattr() prototype for alignment with the ISO/IEC 9899:1999 standard.

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 ]