Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for semids (opensolaris section 2)

semids(2)				   System Calls 				semids(2)

NAME
       semids - discover all semaphore identifiers

SYNOPSIS
       #include <sys/sem.h>

       int semids(int *buf, uint_t nids, uint_t *pnids);

DESCRIPTION
       The  semids()  function	copies	all active semaphore identifiers from the system into the
       user-defined buffer specified by buf, provided that the number of such identifiers is  not
       greater	than the number of integers the buffer can contain, as specified by nids.  If the
       size of the buffer is insufficient to contain all of the active semaphore  identifiers  in
       the system, none are copied.

       Whether	or not the size of the buffer is sufficient to contain all of them, the number of
       active semaphore identifiers in the system is copied into the unsigned integer pointed  to
       by pnids.

       If nids is 0 or less than the number of active semaphore identifiers in the system, buf is
       ignored.

RETURN VALUES
       Upon successful completion, semids() returns 0.	Otherwise, -1 is returned  and	errno  is
       set to indicate the error.

ERRORS
       The semids() function will fail if:

       EFAULT	 The buf or pnids argument points to an illegal address.

USAGE
       The  semids()  function	returns a snapshot of all the active semaphore identifiers in the
       system.	More may be added and some may be removed before they can be used by the caller.

EXAMPLES
       Example 1 semids() example

       This is sample C code indicating how to use the semids() function.

	 void
	 examine_semids()
	 {
	      int *ids = NULL;
	      uint_t nids = 0;
	      uint_t n;
	      int i;

	      for (;;) {
		   if (semids(ids, nids, &n) != 0) {
			perror("semids");
			exit(1);
		   }
		   if (n <= nids)     /* we got them all */
			break;
		   /* we need a bigger buffer */
		   ids = realloc(ids, (nids = n) * sizeof (int));
	      }

	      for (i = 0; i < n; i++)
		   process_semid(ids[i]);

	      free(ids);
	 }

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Async-Signal-Safe 	   |
       +-----------------------------+-----------------------------+

SEE ALSO
       ipcrm(1), ipcs(1), Intro(2), semctl(2), semget(2), semop(2), attributes(5)

SunOS 5.11				    8 Mar 2000					semids(2)


All times are GMT -4. The time now is 03:53 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password