gethostbyname

GETHOSTBYNAME(3)             Bibliotheksfunktionen            GETHOSTBYNAME(3)



NAME
       gethostbyname, gethostbyaddr, sethostent, endhostent, herror - Lesen
       der Netzwerk Rechnereinträge

ÃBERSICHT
       #include <netdb.h>
       extern int h_errno;

       struct hostent *gethostbyname(const char *name);

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

       void sethostent(int stayopen);

       void endhostent(void);

       void herror(const char *s);

BESCHREIBUNG
       Die gethostbyname()-Funktion liefert für den angegebenen Host name
       eine Struktur vom Typ hostent zurück.  Falls name nicht mit einem
       Punkt endet, dann werden die aktuelle und die darüberliegenden Domains
       durchsucht.  Wenn name nicht mit einem Punkt endet und die
       Umgebungsvariable HOSTALIASES gesetzt ist, dann wird zuerst in der
       Alias-Datei auf die HOSTALIASES zeigt nach name gesucht.

       Die gethostbyaddr()-Funktion liefert für die angegebene Adresse addr
       mit der Länge len vom Adresstyp type eine Struktur vom Typ hostent
       zurück. Der z.Zt. einzig gültige Adresstyp ist AF_INET.

       Die sethostent()-Funktion legt fest, falls stayopen wahr (1) ist, daÃ
       eine bestehende TCP-Verbindung für Nameserveranfragen genutzt werden
       soll und daà die Verbindung für die nachfolgenden Anfragen offen
       bleiben soll. Ansonsten werden für Nameserveranfragen UDP-Datagramme
       benutzt.

       Die endhostent()-Funktion beendet die Benutzung einer TCP-Verbindung
       für Namerserveranfragen.

       Die herror()-Funktion gibt die zum aktuellen Wert von h_errno
       gehörende Fehlermeldung auf stderr aus.

       Die Funktionen gethostbyname() und gethostbyaddr() benutzen für ihre
       Anfragen den Nameserver named(8), die Datei /etc/hosts und den Network
       Information Service (NIS oder YP). Was davon und in welcher Reihenfolge
       benutzt wird, bestimmt die order-Zeile in der Datei /etc/host.conf
       Siehe dazu auch resolv+(8) Das Standardverhalten ist zuerst den
       Nameserver zu befragen und danach die Datei /etc/hosts zu durchsuchen.

       Die hostent-Struktur ist in <netdb.h> folgendermassen definiert:

              struct hostent {
                      char    *h_name;        /* Offizieller Name des Rechners */
                      char    **h_aliases;    /* Aliasliste */
                      int     h_addrtype;     /* Host Address Typ */
                      int     h_length;       /* Adresslänge */
                      char    **h_addr_list;  /* Adressliste */
              }
              #define h_addr  h_addr_list[0]  /* für Abwärtskompatibilität */

       Die Felder der hostent-Struktur sind:

       h_name Der Offizielle Name des Rechners.

       h_aliases
              Ein Null-terminiertes Array mit den alternativen Namen des
              Rechner.

       h_addrtype
              Adresstyp, z.Zt. immer AF_INET.

       h_length
              Die Länge der Adresse in Bytes.

       h_addr_list
              Ein Null-terminiertes Array von Netzwerkadressen des Rechners in
              der Netzwerk-Byte-Reihenfolge (network byte order).

       h_addr Die erste Adresse in h_addr_list für Abwärtskompatibilität.

RÃCKGABEWERTE
       Die gethostbyname()-und gethostbyaddr()-Funktionen liefern eine
       hostent-Struktur zurück. Bei einem Fehler wird ein NULL-Zeiger
       zurückgegeben, in diesem Fall enthält die Variable h_errno die
       Fehlernummer.

FEHLER
       Die Variable h_errno kann folgende Werte annehmen.

       HOST_NOT_FOUND
              Der angegebene Rechner ist unbekannt.

       NO_ADDRESS
              Der angegebene Name ist gültig, aber es existiert dazu keine
              IP-Adresse.

       NO_RECOVERY
              Ein nichtbehebbarer Nameserverfehler ist aufgetreten.

       TRY_AGAIN
              Beim zuständigen Nameserver ist ein vorübergehender Fehler
              aufgetreten.  Versuchen Sie es später nochmals.

DATEIEN
       /etc/host.conf
              Konfigurationsdatei des Namenauflösers (resolver).

       /etc/hosts
              Rechnerdatenbankdatei

KONFORM ZU
       BSD 4.3

SIEHE AUCH
       resolver(3), hosts(5), hostname(7), resolv+(8), named(8).



BSD                             April 19, 1993                GETHOSTBYNAME(3)