2.11BSD/man/cat3/gethostbyname.0

Compare this file to the similar file:
Show the results in this format:




GETHOSTBYNAME(3)    UNIX Programmer's Manual	 GETHOSTBYNAME(3)



NAME
     gethostbyname, gethostbyaddr, gethostent, sethostent,
     endhostent, herror - get network host entry

SYNOPSIS
     #include <netdb.h>

     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()

     herror(string)
     char *string;

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 describing an internet
     host referenced by name or by address, respectively.  This
     structure contains either the information 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.



Printed 11/26/99	October 30, 1996			1






GETHOSTBYNAME(3)    UNIX Programmer's Manual	 GETHOSTBYNAME(3)



     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.

     When using the nameserver, _g_e_t_h_o_s_t_b_y_n_a_m_e 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 ``HOSTALIASES'' contains the name of an
     alias file, the alias file will first  be	searched  for  an
     alias  matching  the  input  name.   See _h_o_s_t_n_a_m_e(7) for the
     domain search procedure and the alias file format.

     _S_e_t_h_o_s_t_e_n_t may be used to request the use of a connected TCP
     socket  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 connection 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.  Otherwise, queries  are	performed
     using UDP datagrams.

     _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  tem-
     porary  failure  or an invalid or unknown host.  The routine
     _h_e_r_r_o_r can be used to print an error message describing  the
     failure.  If its argument _s_t_r_i_n_g is non-NULL, it is printed,
     followed by a colon and  a  space.   The  error  message  is
     printed with a trailing newline.

     _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  authorita-
			  tive	server.   A  retry  at some later
			  time may succeed.

	  NO_RECOVERY	  Some	unexpected  server  failure   was
			  encountered.	This is a non-recoverable
			  error.

	  NO_DATA	  The requested name is  valid	but  does
			  not  have  an IP address; this is not a



Printed 11/26/99	October 30, 1996			2






GETHOSTBYNAME(3)    UNIX Programmer's Manual	 GETHOSTBYNAME(3)



			  temporary error. This  means	that  the
			  name	is  known  to the name server but
			  there is  no	address  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.

FILES
     /etc/hosts

SEE ALSO
     resolver(3), hosts(5), hostname(7), 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 necessary.

     _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 for-
     mat is currently understood.























Printed 11/26/99	October 30, 1996			3