gethostent(3n) DG/UX 4.30 gethostent(3n)
NAME
gethostent, gethostbyaddr, gethostbyname, sethostent,
endhostent - get network host entry
SYNOPSIS
#include <netdb.h>
struct hostent *gethostent()
struct hostent *gethostbyname(name)
char *name;
struct hostent *gethostbyaddr(addr, len, type)
char *addr; int len, type;
sethostent(stayopen)
int stayopen
endhostent()
DESCRIPTION
Gethostent, gethostbyname, and gethostbyaddr each return a
pointer to an object with the following structure describing
an Internet host referenced by name or by address,
respectively. This structure contains either the
information obtained from the name server, named(8), YP (see
Managing NFS and Its Facilities on the DG/UX System), or
broken-out fields from a line in /etc/hosts. Gethostbyname
and gethostbyaddr read the /etc/svcorder file to determine
which host/name address resolution method to use. If
/etc/svcorder does not exist or has invalid data, the
default order is YP, /etc/hosts, then the name server.
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
char **h_addr_list; /* list of address from the name server */
};
#define h_addr h_addr_list[0] /* address for backward
compatibility */
The members of this structure are:
hname
Official name of the host.
haliases
A zero-terminated array of alternate names for the
host.
haddrtype
Licensed material--property of copyright holder(s) Page 1
gethostent(3n) DG/UX 4.30 gethostent(3n)
The type of address being returned; currently always
AF_INET.
hlength
The length, in bytes, of the address.
haddrlist
A zero-terminated array of network addresses for the
host. Host addresses are returned in network byte
order.
haddr
The first address in haddrlist; this is for backward
compatibility.
When using the name server, gethostbyname will search for
the named host in the current domain and its parents unless
the name ends in a dot. If the name contains no dot, and if
the environment variable HOSTALIASES contains the name of an
alias file, the alias file will first be searched for an
alias matching the input name. See hostname(7) for the
domain search procedure and the alias file format.
Sethostent may be used to request the use of a connected TCP
socket for queries. If the stayopen flag is non-zero, this
sets the option to send all queries to the name server using
TCP and to retain the connection after each call to
gethostbyname or gethostbyaddr. Otherwise, queries are
performed using UDP datagrams.
Gethostent reads the next line of /etc/hosts, opening the
file if necessary.
Sethostent is redefined to open and rewind the file. If the
stayopen argument is non-zero, the hosts database will not
be closed after each call to gethostbyname or gethostbyaddr.
Endhostent is redefined to close the file.
If your system is using the Yellow Pages (YP), you may need
to see Managing NFS and Its Facilities on the DG/UX System
for information on how to update the /etc/hosts file.
DIAGNOSTICS
Error return status from gethostbyname and gethostbyaddr is
indicated by return of a null pointer. The external integer
herrno may then be checked to see whether this is a
temporary failure or an invalid or unknown host. The routine
herror can be used to print an error message describing the
failure. If its argument string is non-NULL, it is printed,
followed by a colon and a space. The error message is
printed with a trailing newline.
Licensed material--property of copyright holder(s) Page 2
gethostent(3n) DG/UX 4.30 gethostent(3n)
herrno can have the following values:
HOST_NOT_FOUND
No such host is known.
TRY_AGAIN
This is usually a temporary error and means that the
local server did not receive a response from an
authoritative server. A retry at some later time may
succeed.
NO_RECOVERY
Some unexpected server failure was encountered. This
is a non-recoverable error.
NO_DATA
The requested name is valid but does not have an IP
address; this is not a temporary error. This means
that the name is known to the name server but there is
no address associated with this name. Another type of
request to the name server using this domain name will
result in an answer; for example, a mail-forwarder may
be registered for this domain.
Null pointer (0) returned on EOF or error.
FILES
/etc/hosts, /etc/svcorder
SEE ALSO
hosts(4)
BUGS
All information is contained in a static area, so you must
copy it if you want to save it. Only the Internet address
format is currently understood.
Licensed material--property of copyright holder(s) Page 3