NÉV
get_kernel_syms − exportált kernel és modul szimbólumokat ad vissza
ÁTTEKINTÉS
#include <linux/module.h>
int get_kernel_syms(struct kernel_sym *table);
LEÍRÁS
A table értéke NULL, akkor a get_kernel_syms visszaadja a lekérdezhető szimbólumok számát. Különben kitölt egy ilyen struktúrákból álló táblázatot:
struct
kernel_sym
{
unsigned long value;
char name[60];
};
A szimbólumok #modulnév formájú mágikus szimbólumokkal vannak keverve ahol a kernel üres nevet tárol. Az ilyen formájú szimbólumokhoz társított érték az a cím, ahová a modul be van töltve.
Minden modulban az exportált szimbólumok követik a mágikus modul tagot, és a modulok a betöltés fordított sorrendjében lesznek tárolva.
VISSZATÉRÉSI ÉRTÉK
Megadja a visszadott szimbólumok számát. Nincs hibajelzés.
LÁSD MÉG
create_module(2), init_module(2), delete_module(2), query_module(2).
PROGRAMHIBÁK
Nincs rá mód, hogy a table számára lefoglalt terület méretét jelezzük. Ha azóta, hogy a program lekérdezte a szimbólumtábla méretét, szimbólumok adódtak a kernelhez, akkor a memóriatartalom sérül.
Az exportált szimbólum nevek hosszának felső korlátja 59.
Ezek miatt a korlátok miatt ez a rendszerhívás ritkán használt, helyette a query_module ajánlott.
MAGYAR FORDÍTÁS
Böszörményi Zoltán <zboszor [AT] mail.hu>