gethostent(3n) gethostent(3n)
Name
gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent - get hosts entry
Syntax
#include <netdb.h>
struct hostent *gethostent()
struct hostent *gethostbyname(name)
char *name;
struct hostent *gethostbyaddr(addr, len, type)
char *addr; int len, type;
void sethostent(stayopen)
int stayopen;
void endhostent()
Description
The and subroutines return a pointer to an object with the following structure containing the broken-out fields reflecting information
obtained from the database.
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
int h_addrtype; /* address type */
int h_length; /* length of address */
char **h_addr_list; /* list of addresses from name server */
#define h_addr h_addr_list[0] /* address for backward compatibility */
};
The members of this structure are:
h_name Official name of the host.
h_aliases A zero terminated array of alternate names for the host.
h_addrtype The type of address being returned; currently always AF_INET.
h_length The length, in bytes, of the address.
h_addr A pointer to the network address for the host. Host addresses are returned in network byte order.
If the stayopen flag on a subroutine is NULL, the hosts database is opened. Otherwise the has the effect of rewinding the database. The
may be called to close the database when processing is complete.
The subroutine simply reads the next line while and search until a matching name, or addr, len, type is found (or until EOF is encoun-
tered). The subroutine keeps a pointer in the database, allowing successive calls to be used to search the entire file.
The and subroutines query the database.
A call to must be made before a loop using in order to perform initialization and an must be used after the loop. Both and make calls to
and
Restrictions
All information is contained in a static area so it must be copied if it is to be saved. Only the Internet address format is currently
understood.
If YP is running, does not return the entries in any particular order. See the Guide to the Yellow Pages Service for setup information.
The database may also be distributed via the BIND/Hesiod naming service. See the Guide to the BIND/Hesiod Service for more information.
Return Values
Null pointer(0) returned on EOF or error.
Files
See Also
hosts(5), svc.conf(5)
Guide to the BIND/Hesiod Service
Guide to the Yellow Pages Service
gethostent(3n)