CREATE_MODULE(2)

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

書式
#include <linux/module.h>

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

説明
注意: このシステムコールが存在するのは、カーネル 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 固有である。

関連項目
delete_module(2), init_module(2), query_module(2)

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