Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shmctl(2) — A/UX 0.7

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

shmget(2)

shmop(2)



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

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

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




     Page 1                                        (last mod. 1/14/87)





     shmctl(2)                                               shmctl(2)



               [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 and it is not equal to the value of
                              shmperm.uid in the data structure
                              associated with shmid.

               [EFAULT]       buf points to an illegal address.

     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(2), shmget(2), shmop(2).

































     Page 2                                        (last mod. 1/14/87)



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