G_H_B_N.3
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:6k
源码类别:
操作系统开发
开发平台:
C/C++
- GETHOSTBYNAME(3) Minix Programmer's Manual GETHOSTBYNAME(3)
- NAME
- g_h_b_n, gethostbyname, gethostbyaddr, gethostent, sethostent,
- endhostent, herror - get network host entry
- SYNOPSIS
- #include <net/gen/netdb.h>
- extern int h_errno;
- struct hostent *gethostbyname(name)
- char *name;
- struct hostent *gethostbyaddr(addr, len, type)
- char *addr; int len, type;
- struct hostent *gethostent()
- sethostent(stayopen)
- int stayopen;
- endhostent()
- herror(string)
- char *string;
- DESCRIPTION
- 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), or broken-out fields from a line
- in /etc/hosts. If the local name server is not running these routines do
- a lookup in /etc/hosts.
- 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 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.
- 5BSD June 23, 1990 1
- GETHOSTBYNAME(3) Minix Programmer's Manual GETHOSTBYNAME(3)
- h_addrtype The type of address being returned; currently always
- AF_INET.
- h_length The length, in bytes, of the address.
- h_addr_list A zero terminated array of network addresses for the host.
- Host addresses are returned in network byte order.
- h_addr The first address in h_addr_list; this is for backward
- compatiblity.
- When using the nameserver, 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
- ``HOSTALAIASES'' 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.
- Endhostent closes the TCP connection.
- DIAGNOSTICS
- Error return status from gethostbyname and gethostbyaddr is indicated by
- return of a null pointer. The external integer h_errno 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.
- h_errno 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.
- 5BSD June 23, 1990 2
- GETHOSTBYNAME(3) Minix Programmer's Manual GETHOSTBYNAME(3)
- 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.
- FILES
- /etc/hosts
- SEE ALSO
- resolver(3), hosts(5), hostname(7), named(8)
- CAVEAT
- Gethostent is defined, and sethostent and endhostent are redefined, when
- libc is built to use only the routines to lookup in /etc/hosts and not
- the name server.
- 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 data base will not be closed after each
- call to gethostbyname or gethostbyaddr. Endhostent is redefined to close
- the file.
- BUGS
- 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.
- 5BSD June 23, 1990 3