 |
Index for Section 3 |
|
 |
Alphabetical listing for G |
|
gethostbyname(3)
NAME
gethostbyname, gethostbyname_r - Get a network host entry by name
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <netdb.h>
struct hostent *gethostbyname(
const char *name);
[DIGITAL] The following function is supported in order to maintain
backward compatibility with previous versions of the operating system. You
should not use it in new designs.
int gethostbyname_r(
const char *name,
struct hostent *hptr,
struct hostent_data *hdptr);
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
gethostbyname(): XNS4.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
name Specifies the official network name or alias.
hptr [DIGITAL] For gethostbyname_r() only, this points to the hostent
structure. The netdb.h header file defines hostent structure.
hdptr [DIGITAL] For gethostbyname_r() only, this is data for hosts
database. The netdb.h header file defines hostent_data
structure.
DESCRIPTION
The gethostbyname() function 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 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.
If using BIND, the information is obtained from a name server specified in
the /etc/resolv.conf file.
If the name parameter does not contain a dot "." and you are using BIND,
the gethostbyname() function checks whether the environment variable
HOSTALIASES is set. If set, it first searches the file named by HOSTALIASES
for an alias matching the name parameter. The alias file has the following
format:
name1 name2
name1 The alias name. This name cannot include dots.
name2 The host name used by BIND to look up the host information. The
hosts database must be distributed by BIND.
NOTES
The gethostbyname() function returns a pointer to thread-specific data.
Subsequent calls to this or a related function from the same thread
overwrite this data.
[DIGITAL] The gethostbyname_r() function is an obsolete reentrant version
of the gethostbyname() function. 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 gethostbyname_r() function.
RETURN VALUES
Upon successful completion, the gethostbyname() function returns a pointer
to a hostent structure. If it reaches the end of the network hostname
database, it returns a null pointer.
[DIGITAL] Upon successful completion, the gethostbyname_r() function
stores the hostent structure in the location pointed to by hptr, and
returns a value of 0 (zero). Upon failure, it returns a value of -1.
ERRORS
If the gethostbyname() or gethostbyname_r() function call fails, h_errno
is set to one of the following the values:
[HOST_NOT_FOUND]
Host is unknown.
[NO_DATA] 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.
[NO_RECOVERY]
An unexpected server failure occurred. This is a nonrecoverable
error.
[TRY_AGAIN]
A transient error occurred, for example, the server did not
respond. A retry at some later time may be successful.
[DIGITAL] If any of the following conditions occurs, the gethostbyaddr_r()
function sets errno to the corresponding value:
[EINVAL] The name, hptr, or hdptr is invalid.
FILES
/etc/hosts
The DARPA 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.
/etc/resolv.conf
The resolver configuration file.
/etc/svc.conf
The database service selection configuration file.
RELATED INFORMATION
Functions: endhostent(3), gethostbyaddr(3), sethostent(3)
Files: hostname(5), resolv.conf(4), svc.conf(4)
Networks: bind_intro(7), nis_intro(7)
Standards: standards(5)