Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       gethostbyaddr, gethostbyname - network host database functions

SYNOPSIS

       #include <netdb.h>

       struct hostent *gethostbyaddr(const void *addr, socklen_t len,
              int type);
       struct hostent *gethostbyname(const char *name);

DESCRIPTION

       These  functions shall retrieve information about hosts. This information is considered to
       be stored in a database that can be accessed sequentially or randomly.  Implementation  of
       this database is unspecified.

       Note:  In  many  cases  it  is  implemented  by  the  Domain Name System, as documented in
              RFC 1034, RFC 1035, and RFC 1886.

       Entries shall be returned in hostent structures.

       The gethostbyaddr() function shall return an entry containing addresses of address  family
       type  for  the host with address addr. The len argument contains the length of the address
       pointed to by addr. The gethostbyaddr() function need not be reentrant. A function that is
       not required to be reentrant is not required to be thread-safe.

       The  gethostbyname() function shall return an entry containing addresses of address family
       AF_INET for the host with name name. The gethostbyname() function need not  be  reentrant.
       A function that is not required to be reentrant is not required to be thread-safe.

       The  addr  argument of gethostbyaddr() shall be an in_addr structure when type is AF_INET.
       It contains a binary format (that is, not null-terminated) address in network byte  order.
       The  gethostbyaddr()  function  is  not guaranteed to return addresses of address families
       other than AF_INET, even when such addresses exist in the database.

       If gethostbyaddr() returns successfully, then the h_addrtype field in the result shall  be
       the  same  as the type argument that was passed to the function, and the h_addr_list field
       shall list a single address that is a copy of the addr argument that  was  passed  to  the
       function.

       The name argument of gethostbyname() shall be a node name; the behavior of gethostbyname()
       when passed a numeric address string is unspecified. For IPv4, a  numeric  address  string
       shall be in the dotted-decimal notation described in inet_addr() .

       If  name  is  not  a  numeric  address  string and is an alias for a valid host name, then
       gethostbyname() shall return information about the host name to which  the  alias  refers,
       and name shall be included in the list of aliases returned.

RETURN VALUE

       Upon  successful completion, these functions shall return a pointer to a hostent structure
       if the requested entry was found, and a null pointer  if  the  end  of  the  database  was
       reached or the requested entry was not found.

       Upon  unsuccessful  completion,  gethostbyaddr()  and gethostbyname() shall set h_errno to
       indicate the error.

ERRORS

       These functions shall fail in the following cases. The gethostbyaddr() and gethostbyname()
       functions shall set h_errno to the value shown in the list below. Any changes to errno are
       unspecified.

       HOST_NOT_FOUND

              No such host is known.

       NO_DATA
              The server recognized the request and  the  name,  but  no  address  is  available.
              Another type of request to the name server for the domain might return an answer.

       NO_RECOVERY

              An unexpected server failure occurred which cannot be recovered.

       TRY_AGAIN
              A temporary and possibly transient error occurred, such as a failure of a server to
              respond.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       The gethostbyaddr() and gethostbyname() functions may  return  pointers  to  static  data,
       which may be overwritten by subsequent calls to any of these functions.

       The  getaddrinfo()  and getnameinfo() functions are preferred over the gethostbyaddr() and
       gethostbyname() functions.

RATIONALE

       None.

FUTURE DIRECTIONS

       The gethostbyaddr() and gethostbyname() functions may be withdrawn in a future version.

SEE ALSO

       endhostent() , endservent() , gai_strerror() , getaddrinfo() , h_errno() ,  inet_addr()  ,
       the Base Definitions volume of IEEE Std 1003.1-2001, <netdb.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .