GETNETENT(@LIB_NETWORK_EXT_U@) LOCAL GETNETENT(@LIB_NETWORK_EXT_U@) NAME getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent - get net- works entry SYNOPSIS #include ______ ______ _ getnetent() ______ ______ _ getnetbyname(____ ____); ______ ______ _ getnetbyaddr(________ ____ ___, ___ ____); ____ setnetent(___ ________); ____ endnetent() DESCRIPTION The getnetent(), getnetbyname(), and getnetbyaddr() subroutines each re- turn a pointer to an object with the following structure containing the broken-out fields of a line in the ________ 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 ________ flag on a setnetent() subroutine is NULL, the ________ database is opened. Otherwise, the setnetent() has the effect of rewind- ing the ________ database. The endnetent() subroutine may be called to close the ________ database when processing is complete. The getnetent() subroutine simply reads the next line while getnetbyname() and getnetbyaddr() search until a matching ____ or ___ number is found (or until EOF is encountered). The ____ ____ __ AF_INET. The getnetent() subroutine keeps a pointer in the database, allowing suc- cessive calls to be used to search the entire file. Before a while loop using getnetent(), a call to setnetent() must be made in order to perform initialization; a call to endnetent() must be used after the loop. Both getnetbyname() and getnetbyaddr() make calls to setnetent() and endnetent(). FILES _____________ DIAGNOSTICS Null pointer (0) returned on EOF or error. SEE ALSO networks(@FORMAT_EXT@), RFC 1101. HISTORY The getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), and endnetent() 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 func- tions overwrite it. Only Internet network numbers are currently under- stood. Expecting network numbers to fit in no more than 32 bits is prob- ably naive. 4th Berkeley Distribution May 20, 1996 2