gethostbyaddr(3)gethostbyaddr(3)NAME
gethostbyaddr, gethostbyaddr_r - Get a network host entry by address
SYNOPSIS
#include <netdb.h>
struct hostent *gethostbyaddr(
const void *addr,
size_t len,
int type );
[Tru64 UNIX] The following obsolete routine is supported in order to
maintain backward compatibility with previous versions of the operating
system. You should not use it in new designs. int gethostbyaddr_r(
const char *addr,
int len,
int type,
struct hostent *hptr,
struct hostent_data *hdptr );
[Tru64 UNIX] The following definition of the gethostbyaddr() routine
does not conform to current standards and is supported only for back‐
ward compatibility (see standards(5)): struct hostent *gethostbyaddr(
const char *addr,
int len,
int type );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
gethostbyaddr(): XNS4.0, XNS5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
Specifies an Internet address in network order. Specifies the number
of bytes in an Internet address. Specifies the Internet domain address
format (AF_INET). [Tru64 UNIX] Is data for the host database. The
netdb.h header file defines the hostent_data structure. [Tru64
UNIX] Points to the hostent structure. The netdb.h header file
defines the hostent structure.
DESCRIPTION
The gethostbyaddr() routine returns a pointer to a structure of type
hostent. Its members specify data obtained from either the local
/etc/hosts file or one of the files distributed by DNS/BIND or NIS. To
determine which file or files to search, and in which order, the system
uses the switches in the /etc/svc.conf file. The netdb.h header file
defines the hostent structure.
The gethostbyaddr() routine searches the network host database sequen‐
tially until a match with the addr and type parameters occurs. The len
parameter must specify the number of bytes in an Internet address. The
addr parameter must specify the address in network order. The type
parameter must be the constant AF_INET, which specifies the Internet
Protocol Version 4 (IPv4) address format. When EOF (End-of-File) is
reached without a match, an error value is returned.
If using DNS/BIND, the information is obtained from a name server spec‐
ified in the /etc/resolv.conf file. When the name server is not run‐
ning, the gethostbyaddr() routine searches the local hosts name file.
Use the endhostent() routine to close the /etc/hosts file.
NOTES
The gethostbyaddr() routine returns a pointer to thread-specific data.
Subsequent calls to this or a related routine from the same thread
overwrite this data.
[Tru64 UNIX] The gethostbyaddr_r() routine is an obsolete reentrant
version of the gethostbyaddr() routine. It is supported in order to
maintain backward compatibility with previous versions of the operating
system and should not be used in new designs. Note that you must zero-
fill the hdptr structure before its first access by the gethost‐
byaddr_r() routine.
RETURN VALUES
Upon successful completion, the gethostbyaddr() routine returns a
pointer to a hostent structure. If it reaches the end of the network
hostname database, it returns a null pointer.
[Tru64 UNIX] Upon successful completion, the gethostbyaddr_r() routine
stores the hostent structure in hptr, and returns a value of 0 (zero).
Upon failure, it returns a value of -1.
ERRORS
If the gethostbyaddr() or gethostbyaddr_r() routine call fails, h_errno
is set to one of the following values: Host is unknown. The server
recognized the request and the name, but no address is available for
the name. Another type of name server request may be successful. An
unexpected server failure occurred. This is a nonrecoverable error. A
transient error occurred, for example, the server did not respond. A
retry at some later time may be successful.
[Tru64 UNIX] If any of the following conditions occurs, the gethost‐
byaddr_r() routine sets errno to the corresponding value: The name,
hptr, or hdptr is invalid, or type is not AF_INET.
FILES
This file is the Internet network hostname database. Each record in the
file occupies a single line and has three fields consisting of the host
address, official hostname, and aliases. The resolver configuration
file. The database service selection configuration file.
SEE ALSO
routines: endhostent(3), gethostbyname(3), sethostent(3).
Files: hosts(4), resolv.conf(4), svc.conf(4).
Networks: bind_intro(7), nis_intro(7).
Standards: standards(5)
Network Programmer's Guide
gethostbyaddr(3)