get_kernel_syms(2) System Calls Manual get_kernel_syms(2) NAZWA get_kernel_syms - pobiera udostepnione symbole jadra i modulow SKLADNIA #include [[przestarzale]] int get_kernel_syms(struct kernel_sym *table); OPIS Uwaga: To wywolanie systemowe jest obecne tylko przed Linuksem 2.6. Jesli table jest rowne NULL, get_kernel_syms() zwraca liczbe symboli dostepnych dla zapytania. W przeciwnym wypadku wypelniana jest tabela struktur: struct kernel_sym { unsigned long value; char name[60]; }; Symbole sa przeplatane magicznymi symbolami o postaci #nazwa-modulu, gdzie jadru odpowiada pusta nazwa. Wartoscia zwiazana z symbolem tej postaci jest adres, pod ktorym modul zostal zaladowany. Symbole udostepniane przez poszczegolne moduly nastepuja po magicznych znacznikach modulow, a same moduly sa zwracane kolejnosci odwrotnej do kolejnosci ich zaladowania. WARTOSC ZWRACANA W przypadku powodzenia zwracana jest liczba symboli skopiowanych do table. W razie wystapienia bledu zwracane jest -1 i ustawiane jest errno wskazujac blad. BLEDY Istnieje tylko jeden mozliwy powod zwrocenia bledu: ENOSYS get_kernel_syms() nie jest obslugiwane w tej wersji jadra. STANDARDY Linux. HISTORIA Usuniete w Linuksie 2.6. To przestarzale wywolanie systemowe nie jest obslugiwane przez glibc. W naglowkach glibc nie ma jego deklaracji, ale z powodow pewnych zaszlosci historycznych wersje sprzed glibc 2.23 eksportowaly ABI dla tego wywolania systemowego. Z tego powodu, aby go uzyc wystarczylo manualnie zadeklarowac interfejs w swoim kodzie; alternatywnie mozna wywolac to wywolanie systemowe za pomoca syscall(2). USTERKI Nie ma mozliwosci wskazania rozmiaru bufora przydzielonego dla table. Jesli po zapytaniu przez program o rozmiar tabeli symboli zostaly dodane do jadra nowe symbole, pamiec moze zostac zamazana. Dlugosc nazw udostepnianych symboli jest ograniczona do 59 znakow. Z powodu powyzszych ograniczen, to wywolanie systemowe jest przestarzale, zamiast tego wywolania systemowego zalecane jest query_module(2) (ktore dzis rowniez jest uwazane za przestarzale na rzecz innych interfejsow opisanych na stronie podrecznika tego wywolania systemowego). ZOBACZ TAKZE create_module(2), delete_module(2), init_module(2), query_module(2) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. get_kernel_syms(2)