OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / original / man3 / mq_open.3
diff --git a/original/man3/mq_open.3 b/original/man3/mq_open.3
deleted file mode 100644 (file)
index 611ea59..0000000
+++ /dev/null
@@ -1,264 +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_OPEN 3 2014-12-31 "Linux" "Linux Programmer's Manual"
-.SH NAME
-mq_open \- open a message queue
-.SH SYNOPSIS
-.nf
-.BR "#include <fcntl.h>" "           /* For O_* constants */"
-.BR "#include <sys/stat.h>" "        /* For mode constants */"
-.B #include <mqueue.h>
-.sp
-.BI "mqd_t mq_open(const char *" name ", int " oflag );
-.BI "mqd_t mq_open(const char *" name ", int " oflag ", mode_t " mode ,
-.BI "              struct mq_attr *" attr );
-.fi
-.sp
-Link with \fI\-lrt\fP.
-.SH DESCRIPTION
-.BR mq_open ()
-creates a new POSIX message queue or opens an existing queue.
-The queue is identified by
-.IR name .
-For details of the construction of
-.IR name ,
-see
-.BR mq_overview (7).
-
-The
-.I oflag
-argument specifies flags that control the operation of the call.
-(Definitions of the flags values can be obtained by including
-.IR <fcntl.h> .)
-Exactly one of the following must be specified in
-.IR oflag :
-.TP
-.B O_RDONLY
-Open the queue to receive messages only.
-.TP
-.B O_WRONLY
-Open the queue to send messages only.
-.TP
-.B O_RDWR
-Open the queue to both send and receive messages.
-.PP
-Zero or more of the following flags can additionally be
-.IR OR ed
-in
-.IR oflag :
-.TP
-.BR O_CLOEXEC " (since Linux 2.6.26)"
-.\" commit 269f21344b23e552c21c9e2d7ca258479dcd7a0a
-Set the close-on-exec flag for the message queue descriptor.
-See
-.BR open (2)
-for a discussion of why this flag is useful.
-.TP
-.B O_CREAT
-Create the message queue if it does not exist.
-The owner (user ID) of the message queue is set to the effective
-user ID of the calling process.
-The group ownership (group ID) is set to the effective group ID
-of the calling process.
-.\" In reality the filesystem IDs are used on Linux.
-.TP
-.B O_EXCL
-If
-.B O_CREAT
-was specified in
-.IR oflag ,
-and a queue with the given
-.I name
-already exists, then fail with the error
-.BR EEXIST .
-.TP
-.B O_NONBLOCK
-Open the queue in nonblocking mode.
-In circumstances where
-.BR mq_receive (3)
-and
-.BR mq_send (3)
-would normally block, these functions instead fail with the error
-.BR EAGAIN .
-.PP
-If
-.B O_CREAT
-is specified in
-.IR oflag ,
-then two additional arguments must be supplied.
-The
-.I mode
-argument specifies the permissions to be placed on the new queue,
-as for
-.BR open (2).
-(Symbolic definitions for the permissions bits can be obtained by including
-.IR <sys/stat.h> .)
-The permissions settings are masked against the process umask.
-
-The
-.I attr
-argument specifies attributes for the queue.
-See
-.BR mq_getattr (3)
-for details.
-If
-.I attr
-is NULL, then the queue is created with implementation-defined
-default attributes.
-Since Linux 3.5, two
-.I /proc
-files can be used to control these defaults; see
-.BR mq_overview (7)
-for details.
-.SH RETURN VALUE
-On success,
-.BR mq_open ()
-returns a message queue descriptor for use by other
-message queue functions.
-On error,
-.BR mq_open ()
-returns
-.IR "(mqd_t)\ \-1",
-with
-.I errno
-set to indicate the error.
-.SH ERRORS
-.TP
-.B EACCES
-The queue exists, but the caller does not have permission to
-open it in the specified mode.
-.TP
-.B EACCES
-.I name
-contained more than one slash.
-.\" Note that this isn't consistent with the same case for sem_open()
-.TP
-.B EEXIST
-Both
-.B O_CREAT
-and
-.B O_EXCL
-were specified in
-.IR oflag ,
-but a queue with this
-.I name
-already exists.
-.TP
-.B EINVAL
-.B O_CREAT
-was specified in
-.IR oflag ,
-and
-.I attr
-was not NULL, but
-.I attr\->mq_maxmsg
-or
-.I attr\->mq_msqsize
-was invalid.
-Both of these fields must be greater than zero.
-In a process that is unprivileged (does not have the
-.B CAP_SYS_RESOURCE
-capability),
-.I attr\->mq_maxmsg
-must be less than or equal to the
-.I msg_max
-limit, and
-.I attr\->mq_msgsize
-must be less than or equal to the
-.I msgsize_max
-limit.
-In addition, even in a privileged process,
-.I attr\->mq_maxmsg
-cannot exceed the
-.B HARD_MAX
-limit.
-(See
-.BR mq_overview (7)
-for details of these limits.)
-.TP
-.B EMFILE
-The process already has the maximum number of files and
-message queues open.
-.TP
-.B ENAMETOOLONG
-.I name
-was too long.
-.TP
-.B ENFILE
-The system limit on the total number of open files and message queues
-has been reached.
-.TP
-.B ENOENT
-The
-.B O_CREAT
-flag was not specified in
-.IR oflag ,
-and no queue with this
-.I name
-exists.
-.TP
-.B ENOENT
-.I name
-was just "/" followed by no other characters.
-.\" Note that this isn't consistent with the same case for sem_open()
-.TP
-.B ENOMEM
-Insufficient memory.
-.TP
-.B ENOSPC
-Insufficient space for the creation of a new message queue.
-This probably occurred because the
-.I queues_max
-limit was encountered; see
-.BR mq_overview (7).
-.SH ATTRIBUTES
-.SS Multithreading (see pthreads(7))
-The
-.BR mq_open ()
-function is thread-safe.
-.SH CONFORMING TO
-POSIX.1-2001.
-.SH BUGS
-In kernels before 2.6.14,
-the process umask was not applied to the permissions specified in
-.IR mode .
-.SH SEE ALSO
-.BR mq_close (3),
-.BR mq_getattr (3),
-.BR mq_notify (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/.