SHMCTL(2) DOMAIN/IX SYS5 SHMCTL(2)
NAME
shmctl - shared memory control operations
USAGE
#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 shared memory control operations as defined
by various commands (the cmd argument denoted above). 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(2).
{READ}
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 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 super-user or
to the value of shm_perm.uid in the data
structure associated with shmid.
Printed 12/4/86 SHMCTL-1
SHMCTL(2) DOMAIN/IX SYS5 SHMCTL(2)
RETURN VALUE
A successful call returns zero. A failed call returns -1
and sets errno as indicated below.
ERRORS
Shmctl will fail if one or more of the following is true:
[EINVAL] Shmid is not a valid shared memory identifier.
[EINVAL] Cmd is not a valid command.
[EACCES] Cmd is equal to IPC_STAT and {READ} operation per-
mission is denied to the calling process.
[EPERM] Cmd is equal to IPC_RMID or IPC_SET and the effec-
tive user ID of the calling process is not equal
to that of super-user or to the value of
shm_perm.uid in the data structure associated with
shmid.
[EFAULT] Buf points to an illegal address.
RELATED INFORMATION
shmget(2), shmop(2)
SHMCTL-2 Printed 12/4/86