All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.
@(#)gethostbyname.3 6.4 (Berkeley) 05/13/86
"extern int h_errno;
"struct hostent *gethostbyname(name)
"char *name;
"struct hostent *gethostbyaddr(addr, len, type)
"char *addr; int len, type;
"struct hostent *gethostent()
"sethostent(stayopen)
"int stayopen;
"endhostent()
struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses from name server */ }; #define h_addr h_addr_list[0] /* address, for backward compatibility */
The members of this structure are:
\w'h_addr_list'u+2n h_name Official name of the host.
\w'h_addr_list'u+2n h_aliases A zero terminated array of alternate names for the host.
\w'h_addr_list'u+2n h_addrtype The type of address being returned; currently always AF_INET.
\w'h_addr_list'u+2n h_length The length, in bytes, of the address.
\w'h_addr_list'u+2n h_addr_list A zero terminated array of network addresses for the host. Host addresses are returned in network byte order.
\w'h_addr_list'u+2n h_addr The first address in h_addr_list; this is for backward compatiblity.
Sethostent allows a request for the use of a connected socket using TCP for queries. If the stayopen flag is non-zero, this sets the option to send all queries to the name server using TCP and to retain the connection after each call to gethostbyname or gethostbyaddr .
Endhostent closes the TCP connection.
Error return status from Gethostbyname and gethostbyaddr is indicated by return of a null pointer. The external integer h_errno may then be checked to see whether this is a temporary failure or an invalid or unknown host.
h_errno can have the following values:
Gethostent is defined, and sethostent is redefined, when libc is built to use only the routines to lookup in /etc/hosts and not the name server.
Gethostent reads the next line of /etc/hosts opening the file if necessary.
Sethostent is redefined to open and rewind the file. If stayopen flag is non-zero, the hosts data base will not be closed after each call to gethostent (either directly, or indirectly through gethostbyname or gethostbyaddr).