DOKK / manpages / debian 12 / manpages-pl-dev / get_kernel_syms.2.pl
get_kernel_syms(2) System Calls Manual get_kernel_syms(2)

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

#include <linux/module.h>
[[deprecated]] int get_kernel_syms(struct kernel_sym *table);

Note: This system call is present only before Linux 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.

On success, returns the number of symbols copied to table. On error, -1 is returned and errno is set to indicate the error.

Istnieje tylko jeden możliwy powód zwrócenia błędu:

get_kernel_syms() nie jest obsługiwane w tej wersji jądra.

To wywołanie systemowe jest obecne w Linuksie tylko do wersji 2.4 jądra; zostało usunięte w Linuksie 2.6.

get_kernel_syms() jest specyficzna dla Linuksa.

This obsolete system call is not supported by glibc. No declaration is provided in glibc headers, but, through a quirk of history, glibc versions before glibc 2.23 did export an ABI for this system call. Therefore, in order to employ this system call, it was sufficient to manually declare the interface in your code; alternatively, you could invoke the system call using syscall(2).

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).

create_module(2), delete_module(2), init_module(2), query_module(2)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

4 grudnia 2022 r. Linux man-pages 6.03