Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       inet_pton  -  Convertir  des  adresses IPv4 et IPv6 sous forme texte en
       forme binaire

SYNOPSIS

       #include <arpa/inet.h>

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

DESCRIPTION

       Cette fonction convertit la chaine de caracteres src en  une  structure
       d'adresse  reseau de la famille af, puis copie cette structure dans dst
       .L'argument af doit etre soit AF_INET soit AF_INET6.

       Les familles d'adresses suivantes sont des a present supportees :

       AF_INET
              src pointe sur une chaine de  caractere  contenant  une  adresse
              reseau IPv4 au format decimal pointe ddd.ddd.ddd.ddd, ou ddd est
              un  nombre  decimal,  contenant  jusqu'a  trois  chiffres,  dans
              l'intervalle  0  a  255.  L'adresse  est  alors convertie en une
              structure struct in_addr et  copiee  dans  dst,  qui  doit  donc
              contenir au minimum sizeof(struct in_addr) (4) octets (32 bits).

       AF_INET6
              src  pointe  sur  une chaine de caracteres contenant une adresse
              reseau IPv6. L'adresse est convertie  en  une  structure  struct
              in6_addr  et  copiee  dans  dst, qui doit donc contenir au moins
              sizeof(struct in6_addr)  (16)  octets  (128 bits).  Les  formats
              d'adresse IPv6 autorises suivent les regles suivantes :

              1. Le  format  prefere est x:x:x:x:x:x:x:x. Cette forme consiste
                 en 8 nombres hexadecimaux, chacun d'entre eux  exprimant  une
                 valeur  sur  16 bits (c'est-a-dire que chaque x peut contenir
                 jusqu'a 4 symboles hexadecimaux).

              2. Une serie de zeros contigus dans la forme preferee peut  etre
                 abregee  en ::. Une seule instance de :: peut apparaitre dans
                 une adresse. Par exemple, l'adresse de boucle 0:0:0:0:0:0:0:1
                 peut   etre  abregee  en  ::1.  L'adresse  joker,  constituee
                 uniquement de zeros, peut etre ecrite comme ::.

              3. Un  autre  format  utile  pour  exprimer  des  adresses  IPv4
                 projetees  dans l'espace IPv6 est x:x:x:x:x:x:d.d.d.d, ou les
                 six x de tete sont des valeurs hexadecimales qui  definissent
                 les  6  mots 16 bits de poids fort de l'adresse (c'est-a-dire
                 96 bits), et les d expriment une valeur en notation  decimale
                 pointee definissant les 32 bits de poids faible de l'adresse.
                 Un exemple d'une telle adresse est ::FFFF:204.152.189.116.

              Consultez la RFC 2373 pour plus de details sur la representation
              des adresses IPv6.

VALEUR RENVOY'EE

       inet_pton() renvoie 1 si elle reussit (l'adresse reseau a ete convertie
       avec succes). Elle renvoie une valeur nulle si src ne contient pas  une
       adresse  reseau valable pour la famille indiquee. Si af ne contient pas
       de  famille  d'adresse  valable,  -1  est  renvoye  et  errno  contient
       EAFNOSUPPORT.

CONFORMIT'E

       POSIX.1-2001.

NOTES

       Contrairement  a  inet_aton(3)  et  inet_addr(3),  inet_pton() gere les
       adresses IPv6. D'un autre cote, inet_pton() n'accepte que les  adresses
       IPv4   en   notation   decimale   pointee  alors  que  inet_aton(3)  et
       inet_addr(3) autorisent la notation  plus  generale  numerique  pointee
       (formats  a  nombre  hexadecimaux  et  octaux,  de meme que les formats
       n'exigeant pas que les 4 octets soient explicitement ecrits). Pour  une
       interface  gerant  les  adresses  IPv6  et  IPv4  en notation numerique
       pointee, consultez getaddrinfo(3).

BOGUES

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

EXEMPLE

       Le   programme   suivant  montre  une  utilisation  de  inet_pton()  et
       inet_ntop(3). Voici quelques exemples d'execution :

           $ ./a.out i6 0:0:0:0:0:0:0:0
           ::
           $ ./a.out i6 1:0:0:0:0:0:0:8
           1::8
           $ ./a.out i6 0:0:0:0:0:FFFF:204.152.189.116
           ::ffff:204.152.189.116

   Source du programme

       #include <arpa/inet.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>

       int
       main(int argc, char *argv[])
       {
           unsigned char buf[sizeof(struct in6_addr)];
           int domain, s;
           char str[INET6_ADDRSTRLEN];

           if (argc != 3) {
               fprintf(stderr, "Usage: %s {i4|i6|<num>} string\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           domain = (strcmp(argv[1], "i4") == 0) ? AF_INET :
                    (strcmp(argv[1], "i6") == 0) ? AF_INET6 : atoi(argv[1]);

           s = inet_pton(domain, argv[2], buf);
           if (s <= 0) {
               if (s == 0)
                   fprintf(stderr, "Not in presentation format");
               else
                   perror("inet_pton");
               exit(EXIT_FAILURE);
           }

           if (inet_ntop(domain, buf, str, INET6_ADDRSTRLEN) == NULL) {
               perror("inet_ntop");
               exit(EXIT_FAILURE);
           }

           printf("%s\n", str);

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       getaddrinfo(3), inet(3), inet_ntop(3)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

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

       Veuillez  signaler  toute  erreur   de   traduction   en   ecrivant   a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.