Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ shmctl(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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(int shmid, int cmd, ... /* struct shmid_ds *buf */);

       DESCRIPTION
             shmctP 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(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 the value
                           of shm_perm.cuid or shm_perm.uid in the data
                           structure associated with shmid or to a process
                           that has the P_OWNER privilege.

             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
                           the value of shm_perm.cuid or shm_perm.uid in
                           the data structure associated with shmid or to a
                           process that has the P_OWNER privilege.

          Return Values
             On success, shmctl returns 0.  On failure, shmctl returns -1
             and sets errno to identify the error.




                           Copyright 1994 Novell, Inc.               Page 1













      shmctl(2)                                                  shmctl(2)


         Errors
            In the following conditions, shmctl fails and sets errno to:

            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 is not equal to the value of
                          shm_perm.cuid or shm_perm.uid in the data
                          structure associated with shmid and the process
                          does not have the P_OWNER privilege.

            EFAULT        buf points to an illegal address.

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

      REFERENCES
            shmget(2), shmop(2)

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














                          Copyright 1994 Novell, Inc.               Page 2








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