getsvc(3) [ultrix man page]
getsvc(3) Library Functions Manual getsvc(3) Name getsvc - get a pointer to the svcinfo structure Syntax #include <sys/svcinfo.h> struct svcinfo *getsvc() Description 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- ture. 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). Examples 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 */ } Files See Also svc.conf(5), svcsetup(8) getsvc(3)
Check Out this Related Man Page
gethostent(3n) gethostent(3n) Name gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent - get hosts entry Syntax #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() Description 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 and Restrictions 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 understood. 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. Files See Also hosts(5), svc.conf(5) Guide to the BIND/Hesiod Service Guide to the Yellow Pages Service gethostent(3n)