GETNETCONFIG(3) Library Functions Manual GETNETCONFIG(3)

# [NAME](#NAME)

`getnetconfig`, `setnetconfig`, `endnetconfig`, `getnetconfigent`, `freenetconfigent`, `nc_perror`, `nc_sperror` — get network configuration database entry

# [SYNOPSIS](#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](#DESCRIPTION)

The library routines described on this page provide the application access to the system network configuration database, /etc/netconfig. The [`getnetconfig`](#getnetconfig)() function 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. The `getnetconfig`() function can be used to search the entire netconfig file. The `getnetconfig`() function returns `NULL` at the end of the file. The `handlep` argument is the handle obtained through `setnetconfig`().

A call to [`setnetconfig`](#setnetconfig)() has the effect of “binding” to or “rewinding” the netconfig database. The `setnetconfig`() function must be called before the first call to `getnetconfig`() and may be called at any other time. The `setnetconfig`() function need not be called before a call to `getnetconfigent`(). The `setnetconfig`() function returns a unique handle to be used by `getnetconfig`().

The [`endnetconfig`](#endnetconfig)() function should be called when processing is complete to release resources for reuse. The `handlep` argument 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. The `endnetconfig`() function may not be called before `setnetconfig`().

The [`getnetconfigent`](#getnetconfigent)() function 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).

The [`freenetconfigent`](#freenetconfigent)() function frees the netconfig structure pointed to by `netconfigp` (previously returned by `getnetconfigent`()).

The [`nc_perror`](#nc_perror)() function 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.

The [`nc_sperror`](#nc_sperror)() function 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.

The [`nc_perror`](#nc_perror~2)() and `nc_sperror`() functions can also be used with the `NETPATH` access routines defined in [getnetpath(3)](/man/os/libtirpc-nokrb/getnetpath.3).

# [RETURN VALUES](#RETURN_VALUES)

The `setnetconfig`() function 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.

The `getnetconfig`() function returns a pointer to the current entry in the netconfig database, formatted as a `struct netconfig`. The `getnetconfig`() function returns `NULL` at the end of the file, or upon failure.

The `endnetconfig`() function 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`.

The `nc_sperror`() function 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](#FILES)

/etc/netconfig

 

# [AVAILABILITY](#AVAILABILITY)

These functions are part of libtirpc.

# [SEE ALSO](#SEE_ALSO)

[getnetpath(3)](/man/os/libtirpc-nokrb/getnetpath.3), [netconfig(5)](/man/os/libtirpc-nokrb/netconfig.5)

April 22, 2000 Linux 4.19.0-gvisor

---

Document: getnetconfig(3t) from libtirpc-nokrb 1.3.8-r0 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/libtirpc/libtirpc/1.3.8/libtirpc-1.3.8.tar.bz2
