Provided by:
manpages-es_1.55-10_all 
NOMBRE
getipnodebyname, getipnodebyaddr, freehostent - obtiene nombres y
direcciones de host
SINOPSIS
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
struct hostent *getipnodebyname(const char *name,
int af, int flags,
int *error_num);
struct hostent *getipnodebyaddr(const void *addr,
size_t len, int af,
int *error_num);
void freehostent(struct hostent *ip);
DESCRIPCI'ON
Estas funciones estan obsoletas. Use getaddrinfo(3) y getnameinfo(3) en
su lugar.
Las funciones getipnodebyname(3) y getipnodebyaddr(3) devuelven los
nombres y las direcciones de un host. Estas funciones devuelven un
puntero a la siguiente estructura:
struct hostent {
char *h_name;
char **h_aliases;
int h_addrtype;
int h_length;
char **h_addr_list;
};
Estas funciones reemplazan a las funciones gethostbyname(3) y
gethostbyaddr(3) , las cuales solo podian manejar la familia de
direcciones de red IPv4. Las funciones getipnodebyname(3) y
getipnodebyaddr(3) pueden manejar multiples familias de direcciones de
red.
A diferencia de las funciones gethostby , estas funciones devuelven
punteros a memoria reservada dinamicamente. La funcion freehostent(3)
se emplea para liberar la memoria dinamica asignada despues de que el
invocador deje de necesitar la estructura hostent.
par'ametros de getipnodebyname
La funcion getipnodebyname(3) busca direcciones de red para el host
especificado en el parametro name. El parametro af especifica uno de
los siguientes valores:
AF_INET
El parametro name apunta a una direccion IPv4 en formato decimal
con puntos o a un nombre de host IPv4.
AF_INET6
El parametro name apunta a una direccion IPv6 en formato
hexadecimal o a un nombre de host IPv6.
El parametro flags especifica opciones adicionales. Se puede
especificar mas de una opcion mediante una operacion OR logica de todas
ellas. flags deberia contener el valor 0 si no se desean opciones
adicionales.
AI_V4MAPPED
Esta opcion se usa con AF_INET6 para solicitar una consulta de
direcciones IPv4 en lugar de direcciones IPv6; las direcciones
IPv4 seran convertidas a direcciones IPv6.
AI_ALL Esta opcion se usa con AI_V4MAPPED para solicitar una consulta
de direcciones IPv4 y IPv6. Cualquier direccion IPv4 encontrada
se convertira a una direccion IPv6.
AI_ADDRCONFIG
Esta opcion se usa con AF_INET6 para solicitar que las consultas
de direcciones IPv6 no se realicen a menos que el sistema tenga
al menos una direccion IPv6 asignada a una interfaz de red, y
que las consultas de direcciones IPv4 no se realicen a menos que
el sistema tenga al menos una direccion IPv4 asignada a una
interfaz de red. Esta opcion puede usarse aislada o con la
opcion AI_V4MAPPED.
AI_ALL Esta opcion es equivalente a (AI_ADDRCONFIG | AI_V4MAPPED).
par'ametros de getipnodebyaddr
La funcion getipnodebyaddr(3) busca el nombre del host cuya direccion
de red esta especificada en el parametro addr. El parametro af
especifica uno de los siguientes valores:
AF_INET
El parametro addr apunta a una estructura in_addr y len debe
contener el valor sizeof(struct in_addr).
AF_INET6
El parametro addr apunta a una estructura in6_addr y len debe
contener el valor sizeof(struct in6_addr).
VALOR DEVUELTO
Si ocurre un error se devuelve un puntero null, y error_num contendra
un codigo de error de la siguiente lista:
HOST_NOT_FOUND
No se encontro el nombre de host o la direccion de red.
NO_ADDRESS
El servidor de nombres de dominio reconocio la direccion o
nombre de red, pero no devolvio ninguna respuesta. Esto puede
suceder si el host tiene solamente direcciones IPv4 y se realiza
una consulta de direcciones IPv6 solamente, o viceversa.
NO_RECOVERY
El servidor de nombres de dominio devolvio una respuesta de
fallo permanente.
TRY_AGAIN
El servidor de nombres de dominio devolvio una respuesta de
fallo temporal. Puede que tenga mejor suerte la proxima vez.
Una consulta exitosa devuelve un puntero a una estructura hostent que
contiene los siguientes campos:
h_name Nombre oficial del host.
h_aliases
Es un array de punteros a sinonimos no oficiales para el mismo
host. Este array termina en un puntero null.
h_addrtype
Es una copia del parametro af a getipnodebyname(3) o
getipnodebyaddr(3). h_addrtype sera siempre AF_INET si el
parametro af era AF_INET. sera siempre AF_INET6 si el parametro
af era AF_INET6.
h_length
Este campo contendra el valor sizeof(struct in_addr) si
h_addrtype es AF_INET, y el valor sizeof(struct in6_addr) si
h_addrtype es AF_INET6.
h_addr_list
Es un array de uno o mas punteros a estructuras de direcciones
de red para el host. Este array termina en un puntero null.
OBSERVACIONES
Estas funciones han estado presentes en glibc 2.1.91-95, pero fueron
eliminadas de nuevo. Muchos sistemas derivados de Unix las soportan,
pero todos las consideran obsoletas.
CONFORME A
RFC 2553.
V'EASE TAMBI'EN
getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)