GET_KERNEL_SYMS(2)

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@mail.externet.hu>