get_kernel_syms(2) System Calls Manual get_kernel_syms(2) NUME get_kernel_syms - recupereaza simbolurile exportate de nucleu i module REZUMAT #include [[depreciat]] int get_kernel_syms(struct kernel_sym *table); DESCRIERE Nota: Acest apel de sistem este prezent numai inainte de Linux 2.6. Daca table este NULL, get_kernel_syms() returneaza numarul de simboluri disponibile pentru consultare. In caz contrar, se completeaza un tabel de structuri: struct kernel_sym { unsigned long value; char name[60]; }; Simbolurile sunt intercalate cu simboluri magice de forma #numele-modulului, nucleul avand un nume gol. Valoarea asociata cu un simbol de aceasta forma este adresa la care este incarcat modulul. Simbolurile exportate din fiecare modul urmeaza eticheta modulului magic, iar modulele sunt returnate in ordinea inversa celei in care au fost incarcate. VALOAREA RETURNATA In caz de succes, se returneaza numarul de simboluri copiate in table. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. ERORI-IEIRE Exista doar o singura eroare de returnare posibila: ENOSYS get_kernel_syms() nu este acceptata in aceasta versiune a nucleului. STANDARDE Linux. ISTORIC Eliminat in Linux 2.6. Acest apel de sistem invechit nu este admis de glibc. In antetele glibc nu este furnizata nicio declaraie, dar, printr-o ciudaenie a istoriei, versiunile glibc anterioare glibc 2.23 au exportat un ABI pentru acest apel de sistem. Prin urmare, pentru a utiliza acest apel de sistem, era suficient sa declarai manual interfaa in codul dumneavoastra; alternativ, ai putea invoca apelul de sistem utilizand syscall(2). ERORI Nu exista nicio modalitate de a indica dimensiunea memoriei tampon alocate pentru table. In cazul in care au fost adaugate simboluri in kernel de cand programul a consultat dimensiunea tabelului de simboluri, memoria va fi corupta. Lungimea numelor de simboluri exportate este limitata la 59 de caractere. Din cauza acestor limitari, acest apel de sistem este depreciat in favoarea lui query_module(2) (care la randul sau este in prezent depreciat in favoarea altor interfee descrise pe pagina sa de manual). CONSULTAI I create_module(2), delete_module(2), init_module(2), query_module(2) 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.06 31 octombrie 2023 get_kernel_syms(2)