getipnodebyname(3)

NOMBRE
getipnodebyname, getipnodebyaddr, freehostent - obtiene nombres y direcciones de equipo

BIBLIOTECA
Biblioteca Estándar C (libc, -lc)

SINOPSIS
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>

[[a extinguir]] struct hostent *getipnodebyname(const char *name, int af,
                                            int flags, int *error_num);
[[a extinguir]] struct hostent *getipnodebyaddr(size_t size;
                                            const void addr[tamaño],
                                            size_t tamaño, int af,
                                            int *error_num);
[[a extinguir]] void freehostent(struct hostent *ip);

DESCRIPCIÓN
Estas funciones están obsoletas y tampoco están disponibles en glibc. Use getaddrinfo(3) y getnameinfo(3) en su lugar.

Las funciones getipnodebyname() y getipnodebyaddr() 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() y getipnodebyaddr() 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() 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() busca las direcciones de red del equipo definido por el argumento nombre. El argumento af especifica uno de los siguientes valores:

AF_INET
    El argumento nombre apunta a una dirección IPv4 de cuatro puntos o al nombre de un equipo de red IPv4.

AF_INET6
    El argumento nombre apunta a una dirección IPv6 hexadecimal o al nombre de un equipo de red IPv6.

El argumento flags define opciones adicionales. Se puede indicar más de una opción mediante la operación OR bit a bit. flags debe establecerse en 0 si no se desean opciones.

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_DEFAULT
    Esta opción es equivalente a (AI_ADDRCONFIG | AI_V4MAPPED).

  parámetros de getipnodebyaddr()
La función getipnodebyaddr() busca el nombre del equipo cuya dirección de red se especifica mediante el argumento addr. El argumento af define uno de los siguientes valores:

AF_INET
    El argumento addr apunta a una struct in_addr y tamaño debe establecerse en sizeof(struct in_addr).

AF_INET6
    El argumento addr apunta a una struct in6_addr y tamaño debe establecerse en sizeof(struct in6_addr).

VALOR DEVUELTO
Se devuelve NULL si se produjo un error, e 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
    Esta es una copia del argumento af para getipnodebyname() o getipnodebyaddr(). h_addrtype siempre será AF_INET si el argumento af era AF_INET. h_addrtype siempre será AF_INET6 si el argumento 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.

ESTÁNDARES
Ninguno.

HISTORIAL
RFC 2553.

Presente en glibc 2.1.91-95, pero eliminado de nuevo. Varios sistemas tipo UNIX lo admiten, pero todos lo consideran obsoleto.

VÉASE TAMBIÉN
getaddrinfo(3), getnameinfo(3), inet_ntop(3), inet_pton(3)

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es> y Marcos Fouces <marcos@debian.org>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.