GETHOSTBYNOMBRE(3) Manual del Programador de Linux GETHOSTBYNOMBRE(3) NOMBRE gethostbyname, gethostbyaddr, sethostent, endhostent, herror - obtienen una entrada de host de la red SINOPSIS #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); DESCRIPCION La función gethostbyname() retorna una estructura del tipo hostent para el host dado name. El dominio corriente y sus ascendientes son buscados amenos que name termine con un punto. Si name no termina con un punto y la variable de ambiente HOSTALIASES esta asignada, el archivo de alias apuntado por HOSTALIASES puede ser buscado primero por name. La función gethostbyaddr() retorna una estructura del tipo hostent para la dirección de host dada addr de longitud len y de tipo type. El único tipo de dirección válido actualmente es AF_INET. La función sethostent() especifica, si stayopen es true(1), que un conector (socket) TCP debe ser usado pora las preguntas al servidor de nombres y que conector (socket) debe permanecer abierto durante susesivas preguntas. De otro modo, las preguntas al servidor de nombres pueden usar datagramas UDP. La función endhostent() termina el uso de una conexión TCP para las preguntas al servidor de nombres. La función herror() imprime un mensaje de error asociado con el valor corriente de h_errno sobre stderr. Las preguntas al servidos de nombre llevadas a cabo por gethostbyname() y gethostbyaddr() usan una combinación de uno o todos los servidores de nombre named(8), una declaración en /etc/hosts, y/o the Network Information Service (NIS or YP), dependiendo de los contenidos de la línea order en /etc/host.conf. (Vea resolv+(8)). La acción por defecto es preguntar a named(8), seguido por /etc/hosts. La estructura hostent es definida en <netdb.h> como sigue: 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 */ Los miembros de la estructura hostent son: h_name El nombre oficial de un host. h_aliases Una cadena terminada en nulo de los nombre alternativos para el host. h_addrtype El tipo de dirección; siempre AF_INET hasta ahora. h_length La longitud de la dirección en bytes. h_addr_list Una cadena terminada en nulo de la dirección de red del host en network byte order. h_addr La primera dirección en h_addr_list para compatibilidad hacia atrás. VALOR RETORNADO Las funciones gethostbyname() y gethostbyaddr() retornan la estructura hostent o un puntero NULL si un error a ocurrido. En caso de error, la variable h_errno mantiene en número de error. ERRORES La variable h_errno puede tener los siguientes valores: HOST_NOT_FOUND El host especificado es desconocido. NO_ADDRESS El nombre requerido es válido pero no tiene una dirrección IP. NO_RECOVERY Un error no recuperable del servidor de nombres a ocurrido. TRY_AGAIN Un error temporario ocurrido sobre un servidor de nombres autorizado. Intente luego más tarde. FILES /etc/host.conf archivo de configuración del resolvedor /etc/hosts archivo de base de datos de hosts CONFORME A BSD 4.3 VER TAMBIEN resolver(3), hosts(5), hostname(7), resolv+ (8), named(8) BSD Enero 10, 1995 GETHOSTBYNOMBRE(3)