Provided by: manpages-pl-dev_4.15.0-9_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

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

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.

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

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  5.13  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  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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.