NAME
getnetconfig,
setnetconfig,
endnetconfig,
getnetconfigent,
freenetconfigent,
nc_perror,
nc_sperror —
get network
configuration database entry
LIBRARY
Standard C Library (libc, -lc)
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 provide the application access to
the system network configuration database,
/etc/netconfig.
struct netconfig {
char *nc_netid; /* Network ID */
unsigned long nc_semantics; /* Semantics */
unsigned long nc_flag; /* Flags */
char *nc_protofmly; /* Protocol family */
char *nc_proto; /* Protocol name */
char *nc_device; /* Network device pathname */
unsigned long nc_nlookups; /* Number of directory lookup libs */
char **nc_lookups; /* Names of the libraries */
};
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 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 character 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(3).
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.
FILES
/etc/netconfig
SEE ALSO
getnetpath(3),
netconfig(5)