if_nameindex(3) Library Functions Manual if_nameindex(3) NUME if_nameindex, if_freenameindex - obin numele i indicii interfeelor de reea BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include struct if_nameindex *if_nameindex(void); void if_freenameindex(struct if_nameindex *ptr); DESCRIERE Funcia if_nameindex() returneaza o matrice de structuri if_nameindex, fiecare coninand informaii despre una dintre interfeele de reea de pe sistemul local. Structura if_nameindex conine cel puin urmatoarele intrari: unsigned int if_index; /* Indicele interfeei (1, 2, ...) */ char *if_name; /* Nume cu terminaie nula (,,eth0", etc.) */ Campul if_index conine indexul interfeei. Campul if_name indica numele interfeei cu terminaie nula. Sfaritul matricei este indicat de intrarea cu if_index fixat la zero i if_name fixat la NULL. Structura de date returnata de if_nameindex() este alocata dinamic i trebuie eliberata folosind if_freenameindex() atunci cand nu mai este necesara. VALOAREA RETURNATA In caz de succes, if_nameindex() returneaza indicatorul la matrice; in caz de eroare, se returneaza NULL, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE if_nameindex() poate eua i configura errno daca: ENOBUFS Resurse disponibile insuficiente. if_nameindex() poate eua, 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 explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |if_nameindex(), if_freenameindex() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE POSIX.1-2008, RFC 3493. ISTORIC glibc 2.1. POSIX.1-2001. BSDi. Inainte de glibc 2.3.4, implementarea suporta doar interfee cu adrese IPv4. Suportul interfeelor care nu au adrese IPv4 este disponibil numai pe nucleele care suporta netlink. EXEMPLE Programul de mai jos demonstreaza utilizarea funciilor descrise pe aceasta pagina. Un exemplu de rezultat pe care acest program il poate produce este urmatorul: $ ./a.out; 1: lo 2: wlan0 3: em1 Sursa programului #include #include #include #include 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); } CONSULTAI I getsockopt(2), setsockopt(2), getifaddrs(3), if_indextoname(3), if_nametoindex(3), ifconfig(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 17 mai 2025 if_nameindex(3)