136 lines
2.7 KiB
Groff
136 lines
2.7 KiB
Groff
|
.\" $NetBSD: getnetent.3,v 1.1 1996/02/02 15:27:26 mrg Exp $
|
||
|
.\"
|
||
|
.\" $Id: getnetent.3,v 8.1 1994/12/15 06:24:10 vixie Exp
|
||
|
.TH getnetent 3
|
||
|
.SH NAME
|
||
|
getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent \- get networks
|
||
|
entry
|
||
|
.SH SYNTAX
|
||
|
.nf
|
||
|
.B #include <netdb.h>
|
||
|
.PP
|
||
|
.B struct netent *getnetent()
|
||
|
.PP
|
||
|
.B struct netent *getnetbyname(\fIname\fP)
|
||
|
.B char *\fIname\fP;
|
||
|
.PP
|
||
|
.B struct netent *getnetbyaddr(\fInet\fP, \fItype\fP)
|
||
|
.B long \fInet\fP; int \fItype\fP;
|
||
|
.PP
|
||
|
.B void setnetent(\fIstayopen\fP)
|
||
|
.B int \fIstayopen\fP;
|
||
|
.PP
|
||
|
.B void endnetent()
|
||
|
.fi
|
||
|
.SH DESCRIPTION
|
||
|
The
|
||
|
.IR getnetent ,
|
||
|
.IR getnetbyname ,
|
||
|
and
|
||
|
.I getnetbyaddr
|
||
|
subroutines
|
||
|
each return a pointer to an object with the
|
||
|
following structure
|
||
|
containing the broken-out
|
||
|
fields of a line in the
|
||
|
.I networks
|
||
|
database.
|
||
|
.RS
|
||
|
.PP
|
||
|
.nf
|
||
|
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 */
|
||
|
};
|
||
|
.ft R
|
||
|
.ad
|
||
|
.fi
|
||
|
.RE
|
||
|
.PP
|
||
|
The members of this structure are:
|
||
|
.TP \w'n_addrtype'u+2n
|
||
|
n_name
|
||
|
The official name of the network.
|
||
|
.TP \w'n_addrtype'u+2n
|
||
|
n_aliases
|
||
|
A zero terminated list of alternate names for the network.
|
||
|
.TP \w'n_addrtype'u+2n
|
||
|
n_addrtype
|
||
|
The type of the network number returned: AF_INET.
|
||
|
.TP \w'n_addrtype'u+2n
|
||
|
n_net
|
||
|
The network number. Network numbers are returned in machine byte
|
||
|
order.
|
||
|
.PP
|
||
|
If the
|
||
|
.I stayopen
|
||
|
flag on a
|
||
|
.I setnetent
|
||
|
subroutine is NULL, the
|
||
|
.I networks
|
||
|
database is opened. Otherwise the
|
||
|
.I setnetent
|
||
|
has the effect of rewinding the
|
||
|
.I networks
|
||
|
database.
|
||
|
The
|
||
|
.I endnetent
|
||
|
may be called to
|
||
|
close the
|
||
|
.I networks
|
||
|
database when processing is complete.
|
||
|
.PP
|
||
|
The
|
||
|
.I getnetent
|
||
|
subroutine simply reads the next
|
||
|
line while
|
||
|
.I getnetbyname
|
||
|
and
|
||
|
.I getnetbyaddr
|
||
|
search until a matching
|
||
|
.I name
|
||
|
or
|
||
|
.I net
|
||
|
number is found
|
||
|
(or until EOF is encountered). The \fItype\fP must be AF_INET.
|
||
|
The
|
||
|
.I getnetent
|
||
|
subroutine keeps a pointer in the database, allowing
|
||
|
successive calls to be used
|
||
|
to search the entire file.
|
||
|
.PP
|
||
|
A call to
|
||
|
.I setnetent
|
||
|
must be made before a
|
||
|
.I while
|
||
|
loop using
|
||
|
.I getnetent
|
||
|
in order to perform initialization and an
|
||
|
.I endnetent
|
||
|
must be used after the loop. Both
|
||
|
.I getnetbyname
|
||
|
and
|
||
|
.I getnetbyaddr
|
||
|
make calls to
|
||
|
.I setnetent
|
||
|
and
|
||
|
.I endnetent .
|
||
|
.SH FILES
|
||
|
.I /etc/networks
|
||
|
.SH DIAGNOSTICS
|
||
|
Null pointer (0) returned on EOF or error.
|
||
|
.SH SEE ALSO
|
||
|
.nf
|
||
|
networks(5)
|
||
|
RFC 1101
|
||
|
.SH HISTORY
|
||
|
The getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), and
|
||
|
endnetent() functions appeared in 4.2BSD.
|
||
|
.SH 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.
|