getnetpath(3N)getnetpath(3N)NAME
setnetpath, getnetpath, endnetpath - get netconfig entry corresponding
to NETPATH component
SYNOPSIS
#include <netconfig.h>
void *setnetpath(void);
struct netconfig *getnetpath(void *handlep);
int endnetpath(void *handlep);
DESCRIPTION
The three routines described on this page are part of the Network
Selection component. They provide application access to the system
network configuration database, /etc/netconfig, as it is ``filtered'' by
the NETPATH environment variable [see environ(5)]. Network Selection
also includes routines that access the network configuration database
directly [see getnetconfig(3N)].
A call to setnetpath ``binds'' 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. setnetpath
will fail if the netconfig database is not present. If NETPATH is unset,
setnetpath returns the number of ``visible'' networks in the netconfig
file. The set of visible networks constitutes a default NETPATH.
When first called, getnetpath returns a pointer to the netconfig database
entry corresponding to the first valid NETPATH component. The netconfig
entry is formatted as a netconfig structure. 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.
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'' NETPATH when processing is
complete, releasing resources for reuse. Programmer's should be aware,
however, that endnetpath frees all memory allocated by setnetpath.
endnetpath returns 0 on success and -1 on failure (for example, if
setnetpath was not called previously).
Page 1
getnetpath(3N)getnetpath(3N)RETURN VALUES
setnetpath returns a handle that is used by getnetpath. In case of an
error, setnetpath returns NULL. nc_perror or nc_sperror can be used to
print out the reason for failure. See getnetconfig(3N).
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.
endnetpath returns 0 on success and -1 on failure (for example, if
setnetpath was not called previously).
NOTES
Prior to 6.5.20, these functions were present in the UNIX System V
Networking Library (libnsl) and only available to applications linking
against that library. In 6.5.20, they were moved to the IRIX standard C
library (libc). Applications using these functions by linking against
libnsl will continue to work on all releases of IRIX. Authors of new
applications which use these functions without linking against libnsl
should be aware that their applications will not run on releases of IRIX
prior to 6.5.20, and should use the _MIPS_SYMBOL_PRESENT macro to provide
a graceful fallback.
SEE ALSOnetconfig(4), getnetconfig(3N), environ(5)
Page 2