zion - ether_atonNom
ether_aton, ether_ntoa, ether_ntohost, ether_hosttonn, ether_line, ether_ntoa_r, ether_aton_r - Routines de manipulation d'adresses Ethernet.
Résumé
.nf #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 ); .fi
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 buffer 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 Etherne 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 buffer alloué de manière statique, que les appels ultérieurs écraseront.
La fonction ether_ntohost() met en correspondance une adresse Ethernet en un nom d'hôte trouvé dans /etc/ethers et renvoie une valeur non-nulle si elle ne trouve pas.
La fonction ether_ntohost() met en correspondance un nom d'hôte et une adresse Ethernet dans /etc/ethers et renvoie une valeur non-nulle si elle ne trouve pas.
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 buffer 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 des versions réentrantes et sûres en multi-threads de ether_ntoa et ether_aton respectivement, et n'utilisent pas de buffers statiques.
La structure ether_addr est définie dans net/ethernet.h ainsi :
| .nf .ta 8n 16n struct ether_addr { u_int8_t ether_addr_octet[6]; } .ta .fi |
Bugs
L'implémentation de ether_line() dans la GlibC 2.2.5 est erronée.
Conformité
BSD 4.3, SunOS
Voir aussi
ethers (5)
Traduction
Christophe Blaess, 2003.
Poster un commentaire
Se connecter
Inscription
Mot de passe perdu
Programmation
Droit
Vidéo
Social
Google