Provided by: manpages-es_1.55-10_all bug

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)