GETHOSTBYNAME(3) Linux - prirucka programatora GETHOSTBYNAME(3)
JMENO
gethostbyname, gethostbyaddr, sethostent, endhostent, herror - ziskej
zaznam z databaze pocitacu
SYNTAXE
#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);
POPIS
Funkce gethostbyname() vraci strukturu typu hostent pro zadany pocitac
name. Domena pocitace a ji nadrazene jsou prohledavany pouze tehdy,
nekonci-li name teckou. Pokud name nekonci teckou a promenna prostredi
HOSTALIASES je nastavena, bude prvne prohledavan soubor, na ktery uka-
zuje promenna HOSTALIASES.
Funkce gethostbyaddr() vraci strukturu typu hostent pro pocitac, jehoz
adresa addr (delky len a typu type) byla zadana. Jedinym platny typem
adresy je nyni AF_INET.
Funkce sethostent() specifikuje, je-li stayopen pravdive (1), ze k
dotazovani budou pouzity spojene TCP sokety a spojeni zustane mezi jed-
notlivymi dotazy otevreno. Jinak budou k dotazovani pouzity UDP datag-
ramy.
Funkce endhostent() ukonci TCP spojeni pro dotazy na nameserver.
Funkce herror() vytiskne chybovou zpravu, ktera prislusi hodnote
promenne h_errno.
Funkce gethostbyname() a gethostbyaddr() pouzivaji pri sve cinnosti jak
nameservery named(8), tak soubor /etc/hosts, ale samozrejme i NIS nebo
YP, to zalezi na poradi definovanem v /etc/host.conf. (Viz
resolv+(8)). Standardne je prvne dotazovan named(8) a potom soubor
/etc/hosts.
Struktura hostent je definovana v <netdb.h> nasledovne:
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 */
}
#define h_addr h_addr_list[0] /* for backward compatibility */
Prvky struktury hostent jsou:
h_name Oficialni jmeno pocitace.
h_aliases
Nulou ukoncene pole alternativnich jmen pocitacu.
h_addrtype
Typ adres, v soucasne dobe vzdy AF_INET.
h_length
Delka adresy v bajtech.
h_addr_list
Nulou ukoncene pole sitovych adres pocitace v sitovem poradi
dat.
h_addr Prvni adresa v h_addr_list kvuli zpetne kompatibilite.
NAVRATOVA HODNOTA
Funkce gethostbyname() a gethostbyaddr() vraci strukturu hostent nebo
ukazatel NULL v pripade vyskytu chyby. Potom je nastavena promenna
h_errno.
CHYBY
Promenna h_errno muze obsahovat nasledujici hodnoty:
HOST_NOT_FOUND
Specifikovany pocitac je neznamy.
NO_ADDRESS
Jmeno je platne, ale nema zadnou IP adresu.
NO_RECOVERY
Doslo k vyskytu neodstranitelne chyby nameserveru.
TRY_AGAIN
Doslo k docasne chybe autoritativniho nameserveru. Zkuste
pozdeji.
SOUBORY
/etc/host.conf
konfiguracni soubor resolveru.
/etc/hosts
databaze pocitacu.
SPLNUJE STANDARDY
BSD 4.3
DALSI INFORMACE
resolver(3), hosts(5), hostname(7), resolv+ (8), named(8)
BSD 30. brezna 1997 GETHOSTBYNAME(3)