1. NOM

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

2. SYNOPSIS

 
Sélectionnez
#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);

3. 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 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é statiquement, 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 aucune correspondance.

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 et nom d'hôte, ou une valeur non nulle si le fichier ne peut être lu. 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 multithread sûres 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 :

 
Sélectionnez
struct ether_addr {
    uint8_t ether_addr_octet[6];
}

4. ATTRIBUTS

4.1. Multithreading (voir pthreads(7))

Les fonctions ether_aton() et ether_ntoa() ne sont pas sûres dans un contexte multithread.

Les fonctions ether_ntohost(), ether_hostton(), ether_line(), ether_ntoa_r() et ether_aton_r() sont sûres dans un contexte multithread.

5. CONFORMITÉ

4.3BSD, SunOS.

6. BOGUES

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

7. VOIR AUSSI

ethers(5)

8. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à < >.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».