Node:Networks Database, Previous:Socket Options, Up:Sockets
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
netdb.h
.
struct netent | Data Type |
This data type is used to represent information about entries in the
networks database. It has the following members:
|
Use the getnetbyname
or 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.
struct netent * getnetbyname (const char *name) | Function |
The getnetbyname function returns information about the network
named name. It returns a null pointer if there is no such
network.
|
struct netent * getnetbyaddr (unsigned long int net, int type) | Function |
The getnetbyaddr function returns information about the network
of type type with number net. You should specify a value of
AF_INET for the type argument for Internet networks.
|
You can also scan the networks database using setnetent
,
getnetent
and endnetent
. Be careful when using these
functions because they are not reentrant.
void setnetent (int stayopen) | Function |
This function opens and rewinds the networks database.
If the stayopen argument is nonzero, this sets a flag so that
subsequent calls to |
struct netent * getnetent (void) | Function |
This function returns the next entry in the networks database. It returns a null pointer if there are no more entries. |
void endnetent (void) | Function |
This function closes the networks database. |