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

NOM

       inet_aton,    inet_addr,    inet_network,   inet_ntoa,   inet_makeaddr,
       inet_lnaof, inet_netof - Routines de manipulation d'adresses Internet

SYNOPSIS

       #include <sys/socket.h>
       #include <netinet/in.h>
       #include <arpa/inet.h>

       int inet_aton(const char *cp, struct in_addr *inp);

       in_addr_t inet_addr(const char *cp);

       in_addr_t inet_network(const char *cp);

       char *inet_ntoa(struct in_addr in);

       struct in_addr inet_makeaddr(int net, int host);

       in_addr_t inet_lnaof(struct in_addr in);

       in_addr_t inet_netof(struct in_addr in);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       inet_aton(), inet_ntoa() : _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       inet_aton()  convertit  l'adresse  Internet  de  l'hote  cp  depuis  la
       notation IPv4 avec nombres et  points  vers  une  forme  binaire  (dans
       l'ordre  d'octet du reseau), et la stocke dans la structure pointee par
       inp. inet_aton() renvoie une valeur non nulle si l'adresse est  valide,
       et  zero  sinon.  L'adresse  fournie  a  cp peut avoir l'une des formes
       suivantes :

       a.b.c.d   Chacune des quatre parties numeriques represente un octet  de
                 l'adresse ;  ces octets sont assignes de gauche a droite pour
                 produire l'adresse binaire.

       a.b.c     Les parties a et b representent les deux premiers  octets  de
                 l'adresse  binaire.  La  partie  c  est interpretee comme une
                 valeur 16 bits definissant les deux octets les plus a  droite
                 de  l'adresse  binaire.  Cette  notation  est pertinente pour
                 indiquer (demode) des adresses de reseaux de classe B.

       a.b       La partie a represente le premier octet de l'adresse binaire.
                 La   partie  b  est  interpretee  comme  une  valeur  24 bits
                 definissant les trois octets les plus a droite  de  l'adresse
                 binaire. Cette notation est pertinente pour indiquer (demode)
                 des adresses de reseaux de classe C.

       a         La  valeur  a  est  interpretee  comme  une  valeur   24 bits
                 directement  enregistree  dans  l'adresse binaire, sans aucun
                 reajustement d'octet.

       Dans toutes les formes  precedentes,  les  elements  d'une  adresse  en
       notation  pointee  peuvent  etre  indiques  sous forme decimale, octale
       (avec un 0 devant) ou hexadecimale (avec un 0X devant). La terminologie
       des  adresses  sous  ces  formes est appelee notation num'erique point'ee
       IPv4. La forme qui  utilise  exactement  quatre  nombres  decimaux  est
       appelee  notation  d'ecimale  point'ee  IPV4 (ou quelques fois : notation
       quadrupl'ee point'ee IPv4).

       La fonction inet_addr()  convertit  l'adresse  Internet  de  l'hote  cp
       depuis  la  notation  IPv4 avec nombres et points en une donnee binaire
       dans  l'ordre  des  octets  du  reseau.  Si  l'adresse  est   invalide,
       INADDR_NONE  (generalement  -1)  est  renvoye.  L'utilisation  de cette
       fonction   pose   probleme   car   -1   est   une    adresse    valable
       (255.255.255.255).  Evitez-la au profit de inet_aton(), inet_pton(3) ou
       getaddrinfo(3) qui fournissent un renvoi d'erreur plus propre.

       La  fonction  inet_network()  convertit  cp,  une  chaine  en  notation
       numerique  pointee IPv4, en un nombre dans l'ordre des octets de l'hote
       qui pourra etre utilise comme  adresse  de  reseau  Internet.  Si  elle
       reussit, cette fonction renvoie l'adresse convertie. Si l'adresse n'est
       pas valable, -1 est renvoye.

       La fonction inet_ntoa()  convertit  l'adresse  Internet  de  l'hote  in
       donnee  dans  l'ordre  des octets du reseau en une chaine de caracteres
       dans la notation numerique pointee. La  chaine  est  renvoyee  dans  un
       tampon alloue statiquement, qui est donc ecrase a chaque appel.

       La fonction inet_lnaof() renvoie la partie correspondant a l'adresse du
       reseau local d'une adresse Internet in. La  valeur  est  renvoyee  dans
       l'ordre des octets de l'hote.

       La  fonction  inet_netof()  renvoie  la  partie adresse reseau extraite
       d'une adresse Internet in. La valeur  est  renvoyee  dans  l'ordre  des
       octets de l'hote.

       La   fonction   inet_makeaddr()   est   la   reciproque  des  fonctions
       inet_netof() et inet_lnaof(). Elle renvoie une adresse d'hote  Internet
       dans l'ordre des octets du reseau, en combinant le numero du reseau net
       et l'adresse locale host, chacun d'eux etant  donne  dans  l'ordre  des
       octets de l'hote.

       La   structure  in_addr  utilisee  dans  inet_ntoa(),  inet_makeaddr(),
       inet_lnaof() et inet_netof() est definie ainsi dans <netinet/in.h> :

           typedef uint32_t in_addr_t;

           struct in_addr {
               in_addr_t s_addr;
           };

