HP-UX Reference (11i v2 07/12) - 2 System Calls (vol 5)

m
mq_setattr(2) mq_setattr(2)
NAME
mq_setattr() - set the blocking status of a message queue associated with a descriptor
SYNOPSIS
#include <sys/mqueue.h>
int mq_setattr(mqd_t mqdes,
const struct mq_attr *mqstat,
struct mq_attr *omqstat,
);
DESCRIPTION
The mq_setattr() system call changes the blocking status of a message queue associated with the
descriptor, mqdes. The blocking status that is modified is per message queue descriptor and another open
descriptor for the same message queue can have a different blocking status.
The argument mqstat, points to an
mq_attr structure that specifies the blocking status desired. More
specifically, if the
O_NONBLOCK bit in the mq_flags field of the
mq_attr structure is set, the descriptor is
marked as non-blocking. Otherwise it is marked as blocking.
If omstat is non-NULL,
mq_setattr() will store in the mq_attr structure referenced by omqstat, the
previous message queue attributes and the queue blocking status associated with this mqdes. The values
returned are the same as would be returned by a call to
mq_getattr() .
To use this function, link in the realtime library by specifying -lrt on the compiler or linker command
line.
RETURN VALUE
mq_setattr() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS
If mq_setattr() fails, errno is set to one of the following values:
[EBADF] mqdes is not a valid message queue descriptor.
[EINVAL] mqstat does not point to a valid mq_attr
structure, or omqstat is non-NULL and
does not point to a valid
mq_attr structure.
[ENOSYS] mq_setattr() is not supported by the implementation.
SEE ALSO
mq_getattr(2), mq_open(2).
STANDARDS CONFORMANCE
mq_setattr() : POSIX 1003.1b
218 Hewlett-Packard Company 1 HP-UX 11i Version 2: December 2007 Update