| 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 important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. | ” |
| — Donald Knuth | ||