Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shmctl(2) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

shmget(2)

shmop(2)



SHMCTL(2-SVR4)      RISC/os Reference Manual       SHMCTL(2-SVR4)



NAME
     shmctl - shared memory control operations

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

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

DESCRIPTION
     shmctl provides a variety of shared memory control opera-
     tions as specified by cmd.  The following cmds are avail-
     able:

     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 access permission bits */

                 This command can be executed only by a process
                 that has an effective user ID equal to that of
                 superuser, or to the value of shm_perm.cuid or
                 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 command can be executed only by a
                 process that has an effective user ID equal to
                 that of superuser, or to the value of
                 shm_perm.cuid or shm_perm.uid in the data struc-
                 ture associated with shmid.

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

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



                        Printed 11/19/92                   Page 1




SHMCTL(2-SVR4)      RISC/os Reference Manual       SHMCTL(2-SVR4)



     shmctl fails if one or more of the following are true:

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

     EINVAL      shmid is not a valid shared memory identifier.

     EINVAL      cmd is not a valid command.

     EINVAL      cmd is IPC_SET and shm_perm.uid or shm_perm.gid
                 is not valid.

     EOVERFLOW   cmd is IPC_STAT and uid or gid is too large to
                 be stored in the structure pointed to by buf.

     EPERM       cmd is equal to IPC_RMID or IPC_SET and the
                 effective user ID of the calling process is not
                 equal to that of superuser, or to the value of
                 shm_perm.cuid or shm_perm.uid in the data struc-
                 ture associated with shmid.

     EPERM       cmd is equal to SHM_LOCK or SHM_UNLOCK and the
                 effective user ID of the calling process is not
                 equal to that of superuser.

     EFAULT      buf points to an illegal address.

     ENOMEM      cmd is equal to SHM_LOCK and there is not enough
                 memory.

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

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned. Other-
     wise, 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 2                 Printed 11/19/92



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