Provided by: manpages-pl-dev_0.7-1_all bug

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

       Uwaga:  W  nagłówkach glibc nie udostępnia się deklaracji tego wywołania systemowego, zob.
       UWAGI.

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

UWAGI

       To  przestarzałe  wywołanie systemowe nie jest obsługiwane przez glibc. W nagłówkach glibc
       nie ma jego deklaracji, ale z powodów pewnych zaszłości historycznych wersje  glibc  przed
       2.23  eksportowały  ABI  dla  tego  wywołania  systemowego.  Z  tego  powodu,  aby go użyć
       wystarczyło manualnie zadeklarować interfejs w swoim kodzie; alternatywnie  można  wywołać
       to wywołanie systemowe za pomocą syscall(2).

ZOBACZ TAKŻE

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

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  4.07  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów, oraz najnowszą  wersję  oryginału  można
       znaleźć pod adresem https://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ą    4.07
       oryginału.