back out last two changes, this caused the mandoc pages to be replaced by
man pages. I'll fold in the real changes in a seperate commit.
This commit is contained in:
parent
54b29fe2cd
commit
d976fee71f
@ -1,72 +1,75 @@
|
||||
.\" Copyright (c) 1983, 1987 The Regents of the University of California.
|
||||
.\" All rights reserved.
|
||||
.\" Copyright (c) 1983, 1987, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms are permitted provided
|
||||
.\" that: (1) source distributions retain this entire copyright notice and
|
||||
.\" comment, and (2) distributions including binaries display the following
|
||||
.\" acknowledgement: ``This product includes software developed by the
|
||||
.\" University of California, Berkeley and its contributors'' in the
|
||||
.\" documentation or other materials provided with the distribution and in
|
||||
.\" all advertising materials mentioning features or use of this software.
|
||||
.\" Neither the name of the University nor the names of its contributors may
|
||||
.\" be used to endorse or promote products derived from this software without
|
||||
.\" specific prior written permission.
|
||||
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" @(#)gethostbyname.3 6.12 (Berkeley) 6/23/90
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.TH GETHOSTBYNAME 3 "June 23, 1990"
|
||||
.UC 5
|
||||
.SH NAME
|
||||
gethostbyname, gethostbyaddr, gethostent, sethostent, endhostent, herror \- get network host entry
|
||||
.SH SYNOPSIS
|
||||
.B "#include <netdb.h>
|
||||
.PP
|
||||
.B "extern int h_errno;
|
||||
.PP
|
||||
.B "struct hostent *gethostbyname(name)
|
||||
.br
|
||||
.B "char *name;
|
||||
.PP
|
||||
.B "struct hostent *gethostbyname2(name, af)
|
||||
.br
|
||||
.B "char *name; int af;
|
||||
.PP
|
||||
.B "struct hostent *gethostbyaddr(addr, len, type)
|
||||
.br
|
||||
.B "char *addr; int len, type;
|
||||
.PP
|
||||
.B "struct hostent *gethostent()
|
||||
.PP
|
||||
.B "sethostent(stayopen)
|
||||
.br
|
||||
.B "int stayopen;
|
||||
.PP
|
||||
.B "endhostent()
|
||||
.PP
|
||||
.B "herror(string)
|
||||
.br
|
||||
.B "char *string;
|
||||
.PP
|
||||
.SH DESCRIPTION
|
||||
.IR Gethostbyname ,
|
||||
.IR gethostbyname2 ,
|
||||
.\" @(#)gethostbyname.3 8.2 (Berkeley) 4/19/94
|
||||
.\"
|
||||
.Dd April 19, 1994
|
||||
.Dt GETHOSTBYNAME 3
|
||||
.Os BSD 4.2
|
||||
.Sh NAME
|
||||
.Nm gethostbyname ,
|
||||
.Nm gethostbyaddr ,
|
||||
.Nm gethostent ,
|
||||
.Nm sethostent ,
|
||||
.Nm endhostent ,
|
||||
.Nm herror
|
||||
.Nd get network host entry
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <netdb.h>
|
||||
.Fd extern struct h_errno;
|
||||
.Ft struct hostent *
|
||||
.Fn gethostbyname "char *name"
|
||||
.Ft struct hostent *
|
||||
.Fn gethostbyaddr "char *addr" "int len" "int type"
|
||||
.Ft struct hostent *
|
||||
.Fn gethostent void
|
||||
.Fn sethostent "int stayopen"
|
||||
.Fn endhostent void
|
||||
.Fn herror "char *string"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Fn gethostbyname
|
||||
and
|
||||
.I gethostbyaddr
|
||||
.Fn gethostbyaddr
|
||||
functions
|
||||
each return a pointer to an object with the
|
||||
following structure describing an internet host
|
||||
referenced by name or by address, respectively.
|
||||
This structure contains either the information obtained from the name server,
|
||||
.IR named (8),
|
||||
.Xr named 8 ,
|
||||
or broken-out fields from a line in
|
||||
.IR /etc/hosts .
|
||||
.Pa /etc/hosts .
|
||||
If the local name server is not running these routines do a lookup in
|
||||
.IR /etc/hosts .
|
||||
.RS
|
||||
.PP
|
||||
.nf
|
||||
.Pa /etc/hosts .
|
||||
.Bd -literal
|
||||
struct hostent {
|
||||
char *h_name; /* official name of host */
|
||||
char **h_aliases; /* alias list */
|
||||
@ -75,108 +78,103 @@ struct hostent {
|
||||
char **h_addr_list; /* list of addresses from name server */
|
||||
};
|
||||
#define h_addr h_addr_list[0] /* address, for backward compatibility */
|
||||
.ft R
|
||||
.ad
|
||||
.fi
|
||||
.RE
|
||||
.PP
|
||||
.Ed
|
||||
.Pp
|
||||
The members of this structure are:
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_name
|
||||
.Bl -tag -width h_addr_list
|
||||
.It Fa h_name
|
||||
Official name of the host.
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_aliases
|
||||
.It Fa h_aliases
|
||||
A zero terminated array of alternate names for the host.
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_addrtype
|
||||
The type of address being returned; usually AF_INET.
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_length
|
||||
.It Fa h_addrtype
|
||||
The type of address being returned; currently always
|
||||
.Dv AF_INET .
|
||||
.It Fa h_length
|
||||
The length, in bytes, of the address.
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_addr_list
|
||||
.It Fa h_addr_list
|
||||
A zero terminated array of network addresses for the host.
|
||||
Host addresses are returned in network byte order.
|
||||
.TP \w'h_addr_list'u+2n
|
||||
h_addr
|
||||
The first address in h_addr_list; this is for backward compatibility.
|
||||
.PP
|
||||
.It Fa h_addr
|
||||
The first address in
|
||||
.Fa h_addr_list ;
|
||||
this is for backward compatibility.
|
||||
.Pp
|
||||
When using the nameserver,
|
||||
.I gethostbyname
|
||||
.Fn gethostbyname
|
||||
will search for the named host in the current domain and its parents
|
||||
unless the name ends in a dot.
|
||||
If the name contains no dot, and if the environment variable ``HOSTALAIASES''
|
||||
If the name contains no dot, and if the environment variable
|
||||
.Dq Ev HOSTALIASES
|
||||
contains the name of an alias file, the alias file will first be searched
|
||||
for an alias matching the input name.
|
||||
See
|
||||
.IR hostname (7)
|
||||
.Xr hostname 7
|
||||
for the domain search procedure and the alias file format.
|
||||
.PP
|
||||
.I Gethostbyname2
|
||||
is an evolution of
|
||||
.I gethostbyname
|
||||
intended to allow lookups in address families other than AF_INET, for example
|
||||
AF_INET6. Currently the
|
||||
.I af
|
||||
argument must be specified as
|
||||
.I AF_INET
|
||||
else the function will return \s-2NULL\s+2 after having set
|
||||
.I h_errno
|
||||
to \s-2NETDB_INTERNAL\s+2.
|
||||
.PP
|
||||
.I Sethostent
|
||||
may be used to request the use of a connected TCP socket for queries.
|
||||
.Pp
|
||||
The
|
||||
.Fn sethostent
|
||||
function
|
||||
may be used to request the use of a connected
|
||||
.Tn TCP
|
||||
socket for queries.
|
||||
If the
|
||||
.I stayopen
|
||||
.Fa stayopen
|
||||
flag is non-zero,
|
||||
this sets the option to send all queries to the name server using TCP
|
||||
this sets the option to send all queries to the name server using
|
||||
.Tn TCP
|
||||
and to retain the connection after each call to
|
||||
.I gethostbyname
|
||||
.Fn gethostbyname
|
||||
or
|
||||
.IR gethostbyaddr .
|
||||
Otherwise, queries are performed using UDP datagrams.
|
||||
.PP
|
||||
.I Endhostent
|
||||
closes the TCP connection.
|
||||
.SH DIAGNOSTICS
|
||||
.PP
|
||||
.Fn gethostbyaddr .
|
||||
Otherwise, queries are performed using
|
||||
.Tn UDP
|
||||
datagrams.
|
||||
.Pp
|
||||
The
|
||||
.Fn endhostent
|
||||
function
|
||||
closes the
|
||||
.Tn TCP
|
||||
connection.
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/hosts -compact
|
||||
.It Pa /etc/hosts
|
||||
.El
|
||||
.Sh DIAGNOSTICS
|
||||
Error return status from
|
||||
.I gethostbyname
|
||||
.Fn gethostbyname
|
||||
and
|
||||
.I gethostbyaddr
|
||||
.Fn gethostbyaddr
|
||||
is indicated by return of a null pointer.
|
||||
The external integer
|
||||
.IR h_errno
|
||||
.Va h_errno
|
||||
may then be checked to see whether this is a temporary failure
|
||||
or an invalid or unknown host.
|
||||
The routine
|
||||
.I herror
|
||||
.Fn herror
|
||||
can be used to print an error message describing the failure.
|
||||
If its argument
|
||||
.I string
|
||||
is non-NULL, it is printed, followed by a colon and a space.
|
||||
.Fa string
|
||||
is
|
||||
.Pf non Dv -NULL ,
|
||||
it is printed, followed by a colon and a space.
|
||||
The error message is printed with a trailing newline.
|
||||
.PP
|
||||
.IR h_errno
|
||||
.Pp
|
||||
The variable
|
||||
.Va h_errno
|
||||
can have the following values:
|
||||
.RS
|
||||
.IP NETDB_INTERNAL \w'HOST_NOT_FOUND'u+2n
|
||||
This indicates an internal error in the library, unrelated to the network
|
||||
or name service.
|
||||
.I errno
|
||||
will be valid in this case; see
|
||||
.IR perror (3).
|
||||
.IP HOST_NOT_FOUND \w'HOST_NOT_FOUND'u+2n
|
||||
.Bl -tag -width HOST_NOT_FOUND
|
||||
.It Dv HOST_NOT_FOUND
|
||||
No such host is known.
|
||||
.IP TRY_AGAIN \w'HOST_NOT_FOUND'u+2n
|
||||
.It Dv TRY_AGAIN
|
||||
This is usually a temporary error
|
||||
and means that the local server did not receive
|
||||
a response from an authoritative server.
|
||||
A retry at some later time may succeed.
|
||||
.IP NO_RECOVERY \w'HOST_NOT_FOUND'u+2n
|
||||
.It Dv NO_RECOVERY
|
||||
Some unexpected server failure was encountered.
|
||||
This is a non-recoverable error.
|
||||
.IP NO_DATA \w'HOST_NOT_FOUND'u+2n
|
||||
.It Dv NO_DATA
|
||||
The requested name is valid but does not have an IP address;
|
||||
this is not a temporary error.
|
||||
This means that the name is known to the name server but there is no address
|
||||
@ -184,43 +182,68 @@ associated with this name.
|
||||
Another type of request to the name server using this domain name
|
||||
will result in an answer;
|
||||
for example, a mail-forwarder may be registered for this domain.
|
||||
.RE
|
||||
.SH FILES
|
||||
/etc/hosts
|
||||
.SH "SEE ALSO"
|
||||
resolver(3), hosts(5), hostname(7), named(8)
|
||||
.SH CAVEAT
|
||||
.PP
|
||||
.I Gethostent
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr resolver 3 ,
|
||||
.Xr hosts 5 ,
|
||||
.Xr hostname 7 ,
|
||||
.Xr named 8
|
||||
.Sh CAVEAT
|
||||
The
|
||||
.Fn gethostent
|
||||
function
|
||||
is defined, and
|
||||
.I sethostent
|
||||
.Fn sethostent
|
||||
and
|
||||
.I endhostent
|
||||
.Fn endhostent
|
||||
are redefined,
|
||||
when
|
||||
.IR libc
|
||||
.Xr libc 3
|
||||
is built to use only the routines to lookup in
|
||||
.IR /etc/hosts
|
||||
.Pa /etc/hosts
|
||||
and not the name server.
|
||||
.PP
|
||||
.I Gethostent
|
||||
.Pp
|
||||
The
|
||||
.Fn gethostent
|
||||
function
|
||||
reads the next line of
|
||||
.IR /etc/hosts ,
|
||||
.Pa /etc/hosts ,
|
||||
opening the file if necessary.
|
||||
.PP
|
||||
.I Sethostent
|
||||
is redefined to open and rewind the file. If the
|
||||
.I stayopen
|
||||
.Pp
|
||||
The
|
||||
.Fn sethostent
|
||||
function
|
||||
opens and/or rewinds the file
|
||||
.Pa /etc/hosts .
|
||||
If the
|
||||
.Fa stayopen
|
||||
argument is non-zero,
|
||||
the hosts data base will not be closed after each call to
|
||||
.I gethostbyname
|
||||
the file will not be closed after each call to
|
||||
.Fn gethostbyname
|
||||
or
|
||||
.IR gethostbyaddr .
|
||||
.I Endhostent
|
||||
is redefined to close the file.
|
||||
.SH BUGS
|
||||
All information
|
||||
is contained in a static area
|
||||
so it must be copied if it is
|
||||
to be saved. Only the Internet
|
||||
.Fn gethostbyaddr .
|
||||
.Pp
|
||||
The
|
||||
.Fn endhostent
|
||||
function
|
||||
closes the file.
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Fn herror
|
||||
function appeared in
|
||||
.Bx 4.3 .
|
||||
The
|
||||
.Fn endhostent ,
|
||||
.Fn gethostbyaddr ,
|
||||
.Fn gethostbyname ,
|
||||
.Fn gethostent ,
|
||||
and
|
||||
.Fn sethostent
|
||||
functions appeared in
|
||||
.Bx 4.2 .
|
||||
.Sh BUGS
|
||||
These functions use static data storage;
|
||||
if the data is needed for future use, it should be
|
||||
copied before any subsequent calls overwrite it.
|
||||
Only the Internet
|
||||
address format is currently understood.
|
||||
|
@ -1,133 +1,151 @@
|
||||
.\" $Id: getnetent.3,v 8.2 1996/05/09 05:59: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 unsigned long \fInet\fP; int \fItype\fP;
|
||||
.PP
|
||||
.B void setnetent(\fIstayopen\fP)
|
||||
.B int \fIstayopen\fP;
|
||||
.PP
|
||||
.B void endnetent()
|
||||
.fi
|
||||
.SH DESCRIPTION
|
||||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETNETENT 3
|
||||
.Os BSD 4.2
|
||||
.Sh NAME
|
||||
.Nm getnetent ,
|
||||
.Nm getnetbyaddr ,
|
||||
.Nm getnetbyname ,
|
||||
.Nm setnetent ,
|
||||
.Nm endnetent
|
||||
.Nd get network entry
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <netdb.h>
|
||||
.Ft struct netent *
|
||||
.Fn getnetent
|
||||
.Ft struct netent *
|
||||
.Fn getnetbyname "char *name"
|
||||
.Ft struct netent *
|
||||
.Fn getnetbyaddr "long net" "int type"
|
||||
.Fn setnetent "int stayopen"
|
||||
.Fn endnetent
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.IR getnetent ,
|
||||
.IR getnetbyname ,
|
||||
.Fn getnetent ,
|
||||
.Fn getnetbyname ,
|
||||
and
|
||||
.I getnetbyaddr
|
||||
subroutines
|
||||
.Fn getnetbyaddr
|
||||
functions
|
||||
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
|
||||
fields of a line in the network data base,
|
||||
.Pa /etc/networks .
|
||||
.Bd -literal -offset indent
|
||||
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 */
|
||||
char *n_name; /* official name of net */
|
||||
char **n_aliases; /* alias list */
|
||||
int n_addrtype; /* net number type */
|
||||
unsigned long n_net; /* net number */
|
||||
};
|
||||
.ft R
|
||||
.ad
|
||||
.fi
|
||||
.RE
|
||||
.PP
|
||||
.Ed
|
||||
.Pp
|
||||
The members of this structure are:
|
||||
.TP \w'n_addrtype'u+2n
|
||||
n_name
|
||||
.Bl -tag -width n_addrtype
|
||||
.It Fa n_name
|
||||
The official name of the network.
|
||||
.TP \w'n_addrtype'u+2n
|
||||
n_aliases
|
||||
.It Fa 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
|
||||
.It Fa n_addrtype
|
||||
The type of the network number returned; currently only AF_INET.
|
||||
.It Fa 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.
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.I endnetent
|
||||
may be called to
|
||||
close the
|
||||
.I networks
|
||||
database when processing is complete.
|
||||
.PP
|
||||
.Fn getnetent
|
||||
function
|
||||
reads the next line of the file, opening the file if necessary.
|
||||
.Pp
|
||||
The
|
||||
.I getnetent
|
||||
subroutine simply reads the next
|
||||
line while
|
||||
.I getnetbyname
|
||||
and
|
||||
.I getnetbyaddr
|
||||
search until a matching
|
||||
.I name
|
||||
.Fn setnetent
|
||||
function
|
||||
opens and rewinds the file. If the
|
||||
.Fa stayopen
|
||||
flag is non-zero,
|
||||
the net data base will not be closed after each call to
|
||||
.Fn getnetbyname
|
||||
or
|
||||
.I net
|
||||
number is found
|
||||
(or until EOF is encountered). The \fItype\fP must be AF_INET.
|
||||
.Fn getnetbyaddr .
|
||||
.Pp
|
||||
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
|
||||
.Fn endnetent
|
||||
function
|
||||
closes the file.
|
||||
.Pp
|
||||
The
|
||||
.Fn getnetbyname
|
||||
function
|
||||
and
|
||||
.I getnetbyaddr
|
||||
make calls to
|
||||
.I setnetent
|
||||
.Fn getnetbyaddr
|
||||
sequentially search from the beginning
|
||||
of the file until a matching
|
||||
net name or
|
||||
net address and type is found,
|
||||
or until
|
||||
.Dv EOF
|
||||
is encountered.
|
||||
Network numbers are supplied in host order.
|
||||
.Sh FILES
|
||||
.Bl -tag -width /etc/networks -compact
|
||||
.It Pa /etc/networks
|
||||
.El
|
||||
.Sh DIAGNOSTICS
|
||||
Null pointer
|
||||
(0) returned on
|
||||
.Dv EOF
|
||||
or error.
|
||||
.Sh SEE ALSO
|
||||
.Xr networks 5
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Fn getnetent ,
|
||||
.Fn getnetbyaddr ,
|
||||
.Fn getnetbyname ,
|
||||
.Fn 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.
|
||||
.Fn endnetent
|
||||
functions appeared in
|
||||
.Bx 4.2 .
|
||||
.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.
|
||||
|
@ -1,175 +1,175 @@
|
||||
.\" Copyright (c) 1985, 1995 The Regents of the University of California.
|
||||
.\" All rights reserved.
|
||||
.\" Copyright (c) 1985, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms are permitted provided
|
||||
.\" that: (1) source distributions retain this entire copyright notice and
|
||||
.\" comment, and (2) distributions including binaries display the following
|
||||
.\" acknowledgement: ``This product includes software developed by the
|
||||
.\" University of California, Berkeley and its contributors'' in the
|
||||
.\" documentation or other materials provided with the distribution and in
|
||||
.\" all advertising materials mentioning features or use of this software.
|
||||
.\" Neither the name of the University nor the names of its contributors may
|
||||
.\" be used to endorse or promote products derived from this software without
|
||||
.\" specific prior written permission.
|
||||
.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
.\" are met:
|
||||
.\" 1. Redistributions of source code must retain the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer.
|
||||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||
.\" notice, this list of conditions and the following disclaimer in the
|
||||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
.\"
|
||||
.\" @(#)resolver.3 6.5 (Berkeley) 6/23/90
|
||||
.\" $Id: resolver.3,v 8.4 1996/05/09 05:59:10 vixie Exp $
|
||||
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.TH RESOLVER 3 "December 11, 1995
|
||||
.UC 4
|
||||
.SH NAME
|
||||
res_query, res_search, res_mkquery, res_send, res_init, dn_comp, dn_expand \- resolver routines
|
||||
.SH SYNOPSIS
|
||||
.B #include <sys/types.h>
|
||||
.br
|
||||
.B #include <netinet/in.h>
|
||||
.br
|
||||
.B #include <arpa/nameser.h>
|
||||
.br
|
||||
.B #include <resolv.h>
|
||||
.PP
|
||||
.B "res_query(dname, class, type, answer, anslen)"
|
||||
.br
|
||||
.B const char *dname;
|
||||
.br
|
||||
.B int class, type;
|
||||
.br
|
||||
.B u_char *answer;
|
||||
.br
|
||||
.B int anslen;
|
||||
.PP
|
||||
.B "res_search(dname, class, type, answer, anslen)"
|
||||
.br
|
||||
.B const char *dname;
|
||||
.br
|
||||
.B int class, type;
|
||||
.br
|
||||
.B u_char *answer;
|
||||
.br
|
||||
.B int anslen;
|
||||
.PP
|
||||
.B "res_mkquery(op, dname, class, type, data, datalen, newrr, buf, buflen)"
|
||||
.br
|
||||
.B int op;
|
||||
.br
|
||||
.B const char *dname;
|
||||
.br
|
||||
.B int class, type;
|
||||
.br
|
||||
.B const char *data;
|
||||
.br
|
||||
.B int datalen;
|
||||
.br
|
||||
.B struct rrec *newrr;
|
||||
.br
|
||||
.B u_char *buf;
|
||||
.br
|
||||
.B int buflen;
|
||||
.PP
|
||||
.B res_send(msg, msglen, answer, anslen)
|
||||
.br
|
||||
.B const u_char *msg;
|
||||
.br
|
||||
.B int msglen;
|
||||
.br
|
||||
.B u_char *answer;
|
||||
.br
|
||||
.B int anslen;
|
||||
.PP
|
||||
.B res_init()
|
||||
.PP
|
||||
.B dn_comp(exp_dn, comp_dn, length, dnptrs, lastdnptr)
|
||||
.br
|
||||
.B const char *exp_dn;
|
||||
.br
|
||||
.B u_char *comp_dn;
|
||||
.br
|
||||
.B int length;
|
||||
.br
|
||||
.B u_char **dnptrs, **lastdnptr;
|
||||
.PP
|
||||
.B dn_expand(msg, eomorig, comp_dn, exp_dn, length)
|
||||
.br
|
||||
.B const u_char *msg, *eomorig, *comp_dn;
|
||||
.br
|
||||
.B char *exp_dn;
|
||||
.br
|
||||
.B int length;
|
||||
.PP
|
||||
.B herror(const char *s)
|
||||
.PP
|
||||
.B hstrerror(int err)
|
||||
.SH DESCRIPTION
|
||||
.\" @(#)resolver.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt RESOLVER 3
|
||||
.Os BSD 4.3
|
||||
.Sh NAME
|
||||
.Nm res_query ,
|
||||
.Nm res_search ,
|
||||
.Nm res_mkquery ,
|
||||
.Nm res_send ,
|
||||
.Nm res_init ,
|
||||
.Nm dn_comp ,
|
||||
.Nm dn_expand
|
||||
.Nd resolver routines
|
||||
.Sh SYNOPSIS
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <netinet/in.h>
|
||||
.Fd #include <arpa/nameser.h>
|
||||
.Fd #include <resolv.h>
|
||||
.Fo res_query
|
||||
.Fa "char *dname"
|
||||
.Fa "int class"
|
||||
.Fa "int type"
|
||||
.Fa "u_char *answer"
|
||||
.Fa "int anslen"
|
||||
.Fc
|
||||
.Fo res_search
|
||||
.Fa "char *dname"
|
||||
.Fa "int class"
|
||||
.Fa "int type"
|
||||
.Fa "u_char *answer"
|
||||
.Fa "int anslen"
|
||||
.Fc
|
||||
.Fo res_mkquery
|
||||
.Fa "int op"
|
||||
.Fa "char *dname"
|
||||
.Fa "int class"
|
||||
.Fa "int type"
|
||||
.Fa "char *data"
|
||||
.Fa "int datalen"
|
||||
.Fa "struct rrec *newrr"
|
||||
.Fa "char *buf"
|
||||
.Fa "int buflen"
|
||||
.Fc
|
||||
.Fo res_send
|
||||
.Fa "char *msg"
|
||||
.Fa "int msglen"
|
||||
.Fa "char *answer"
|
||||
.Fa "int anslen"
|
||||
.Fc
|
||||
.Fn res_init
|
||||
.Fo dn_comp
|
||||
.Fa "char *exp_dn"
|
||||
.Fa "char *comp_dn"
|
||||
.Fa "int length"
|
||||
.Fa "char **dnptrs"
|
||||
.Fa "char **lastdnptr"
|
||||
.Fc
|
||||
.Fo dn_expand
|
||||
.Fa "u_char *msg"
|
||||
.Fa "u_char *eomorig"
|
||||
.Fa "u_char *comp_dn"
|
||||
.Fa "u_char *exp_dn"
|
||||
.Fa "int length"
|
||||
.Fc
|
||||
.Sh DESCRIPTION
|
||||
These routines are used for making, sending and interpreting
|
||||
query and reply messages with Internet domain name servers.
|
||||
.PP
|
||||
.Pp
|
||||
Global configuration and state information that is used by the
|
||||
resolver routines is kept in the structure
|
||||
.IR _res .
|
||||
.Em _res .
|
||||
Most of the values have reasonable defaults and can be ignored.
|
||||
Options
|
||||
stored in
|
||||
.I _res.options
|
||||
.Em _res.options
|
||||
are defined in
|
||||
.I resolv.h
|
||||
.Pa resolv.h
|
||||
and are as follows.
|
||||
Options are stored as a simple bit mask containing the bitwise ``or''
|
||||
of the options enabled.
|
||||
.IP RES_INIT
|
||||
.Bl -tag -width RES_DEFNAMES
|
||||
.It Dv RES_INIT
|
||||
True if the initial name server address and default domain name are
|
||||
initialized (i.e.,
|
||||
.I res_init
|
||||
.Fn res_init
|
||||
has been called).
|
||||
.IP RES_DEBUG
|
||||
.It Dv RES_DEBUG
|
||||
Print debugging messages.
|
||||
.IP RES_AAONLY
|
||||
.It Dv RES_AAONLY
|
||||
Accept authoritative answers only.
|
||||
With this option,
|
||||
.I res_send
|
||||
.Fn res_send
|
||||
should continue until it finds an authoritative answer or finds an error.
|
||||
Currently this is not implemented.
|
||||
.IP RES_USEVC
|
||||
Use TCP connections for queries instead of UDP datagrams.
|
||||
.IP RES_STAYOPEN
|
||||
Used with RES_USEVC to keep the TCP connection open between
|
||||
.It Dv RES_USEVC
|
||||
Use
|
||||
.Tn TCP
|
||||
connections for queries instead of
|
||||
.Tn UDP
|
||||
datagrams.
|
||||
.It Dv RES_STAYOPEN
|
||||
Used with
|
||||
.Dv RES_USEVC
|
||||
to keep the
|
||||
.Tn TCP
|
||||
connection open between
|
||||
queries.
|
||||
This is useful only in programs that regularly do many queries.
|
||||
UDP should be the normal mode used.
|
||||
.IP RES_IGNTC
|
||||
Unused currently (ignore truncation errors, i.e., don't retry with TCP).
|
||||
.IP RES_RECURSE
|
||||
.Tn UDP
|
||||
should be the normal mode used.
|
||||
.It Dv RES_IGNTC
|
||||
Unused currently (ignore truncation errors, i.e., don't retry with
|
||||
.Tn TCP ) .
|
||||
.It Dv RES_RECURSE
|
||||
Set the recursion-desired bit in queries.
|
||||
This is the default.
|
||||
(\c
|
||||
.I res_send
|
||||
.Pf ( Fn res_send
|
||||
does not do iterative queries and expects the name server
|
||||
to handle recursion.)
|
||||
.IP RES_DEFNAMES
|
||||
.It Dv RES_DEFNAMES
|
||||
If set,
|
||||
.I res_search
|
||||
.Fn res_search
|
||||
will append the default domain name to single-component names
|
||||
(those that do not contain a dot).
|
||||
This option is enabled by default.
|
||||
.IP RES_DNSRCH
|
||||
.It Dv RES_DNSRCH
|
||||
If this option is set,
|
||||
.I res_search
|
||||
.Fn res_search
|
||||
will search for host names in the current domain and in parent domains; see
|
||||
.IR hostname (7).
|
||||
.Xr hostname 7 .
|
||||
This is used by the standard host lookup routine
|
||||
.IR gethostbyname (3).
|
||||
.Xr gethostbyname 3 .
|
||||
This option is enabled by default.
|
||||
.IP RES_NOALIASES
|
||||
This option turns off the user level aliasing feature controlled by
|
||||
the HOSTALIASES environment variable. Network daemons should set this option.
|
||||
.PP
|
||||
.El
|
||||
.Pp
|
||||
The
|
||||
.I res_init
|
||||
.Fn res_init
|
||||
routine
|
||||
reads the configuration file (if any; see
|
||||
.IR resolver (5))
|
||||
.Xr resolver 5 )
|
||||
to get the default domain name,
|
||||
search list and
|
||||
the Internet address of the local name server(s).
|
||||
@ -177,163 +177,147 @@ If no server is configured, the host running
|
||||
the resolver is tried.
|
||||
The current domain name is defined by the hostname
|
||||
if not specified in the configuration file;
|
||||
it can be overridden by the environment variable LOCALDOMAIN.
|
||||
This environment variable may contain several blank-separated
|
||||
tokens if you wish to override the
|
||||
.I "search list"
|
||||
on a per-process basis. This is similar to the
|
||||
.I search
|
||||
command in the configuration file.
|
||||
Another environment variable (``RES_OPTIONS'') can be set to
|
||||
override certain internal resolver options which are otherwise
|
||||
set by changing fields in the
|
||||
.I _res
|
||||
structure or are inherited from the configuration file's
|
||||
.I options
|
||||
command. The syntax of the ``RES_OPTIONS'' environment variable
|
||||
is explained in
|
||||
.IR resolver (5).
|
||||
it can be overridden by the environment variable
|
||||
.Ev LOCALDOMAIN .
|
||||
Initialization normally occurs on the first call
|
||||
to one of the other resolver routines.
|
||||
.PP
|
||||
to one of the following routines.
|
||||
.Pp
|
||||
The
|
||||
.I res_query
|
||||
.Fn res_query
|
||||
function provides an interface to the server query mechanism.
|
||||
It constructs a query, sends it to the local server,
|
||||
awaits a response, and makes preliminary checks on the reply.
|
||||
The query requests information of the specified
|
||||
.I type
|
||||
.Fa type
|
||||
and
|
||||
.I class
|
||||
.Fa class
|
||||
for the specified fully-qualified domain name
|
||||
.I dname .
|
||||
.Fa dname .
|
||||
The reply message is left in the
|
||||
.I answer
|
||||
.Fa answer
|
||||
buffer with length
|
||||
.I anslen
|
||||
.Fa anslen
|
||||
supplied by the caller.
|
||||
.PP
|
||||
.Pp
|
||||
The
|
||||
.I res_search
|
||||
.Fn res_search
|
||||
routine makes a query and awaits a response like
|
||||
.IR res_query ,
|
||||
.Fn res_query ,
|
||||
but in addition, it implements the default and search rules
|
||||
controlled by the RES_DEFNAMES and RES_DNSRCH options.
|
||||
controlled by the
|
||||
.Dv RES_DEFNAMES
|
||||
and
|
||||
.Dv RES_DNSRCH
|
||||
options.
|
||||
It returns the first successful reply.
|
||||
.PP
|
||||
.Pp
|
||||
The remaining routines are lower-level routines used by
|
||||
.IR res_query .
|
||||
.Fn res_query .
|
||||
The
|
||||
.I res_mkquery
|
||||
.Fn res_mkquery
|
||||
function
|
||||
constructs a standard query message and places it in
|
||||
.IR buf .
|
||||
.Fa buf .
|
||||
It returns the size of the query, or \-1 if the query is
|
||||
larger than
|
||||
.IR buflen .
|
||||
.Fa buflen .
|
||||
The query type
|
||||
.I op
|
||||
is usually QUERY, but can be any of the query types defined in
|
||||
.IR <arpa/nameser.h> .
|
||||
.Fa op
|
||||
is usually
|
||||
.Dv QUERY ,
|
||||
but can be any of the query types defined in
|
||||
.Aq Pa arpa/nameser.h .
|
||||
The domain name for the query is given by
|
||||
.IR dname .
|
||||
.I Newrr
|
||||
.Fa dname .
|
||||
.Fa Newrr
|
||||
is currently unused but is intended for making update messages.
|
||||
.PP
|
||||
.Pp
|
||||
The
|
||||
.I res_send
|
||||
.Fn res_send
|
||||
routine
|
||||
sends a pre-formatted query and returns an answer.
|
||||
It will call
|
||||
.I res_init
|
||||
if RES_INIT is not set, send the query to the local name server, and
|
||||
.Fn res_init
|
||||
if
|
||||
.Dv RES_INIT
|
||||
is not set, send the query to the local name server, and
|
||||
handle timeouts and retries.
|
||||
The length of the reply message is returned, or
|
||||
\-1 if there were errors.
|
||||
.PP
|
||||
.Pp
|
||||
The
|
||||
.I dn_comp
|
||||
.Fn dn_comp
|
||||
function
|
||||
compresses the domain name
|
||||
.I exp_dn
|
||||
.Fa exp_dn
|
||||
and stores it in
|
||||
.IR comp_dn .
|
||||
.Fa comp_dn .
|
||||
The size of the compressed name is returned or \-1 if there were errors.
|
||||
The size of the array pointed to by
|
||||
.I comp_dn
|
||||
.Fa comp_dn
|
||||
is given by
|
||||
.IR length .
|
||||
.Fa length .
|
||||
The compression uses
|
||||
an array of pointers
|
||||
.I dnptrs
|
||||
.Fa dnptrs
|
||||
to previously-compressed names in the current message.
|
||||
The first pointer points to
|
||||
to the beginning of the message and the list ends with NULL.
|
||||
to the beginning of the message and the list ends with
|
||||
.Dv NULL .
|
||||
The limit to the array is specified by
|
||||
.IR lastdnptr .
|
||||
.Fa lastdnptr .
|
||||
A side effect of
|
||||
.I dn_comp
|
||||
.Fn dn_comp
|
||||
is to update the list of pointers for
|
||||
labels inserted into the message
|
||||
as the name is compressed.
|
||||
If
|
||||
.I dnptr
|
||||
is NULL, names are not compressed.
|
||||
.Em dnptr
|
||||
is
|
||||
.Dv NULL, names are not compressed.
|
||||
If
|
||||
.I lastdnptr
|
||||
is NULL, the list of labels is not updated.
|
||||
.PP
|
||||
.Fa lastdnptr
|
||||
is
|
||||
.Dv NULL ,
|
||||
the list of labels is not updated.
|
||||
.Pp
|
||||
The
|
||||
.I dn_expand
|
||||
.Fn dn_expand
|
||||
entry
|
||||
expands the compressed domain name
|
||||
.I comp_dn
|
||||
.Fa comp_dn
|
||||
to a full domain name
|
||||
The compressed name is contained in a query or reply message;
|
||||
.I msg
|
||||
.Fa msg
|
||||
is a pointer to the beginning of the message.
|
||||
The uncompressed name is placed in the buffer indicated by
|
||||
.I exp_dn
|
||||
.Fa exp_dn
|
||||
which is of size
|
||||
.IR length .
|
||||
.Fa length .
|
||||
The size of compressed name is returned or \-1 if there was an error.
|
||||
.PP
|
||||
The external variable
|
||||
.B h_errno
|
||||
is set whenever an error occurs during resolver operation. The following
|
||||
definitions are given in
|
||||
.BR <netdb.h> :
|
||||
.PP
|
||||
.nf
|
||||
#define NETDB_INTERNAL -1 /* see errno */
|
||||
#define NETDB_SUCCESS 0 /* no problem */
|
||||
#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */
|
||||
#define TRY_AGAIN 2 /* Non-Authoritive not found, or SERVFAIL */
|
||||
#define NO_RECOVERY 3 /* Nonrecoverable: FORMERR, REFUSED, NOTIMP */
|
||||
#define NO_DATA 4 /* Valid name, no data for requested type */
|
||||
.ft R
|
||||
.ad
|
||||
.fi
|
||||
.PP
|
||||
.Sh FILES
|
||||
.Bl -tag -width Pa
|
||||
/etc/resolv.conf
|
||||
The configuration file
|
||||
see
|
||||
.Xr resolver 5 .
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr gethostbyname 3 ,
|
||||
.Xr named 8 ,
|
||||
.Xr resolver 5 ,
|
||||
.Xr hostname 7 ,
|
||||
.Pp
|
||||
.%T RFC1032 ,
|
||||
.%T RFC1033 ,
|
||||
.%T RFC1034 ,
|
||||
.%T RFC1035 ,
|
||||
.%T RFC974
|
||||
.Rs
|
||||
.%T "Name Server Operations Guide for BIND"
|
||||
.Re
|
||||
.Sh HISTORY
|
||||
The
|
||||
.B herror
|
||||
function writes a message to the diagnostic output consisting of the string
|
||||
parameter
|
||||
.BR s ,
|
||||
the constant string ": ", and a message corresponding to the value of
|
||||
.BR h_errno .
|
||||
.PP
|
||||
The
|
||||
.B hstrerror
|
||||
function returns a string which is the message text corresponding to the
|
||||
value of the
|
||||
.B err
|
||||
parameter.
|
||||
.SH FILES
|
||||
/etc/resolv.conf see resolver(5)
|
||||
.SH "SEE ALSO"
|
||||
gethostbyname(3), named(8), resolver(5), hostname(7),
|
||||
.br
|
||||
RFC1032, RFC1033, RFC1034, RFC1035, RFC974,
|
||||
.br
|
||||
SMM:11 Name Server Operations Guide for BIND
|
||||
.Nm
|
||||
function appeared in
|
||||
.Bx 4.3 .
|
||||
|
Loading…
x
Reference in New Issue
Block a user