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 $
37 .Nd open or create a shared memory object
39 .Nd remove a shared memory object
46 .Fn shm_open "const char *path" "int flags" "mode_t mode"
48 .Fn shm_unlink "const char *path"
52 function opens (or optionally creates) a
54 shared memory object named
58 function removes a shared memory object named
65 shared memory objects are implemented as ordinary files.
70 act as wrappers around the
79 arguments are as specified for those functions.
82 argument is checked to ensure that the access mode specified is not
84 (which is not defined for shared memory objects).
90 of a descriptor returned by
94 flag had been specified to
96 (It does so by setting a special file flag using
101 function makes no effort to ensure that
103 refers to a shared memory object.
107 returns a non-negative integer;
110 Both functions return -1 on failure, and set
112 to indicate the error.
116 argument does not necessarily represent a pathname (although it does in this
117 and most other implementations).
118 Two processes opening the same
120 are guaranteed to access the same shared memory object if and only if
133 flags may be used in portable programs.
140 on a shared memory object, or on the descriptor returned by
143 It is also undefined whether the shared memory object itself, or its
144 contents, persist across reboots.
150 functions can fail with any error defined for
154 respectively. In addition, the following errors are defined for
160 is not a shared memory object
161 (i.e., it is not a regular file).
167 specifies an access mode of
180 functions are believed to conform to
187 functions first appeared in
190 .An Garrett A. Wollman Aq wollman@FreeBSD.org
191 (C library support and this manual page)
193 .An Matthew Dillon Aq dillon@FreeBSD.org