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).
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) <[email protected]>, Robert Luberda <[email protected]> i Michał Kułach <[email protected]>.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.