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ÓN
Estas funciones están 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 sólo podían
manejar la familia de direcciones de red IPv4. Las funciones getipnodebyname(3) y getipnodebyaddr(3)
pueden manejar múltiples familias de direcciones de red.
A diferencia de las funciones gethostby , estas funciones devuelven punteros a memoria reservada
dinámicamente. La función freehostent(3) se emplea para liberar la memoria dinámica asignada después de
que el invocador deje de necesitar la estructura hostent.
parámetros de getipnodebyname
La función getipnodebyname(3) busca direcciones de red para el host especificado en el parámetro name.
El parámetro af especifica uno de los siguientes valores:
AF_INET
El parámetro name apunta a una dirección IPv4 en formato decimal con puntos o a un nombre de host
IPv4.
AF_INET6
El parámetro name apunta a una dirección IPv6 en formato hexadecimal o a un nombre de host IPv6.
El parámetro flags especifica opciones adicionales. Se puede especificar más de una opción mediante una
operación OR lógica de todas ellas. flags debería contener el valor 0 si no se desean opciones
adicionales.
AI_V4MAPPED
Esta opción se usa con AF_INET6 para solicitar una consulta de direcciones IPv4 en lugar de
direcciones IPv6; las direcciones IPv4 serán convertidas a direcciones IPv6.
AI_ALL Esta opción se usa con AI_V4MAPPED para solicitar una consulta de direcciones IPv4 y IPv6.
Cualquier dirección IPv4 encontrada se convertirá a una dirección IPv6.
AI_ADDRCONFIG
Esta opción 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 dirección 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
dirección IPv4 asignada a una interfaz de red. Esta opción puede usarse aislada o con la opción
AI_V4MAPPED.
AI_ALL Esta opción es equivalente a (AI_ADDRCONFIG | AI_V4MAPPED).
parámetros de getipnodebyaddr
La función getipnodebyaddr(3) busca el nombre del host cuya dirección de red está especificada en el
parámetro addr. El parámetro af especifica uno de los siguientes valores:
AF_INET
El parámetro addr apunta a una estructura in_addr y len debe contener el valor sizeof(struct
in_addr).
AF_INET6
El parámetro 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 contendrá un código de error de la siguiente
lista:
HOST_NOT_FOUND
No se encontró el nombre de host o la dirección de red.
NO_ADDRESS
El servidor de nombres de dominio reconoció la dirección o nombre de red, pero no devolvió ninguna
respuesta. Ésto 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 devolvió una respuesta de fallo permanente.
TRY_AGAIN
El servidor de nombres de dominio devolvió una respuesta de fallo temporal. Puede que tenga mejor
suerte la próxima 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 sinónimos no oficiales para el mismo host. Este array termina en un
puntero null.
h_addrtype
Es una copia del parámetro af a getipnodebyname(3) o getipnodebyaddr(3). h_addrtype será siempre
AF_INET si el parámetro af era AF_INET. será siempre AF_INET6 si el parámetro af era AF_INET6.
h_length
Este campo contendrá 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 más 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ÉASE TAMBIÉN
getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)
Linux Man Page 3 abril 2002 getipnodebyname(3)