Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       create_module - tworzy wpis ładowalnego modułu

SKŁADNIA

       #include <linux/module.h>

       [[przestarzałe]] caddr_t create_module(const char *name, size_t size);

OPIS

       Uwaga: To wywołanie systemowe jest obecne tylko przed Linuksem 2.6.

       create_module()  próbuje  utworzyć  wpis  ładowalnego  modułu i zarezerwować pamięć jądra,
       której moduł będzie wymagał. Ta funkcja wymaga uprzywilejowania.

WARTOŚĆ ZWRACANA

       W przypadku powodzenia, zwraca adres z przestrzeni jądra, pod którym znajduje się moduł. W
       przypadku błędu zwracane jest -1 i ustawiane jest errno wskazując błąd.

BŁĘDY

       EEXIST Moduł o takiej nazwie już istnieje.

       EFAULT name jest poza dostępną przestrzenią adresową.

       EINVAL Żądany rozmiar jest zbyt mały, nawet na informacje z nagłówka modułu.

       ENOMEM Jądro  nie  mogło  przydzielić  dostatecznie  dużego,  ciągłego  bloku  pamięci  by
              pomieścić moduł.

       ENOSYS create_module() nie jest obsługiwane w tej wersji jądra (np. Linux 2.6 lub wyższy)

       EPERM  Wywołujący nie był  uprzywilejowany  (nie  posiadał  przywileju  (ang.  capability)
              CAP_SYS_MODULE).

STANDARDY

       Linux.

HISTORIA

       Usunięte w Linuksie 2.6.

       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 sprzed  glibc
       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

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

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony  podręcznika  są:  Przemek  Borys
       <pborys@dione.ids.pl> 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⟩.