table of contents
get_kernel_syms(2) | System Calls Manual | get_kernel_syms(2) |
NUME¶
get_kernel_syms - recuperează simbolurile exportate de nucleu și module
SINOPSIS¶
#include <linux/module.h>
[[depreciat]] int get_kernel_syms(struct kernel_sym *table);
DESCRIERE¶
Notă: Acest apel de sistem este prezent numai înainte de Linux 2.6.
Dacă table este NULL, get_kernel_syms() returnează numărul de simboluri disponibile pentru consultare. În caz contrar, se completează un tabel de structuri:
struct kernel_sym {
unsigned long value;
char name[60]; };
Simbolurile sunt intercalate cu simboluri magice de forma #numele-modulului, nucleul având un nume gol. Valoarea asociată cu un simbol de această formă este adresa la care este încărcat modulul.
Simbolurile exportate din fiecare modul urmează eticheta modulului magic, iar modulele sunt returnate în ordinea inversă celei în care au fost încărcate.
VALOAREA RETURNATö
În caz de succes, se returnează numărul de simboluri copiate în table. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
ERORI-IEȘIRE¶
Există doar o singură eroare de returnare posibilă:
- ENOSYS
- get_kernel_syms() nu este acceptată în această versiune a nucleului.
STANDARDE¶
Linux.
ISTORIC¶
Eliminat în Linux 2.6.
Acest apel de sistem învechit nu este admis de glibc. În antetele glibc nu este furnizată nicio declarație, dar, printr-o ciudățenie 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 să declarați manual interfața în codul dumneavoastră; alternativ, ați putea invoca apelul de sistem utilizând syscall(2).
ERORI¶
Nu există nicio modalitate de a indica dimensiunea memoriei tampon alocate pentru table. În cazul în care au fost adăugate simboluri în kernel de când programul a consultat dimensiunea tabelului de simboluri, memoria va fi coruptă.
Lungimea numelor de simboluri exportate este limitată la 59 de caractere.
Din cauza acestor limitări, acest apel de sistem este depreciat în favoarea lui query_module(2) (care la rândul său este în prezent depreciat în favoarea altor interfețe descrise pe pagina sa de manual).
CONSULTAȚI ȘI¶
create_module(2), delete_module(2), init_module(2), query_module(2)
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.
2 mai 2024 | Pagini de manual Linux (nepublicate) |