Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  SHMCTL(2)                                               SHMCTL(2)



  NAME
       shmctl - shared memory control operations

  SYNOPSIS
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/shm.h>

       int shmctl (shmid, cmd, buf)
       int shmid, cmd;
       struct shmidds *buf;

  DESCRIPTION
       shmctl provides a variety of shared memory control
       operations as specified by cmd.  The following cmds are
       available:

       IPCSTAT   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}

       IPCSET    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 that of super
                  user, or to the value of shmperm.cuid or
                  shmperm.uid in the data structure associated
                  with shmid.

       IPCRMID   Remove the shared memory identifier specified by
                  shmid from the system and destroy the shared


  Page 1                                                   May 1989


















  SHMCTL(2)                                               SHMCTL(2)



                  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 that of
                  super user, or to the value of shmperm.cuid or
                  shmperm.uid in the data structure associated
                  with shmid.

       SHMLOCK   Lock the shared memory segment specified by shmid
                  in memory.  This cmd can only be executed by a
                  process that has an effective user ID equal to
                  super user.

       SHMUNLOCK Unlock the shared memory segment specified by
                  shmid.  This cmd can only be executed by a
                  process that has an effective user ID equal to
                  super user.

       shmctl will fail if one or more of the following are true:

       [EINVAL]    Shmid is not a valid shared memory identifier.

       [EINVAL]    Cmd is not a valid command.

       [EACCES]    Cmd is equal to IPCSTAT and {READ} operation
                   permission is denied to the calling process [see
                   intro(2)].

       [EPERM]     Cmd is equal to IPCRMID or IPCSET and the
                   effective user ID of the calling process is not
                   equal to that of super user, or to the value of
                   shmperm.cuid or shmperm.uid in the data
                   structure associated with shmid.

       [EPERM]     Cmd is equal to SHMLOCK or SHMUNLOCK and the
                   effective user ID of the calling process is not
                   equal to that of super user.

       [EFAULT]    Buf points to an illegal address.

       [ENOMEM]    Cmd is equal to SHMLOCK and there is not enough


  Page 2                                                   May 1989


















  SHMCTL(2)                                               SHMCTL(2)



                   memory.

  SEE ALSO
       shmget(2), shmop(2).

  DIAGNOSTICS
       Upon successful completion, a value of 0 is returned.
       Otherwise, a value of -1 is returned and errno is set to
       indicate the error.

  NOTES
       The user must explicitly remove shared memory segments after
       the last reference to them has been removed.





























  Page 3                                                   May 1989
















Typewritten Software • bear@typewritten.org • Edmonds, WA 98026