GETNETPATH(3) | Library Functions Manual | GETNETPATH(3) |
getnetpath
, setnetpath
,
endnetpath
—
#include <netconfig.h>
struct netconfig *
getnetpath
(void
*handlep);
void *
setnetpath
(void);
int
endnetpath
(void
*handlep);
getnetpath
() returns a pointer to the
netconfig database entry corresponding to the first valid NETPATH component.
The netconfig entry is formatted as a struct netconfig. On each subsequent
call, getnetpath
() returns a pointer to the
netconfig entry that corresponds to the next valid NETPATH component.
getnetpath
() can thus be used to search the
netconfig database for all networks included in the NETPATH variable. When
NETPATH has been exhausted, getnetpath
() returns
NULL.
A call to setnetpath
()
“binds” to or “rewinds” NETPATH.
setnetpath
() must be called before the first call to
getnetpath
() and may be called at any other time. It
returns a handle that is used by getnetpath
().
getnetpath
() silently ignores invalid
NETPATH components. A NETPATH component is invalid if there is no
corresponding entry in the netconfig database.
If the NETPATH variable is unset,
getnetpath
() behaves as if NETPATH were set to the
sequence of “default” or “visible” networks in
the netconfig database, in the order in which they are listed.
endnetpath
() may be called to
“unbind” from NETPATH when processing is complete, releasing
resources for reuse. Programmers should be aware, however, that
endnetpath
() frees all memory allocated by
getnetpath
() for the struct netconfig data
structure.
setnetpath
() returns a handle that is used by
getnetpath
(). In case of an error,
setnetpath
() returns NULL.
endnetpath
() returns 0 on success and -1
on failure (for example, if setnetpath
() was not
called previously). nc_perror
() or
nc_sperror
() can be used to print out the reason for
failure. See
getnetconfig(3).
When first called, getnetpath
() returns a
pointer to the netconfig database entry corresponding to the first valid
NETPATH component. When NETPATH has been exhausted,
getnetpath
() returns NULL.
April 22, 2000 | NetBSD 9.0 |