> Linux Reviews > man >

gethostbyname

Funkce B() P a Bgethostbyaddr() P vrací strukturu


  1. gethostbyname.3.man


1. gethostbyname.3.man

Manpage of GETHOSTBYNAME

GETHOSTBYNAME

Section: Linux - příručka programátora (3)
Updated: 30. března 1997
Index Return to Main Contents
 

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)


 

Index

JMÉNO
SYNTAXE
POPIS
NÁVRATOVÁ HODNOTA
CHYBY
SOUBORY
SPLŇUJE STANDARDY
DALŠÍ INFORMACE

This document was created by man2html using the manual pages.
Time: 17:34:01 GMT, October 23, 2013

SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - pl