tail head cat sleep
QR code linking to this page

Manpage  — GETHOSTBYNAME

BEZEICHUNG

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

INHALT

Ü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) [Englisch], 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) [Englisch], resolv+(8), named(8) [Englisch].

April 19, 1993 GETHOSTBYNAME (3) BSD

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.

Never write it in C if you can do it in `awk';
Never do it in `awk' if `sed' can handle it;
Never use `sed' when `tr' can do the job;
Never invoke `tr' when `cat' is sufficient;
Avoid using `cat' whenever possible.
— Taylor's Laws of Programming