Provided by: manpages-ja-dev_0.5.0.0.20180315+dfsg-1_all bug

名前

       create_module - ローダーブルモジュールのエントリーを作成する

書式

       #include <linux/module.h>

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

       注意: この関数の宣言は glibc のヘッダーでは提供されていない。「注意」を参照。

説明

       注意: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけである。

       create_module()   は、ローダーブルモジュールのエントリーを作成し、そのモジュールの保持に必
       要な カーネルメモリーを予約しようとする。 このシステムコールを使うには特権が必要である。

返り値

       成功すると、モジュールが配置されるカーネル空間のアドレスを返す。 エラーの場合 -1  を返し、
       errno を適切に設定する。

エラー

       EEXIST その名前のモジュールがすでに存在する。

       EFAULT name がプログラムがアクセスできるアドレス空間の外部にある。

       EINVAL 要求したサイズが小さすぎて、モジュールのヘッダー情報すら格納できない。

       ENOMEM モジュールを格納するのに必要な大きさの連続したメモリーブロックを カーネルが確保でき
              なかった。

       ENOSYS create_module() がこのバージョンのカーネルではサポートされていない  (例えば、カーネ
              ルのバージョンが 2.6 以降)。

       EPERM  呼び出し元が特権 (CAP_SYS_MODULE ケーパビリティ) を持っていなかった。

バージョン

       このシステムコールが存在するのはカーネル  2.4 までの Linux だけである。 Linux 2.6 では削除
       された。

準拠

       create_module()  は Linux 固有である。

注意

       create_module() システムコールは glibc ではサポートされていない。 glibc ヘッダーでは宣言は
       提供されていないが、  歴史の紆余曲折を経て glibc はこのシステムコールに対する ABI を公開し
       ていない。  したがって、このシステムコールを利用するには、自分のコードの中で手動でインター
       フェースを宣言すればよい。 syscall(2) を使ってシステムコールを起動できる。

関連項目

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

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。