Man Linux: Main Page and Category List

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 .