create_module(2)

ИМЯ
create_module - создать элемент загружаемого модуля

СИНТАКСИС
#include <linux/module.h>

[[deprecated]] caddr_t create_module(const char *name, size_t size);

ОПИСАНИЕ
Note: This system call is present only before Linux 2.6.

create_module() пытается создать элемент загружаемого модуля и зарезервировать память ядра, которая необходима для хранения модуля. Данный системный вызов требует особых прав.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
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
    Модуль с таким именем уже существует.

EFAULT
    name вне доступного программного адресного пространства.

EINVAL
    Запрашиваемый размер мал даже для информационного заголовка модуля.

ENOMEM
    Ядро не может выделить непрерывный блок памяти, необходимый для модуля.

ENOSYS
    create_module() is not supported in this version of the kernel (e.g., Linux 2.6 or later).

EPERM
    Вызывающий не имеет прав (не имеет мандата CAP_SYS_MODULE).

ВЕРСИИ
This system call is present only up until Linux 2.4; it was removed in Linux 2.6.

СТАНДАРТЫ
create_module() есть только в Linux.

ЗАМЕЧАНИЯ
This obsolete system call is not supported by glibc. No declaration is provided in glibc headers, but, through a quirk of history, glibc versions before glibc 2.23 did export an ABI for this system call. Therefore, in order to employ this system call, it was sufficient to manually declare the interface in your code; alternatively, you could invoke the system call using syscall(2).

СМ. ТАКЖЕ
delete_module(2), init_module(2), query_module(2)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.