GETNETCONFIG(3NSL) Networking Services Library Functions GETNETCONFIG(3NSL)
NAME
getnetconfig, setnetconfig, endnetconfig, getnetconfigent,
freenetconfigent, nc_perror, nc_sperror - get network configuration
database entry
SYNOPSIS
#include <netconfig.h>
struct netconfig *getnetconfig(
void *handlep);
void *setnetconfig(
void);
int endnetconfig(
void *handlep);
struct netconfig *getnetconfigent(
const char *netid);
void freenetconfigent(
struct netconfig *netconfigp);
void nc_perror(
const char *msg);
char *nc_sperror(
void);
DESCRIPTION
The library routines described on this page are part of the Network
Selection component. They provide the application access to the
system network configuration database,
/etc/netconfig. In addition
to the routines for accessing the
netconfig database, Network
Selection includes the environment variable
NETPATH (see
environ(7))
and the
NETPATH access routines described in
getnetpath(3NSL).
getnetconfig() returns a pointer to the current entry in the
netconfig database, formatted as a
struct netconfig. Successive calls
will return successive
netconfig entries in the
netconfig database.
getnetconfig() can be used to search the entire
netconfig file.
getnetconfig() returns
NULL at the end of the file.
handlep is the
handle obtained through
setnetconfig().
A call to
setnetconfig() has the effect of ``binding'' to or
``rewinding'' the
netconfig database.
setnetconfig() must be called
before the first call to
getnetconfig() and may be called at any
other time.
setnetconfig() need
not be called before a call to
getnetconfigent().
setnetconfig() returns a unique handle to be used
by
getnetconfig().
endnetconfig() should be called when processing is complete to
release resources for reuse.
handlep is the handle obtained through
setnetconfig(). Programmers should be aware, however, that the last
call to
endnetconfig() frees all memory allocated by
getnetconfig() for the
struct netconfig data structure.
endnetconfig() may not be
called before
setnetconfig().
getnetconfigent() returns a pointer to the
struct netconfig structure
corresponding to
netid. It returns
NULL if
netid is invalid (that
is, does not name an entry in the
netconfig database).
freenetconfigent() frees the netconfig structure pointed to by
netconfigp (previously returned by
getnetconfigent()).
nc_perror() prints a message to the standard error indicating why any
of the above routines failed. The message is prepended with the
string
msg and a colon. A
NEWLINE is appended at the end of the
message.
nc_sperror() is similar to
nc_perror() but instead of sending the
message to the standard error, will return a pointer to a string that
contains the error message.
nc_perror() and
nc_sperror() can also be used with the
NETPATH access
routines defined in
getnetpath(3NSL).
RETURN VALUES
setnetconfig() returns a unique handle to be used by
getnetconfig().
In the case of an error,
setnetconfig() returns
NULL and
nc_perror() or
nc_sperror() can be used to print the reason for
failure.
getnetconfig() returns a pointer to the current entry in the
netconfig() database, formatted as a
struct netconfig.
getnetconfig() returns
NULL at the end of the file, or upon failure.
endnetconfig() returns
0 on success and
-1 on failure (for example,
if
setnetconfig() was not called previously).
On success,
getnetconfigent() returns a pointer to the
struct netconfig structure corresponding to
netid; otherwise it returns
NULL. nc_sperror() returns a pointer to a buffer which contains the error
message string. This buffer is overwritten on each call. In
multithreaded applications, this buffer is implemented as thread-
specific data.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | MT-Safe |
+---------------+-----------------+
SEE ALSO
getnetpath(3NSL),
netconfig(5),
attributes(7),
environ(7) December 30, 1996 GETNETCONFIG(3NSL)