man inet_pton (Fonctions bibliothèques) - Créer une structure d'adresse réseau.

NOM

inet_pton - Créer une structure d'adresse réseau.

SYNOPSIS

#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>

int inet_pton(int af, const char * src, void * dst);

DESCRIPTION

Cette fonction convertit la chaîne de caractères src en une structure d'adresse réseau de la famille af, puis copie cette structure dans dst.

La fonction inet_pton(3) étend les possibilités de la fonction inet_addr(3) pour supporter de multiples familles d'adresses. L'utilisation de inet_addr(3) est désormais déconseillée, au profit de la fonction inet_pton(3). Les familles d'adresses suivantes sont dès à présent supportées :

AF_INET
src doit pointer sur une chaîne de caractère contenant une adresse réseau IPv4 au format décimal pointé "ddd.ddd.ddd.ddd". L'adresse est alors convertie en une structure struct in_addr et copiée dans dst, qui doit donc contenir au minimum sizeof(struct in_addr) octets.
AF_INET6
src pointe sur une chaîne de caractères contenant une adresse réseau IPv6 dans un format IPv6 autorisé. L'adresse est convertie en une structure struct in6_addr et copiée dans dst, qui doit donc contenir au moins sizeof(struct in6_addr) octets.

Certains formats hexadécimaux ou octaux légitimes pour les adresses AF_INET ne sont pas supportés par inet_pton, qui les rejettera.

VALEUR RENVOYÉE

inet_pton renvoie une valeur négative et remplit errno avec la valeur EAFNOSUPPORT si af ne contient pas une famille d'adresse valide. Elle renvoie une valeur nulle si src ne contient pas une adresse réseau valide pour la famille indiquée. Enfin, une valeur positive est renvoyée si la conversion a eu lieu avec succès.

VOIR AUSSI

BOGUES

AF_INET6 ne reconnait pas les adresses IPv4. Il faut dans ce cas fournir dans src une adresse IPv4 projetée dans l'espace IPv6

TRADUCTION

Christophe Blaess, 2000-2003.