Provided by: manpages-cs_0.18.20090209-3_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/