 |
Index for Section 3 |
|
 |
Alphabetical listing for G |
|
 |
Bottom of page |
|
getsvc(3)
NAME
getsvc - Get a pointer to the svcinfo structure.
SYNOPSIS
#include <sys/svcinfo.h>
struct svcinfo *getsvc(
void );
LIBRARY
Standard C Library (libc.so, libc.a)
DESCRIPTION
The getsvc() function retrieves information from the system about the
svcinfo structure by returning a pointer to the structure. This structure
is initialized the first time a getsvc() call is made. The contents of the
/etc/svc.conf file are parsed and stored in the svcinfo structure. If the
/etc/svc.conf file is modified, the contents of this structure will be
updated upon the next call to getsvc().
The /etc/svc.conf file contains the names of the databases that can be
served by BIND or local files and the name service selection for each
database. It also has settings for four security parameters. The database
service selection and security parameters are stored in the svcinfo
structure.
The following structure exists in the <svcinfo.h> 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 svcdate field contains the date that the /etc/svc.conf file was last
modified. The svcpath array contains the name service choices for each
database. The svcauth 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 getsvc() call to use
the information in the svcinfo 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
/etc/svc.conf
/usr/include/sys/svcinfo.h
SEE ALSO
Commands: svcsetup(8)
Files: svc.conf(4)
 |
Index for Section 3 |
|
 |
Alphabetical listing for G |
|
 |
Top of page |
|