Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

shmget(2)

shmop(2)



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



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 opera-
     tions as specified by cmd.  The following cmds are avail-
     able:

     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
                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.




                        Printed 11/19/92                   Page 1





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



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

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

     [EINVAL]            shmid is not a valid shared memory iden-
                         tifier.

     [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 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