Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

getsvc(3) [ultrix man page]

getsvc(3)						     Library Functions Manual							 getsvc(3)

       getsvc - get a pointer to the svcinfo structure

       #include <sys/svcinfo.h>

       struct svcinfo *getsvc()

       The  call retrieves information from the system about the structure by returning a pointer to the structure.  This structure is initialized
       the first time a call is made.  The contents of the file are parsed and stored in the structure.  If the file is modified, the contents	of
       this structure will be updated upon the next call.

       The  file  contains the names of the databases that can be served by YP, BIND, or local files and the name service selection for each data-
       base.  It also has settings for four security parameters.  The database service selection and security parameters are stored in the  struc-

       The following structure exists in the file:
       #define SVC_DATABASES 20
       #define SVC_PATHSIZE 8
       struct svcinfo {
	   int svcdate;       /* Last mod date of /etc/svc.conf */

	   int svcpath[SVC_DATABASES][SVC_PATHSIZE];	/* indexed by
				 databases and choice 0=first choice
			      1=second choice, etc value stored is
			source */

	      struct {
		  int passlenmin;
		  int passlenmax;
		  int softexp;
		  int seclevel;
	      } svcauth;

       The field contains the date that the file was last modified.  The array contains the name service choices for each database.  The structure
       contains the values for the four security parameters: password length minimum (passlenmin),  password  length  maximum  (passlenmax),  soft
       expiration date of a password (softexp), and security mode of a system (seclevel).

       The following programming example shows how to use the call to use the information in the structure to process specific host information.
       #include <sys/svcinfo.h>
       struct svcinfo *svcinfo;

       if ((svcinfo = getsvc()) != NULL)
	 for (i=0; (j = svcinfo->svcpath[SVC_HOSTS][i]) != SVC_LAST; i++)
	     switch(j) {
		 case SVC_BIND:
		     /* process BIND hosts */
		 case SVC_YP:
		     /* process YP hosts */
		 case SVC_LOCAL:
		  /* process LOCAL hosts */

See Also
       svc.conf(5), svcsetup(8)


Check Out this Related Man Page

gethostent(3n)															    gethostent(3n)

       gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent - get hosts entry

       #include <netdb.h>

       struct hostent *gethostent()

       struct hostent *gethostbyname(name)
       char *name;

       struct hostent *gethostbyaddr(addr, len, type)
       char *addr; int len, type;

       void sethostent(stayopen)
       int stayopen;

       void endhostent()

       The  and  subroutines  return  a  pointer to an object with the following structure containing the broken-out fields reflecting information
       obtained from the database.
       struct	hostent {
		char   *h_name;       /* official name of host */
		char   **h_aliases;   /* alias list */
		int    h_addrtype;    /* address type */
		int    h_length;      /* length of address */
		char   **h_addr_list; /* list of addresses from name server */
       #define	h_addr h_addr_list[0] /* address for backward compatibility */

       The members of this structure are:

       h_name	   Official name of the host.

       h_aliases   A zero terminated array of alternate names for the host.

       h_addrtype  The type of address being returned; currently always AF_INET.

       h_length    The length, in bytes, of the address.

       h_addr	   A pointer to the network address for the host.  Host addresses are returned in network byte order.

       If the stayopen flag on a subroutine is NULL, the hosts database is opened.  Otherwise the has the effect of rewinding the  database.   The
       may be called to close the database when processing is complete.

       The  subroutine	simply	reads  the  next line while and search until a matching name, or addr, len, type is found (or until EOF is encoun-
       tered).	The subroutine keeps a pointer in the database, allowing successive calls to be used to search the entire file.

       The and subroutines query the database.

       A call to must be made before a loop using in order to perform initialization and an must be used after the loop.  Both and make  calls	to

       All  information  is  contained	in a static area so it must be copied if it is to be saved.  Only the Internet address format is currently

       If YP is running, does not return the entries in any particular order.  See the Guide to the Yellow Pages Service for setup information.

       The database may also be distributed via the BIND/Hesiod naming service.  See the Guide to the BIND/Hesiod Service for more information.

Return Values
       Null pointer(0) returned on EOF or error.

See Also
       hosts(5), svc.conf(5)
       Guide to the BIND/Hesiod Service
       Guide to the Yellow Pages Service

Man Page