CREATE_MODULE(2) Podręcznik programisty Linuksa CREATE_MODULE(2)

create_module - tworzy wpis ładowalnego modułu

#include <linux/module.h>
caddr_t create_module(const char *name, size_t size);

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

Note: This system call is present only in kernels before Linux 2.6.

create_module() attempts to create a loadable module entry and reserve the kernel memory that will be needed to hold the module. This system call requires privilege.

On success, returns the kernel address at which the module will reside. On error, -1 is returned and errno is set to indicate the error.

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
Kernel nie mógł przydzielić dostatecznie dużego, ciągłego bloku pamięci by pomieścić moduł.
ENOSYS
create_module() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later).
EPERM
The caller was not privileged (did not have the CAP_SYS_MODULE capability).

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

create_module() is Linux-specific.

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

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

Angielska wersja tej strony pochodzi z wydania 5.11 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/.

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>

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 manpages-pl-list@lists.sourceforge.net.

22 marca 2021 r. Linux