Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       if_nameindex, if_freenameindex - Obtenir le nom et l'indice des interfaces réseau

SYNOPSIS

       #include <net/if.h>

       struct if_nameindex *if_nameindex(void);
       void if_freenameindex(struct if_nameindex *ptr);

DESCRIPTION

       La  fonction  if_nameindex()  renvoie  un  tableau  de  structures if_nameindex, contenant
       chacune des informations au sujet  d'une  des  interfaces  réseau  du  système  local.  La
       structure if_nameindex contient au moins les champs suivants :

               unsigned int if_index; /* indice de l'interface (1, 2, etc.) */
               char        *if_name;  /* nom terminé par un caractère nul ("eth0", etc.) */

       Le  champ  if_index contient l'indice de l'interface. Le champ ifa_name pointe vers le nom
       de l'interface, donné par une chaîne terminée par un caractère nul. La fin du tableau  est
       indiquée par une entrée dont les champs if_index et ifa_name valent respectivement 0 et le
       pointeur NULL.

       La donnée renvoyée par if_nameindex() est dynamiquement allouée et  devrait  être  libérée
       avec if_freenameindex() lorsqu'elle n'est plus utilisée.

VALEUR RENVOYÉE

       En  cas  de réussite, if_nameindex() renvoie un pointeur vers le tableau. En cas d'erreur,
       elle renvoie un pointeur NULL et errno est rempli avec le code d'erreur.

ERREURS

       if_nameindex() peut échouer et remplir errno si :

       ENOBUFS
              les ressources disponibles sont insuffisantes.

       getifaddrs()  peut aussi échouer  pour les  erreurs  précisées  pour  socket(2),  bind(2),
       getsockname(2), recvmsg(2), sendto(2) ou malloc(3).

VERSIONS

       getifaddrs()  est  apparue dans la glibc 2.1. Les versions antérieures à la glibc 2.3.4 ne
       géraient que les interfaces avec des adresses IPv4. La gestion des  interfaces  qui  n'ont
       pas d'adresse IPv4 n'est disponible que si le noyau gère netlink.

CONFORMITÉ

       RFC 3493, POSIX.1-2001.

       Cette fonction est d'abord apparue dans BSDi.

EXEMPLE

       Le programme ci-dessous montre l'utilisation des fonctions décrites dans cette page. Voici
       un exemple de sortie que ce programme peut produire :

           $ ./a.out
           1: lo
           2: wlan0
           3: em1

   Source du programme
       #include <net/if.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <unistd.h>

       int
       main(int argc, char *argv[])
       {
           struct if_nameindex *if_ni, *i;

           if_ni = if_nameindex();
           if (if_ni == NULL) {
               perror("if_nameindex");
               exit(EXIT_FAILURE);
           }

           for (i = if_ni; ! (i->if_index == 0 && i->if_name == NULL); i++)
               printf("%u: %s\n", i->if_index, i->if_name);

           if_freenameindex(if_ni);

           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       getsockopt(2),   setsockopt(2),   getifaddrs(3),   if_indextoname(3),   if_nametoindex(3),
       ifconfig(8)

COLOPHON

       Cette  page  fait partie de la publication 3.65 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

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

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

       Vous  pouvez  toujours  avoir  accès  à la version anglaise de ce document en utilisant la
       commande « man -L C <section> <page_de_man> ».