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)

Linux Man Page                                    3 abril 2002                                getipnodebyname(3)