table of contents
GET_KERNEL_SYMS(2) | Wsparcie dla modułów | 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.
26 grudnia 1996 | Linux |