dwww Home | Manual pages | Find package

inet(3)                    Library Functions Manual                    inet(3)

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

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

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);

       [[deprecated]] char *inet_ntoa(struct in_addr in);

       struct in_addr inet_makeaddr(in_addr_t net, in_addr_t 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 fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       inet_aton(), inet_ntoa():
           Since glibc 2.19:
               _DEFAULT_SOURCE
           In glibc up to and including 2.19:
               _BSD_SOURCE || _BSD_SOURCE

DESCRIPTION
       inet_aton()  convertit  l'adresse Internet de l'hôte cp depuis la nota-
       tion IPv4 avec nombres et points vers une forme binaire  (dans  l'ordre
       d'octet  du  réseau),  et  la stocke dans la structure pointée par inp.
       inet_aton() renvoie une valeur non nulle si l'adresse est  valable,  et
       zéro  sinon.  L'adresse  fournie  à cp peut avoir l'une des formes sui-
       vantes :

       a.b.c.d   Chacune des quatre parties numériques représente un octet  de
                 l'adresse ;  ces octets sont assignés de gauche à droite pour
                 produire l'adresse binaire.

       a.b.c     Les parties a et b représentent les deux premiers  octets  de
                 l'adresse  binaire. La partie c est interprétée comme une va-
                 leur 16 bits définissant les deux octets les plus à droite de
                 l'adresse  binaire.  Cette notation est pertinente pour indi-
                 quer (démodé) des adresses de réseaux de classe B.

       a.b       La partie a représente le premier octet de l'adresse binaire.
                 La partie b est interprétée comme une valeur 24 bits définis-
                 sant les trois octets les plus à droite de l'adresse binaire.
                 Cette  notation  est  pertinente  pour  indiquer (démodé) des
                 adresses de réseaux de classe A.

       a         La valeur a est interprétée comme une valeur 32 bits directe-
                 ment enregistrée dans l'adresse binaire, sans aucun réajuste-
                 ment d'octet.

       Dans toutes les formes précédentes, les éléments d'une adresse en nota-
       tion pointée peuvent être indiqués sous forme décimale, octale (avec un
       0 devant) ou hexadécimale (avec un  0X  devant).  La  terminologie  des
       adresses  sous  ces formes est appelée notation numérique pointée IPv4.
       La forme qui utilise exactement quatre nombres décimaux est appelée no-
       tation  décimale  pointée  IPV4 (ou quelques fois : notation quadruplée
       pointée IPv4).

       inet_aton() renvoie 1 si la chaîne fournie a été interprétée  correcte-
       ment ou 0 si la chaîne n’est pas valable (errno n’est pas défini en cas
       d’erreur).

       La fonction inet_addr() convertit l'adresse Internet de l'hôte  cp  de-
       puis la notation IPv4 avec nombres et points en une donnée binaire dans
       l'ordre des octets du réseau. Si l'adresse est incorrecte,  INADDR_NONE
       (généralement  -1)  est  renvoyé.  L'utilisation de cette fonction pose
       problème car -1 est une adresse valable (255.255.255.255). Évitez-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 chaîne en  notation  numé-
       rique  pointée IPv4, en un nombre dans l'ordre des octets de l'hôte qui
       pourra être utilisé comme adresse de réseau Internet. Si elle  réussit,
       cette  fonction renvoie l'adresse convertie. Si l'adresse n'est pas va-
       lable, -1 est renvoyé.

       La fonction inet_ntoa() convertit l'adresse Internet de l'hôte in  don-
       née  dans l'ordre des octets du réseau en une chaîne de caractères dans
       la notation numérique pointée. La chaîne est renvoyée  dans  un  tampon
       alloué statiquement, qui est donc écrasé à chaque appel.

       La fonction inet_lnaof() renvoie la partie correspondant à l'adresse du
       réseau local d'une adresse Internet in. La  valeur  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. La valeur est renvoyée dans l'ordre des  oc-
       tets de l'hôte.

       La  fonction  inet_makeaddr()  est la réciproque des fonctions inet_ne-
       tof() et inet_lnaof(). Elle renvoie 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.

       The   structure   in_addr  as  used  in  inet_ntoa(),  inet_makeaddr(),
       inet_lnaof(), and inet_netof()  is defined in <netinet/in.h> as:

           typedef uint32_t in_addr_t;

           struct in_addr {
               in_addr_t s_addr;
           };

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌──────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │inet_aton(), inet_addr(),     │ Sécurité des threads │ MT-Safe locale │
       │inet_network(), inet_ntoa()   │                      │                │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │inet_makeaddr(),              │ Sécurité des threads │ MT-Safe        │
       │inet_lnaof(), inet_netof()    │                      │                │
       └──────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS
       inet_addr(), inet_ntoa(): POSIX.1-2001, POSIX.1-2008, 4.3BSD.

       inet_aton()  is not specified in POSIX.1, but is available on most sys-
       tems.

NOTES
       On x86 architectures, the host byte order  is  Least  Significant  Byte
       first  (little  endian), whereas the network byte order, as used on the
       Internet, is Most Significant Byte first (big endian).

       inet_lnaof(), inet_netof() et inet_makeaddr() sont des fonctions  héri-
       tées  qui  supposent  qu'elles  traitent  des adresses de classes cano-
       niques. Les sous-réseaux de classes canoniques divisent la  partie  ré-
       seau et la partie hôte des adresses IPv4 sur des limites d'octets comme
       suit :

       Classe A  Ce type d'adresse est indiqué par la valeur 0 du bit de poids
                 fort  (dans  l'ordre  des  octets  du  réseau)  de l'adresse.
                 L'adresse du réseau est contenue dans l'octet de  poids  fort
                 et l'adresse de l'hôte dans les trois octets restants.

       Classe B  Ce  type  d'adresse est indiqué par la valeur binaire 10 dans
                 les deux bits de poids fort de l'adresse. L'adresse du réseau
                 est  contenue dans les deux octets de poids fort et l'adresse
                 de l'hôte dans les deux octets restants.

       Classe C  Ce type d'adresse est indiqué par la valeur binaire 110  dans
                 les  trois  bits de poids fort de l'adresse. L'adresse du ré-
                 seau est contenue dans les trois  octets  de  poids  fort  et
                 l'adresse de l'hôte dans l'octet restant.

       La  classification  des adresses réseaux est aujourd'hui obsolète, sup-
       plantée par le « Classless Inter-Domain Routing  (CIDR) »,  qui  scinde
       les adresses en éléments réseau et hôte sur une frontière arbitraire en
       bit (plutôt qu'en octet).

EXEMPLES
       Ci-dessous, un exemple  de  l'utilisation  de  inet_aton()  et  de  in-
       et_ntoa(). Voici des exemples d'exécution :

           $ ./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 _DEFAULT_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) {
               fprintf(stderr, "Adresse incorrecte\n");
               exit(EXIT_FAILURE);
           }

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

VOIR AUSSI
       byteorder(3),  getaddrinfo(3),  gethostbyname(3),  getnameinfo(3), get-
       netent(3), inet_net_pton(3), inet_ntop(3), inet_pton(3), hosts(5), net-
       works(5)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe  Gué-
       rard  <fevrier@tigreraye.org>,  Jean-Luc  Coulon (f5ibh) <jean-luc.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org> et David Prévot <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la        GNU        General       Public       License       version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant  les  conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03   7 janvier 2023                         inet(3)

Generated by dwww version 1.15 on Sat Jun 29 01:41:25 CEST 2024.