SHMCTL(S) XENIX System V SHMCTL(S)
Name
shmctl - Controls shared memory operations.
Syntax
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int shmctl (shmid, cmd, buf)
int shmid, cmd;
struct shmid_ds *buf;
Description
shmctl provides a variety of shared memory control
operations as specified by cmd. The following cmds are
available:
IPC_STAT Place the current value of each member of
the data structure associated with shmid
into the structure pointed to by buf. The
contents of this structure are defined in
intro(S).
IPC_SET Set the value of the following members of
the data structure associated with shmid
to the corresponding value found in the
structure pointed to by buf:
shm_perm.uid
shm_perm.gid
shm_perm.mode /* only low 9 bits */
This cmd can only be executed by a process
that has an effective user ID equal to
either that of the super-user or to the
value of shm_perm.uid in the data
structure associated with shmid.
IPC_RMID Remove the shared memory identifier
specified by shmid from the system and
destroy the shared memory segment and data
structure associated with it. This cmd
can only be executed by a process that has
an effective user ID equal to either that
of the super-user or to the value of
shm_perm.uid in the data structure
associated with shmid.
Page 1 (printed 8/7/87)
SHMCTL(S) XENIX System V SHMCTL(S)
Diagnostics
shmctl will fail if one or more of the following are true:
shmid is not a valid shared memory identifier. -
[EINVAL]
cmd is not a valid command. [EINVAL]
cmd is equal to IPC_STAT and operation permission is
denied to the calling process (see intro(S)). [EACCES]
cmd is equal to IPC_RMID or IPC_SET and the effective
user ID of the calling process is not equal to that of
the super-user and it is not equal to the value of
shm_perm.uid in the data structure associated with
shmid. [EPERM]
buf points to an illegal address. [EFAULT]
Return Value
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned and errno is set to
indicate the error.
See Also
intro(S), shmget(S), shmop(S)
Notes
Programs using this function must be compiled with -Me
compiler option.
Page 2 (printed 8/7/87)