getnetent(3)getnetent(3)NAME
getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent - get net‐
works entry
SYNTAX
#include <netdb.h>
struct netent *getnetent()
struct netent *getnetbyname(name)
char *name;
struct netent *getnetbyaddr(net, type)
long net; int type;
void setnetent(stayopen)
int stayopen;
void endnetent()DESCRIPTION
The getnetent, getnetbyname, and getnetbyaddr subroutines each return a
pointer to an object with the following structure containing the bro‐
ken-out fields of a line in the networks database.
struct netent {
char *n_name; /* official name of net */
char **n_aliases; /* alias list */
int n_addrtype; /* net number type */
long n_net; /* net number */
};
The members of this structure are:
n_name The official name of the network.
n_aliases A zero terminated list of alternate names for the network.
n_addrtype The type of the network number returned: AF_INET.
n_net The network number. Network numbers are returned in
machine byte order.
If the stayopen flag on a setnetent subroutine is NULL, the networks
database is opened. Otherwise the setnetent has the effect of rewind‐
ing the networks database. The endnetent may be called to close the
networks database when processing is complete.
The getnetent subroutine simply reads the next line while getnetbyname
and getnetbyaddr search until a matching name or net number is found
(or until EOF is encountered). The type must be AF_INET. The getne‐
tent subroutine keeps a pointer in the database, allowing successive
calls to be used to search the entire file.
A call to setnetent must be made before a while loop using getnetent in
order to perform initialization and an endnetent must be used after the
loop. Both getnetbyname and getnetbyaddr make calls to setnetent and
endnetent .
FILES
/etc/networks
DIAGNOSTICS
Null pointer (0) returned on EOF or error.
SEE ALSOnetworks(5)
RFC 1101
HISTORY
The getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), and end‐
netent() functions appeared in 4.2BSD.
BUGS
The data space used by these functions is static; if future use
requires the data, it should be copied before any subsequent calls to
these functions overwrite it. Only Internet network numbers are cur‐
rently understood. Expecting network numbers to fit in no more than 32
bits is probably naive.
getnetent(3)