GET_KERNEL_SYMS(2)

NAZWA
get_kernel_syms - pobranie udostępnionych symboli jądra i modułów

SKŁADNIA
#include <linux/module.h>

int get_kernel_syms(struct kernel_sym *table);

OPIS
Jeśli table jest równe NULL, get_kernel_syms zwraca liczbę symboli dostępnych dla zapytania. W przeciwnym wypadku wypełniana jest tabela struktur:

    struct kernel_sym
    {
      unsigned long value;
      char name[60];
    };

Symbole są przeplatane magicznymi symbolami o postaci #nazwa-modułu gdzie jądru odpowiada pusta nazwa. Wartością związaną z symbolem tej postaci jest adres, pod którym moduł został załadowany.

Symbole udostępniane przez poszczególne moduły następują po magicznych znacznikach modułów, a same moduły są zwracane kolejności odwrotnej do kolejności ich załadowania.

WARTOŚĆ ZWRACANA
Zwraca liczbę zwróconych symboli. Nie ma możliwości wystąpienia błędu.

ZOBACZ TAKŻE
create_module(2), init_module(2), delete_module(2), query_module(2).

BŁĘDY
Nie ma możliwości wskazania rozmiaru bufora przydzielonego dla table. Jeśli po zapytaniu przez program o rozmiar tabeli symboli, zostały dodane do jądra nowe symbole, pamięć może zostać zamazana.

Długość nazw udostępnianych symboli jest ograniczona do 59.

Z powodu powyższych ograniczeń, zamiast tego wywołanie systemowego zalecane jest query_module.