Provided by: manpages-cs_0.17.20080113-1_all bug

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/