| Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
#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);
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. |
| 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. | |
| /etc/host.conf | |
| Konfigurationsdatei des Namenauflösers (resolver). | |
| /etc/hosts | |
| Rechnerdatenbankdatei | |
| April 19, 1993 | GETHOSTBYNAME (3) | BSD |
| Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.
| “ | The most horrifying thing about Unix is that, no matter how many times you hit yourself over the head with it, you never quite manage to lose consciousness. It just goes on and on. | ” |
| — Patrick Sobalvarro | ||