getnetent
Hurricane Electric Internet Services
NAME
getnetent, getnetbyaddr, getnetbyname, setnetent, endne-
tent - get networks 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 broken-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 rewinding 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 getnetent 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 endne-
tent 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 ALSO
networks(5)
RFC 1101
HISTORY
The getnetent(), getnetbyaddr(), getnetbyname(), setne-
tent(), 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 functions overwrite it.
Only Internet network numbers are currently understood.
Expecting network numbers to fit in no more than 32 bits
is probably naive.
Hurricane Electric Internet Services
Copyright (C) 1998
Hurricane Electric.
All Rights Reserved.