semctl man page on Xenix

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



     SEMCTL(S)		      XENIX System V		     SEMCTL(S)

     Name
	  semctl - Controls semaphore 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
	  semctl 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 (see intro(S)).

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

	       GETPID	  Return the value of sempid. {READ}

	       GETNCNT	  Return the value of semncnt. {READ}

	       GETZCNT	  Return the value of semzcnt. {READ}

	  The following cmds return and set, respectively, every
	  semval in the set of semaphores.

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

	       SETALL	  Set semvals according to the array pointed
			  to by arg.array.  When this cmd is
			  successfully executed the semadj values
			  corresponding to each specified semaphore in
			  all processes are cleared.

	  The following cmds are also available:

	       IPC_STAT	  Place the current value of each member of

     Page 1					      (printed 8/7/87)

     SEMCTL(S)		      XENIX System V		     SEMCTL(S)

			  the data structure associated with semid
			  into the structure pointed to by arg.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 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 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 sem_perm.uid 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 executed by a
			  process that has an effective user ID equal
			  to either that of the super-user or to the
			  value of sem_perm.uid in the data structure
			  associated with semid.

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

		    semid is not a valid semaphore identifier.
		    [EINVAL]

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

		    cmd is not a valid command.	 [EINVAL]

		    cmd is equal to GETALL or IPC_STAT and arg points
		    to an address in read-only shared data.  [EINVAL]

		    Operation permission is denied to the calling
		    process (see intro(S)).  [EACCES]

		    cmd is SETVAL or SETALL and the value to which
		    semval is to be set is greater than the system
		    imposed maximum.  [ERANGE]

		    cmd is equal to IPC_RMID or IPC_SET and the
		    effective user ID of the calling process is not
		    equal to that of super-user and it is not equal to

     Page 2					      (printed 8/7/87)

     SEMCTL(S)		      XENIX System V		     SEMCTL(S)

		    the value of sem_perm.uid in the data structure
		    associated with semid.  [EPERM]

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

		    arg.array points to an illegal address.  [EFAULT]

     Return Value
	  Upon successful completion, the value returned depends on
	  cmd as follows:

	       GETVAL	      The value of semval.
	       GETPID	      The value of sempid.
	       GETNCNT	      The value of semncnt.
	       GETZCNT	      The value of semzcnt.
	       All others     A value of 0.

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

     See Also
	  intro(S), semget(S), semop(S)

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

     Page 3					      (printed 8/7/87)

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Xenix

List of man pages available for Xenix

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