.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1996 Free Software Foundation, Inc. .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" 2006-02-09, some reformatting by Luc Van Oostenryck; some .\" reformatting and rewordings by mtk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH create_module 2 2024\-05\-02 "Страницы руководства Linux 6.9.1" .SH НАИМЕНОВАНИЕ create_module \- создаёт запись загружаемого модуля .SH ОБЗОР .nf \fB#include \fP .P \fB[[deprecated]] caddr_t create_module(const char *\fP\fIname\fP\fB, size_t \fP\fIsize\fP\fB);\fP .fi .SH ОПИСАНИЕ \fINote\fP (примечание): Данный системный вызов доступен только в ядрах до Linux 2.6. .P Системный вызов \fBcreate_module\fP() пытается создать загружаемый модуль и зарезервировать память ядра, которая потребуется для хранения модуля. Для этого системного вызова требуются привилегии. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении возвращается адрес расположения модуля в ядре. В случае ошибки возвращается \-1, а значение \fIerrno\fP является индикатором ошибки. .SH ОШИБКИ .TP \fBEEXIST\fP Модуль с таким наименованием уже существует. .TP \fBEFAULT\fP \fIname\fP (имя) находится вне доступного программного адресного пространства. .TP \fBEINVAL\fP Запрашиваемый размер слишком мал даже для информации в заголовке модуля. .TP \fBENOMEM\fP Ядро не может выделить непрерывный блок памяти, необходимый для модуля. .TP \fBENOSYS\fP \fBcreate_module\fP() не поддерживается в данной версии ядра (например, Linux 2.6 или более поздней). .TP \fBEPERM\fP Вызывающая сторона не имеет привилегий (не имеет прав доступа \fBCAP_SYS_MODULE\fP). .SH СТАНДАРТЫ Linux. .SH ИСТОРИЯ .\" Removed in Linux 2.5.48 Удалён в Linux 2.6. .P Устаревший системный вызов, не поддерживается glibc. В заголовках glibc не поддерживается, но, по странности истории, версии glibc до glibc 2.23 экспортировали ABI для этого системного вызова. Поэтому, чтобы получить данный системный вызов достаточно вручную объявить код интерфейса или же можно вызвать его через \fBsyscall\fP(2). .SH "СМОТРИТЕ ТАКЖЕ" \fBdelete_module\fP(2), \fBinit_module\fP(2), \fBquery_module\fP(2) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Dmitry Bolkhovskikh , Yuri Kozlov и Aleksandr Felda . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .