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
35 .Nm shm_open , shm_unlink
36 .Nd "shared memory object operations"
43 .Fn shm_open "const char *path" "int flags" "mode_t mode"
45 .Fn shm_unlink "const char *path"
49 function opens (or optionally creates) a
51 shared memory object named
55 function removes a shared memory object named
62 shared memory objects are implemented as ordinary files.
67 act as wrappers around the
76 arguments are as specified for those functions.
79 argument is checked to ensure that the access mode specified is not
81 (which is not defined for shared memory objects).
87 of a descriptor returned by
91 flag had been specified to
93 (It does so by setting a special file flag using
98 function makes no effort to ensure that
100 refers to a shared memory object.
104 returns a non-negative integer;
107 Both functions return -1 on failure, and set
109 to indicate the error.
113 argument does not necessarily represent a pathname (although it does in this
114 and most other implementations).
115 Two processes opening the same
117 are guaranteed to access the same shared memory object if and only if
130 flags may be used in portable programs.
137 on a shared memory object, or on the descriptor returned by
140 It is also undefined whether the shared memory object itself, or its
141 contents, persist across reboots.
147 functions can fail with any error defined for
152 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 wollman@FreeBSD.org
189 (C library support and this manual page)
191 .An Matthew Dillon Aq dillon@FreeBSD.org