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 .

IEEE/The Open Group                                   2003                                      GETHOSTBYADDR(P)