NAME
mq_setattr — set
message queue attributes (REALTIME)
SYNOPSIS
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(3) 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.
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
mq_open(3) , mq_send(3) , mq_timedsend(3) , msgctl(3) , msgget(3) , msgrcv(3) , msgsnd(3) , the Base Definitions volume of IEEE Std 1003.1-2001 (“POSIX.1”), <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(3) 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
(“ISO C99”) standard.
End of informative text. footer end