Annotation of coherent/a/usr/man/COHERENT/semctl, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: semctl()               COHERENT System Call              semctl()
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: Control semaphore operations
        !             9: 
        !            10: #include <sys/sem.h>
        !            11: sseemmccttll(_s_e_m_i_d, _s_e_m_n_u_m, _c_m_d, _a_r_g)
        !            12: iinntt _s_e_m_i_d, _c_m_d, _s_e_m_n_u_m;
        !            13: uunniioonn sseemmuunn {
        !            14:         iinntt _v_a_l;
        !            15:         ssttrruucctt sseemmiidd_ddss *_b_u_f;
        !            16:         uunnssiiggnneedd sshhoorrtt _a_r_r_a_y[];
        !            17: } _a_r_g;
        !            18: 
        !            19: semctl controls a  variety of semaphore operations.  cmd sets the
        !            20: operation to  be performed; the following  cmds are executed with
        !            21: respect to the semaphore specified by semid and semnum:
        !            22: 
        !            23: GGEETTVVAALL
        !            24: Return the value of sseemmvvaall (READ).
        !            25: 
        !            26: SSEETTVVAALL
        !            27: Set the value of sseemmvvaall to _a_r_g._v_a_l (ALTER).
        !            28: 
        !            29: GGEETTPPIIDD
        !            30: Return the value of sseemmppiidd (READ).
        !            31: 
        !            32: GGEETTNNCCNNTT
        !            33: Return the value of sseemmnnccnntt (READ).
        !            34: 
        !            35: GGEETTZZCCNNTT
        !            36: Return the value of sseemmzzccnntt (READ).
        !            37: 
        !            38: The following cmds  return and set, respectively, every semval in
        !            39: the set of semaphores.
        !            40: 
        !            41: GGEETTAALLLL     Place  semvals  into  array  pointed to  by  _a_r_g._a_r_r_a_y
        !            42:           (READ).
        !            43: 
        !            44: SSEETTAALLLL     Set  semvals  according to  the  array  pointed to  by
        !            45:           _a_r_g._a_r_r_a_y (ALTER).
        !            46: 
        !            47: The following cmds are also available:
        !            48: 
        !            49: IIPPCC_SSTTAATT   Place the  current value  of each  member of  the data
        !            50:           structure  associated  with  semid into  the  structure
        !            51:           pointed to by _a_r_g._b_u_f (READ).
        !            52: 
        !            53: IIPPCC_SSEETT    Set the  value of  the following  members of  the data
        !            54:           structure  associated with  semid to  the corresponding
        !            55:           value found in the structure pointed to by arg.buf:
        !            56: 
        !            57:           sem_perm.uid
        !            58:           sem_perm.gid
        !            59:           sem_perm.mode /* only low 9 bits */
        !            60: 
        !            61:           This command can only be executed by a process that has
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 
        !            67: 
        !            68: 
        !            69: semctl()               COHERENT System Call              semctl()
        !            70: 
        !            71: 
        !            72: 
        !            73:           an effective  user identifier  equal to either  that of
        !            74:           superuser or  to the value of  sem_perm.uid in the data
        !            75:           structure associated with semid.
        !            76: 
        !            77: IIPPCC_RRMMIIDD  Remove  the system  identifier specified by  semid from
        !            78:           the system  and destroy the set  of semaphores and data
        !            79:           structure associated with it.  This cmd can only be ex-
        !            80:           ecuted by  a process that  has an effective  user iden-
        !            81:           tifier equal  to either  that of  super user or  to the
        !            82:           value of sem_perm.uid  in the data structure associated
        !            83:           with semid.
        !            84: 
        !            85: semctl will fail if one or more of the following are true:
        !            86: 
        !            87: *  semid is not a valid semaphore identifier [EINVAL].
        !            88: 
        !            89: *  semnum is less than zero or greater than sem_nsems [EINVAL].
        !            90: 
        !            91: *  cmd is not a valid command [EINVAL].
        !            92: 
        !            93: *   Operation  permission  is  denied  to  the  calling  process.
        !            94:    [EACCES]
        !            95: 
        !            96: *  cmd is SETVAL or SETALL and the value to which semval is to be
        !            97:    set is greater than the system imposed maximum [ERANGE].
        !            98: 
        !            99: *  cmd  is equal  to IPC_RMID or  IPC_SET and the  effective user
        !           100:    identifier of the calling process  is not equal to that of su-
        !           101:    peruser and  it is not  equal to the value  of sem_perm.uid in
        !           102:    the data structure associated with semid [EPERM].
        !           103: 
        !           104: *  arg.buf points to an illegal address [EFAULT].
        !           105: 
        !           106: ***** Return Value *****
        !           107: 
        !           108: Upon successful completion,  the value returned depends on cmd as
        !           109: follows:
        !           110: 
        !           111: 
        !           112:      GGEETTVVAALL    The value of sseemmvvaall.
        !           113:      GGEETTPPIIDD    The value of sseemmppiidd.
        !           114:      GGEETTNNCCNNTT   The value of sseemmnnccnntt.
        !           115:      GGEETTZZCCNNTT   The value of sseemmzzccnntt.
        !           116:      All othersZero
        !           117: 
        !           118: 
        !           119: Otherwise,  semctl returns  -1 and sets  eerrrrnnoo to  an appropriate
        !           120: value.
        !           121: 
        !           122: ***** Files *****
        !           123: 
        !           124: /usr/include/sys/ipc.h
        !           125: /usr/include/sys/sem.h
        !           126: /dev/sem
        !           127: /drv/sem
        !           128: 
        !           129: 
        !           130: COHERENT Lexicon                                           Page 2
        !           131: 
        !           132: 
        !           133: 
        !           134: 
        !           135: semctl()               COHERENT System Call              semctl()
        !           136: 
        !           137: 
        !           138: 
        !           139: 
        !           140: ***** See Also *****
        !           141: 
        !           142: COHERENT system calls, sem, semget(), semop()
        !           143: 
        !           144: ***** Notes *****
        !           145: 
        !           146: To  improve  portability,  the  COHERENT  system  implements  the
        !           147: semaphore functions  as a device driver rather  than as an actual
        !           148: system call.
        !           149: 
        !           150: 
        !           151: 
        !           152: 
        !           153: 
        !           154: 
        !           155: 
        !           156: 
        !           157: 
        !           158: 
        !           159: 
        !           160: 
        !           161: 
        !           162: 
        !           163: 
        !           164: 
        !           165: 
        !           166: 
        !           167: 
        !           168: 
        !           169: 
        !           170: 
        !           171: 
        !           172: 
        !           173: 
        !           174: 
        !           175: 
        !           176: 
        !           177: 
        !           178: 
        !           179: 
        !           180: 
        !           181: 
        !           182: 
        !           183: 
        !           184: 
        !           185: 
        !           186: 
        !           187: 
        !           188: 
        !           189: 
        !           190: 
        !           191: 
        !           192: 
        !           193: 
        !           194: 
        !           195: 
        !           196: COHERENT Lexicon                                           Page 3
        !           197: 
        !           198: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.