ETHER_ATON(3)

NOMBRE
ether_aton, ether_ntoa, ether_ntohost, ether_hosttonn, ether_line, ether_ntoa_r, ether_aton_r - rutinas de manipulación de direcciones Ethernet

SINOPSIS
#include <netinet/ether.h>

char *
ether_ntoa(const struct ether_addr *addr);

struct ether_addr *
ether_aton(const char *asc);

int
ether_ntohost(char *hostname, const struct ether_addr *addr);

int
ether_hostton(const char *hostname, struct ether_addr *addr);

int
ether_line(const char *line, struct ether_addr *addr,
    char *hostname);

/* extensiones de GNU */
char *
ether_ntoa_r(const struct ether_addr *addr, char *buf);

struct ether_addr *
ether_aton_r(const char *asc, struct ether_addr *addr);

DESCRIPCIÓN
ether_aton() convierte la dirección de host Ethernet de 48 bits asc en la notación estándar de dígitos-hexadecimales-y-puntos a datos binarios en el orden de bytes de la red y devuelve un puntero a éstos en un buffer reservado estáticamente, que será sobreescrito por llamadas posteriores. ether_aton devuelve NULL si la dirección no es válida.

La función ether_ntoa() convierte la dirección de host Ethernet addr dada en el orden de bytes de la red a una cadena en la notación estándar de dígitos-hexadecimales-y-puntos, omitiendo los ceros del principio. La cadena se devuelve en almacenamiento estático, que será sobreescrito por llamadas posteriores.

La función ether_ntohost() asocia una dirección Ethernet con su correspondiente nombre de host en /etc/ethers y devuelve un valor distinto de cero si no se encontró ninguna correspondencia.

La función ether_hostton() asocia un nombre de host con su correspondiente dirección Ethernet en /etc/ethers y devuelve un valor distinto de cero si no se encontró ninguna correspondencia.

La función ether_line() analiza una línea con el formato de /etc/ethers (dirección ethernet seguida de espacios y seguida por el nombre de host; '#' introduce un comentario) y devuelve un par dirección - nombre de host, o un valor distinto de cero si no pudo ser analizada. El buffer apuntado por hostname debe ser suficientemente grande, p.e., tener la misma longitud que line.

Las funciones ether_ntoa_r y ether_aton_r son versiones reentrantes e hilo-seguro de ether_ntoa y ether_aton respectivamente, y no usan buffers estáticos.

La estructura ether_addr está definida en net/ethernet.h como:

    struct ether_addr {
      u_int8_t ether_addr_octet[6];
    }

FALLOS
La implementación de glibc 2.2.5 de ether_line() no funciona correctamente.

CONFORME A
BSD 4.3, SunOS

VÉASE TAMBIÉN
ethers(5)