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

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

Linux                                          15 września 2017 r.                            GET_KERNEL_SYMS(2)