.\" Copyright (C) 1996 Free Software Foundation, Inc. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. .\" %%%LICENSE_END .\" .\" 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. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2006 Akihiro MOTOKI all rights reserved. .\" Translated 2006-07-29, Akihiro MOTOKI .\" .TH CREATE_MODULE 2 2017\-09\-15 Linux "Linux Programmer's Manual" .SH 名前 create_module \- ローダーブルモジュールのエントリーを作成する .SH 書式 .nf \fB#include \fP .PP \fBcaddr_t create_module(const char *\fP\fIname\fP\fB, size_t \fP\fIsize\fP\fB);\fP .fi .PP \fI注意\fP: このシステムコールの宣言は glibc のヘッダーでは提供されていない。「注意」を参照。 .SH 説明 \fI注意\fP: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけである。 .PP \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() がこのバージョンのカーネルではサポートされていない (例えば、カーネルのバージョンが 2.6 以降)。 .TP \fBEPERM\fP 呼び出し元が特権 (\fBCAP_SYS_MODULE\fP ケーパビリティ) を持っていなかった。 .SH バージョン .\" Removed in Linux 2.5.48 このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。 .SH 準拠 \fBcreate_module\fP() は Linux 固有である。 .SH 注意 この廃止されたシステムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は提供されていないが、紆余曲折があり、 バージョン 2.23 より前の glibc ではこのシステムコールに対する ABI が公開されていた。そのため、このシステムコールを利用するには、自分のコードの中で手動でインターフェースを宣言すればよかった。 \fBsyscall\fP(2) を使ってシステムコールを起動できた。 .SH 関連項目 \fBdelete_module\fP(2), \fBinit_module\fP(2), \fBquery_module\fP(2) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \%https://www.kernel.org/doc/man\-pages/ に書かれている。