gethostbyname

GETHOSTBYNAME(3)          Linux - příručka programátora         GETHOSTBYNAME(3)



JMÉNO
       gethostbyname, gethostbyaddr, sethostent, endhostent, herror - získej
       záznam z databáze počítačů

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() vrací strukturu typu hostent pro zadaný počítač
       name. Doména počítače a jí nadřazené jsou prohledávány pouze tehdy,
       nekončí-li name tečkou.  Pokud name nekončí tečkou a proměnná prostředí
       HOSTALIASES je nastavena, bude prvně prohledáván soubor, na který ukazuje
       proměnná HOSTALIASES.

       Funkce gethostbyaddr() vrací strukturu typu hostent pro počítač, jehož
       adresa addr (délky len a typu type) byla zadána. Jediným platný typem
       adresy je nyní AF_INET.

       Funkce sethostent() specifikuje, je-li stayopen pravdivé (1), že k
       dotazování budou použity spojené TCP sokety a spojení zůstane mezi
       jednotlivými dotazy otevřeno. Jinak budou k dotazování použity UDP
       datagramy.

       Funkce endhostent() ukončí TCP spojení pro dotazy na nameserver.

       Funkce herror() vytiskne chybovou zprávu, která přísluší hodnotě proměnné
       h_errno.

       Funkce gethostbyname() a gethostbyaddr() používají při své činnosti jak
       nameservery named(8), tak soubor /etc/hosts, ale samozřejmě i NIS nebo
       YP, to záleží na pořadí definovaném v /etc/host.conf.  (Viz resolv+(8)).
       Standardně je prvně dotazován named(8) a potom soubor /etc/hosts.

       Struktura hostent je definována v <netdb.h> následovně:

              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 Oficiální jméno počítače.

       h_aliases
              Nulou ukončené pole alternativních jmen počítačů.

       h_addrtype
              Typ adres, v současné době vždy AF_INET.

       h_length
              Délka adresy v bajtech.

       h_addr_list
              Nulou ukončené pole síťových adres počítače v síťovém pořadí dat.

       h_addr První adresa v h_addr_list kvůli zpětné kompatibilitě.

NÁVRATOVÁ HODNOTA
       Funkce gethostbyname() a gethostbyaddr() vrací strukturu hostent nebo
       ukazatel NULL v případě výskytu chyby. Potom je nastavena proměnná
       h_errno.

CHYBY
       Proměnná h_errno může obsahovat následující hodnoty:

       HOST_NOT_FOUND
              Specifikovaný počítač je neznámý.

       NO_ADDRESS
              Jméno je platné, ale nemá žádnou IP adresu.

       NO_RECOVERY
              Došlo k výskytu neodstranitelné chyby nameserveru.

       TRY_AGAIN
              Došlo k dočasné chybě autoritativního nameserveru. Zkuste později.

SOUBORY
       /etc/host.conf
              konfigurační soubor resolveru.

       /etc/hosts
              databáze počítačů.

SPLŇUJE STANDARDY
       BSD 4.3

DALŠÍ INFORMACE
       resolver(3), hosts(5), hostname(7), resolv+ (8), named(8)

VAROVÁNÍ
       Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho
       aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/



BSD                              30. března 1997                GETHOSTBYNAME(3)