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 $
37 .Nd shared memory object operations
44 .Fn shm_open "const char *path" "int flags" "mode_t mode"
46 .Fn shm_unlink "const char *path"
50 function opens (or optionally creates) a
52 shared memory object named
56 function removes a shared memory object named
63 shared memory objects are implemented as ordinary files.
68 act as wrappers around the
77 arguments are as specified for those functions.
80 argument is checked to ensure that the access mode specified is not
82 (which is not defined for shared memory objects).
88 of a descriptor returned by
92 flag had been specified to
94 (It does so by setting a special file flag using
99 function makes no effort to ensure that
101 refers to a shared memory object.
105 returns a non-negative integer;
108 Both functions return -1 on failure, and set
110 to indicate the error.
114 argument does not necessarily represent a pathname (although it does in this
115 and most other implementations).
116 Two processes opening the same
118 are guaranteed to access the same shared memory object if and only if
131 flags may be used in portable programs.
138 on a shared memory object, or on the descriptor returned by
141 It is also undefined whether the shared memory object itself, or its
142 contents, persist across reboots.
148 functions can fail with any error defined for
152 respectively. In addition, the following errors are defined for
158 is not a shared memory object
159 (i.e., it is not a regular file).
165 specifies an access mode of
178 functions are believed to conform to
185 functions first appeared in
188 .An Garrett A. Wollman Aq Mt wollman@FreeBSD.org
189 (C library support and this manual page)
190 .An Matthew Dillon Aq Mt dillon@FreeBSD.org