2 .\" Copyright 2000 Massachusetts Institute of Technology
4 .\" Permission to use, copy, modify, and distribute this software and
5 .\" its documentation for any purpose and without fee is hereby
6 .\" granted, provided that both the above copyright notice and this
7 .\" permission notice appear in all copies, that both the above
8 .\" copyright notice and this permission notice appear in all
9 .\" supporting documentation, and that the name of M.I.T. not be used
10 .\" in advertising or publicity pertaining to distribution of the
11 .\" software without specific, written prior permission. M.I.T. makes
12 .\" no representations about the suitability of this software for any
13 .\" purpose. It is provided "as is" without express or implied
16 .\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS
17 .\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
18 .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
19 .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
20 .\" SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
23 .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 .\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25 .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
26 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 .\" $FreeBSD: src/lib/libc/gen/shm_open.3,v 1.3.2.5 2001/12/14 18:33:51 ru Exp $
30 .\" $DragonFly: src/lib/libc/gen/shm_open.3,v 1.4 2006/02/17 19:35:06 swildner Exp $
38 .Nd shared memory object operations
45 .Fn shm_open "const char *path" "int flags" "mode_t mode"
47 .Fn shm_unlink "const char *path"
51 function opens (or optionally creates) a
53 shared memory object named
57 function removes a shared memory object named
64 shared memory objects are implemented as ordinary files.
69 act as wrappers around the
78 arguments are as specified for those functions.
81 argument is checked to ensure that the access mode specified is not
83 (which is not defined for shared memory objects).
89 of a descriptor returned by
93 flag had been specified to
95 (It does so by setting a special file flag using
100 function makes no effort to ensure that
102 refers to a shared memory object.
106 returns a non-negative integer;
109 Both functions return -1 on failure, and set
111 to indicate the error.
115 argument does not necessarily represent a pathname (although it does in this
116 and most other implementations).
117 Two processes opening the same
119 are guaranteed to access the same shared memory object if and only if
132 flags may be used in portable programs.
139 on a shared memory object, or on the descriptor returned by
142 It is also undefined whether the shared memory object itself, or its
143 contents, persist across reboots.
149 functions can fail with any error defined for
153 respectively. In addition, the following errors are defined for
159 is not a shared memory object
160 (i.e., it is not a regular file).
166 specifies an access mode of
179 functions are believed to conform to
186 functions first appeared in
189 .An Garrett A. Wollman Aq wollman@FreeBSD.org
190 (C library support and this manual page)
192 .An Matthew Dillon Aq dillon@FreeBSD.org