Many systems come with a database that records a list of networks known
to the system developer. This is usually kept either in the file
/etc/networks or in an equivalent from a name server. This data
base is useful for routing programs such as
route, but it is not
useful for programs that simply communicate over the network. We
provide functions to access this database, which are declared in
This data type is used to represent information about entries in the networks database. It has the following members:
- This is the “official” name of the network.
- These are alternative names for the network, represented as a vector of strings. A null pointer terminates the array.
- This is the type of the network number; this is always equal to
AF_INETfor Internet networks.
unsigned long int n_net
- This is the network number. Network numbers are returned in host byte order; see Byte Order.
getnetbyaddr functions to search
the networks database for information about a specific network. The
information is returned in a statically-allocated structure; you must
copy the information if you need to save it.
getnetbynamefunction returns information about the network named name. It returns a null pointer if there is no such network.
getnetbyaddrfunction returns information about the network of type type with number net. You should specify a value of
AF_INETfor the type argument for Internet networks.
getnetbyaddrreturns a null pointer if there is no such network.
You can also scan the networks database using
endnetent. Be careful when using these
functions because they are not reentrant.
This function opens and rewinds the networks database.
If the stayopen argument is nonzero, this sets a flag so that subsequent calls to
getnetbyaddrwill not close the database (as they usually would). This makes for more efficiency if you call those functions several times, by avoiding reopening the database for each call.
This function returns the next entry in the networks database. It returns a null pointer if there are no more entries.