inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_lnaof, inet_netof - Routines de manipulation d'adresses Internet.
inet_aton() convertit l'adresse Internet de l'hôte
cp depuis la
notation standard avec nombres et points en une donnée binaire, et la
stocke dans la structure pointée par
inp.
inet_aton renvoie une
valeur non nulle si l'adresse est valide, et zéro sinon.
La fonction
inet_addr() convertit l'adresse Internet de l'hôte
cp
depuis la notation standard avec nombres et points en une donnée binaire dans
l'ordre des octets du réseau. Si l'adresse est invalide, INADDR_NONE
(généralement -1) est renvoyé.
Ceci est une interface
obsolète pour la fonction
inet_aton,
décrite ci-dessus, car -1 est une adresse valide (255.255.255.255),
et
inet_aton utilise un renvoi d'erreur plus propre.
La fonction
inet_network() extrait la partie réseau de
l'adresse
cp fournie dans la notation avec nombres et points, et
renvoie cette valeur dans l'ordre des octets de l'hôte. Si l'adresse
est invalide, -1 est renvoyé.
La fonction
inet_ntoa() convertit l'adresse Internet de l'hôte
in donne dans l'ordre des octets du réseau en une chaîne de caractères
dans la notation avec nombres et points. La chaine est renvoyée dans un buffer
alloué statiquement, qui est donc écrasé à chaque appel.
La fonction
inet_makeaddr() crée une adresse d'hôte Internet dans
l'ordre des octets du réseau, en combinant le numéro du réseau
net
et l'adresse locale
host, chacun d'eux étant donné dans l'ordre des
octets de l'hôte.
La fonction
inet_lnaof() renvoie la partie adresse locale extraite d'une
adresse Internet
in. L'adresse locale est renvoyée dans l'ordre des
octets de l'hôte.
La fonction
inet_netof() renvoie la partie adresse réseau extraite d'une
adresse Internet
in. Le numéro de réseau est renvoyé dans l'ordre des
octets de l'hôte.
La structure
in_addr utilisée dans
inet_ntoa(),
inet_makeaddr(),
inet_lnoaf() et
inet_netof()
est définie ainsi dans
netinet/in.h :
-
struct in_addr {
unsigned long int s_addr;
}
Notez que l'ordre des octets des i80x86 est LSB (poids faible en premier),
alors que l'ordre des octets sur l'Internet est MSB (poids fort en premier).
Christophe Blaess, 1996-2003.