sdget(2) SYSTEM CALLS sdget(2)
NAME
sdget, sdfree - attaches and detaches a shared data segment.
SYNOPSIS
cc [flag ...] file ... -lx
#include <sys/sd.h>
char *sdget(char *path, in flags, /* long size, int mode */;
int sdfree(char *addr);
DESCRIPTION
sdget attaches a shared data segment to the data space of
the current process. The actions performed are controlled
by the value of flags. flags values are constructed by OR-
ing flags from the following list: Attach the segment for
reading only. Attach the segment for both reading and writ-
ing. If the segment named by path exists and is not in use
(active), this flag will have the same effect as creating a
segment from scratch. Otherwise, the segment is created
according to the values of size and mode. Read and write
access to the segment is granted to other processes based on
the permissions passed in mode, and functions the same as
those for regular files. Execute permission is meaningless.
The segment is initialized to contain all zeroes. If the
segment is created because of this call, the segment will be
made so that more than one process can be between sdenter
and sdleave calls. sdfree detaches the current process from
the shared data segment that is attached at the specified
address. If the current process has done sdenter but not an
sdleave for the specified segment, sdleave will be done
before detaching the segment. When no process remains
attached to the segment, the contents of that segment disap-
pear, and no process can attach to the segment without
creating it by using the SD_CREAT flag in sdget. errno is
set to EEXIST if a process tries to create a shared data
segment that exists and is in use. errno is set to ENOTNAM
if a process attempts an sdget on a file that exists but is
not a shared data type.
DIAGNOSTICS
On successful completion, the address at which the segment
was attached is returned. Otherwise, -1 is returned, and
errno is set to indicate the error. errno is set to EINVAL
if a process does an sdget on a shared data segment to which
it is already attached. errno is set to EEXIST if a process
tries to create a shared data segment that exists an is in
use. errno is set to ENOTNAM if a process attempts an sdget
on a file that exists but is not a shared data type. The
mode parameter must be included on the first call of the
sdget function.
Last change: XENIX Compatibility Package 1
sdget(2) SYSTEM CALLS sdget(2)
SEE ALSO
sdenter(2), sdgetv(2).
Last change: XENIX Compatibility Package 2