Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ gethostbyaddr(3N) — bsd — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

resolver(3)

hosts(4)

resolv.conf(4)

named(8)



GETHOSTBYNAME(3N-BSD)RISC/os Reference ManualETHOSTBYNAME(3N-BSD)



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

SYNOPSIS
   Headers
     For -systype svr3:

     #include <bsd/sys/types.h>
     #include <bsd/netdb.h>

     For -systype bsd43:

     #include <netdb.h>

   Declarations
     extern int herrno;

     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()

DESCRIPTION
     gethostbyname and gethostbyaddr each return a pointer to an
     object with the following structure.  This structure con-
     tains 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.




                        Printed 11/19/92                   Page 1





GETHOSTBYNAME(3N-BSD)RISC/os Reference ManualETHOSTBYNAME(3N-BSD)



     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.

     sethostent allows a request for the use of a connected
     socket using TCP 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.

     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 tem-
     porary failure or an invalid or unknown host.

     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 authorita-
                          tive server.  A retry at some later
                          time may succeed.

          NO_RECOVERY     This is a non-recoverable error.

          NO_ADDRESS      The requested name is valid but does
                          not have an IP address; this is not a
                          temporary error. This means another
                          type of request to the name server will
                          result in an answer.

FILES
     /etc/hosts





 Page 2                 Printed 11/19/92





GETHOSTBYNAME(3N-BSD)RISC/os Reference ManualETHOSTBYNAME(3N-BSD)



SEE ALSO
     resolver(3), hosts(4), resolv.conf(4).
     named(8) in the System Administrator's Reference Manual.

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.

ERRORS
     All information is contained in a static area so it must be
     copied if it is to be saved.  Only the Internet address for-
     mat is currently understood.

NOTE
     When these routines are used in a program which is compiled
     in -systype svr3, they are not resolved by libc.a.  See
     intro(3) for more information.





























                        Printed 11/19/92                   Page 3



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