Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       if_nameindex, if_freenameindex - obțin numele și indicii interfețelor de rețea

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <net/if.h>

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

DESCRIERE

       Funcția  if_nameindex()  returnează  o  matrice  de  structuri if_nameindex, fiecare conținând informații
       despre una dintre interfețele de rețea de pe sistemul local.  Structura if_nameindex  conține  cel  puțin
       următoarele intrări:

           unsigned int if_index; /* Indicele interfeței (1, 2, ...) */
           char        *if_name;  /* Nume cu terminație nulă („eth0”, etc.) */

       Câmpul  if_index conține indexul interfeței.  Câmpul if_name indică numele interfeței cu terminație nulă.
       Sfârșitul matricei este indicat de intrarea cu if_index fixat la zero și if_name fixat la NULL.

       Structura de date returnată  de  if_nameindex()  este  alocată  dinamic  și  trebuie  eliberată  folosind
       if_freenameindex() atunci când nu mai este necesară.

VALOAREA RETURNATĂ

       În caz de succes, if_nameindex() returnează indicatorul la matrice; în caz de eroare, se returnează NULL,
       iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       if_nameindex() poate eșua și configura errno dacă:

       ENOBUFS
              Resurse disponibile insuficiente.

       if_nameindex()  poate  eșua,  de  asemenea,  pentru  oricare dintre erorile specificate pentru socket(2),
       bind(2), ioctl(2), getsockname(2), recvmsg(2), sendto(2), sau malloc(3).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ if_nameindex(), if_freenameindex()                                      │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       POSIX.1-2008, RFC 3493.

ISTORIC

       glibc 2.1.  POSIX.1-2001.  BSDi.

       Înainte de glibc 2.3.4, implementarea suporta doar interfețe cu adrese IPv4.  Suportul interfețelor  care
       nu au adrese IPv4 este disponibil numai pe nucleele care suportă netlink.

EXEMPLE

       Programul  de  mai  jos  demonstrează  utilizarea  funcțiilor  descrise  pe această pagină. Un exemplu de
       rezultat pe care acest program îl poate produce este următorul:

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

   Sursa programului
       #include <net/if.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <unistd.h>

       int
       main(void)
       {
           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);
       }

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                  if_nameindex(3)