table of contents
ETHER_ATON(3) | Manual del Programador de Linux | 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¶
20 julio 2002 | BSD |