getsvc(3)getsvc(3)Namegetsvc - 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 database.
It also has settings for four security parameters. The database ser‐
vice selection and security parameters are stored in the structure.
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 expi‐
ration 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 */
}
FilesSee Alsosvc.conf(5), svcsetup(8)getsvc(3)