GETNETCONFIG(3) | Library Functions Manual | GETNETCONFIG(3) |
getnetconfig
, setnetconfig
,
endnetconfig
, getnetconfigent
,
freenetconfigent
, nc_perror
,
nc_sperror
—
#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);
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).
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.
April 22, 2000 | NetBSD 9.2 |