getnetent, getnetbyname, getnetbyaddr, setnetent, endnetent - get network entry


#include <netdb.h>

struct netent *getnetent(void);

struct netent *getnetbyname(const char *name);

struct netent *getnetbyaddr(uint32_t net, int type);

void setnetent(int stayopen);

void endnetent(void);


The getnetent() function reads the next entry from the networks database and returns a netent structure containing the broken-out fields from the entry. A connection is opened to the database if necessary.

The getnetbyname() function returns a netent structure for the entry from the database that matches the network name.

The getnetbyaddr() function returns a netent structure for the entry from the database that matches the network number net of type type. The net argument must be in host byte order.

The setnetent() function opens a connection to the database, and sets the next entry to the first entry. If stayopen is non-zero, then the connection to the database will not be closed between calls to one of the getnet*() functions.

The endnetent() function closes the connection to the database.

The netent structure is defined in <netdb.h> as follows:

struct netent { char *n_name; /* official network name */ char **n_aliases; /* alias list */ int n_addrtype; /* net address type */ uint32_t n_net; /* network number */ }

The members of the netent structure are:
n_name The official name of the network.
 A NULL-terminated list of alternative names for the network.
 The type of the network number; always AF_INET.
n_net The network number in host byte order.


The getnetent(), getnetbyname() and getnetbyaddr() functions return a pointer to a statically allocated netent structure, or a NULL pointer if an error occurs or the end of the file is reached.


 networks database file


4.3BSD, POSIX.1-2001.


In glibc versions before 2.2, the net argument of getnetbyaddr() was of type long.


getnetent_r(3), getprotoent(3), getservent(3) RFC 1101


This page is part of release 3.23 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at

openSUSE Logo