Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

hosts(4)



gethostent(3N)                 DG/UX R4.11MU05                gethostent(3N)


NAME
       gethostent, gethostbyaddr, gethostbyname, sethostent, endhostent,
       herror - get network host entry

SYNOPSIS
       #include <netdb.h>

       struct hostent *gethostent()

       struct hostent *gethostbyname(name)
       const char *name;

       struct hostent *gethostbyaddr(addr, len, type)
       char *addr; int len, type;

       sethostent(stayopen)
       int stayopen

       endhostent()

       void herror(text)
       const char *text;

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.  In the case
       of gethostbyaddr, addr is a pointer to the binary format address of
       length len (not a character string).  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:

       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_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
                   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. 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 Network Information Services (NIS), 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.

       gethostbyaddr takes a pointer to an address structure.  This
       structure is unique to each type of address.  For addresses of type
       AF_INET, this is the in_addr structure.  See <netinet/in.h>.

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.

       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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026