1 .\" Copyright (c) 1983, 1987, 1991, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\" must display the following acknowledgement:
14 .\" This product includes software developed by the University of
15 .\" California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 .\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95
33 .\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.12.2.6 2001/08/17 15:42:38 ru Exp $
47 .Nd get network host entry
51 .Fd #include <netdb.h>
52 .Vt extern int h_errno ;
54 .Fn gethostbyname "const char *name"
56 .Fn gethostbyname2 "const char *name" "int af"
58 .Fn gethostbyaddr "const char *addr" "int len" "int type"
62 .Fn sethostent "int stayopen"
66 .Fn herror "const char *string"
68 .Fn hstrerror "int err"
76 each return a pointer to an object with the
77 following structure describing an internet host
78 referenced by name or by address, respectively.
79 This structure contains either the information obtained from the name server,
81 or broken-out fields from a line in
83 If the local name server is not running these routines do a lookup in
87 char *h_name; /* official name of host */
88 char **h_aliases; /* alias list */
89 int h_addrtype; /* host address type */
90 int h_length; /* length of address */
91 char **h_addr_list; /* list of addresses from name server */
93 #define h_addr h_addr_list[0] /* address, for backward compatibility */
96 The members of this structure are:
97 .Bl -tag -width h_addr_list
99 Official name of the host.
102 .Dv NULL Ns -terminated
103 array of alternate names for the host.
105 The type of address being returned; usually
108 The length, in bytes, of the address.
111 .Dv NULL Ns -terminated
112 array of network addresses for the host.
113 Host addresses are returned in network byte order.
117 this is for backward compatibility.
120 When using the nameserver,
124 will search for the named host in the current domain and its parents
125 unless the name ends in a dot.
126 If the name contains no dot, and if the environment variable
128 contains the name of an alias file, the alias file will first be searched
129 for an alias matching the input name.
132 for the domain search procedure and the alias file format.
136 function is an evolution of
138 which is intended to allow lookups in address families other than
142 Both of these address families are supported in the Mac OS X implemention.
147 may be used to request the use of a connected
153 this sets the option to send all queries to the name server using
155 and to retain the connection after each call to
160 Otherwise, queries are performed using
173 function writes a message to the diagnostic output consisting of the
178 and a message corresponding to the value of
183 function returns a string which is the message text corresponding to the
188 .Bl -tag -width /etc/resolv.conf -compact
190 .It Pa /etc/host.conf
191 .It Pa /etc/resolv.conf
194 Error return status from
199 is indicated by return of a
204 may then be checked to see whether this is a temporary failure
205 or an invalid or unknown host.
208 can be used to print an error message describing the failure.
213 it is printed, followed by a colon and a space.
214 The error message is printed with a trailing newline.
218 can have the following values:
219 .Bl -tag -width HOST_NOT_FOUND
220 .It Dv HOST_NOT_FOUND
221 No such host is known.
223 This is usually a temporary error
224 and means that the local server did not receive
225 a response from an authoritative server.
226 A retry at some later time may succeed.
228 Some unexpected server failure was encountered.
229 This is a non-recoverable error.
231 The requested name is valid but does not have an IP address;
232 this is not a temporary error.
233 This means that the name is known to the name server but there is no address
234 associated with this name.
235 Another type of request to the name server using this domain name
236 will result in an answer;
237 for example, a mail-forwarder may be registered for this domain.
254 when libc is built to use only the routines to lookup in
256 and not the name server.
261 reads the next line of
263 opening the file if necessary.
268 opens and/or rewinds the file
272 argument is non-zero,
273 the file will not be closed after each call to
295 functions appeared in
299 function first appeared in
303 These functions use static data storage;
304 if the data is needed for future use, it should be
305 copied before any subsequent calls overwrite it.
307 address format is currently understood.