ETHER_ATON(3)

NOM
ether_aton, ether_ntoa, ether_ntohost, ether_hosttonn, ether_line, ether_ntoa_r, ether_aton_r - Routines de manipulation d'adresses Ethernet

SYNOPSIS
#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);

/* Extensions 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);

DESCRIPTION
ether_aton() convertit une adresse d'hôte Ethernet sur 48 bits asc de la notation standard « hexadécimal et séparateurs deux-points » en données binaire dans l'ordre des octets du réseau et renvoie un pointeur dans un tampon alloué de manière statique, que les appels ultérieurs écraseront. ether_aton() renvoie NULL si l'adresse est invalide.

La fonction ether_ntoa() convertit l'adresse d'hôte Ethernet binaire addr dans l'ordre des octets du réseau en une chaîne dans la notation standard » hexadécimal et deux-points », en omettant les zéros en tête. La chaîne est renvoyée dans un tampon alloué de manière statique, que les appels ultérieurs écraseront.

La fonction ether_ntohost() met en correspondance une adresse Ethernet avec un nom d'hôte trouvé dans /etc/ethers et renvoie une valeur non nulle si elle ne trouve rien.

La fonction ether_hostton() met en correspondance un nom d'hôte et une adresse Ethernet de /etc/ethers et renvoie une valeur non nulle si elle ne trouve rien.

La fonction ether_line() examine une ligne dans le format de /etc/ethers (adresse Ethernet suivi de blancs et d'un nom d'hôte ; « # » introduit un commentaire) et renvoie une paire adresse/nom d'hôte, ou une valeur non nulle si elle ne trouve pas. Le tampon pointé par hostname doit être assez grand, par exemple avoir la même longueur que la ligne line.

Les fonctions ether_ntoa_r() et ether_aton_r() sont les versions réentrantes et sûres en multithreads de ether_ntoa() et ether_aton() respectivement, et n'utilisent pas de tampons statiques.

La structure ether_addr est définie dans <net/ethernet.h> ainsi :

struct ether_addr {
    uint8_t ether_addr_octet[6];
}

CONFORMITÉ
BSD 4.3, SunOS.

BOGUES
L'implémentation de ether_line() dans la glibc 2.2.5 est erronée.

VOIR AUSSI
ethers(5)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 8 juillet 2003 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 ether_aton ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.