getsvc - Get a pointer to the svcinfo structure.
#include <sys/svcinfo.h>
struct svcinfo *getsvc(
void );
Standard C Library (libc.so, libc.a)
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).
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 */
}
SEE ALSO
Commands: svcsetup(8)
Files: svc.conf(4)
getsvc(3)
[ Back ] |