OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / original / man3 / mq_getattr.3
diff --git a/original/man3/mq_getattr.3 b/original/man3/mq_getattr.3
deleted file mode 100644 (file)
index 3b579f8..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-'\" t
-.\" Copyright (C) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
-.\"
-.\" %%%LICENSE_START(VERBATIM)
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
-.\"
-.TH MQ_GETATTR 3 2014-10-02 "Linux" "Linux Programmer's Manual"
-.SH NAME
-mq_getattr, mq_setattr \- get/set message queue attributes
-.SH SYNOPSIS
-.nf
-.B #include <mqueue.h>
-.sp
-.BI "int mq_getattr(mqd_t " mqdes ", struct mq_attr *" attr );
-
-.BI "int mq_setattr(mqd_t " mqdes ", const struct mq_attr *" newattr ","
-.BI "                 struct mq_attr *" oldattr );
-.fi
-.sp
-Link with \fI\-lrt\fP.
-.SH DESCRIPTION
-.BR mq_getattr ()
-and
-.BR mq_setattr ()
-respectively retrieve and modify attributes of the message queue
-referred to by the descriptor
-.IR mqdes .
-
-.BR mq_getattr ()
-returns an
-.I mq_attr
-structure in the buffer pointed by
-.IR attr .
-This structure is defined as:
-.in +4n
-.nf
-
-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 */
-};
-.fi
-.in
-.PP
-The
-.I mq_flags
-field contains flags associated with the open message queue description.
-This field is initialized when the queue is created by
-.BR mq_open (3).
-The only flag that can appear in this field is
-.BR O_NONBLOCK .
-
-The
-.I mq_maxmsg
-and
-.I mq_msgsize
-fields are set when the message queue is created by
-.BR mq_open (3).
-The
-.I mq_maxmsg
-field is an upper limit on the number of messages
-that may be placed on the queue using
-.BR mq_send (3).
-The
-.I 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
-.I /proc
-files that place ceilings on the values for these fields are described in
-.BR mq_overview (7).
-
-The
-.I mq_curmsgs
-field returns the number of messages currently held in the queue.
-
-.BR mq_setattr ()
-sets message queue attributes using information supplied in the
-.I mq_attr
-structure pointed to by
-.IR newattr .
-The only attribute that can be modified is the setting of the
-.B O_NONBLOCK
-flag in
-.IR mq_flags .
-The other fields in
-.I newattr
-are ignored.
-If the
-.I oldattr
-field is not NULL,
-then the buffer that it points to is used to return an
-.I mq_attr
-structure that contains the same information that is returned by
-.BR mq_getattr ().
-.SH RETURN VALUE
-On success
-.BR mq_getattr ()
-and
-.BR mq_setattr ()
-return 0; on error, \-1 is returned, with
-.I errno
-set to indicate the error.
-.SH ERRORS
-.TP
-.B EBADF
-The descriptor specified in
-.I mqdes
-is invalid.
-.TP
-.B EINVAL
-.I newattr\->mq_flags
-contained set bits other than
-.BR O_NONBLOCK .
-.SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR mq_getattr ()
-and
-.BR mq_setattr ()
-functions are thread-safe.
-.SH CONFORMING TO
-POSIX.1-2001.
-.SH NOTES
-On Linux,
-.BR mq_getattr ()
-and
-.BR mq_setattr ()
-are library functions layered on top of the
-.BR mq_getsetattr (2)
-system call.
-.SH EXAMPLE
-The program below can be used to show the default
-.I mq_maxmsg
-and
-.I mq_msgsize
-values that are assigned to a message queue that is created with a call to
-.BR mq_open (3)
-in which the
-.I attr
-argument is NULL.
-Here is an example run of the program:
-
-.in +4n
-.nf
-$ \fB./a.out /testq\fP
-Maximum # of messages on queue:   10
-Maximum message size:             8192
-.fi
-.in
-
-Since Linux 3.5, the following
-.I /proc
-files (described in
-.BR mq_overview (7))
-can be used to control the defaults:
-
-.in +4n
-.nf
-$ \fBuname -sr\fP
-Linux 3.8.0
-$ \fBcat /proc/sys/fs/mqueue/msg_default\fP
-10
-$ \fBcat /proc/sys/fs/mqueue/msgsize_default\fP
-8192
-.fi
-.in
-.SS Program source
-\&
-.nf
-#include <mqueue.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\
-                        } while (0)
-
-int
-main(int argc, char *argv[])
-{
-    mqd_t mqd;
-    struct mq_attr attr;
-
-    if (argc != 2) {
-        fprintf(stderr, "Usage: %s mq\-name\\n", argv[0]);
-        exit(EXIT_FAILURE);
-    }
-
-    mqd = mq_open(argv[1], O_CREAT | O_EXCL, S_IRUSR | S_IWUSR, NULL);
-    if (mqd == (mqd_t) \-1)
-        errExit("mq_open");
-
-    if (mq_getattr(mqd, &attr) == \-1)
-        errExit("mq_getattr");
-
-    printf("Maximum # of messages on queue:   %ld\\n", attr.mq_maxmsg);
-    printf("Maximum message size:             %ld\\n", attr.mq_msgsize);
-
-    if (mq_unlink(argv[1]) == \-1)
-        errExit("mq_unlink");
-
-    exit(EXIT_SUCCESS);
-}
-.fi
-.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_notify (3),
-.BR mq_open (3),
-.BR mq_receive (3),
-.BR mq_send (3),
-.BR mq_unlink (3),
-.BR mq_overview (7)
-.SH COLOPHON
-This page is part of release 3.79 of the Linux
-.I man-pages
-project.
-A description of the project,
-information about reporting bugs,
-and the latest version of this page,
-can be found at
-\%http://www.kernel.org/doc/man\-pages/.