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¶
Uwaga: To wywołanie systemowe jest obecne tylko w jądrach
Linuksa wcześniejszych niż 2.6.
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¶
W przypadku powodzenia zwracana jest liczba symboli skopiowanych do
table. W razie wystąpienia błędu zwracane jest -1
i ustawiana jest odpowiednia wartość zmiennej
errno.
BŁĘDY¶
Istnieje tylko jeden możliwy powód zwrócenia
błędu:
- ENOSYS
- get_kernel_syms() nie jest obsługiwane w tej wersji
jądra.
WERSJE¶
To wywołanie systemowe jest obecne w Linuksie tylko do wersji 2.4
jądra; zostało usunięte w Linuksie 2.6.
ZGODNE Z¶
get_kernel_syms() jest specyficzna dla Linuksa.
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 znaków.
Z powodu powyższych ograniczeń, to wywołanie systemowe jest
przestarzałe, zamiast tego wywołanie systemowego zalecane jest
query_module(2) (które dziś również jest
uważane za przestarzałe na rzecz innych interfejsów
opisanych na stronie podręcznika tego wywołania systemowego).
ZOBACZ TAKŻE¶
create_module(2),
delete_module(2),
init_module(2),
query_module(2)
O STRONIE¶
Angielska wersja tej strony pochodzi z wydania 3.71 projektu Linux
man-pages. Opis projektu, informacje dotyczące zgłaszania
błędów, oraz najnowszą wersję
oryginału można znaleźć pod adresem
http://www.kernel.org/doc/man-pages/.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika man
są: Przemek Borys (PTM) <pborys@dione.ids.pl>, Robert Luberda
<robert@debian.org> i Michał Kułach
<michal.kulach@gmail.com>.
Polskie tłumaczenie jest częścią projektu
manpages-pl; uwagi, pomoc, zgłaszanie błędów na
stronie
http://sourceforge.net/projects/manpages-pl/. Jest zgodne z
wersją
3.71 oryginału.