Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shmctl(S) — Xenix 2.3.4g

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(S)

shmget(S)

shmop(S)



     SHMCTL(S)                XENIX System V                 SHMCTL(S)



     Name
          shmctl - Controls shared memory operations.

     Syntax
          #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 a variety of shared memory control
          operations as specified by cmd.  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(S).

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









     Page 1                                           (printed 8/7/87)





     SHMCTL(S)                XENIX System V                 SHMCTL(S)



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

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

               cmd is not a valid command.  [EINVAL]

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

               cmd is equal to IPC_RMID or IPC_SET and the effective
               user ID of the calling process is not equal to that of
               the super-user and it is not equal to the value of
               shm_perm.uid in the data structure associated with
               shmid.  [EPERM]

               buf points to an illegal address.  [EFAULT]

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

     Notes
          Programs using this function must be compiled with -Me
          compiler option.

























     Page 2                                           (printed 8/7/87)



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