GETHOSTBYNAME(3N) GETHOSTBYNAME(3N) NAME gethostbyname, gethostbyaddr, gethostent, sethostent, endhostent - get network host entry SYNOPSIS #include 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() DESCRIPTION _G_e_t_h_o_s_t_b_y_n_a_m_e and _g_e_t_h_o_s_t_b_y_a_d_d_r each return a pointer to an object with the following structure. This structure contains either the informa‐ tion obtained from the name server, _n_a_m_e_d(8), or broken-out fields from a line in _/_e_t_c_/_h_o_s_t_s. If the local name server is not running these routines do a lookup in _/_e_t_c_/_h_o_s_t_s. 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: h_name Official name of the host. h_aliases A zero terminated array of alternate names for the host. h_addrtype The type of address being returned; currently always AF_INET. h_length The length, in bytes, of the address. h_addr_list A zero terminated array of network addresses for the host. Host addresses are returned in network byte order. h_addr The first address in h_addr_list; this is for backward compatiblity. _S_e_t_h_o_s_t_e_n_t allows a request for the use of a connected socket using TCP for queries. If the _s_t_a_y_o_p_e_n flag is non-zero, this sets the option to send all queries to the name server using TCP and to retain the connec‐ tion after each call to _g_e_t_h_o_s_t_b_y_n_a_m_e or _g_e_t_h_o_s_t_b_y_a_d_d_r. _E_n_d_h_o_s_t_e_n_t closes the TCP connection. DIAGNOSTICS Error return status from _g_e_t_h_o_s_t_b_y_n_a_m_e and _g_e_t_h_o_s_t_b_y_a_d_d_r is indicated by return of a null pointer. The external integer _h__e_r_r_n_o may then be checked to see whether this is a temporary failure or an invalid or unknown host. _h__e_r_r_n_o can have the following values: HOST_NOT_FOUND No such host is known. 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. NO_RECOVERY This is a non-recoverable error. NO_ADDRESS The requested name is valid but does not have an IP address; this is not a temporary error. This means another type of request to the name server will result in an answer. FILES /etc/hosts SEE ALSO hosts(5), resolver(3), named(8) CAVEAT _G_e_t_h_o_s_t_e_n_t is defined, and _s_e_t_h_o_s_t_e_n_t and _e_n_d_h_o_s_t_e_n_t are redefined, when _l_i_b_c is built to use only the routines to lookup in _/_e_t_c_/_h_o_s_t_s and not the name server. _G_e_t_h_o_s_t_e_n_t reads the next line of _/_e_t_c_/_h_o_s_t_s, opening the file if nec‐ essary. _S_e_t_h_o_s_t_e_n_t is redefined to open and rewind the file. If the _s_t_a_y_o_p_e_n argument is non-zero, the hosts data base will not be closed after each call to _g_e_t_h_o_s_t_b_y_n_a_m_e or _g_e_t_h_o_s_t_b_y_a_d_d_r. _E_n_d_h_o_s_t_e_n_t is redefined to close the file. BUGS All information is contained in a static area so it must be copied if it is to be saved. Only the Internet address format is currently understood. 4.2 Berkeley Distribution May 20, 1986 GETHOSTBYNAME(3N)