CONFORMIT'E

       BSD 4.3. inet_addr() et inet_ntoa() sont specifiees dans  POSIX.1-2001.
       inet_aton()  n'est pas specifiee dans POSIX.1-2001, mais est disponible
       sur la plupart des systemes.

NOTES

       L'ordre des octets des machines i386 est  << LSB >>  (poids  faible  en
       premier,  << little  endian >>),  alors  que  l'ordre  des  octets  sur
       internet est << MSB >> (poids fort en premier ou << big endian >>).

       inet_lnaof(),  inet_netof()  et  inet_makeaddr()  sont  des   fonctions
       heritees  qui  supposent  qu'elles  traitent  des  adresses  de classes
       canoniques. Les sous-reseaux de classes canoniques divisent  la  partie
       reseau  et  la  partie  hote des adresses IPv4 sur des limites d'octets
       comme suit :

       Classe A  Ce type d'adresse est indique par la valeur 0 du bit de poids
                 fort  (dans  l'ordre  des  octets  du  reseau)  de l'adresse.
                 L'adresse du reseau est contenue dans l'octet de  poids  fort
                 et l'adresse de l'hote dans les trois octets restants.

       Classe B  Ce  type  d'adresse est indique par la valeur binaire 10 dans
                 les deux bits de poids fort de l'adresse. L'adresse du reseau
                 est  contenue dans les deux octets de poids fort et l'adresse
                 de l'hote dans les deux octets restants.

       Classe C  Ce type d'adresse est indique par la valeur binaire 110  dans
                 les  trois  bits  de  poids  fort  de l'adresse. L'adresse du
                 reseau est contenue dans les trois octets de  poids  fort  et
                 l'adresse de l'hote dans l'octet restant.

       La  classification  des  adresses  reseaux  est  aujourd'hui  obsolete,
       supplantee par le  << Classless  Inter-Domain  Routing  (CIDR) >>,  qui
       scinde  les  adresses  en  elements  reseau  et  hote sur une frontiere
       arbitraire en bit (plutot qu'en octet).

EXEMPLE

       Ci-dessous,  un  exemple  de  l'utilisation  de   inet_aton()   et   de
       inet_ntoa(). Voici des exemples d'execution :

           $ ./a.out 226.000.000.037      # Last byte is in octal
           226.0.0.31
           $ ./a.out 0x7f.1               # First byte is in hex
           127.0.0.1

   Source du programme

       #define _BSD_SOURCE
       #include <arpa/inet.h>
       #include <stdio.h>
       #include <stdlib.h>

       int
       main(int argc, char *argv[])
       {
           struct in_addr addr;

           if (argc != 2) {
               fprintf(stderr, "%s <dotted-address>\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           if (inet_aton(argv[1], &addr) == 0) {
               perror("inet_aton");
               exit(EXIT_FAILURE);
           }

           printf("%s\n", inet_ntoa(addr));
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       byteorder(3),    getaddrinfo(3),    gethostbyname(3),   getnameinfo(3),
       getnetent(3), inet_ntop(3), inet_pton(3), hosts(5), networks(5)

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> >>.