MQ_GETATTR
Section: Linux Programmer's Manual (3) Updated: 2010-08-29 Index
Return to Main Contents
NAME
mq_getattr, mq_setattr - get/set message queue attributes
SYNOPSIS
#include <mqueue.h>
int mq_getattr(mqd_t mqdes, struct mq_attr *attr);
int mq_setattr(mqd_t mqdes, struct mq_attr *newattr,
struct mq_attr *oldattr);
Link with -lrt.
DESCRIPTION
mq_getattr()
and
mq_setattr()
respectively retrieve and modify attributes of the message queue
referred to by the descriptor
mqdes.
mq_getattr()
returns an
mq_attr
structure in the buffer pointed by
attr.
This structure is defined as:
struct mq_attr {
long mq_flags; /* Flags: 0 or O_NONBLOCK */
long mq_maxmsg; /* Max. # of messages on queue */
long mq_msgsize; /* Max. message size (bytes) */
long mq_curmsgs; /* # of messages currently in queue */
};
The
mq_flags
field contains flags associated with the open message queue description.
This field is initialized when the queue is created by
mq_open(3).
The only flag that can appear in this field is
O_NONBLOCK.
The
mq_maxmsg
and
mq_msgsize
fields are set when the message queue is created by
mq_open(3).
The
mq_maxmsg
field is an upper limit on the number of messages
that may be placed on the queue using
mq_send(3).
The
mq_msgsize
field is an upper limit on the size of messages
that may be placed on the queue.
Both of these fields must have a value greater than zero.
Two
/proc
files that place ceilings on the values for these fields are described in
mq_open(3).
The
mq_curmsgs
field returns the number of messages currently held in the queue.
mq_setattr()
sets message queue attributes using information supplied in the
mq_attr
structure pointed to by
newattr.
The only attribute that can be modified is the setting of the
O_NONBLOCK
flag in
mq_flags.
The other fields in
newattr
are ignored.
If the
oldattr
field is not NULL,
then the buffer that it points to is used to return an
mq_attr
structure that contains the same information that is returned by
mq_getattr().
RETURN VALUE
On success
mq_getattr()
and
mq_setattr()
return 0; on error, -1 is returned, with
errno
set to indicate the error.
ERRORS
- EBADF
-
The descriptor specified in
mqdes
is invalid.
- EINVAL
-
newattr->mq_flags
contained set bits other than
O_NONBLOCK.
CONFORMING TO
POSIX.1-2001.
NOTES
On Linux,
mq_getattr()
and
mq_setattr()
are library functions layered on top of the
mq_getsetattr(2)
system call.
SEE ALSO
mq_close(3),
mq_notify(3),
mq_open(3),
mq_receive(3),
mq_send(3),
mq_unlink(3),
mq_overview(7)
COLOPHON
This page is part of release 3.27 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
|