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

GNU                                             21 novembre 2012                                 IF_NAMEINDEX(3)