hosts(5) File Formats Manual hosts(5)Name
hosts - host name file
Description
The file is an ASCII file that contains information about the known hosts on the DARPA Internet. For each host a single line should be
present with the following information:
Internet address
Official host name
Aliases
Each name is separated from the next by a new line. Items are separated by any number of blanks or tab characters. A number sign (#)
indicates the beginning of a comment; characters up to the end of the line are not interpreted by routines that search the file. This file
is normally created from the official host data base maintained at the Network Information Control Center (NIC), though local changes may
be required to bring it up to date regarding unofficial aliases or unknown hosts.
Host addresses are specified in the conventional dot (.) notation using the inet_addr routine from the Internet address manipulation
library, Host names can contain any printable character other than a field delimiter, newline, or comment character.
The database may be distributed in a network by a naming service, such as Yellow Pages or BIND/Hesiod. See the Guide to the Yellow Pages
Service or the Guide to the BIND/Hesiod Service for setup information.
FilesSee Alsogethostent(3n)
Guide to the BIND/Hesiod Service
Guide to the Yellow Pages Service
hosts(5)
Check Out this Related Man Page
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.
FilesSee Alsohosts(5), svc.conf(5)
Guide to the BIND/Hesiod Service
Guide to the Yellow Pages Service
gethostent(3n)