April 22, 2000 GETNETPATH 3

### NAME

getnetpath, setnetpath, endnetpath - get /etc/netconfig entry corresponding to NETPATH component

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```struct` `netconfig``*` getnetpath(```void *handlep`)
```void``*` setnetpath(```void`)
```int` endnetpath(```void *handlep`)

### DESCRIPTION

The routines described in this page provide the application access to the system network configuration database, ```/etc/netconfig`, as it is ``filtered'' by the NETPATH environment variable (see environ(7)). See getnetconfig(3) for other routines that also access the network configuration database directly. The NETPATH variable is a list of colon-separated network identifiers.

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.

### RETURN VALUES

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.

### SEE ALSO

getnetconfig(3), netconfig(5), environ(7)