4.3BSD-UWisc/man/cat3/gethostbyname.3n




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



NAME
     gethostbyname, gethostbyaddr, gethostent, sethostent,
     endhostent - 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()

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 con-
     tains 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.

     h_length     The length, in bytes, of the address.

     h_addr_list  A zero terminated array  of  network  addresses



Printed 12/27/86          May 20, 1986                          1






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



                  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 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.

     _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.

     _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     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 necessary.




Printed 12/27/86          May 20, 1986                          2






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



     _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 12/27/86          May 20, 1986                          3