gethostbyname

GETHOSTBYADDR(3P)          POSIX Programmer's Manual         GETHOSTBYADDR(3P)



PROLOG
       This manual page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the corresponding
       Linux manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

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