Provided by: manpages-es_1.55-3_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)