semctl man page on Ultrix

Man page or keyword search:  
man Server   3690 pages
apropos Keyword Search (all sections)
Output format
Ultrix logo
[printable version]

semctl(2)							     semctl(2)

Name
       semctl - semaphore control operations

Syntax
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/sem.h>

       int semctl (semid, semnum, cmd, arg)
       int semid, cmd;
       int semnum;
       union semun {
	    int val;
	    struct semid_ds *buf;
	    ushort array[];
       } arg;

Description
       The  system  call provides a variety of semaphore control operations as
       specified by cmd.  The following cmds are executed with respect to  the
       semaphore specified by semid and semnum:

       GETVAL	      Return  the  value  of semval.  For further information,
		      see

       SETVAL	      Set the value of semval to arg.val.  When	 this  command
		      is successfully executed, the semadj value corresponding
		      to the specified semaphore in all processes is cleared.

       GETPID	      Return the value of sempid.

       GETNCNT	      Return the value of semncnt.

       GETZCNT	      Return the value of semzcnt.

       The following cmds return and set every semval  in  the	set  of	 sema‐
       phores:

       GETALL	      Place semvals into array pointed to by arg.array.

       SETALL	      Set  semvals  according  to  the	array  pointed	to  by
		      arg.array When this command  is  successfully  executed,
		      the  semadj values corresponding to each specified sema‐
		      phore in all processes are cleared.

       The following cmds are also available:

       IPC_STAT	      Place the current value  of  each	 member	 of  the  data
		      structure	 associated  with  semid  into	the  structure
		      pointed to by arg.buf.  The contents of  this  structure
		      are defined in

       IPC_SET	      Set  the	value  of  the	following  members of the data
		      structure associated with	 semid	to  the	 corresponding
		      value found in the structure pointed to by arg.buf:
		      sem_perm.uid
		      sem_perm.gid
		      sem_perm.mode /* only low 9 bits */

       This  command  can  only be executed by a process that has an effective
       user ID equal  to  superuser  or	 to  the  values  of  sem_perm.uid  or
       sem_perm.cuid in the data structure associated with semid.

       IPC_RMID	      Remove  the semaphore identifier specified by semid from
		      the system and destroy the set of	 semaphores  and  data
		      structure associated with it.  This cmd can only be exe‐
		      cuted by a process that has an effective user  ID	 equal
		      to   either  that	 of  superuser	or  to	the  value  of
		      sem_perm.uid  in	the  data  structure  associated  with
		      semid.

Return Values
       Upon  successful completion, the value returned depends on cmd, as fol‐
       lows:

       GETVAL	      The value of semval.

       GETPID	      The value of sempid.

       GETNCNT	      The value of semncnt.

       GETZCNT	      The value of semzcnt.

       All other      A value of 0.

Otherwise, a value of -1 is returned and errno is set to indicate the error.

Diagnostics
       The system call fails if any of the following is true:

       [EINVAL]	      The semid is not a valid semaphore identifier.

       [EINVAL]	      The semnum is less than zero or greater than sem_nsems.

       [EINVAL]	      The cmd is not a valid command.

       [EACCES]	      Operation permission is denied to the  calling  process.
		      For further information, see

       [ERANGE]	      The cmd is SETVAL or SETALL, and the value to which sem‐
		      val is to be set is greater than the system imposed max‐
		      imum.

       [EPERM]	      The  cmd	is equal to IPC_RMID or IPC_SET and the effec‐
		      tive user ID of the calling process is not equal to that
		      of  superuser  nor  to  the value of sem_perm.uid in the
		      data structure associated with semid.

       [EFAULT]	      The arg.buf points to an illegal address.

See Also
       errno(2), intro(2), semget(2), semop(2)

								     semctl(2)
[top]

List of man pages available for Ultrix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net