INIT_MODULE(2) | Linux Module Support | INIT_MODULE(2) |
名前¶
init_module - ローダブルモジュールのエントリを初期化する
書式¶
#include <linux/module.h> int init_module(const char *name, struct module *image);
このマニュアルについて¶
これは、Linux Kernel 2.4 の時代に使われていた modutils パッケージ所収の古いマニュアルです。(2022/12/02, Linux JM Project)
説明¶
init_module は再配置されたモジュールイメージをカーネル空間にロードし、その モジュールの init 関数を実行する。
モジュールイメージは、先頭部分にモジュール構造体が置かれ、その後に適切 なコードとデータが配置される。モジュール構造体の定義を以下に示す:
struct module {
unsigned long size_of_struct;
struct module *next;
const char *name;
unsigned long size;
long usecount;
unsigned long flags;
unsigned int nsyms;
unsigned int ndeps;
struct module_symbol *syms;
struct module_ref *deps;
struct module_ref *refs;
int (*init)(void);
void (*cleanup)(void);
const struct exception_table_entry *ex_table_start;
const struct exception_table_entry *ex_table_end; #ifdef __alpha__
unsigned long gp; #endif };
next と refs 以外の全てのポインタ要素は、 モジュールの本体内部を指し、カーネル空間での適切な値で初期化される (つまりモジュールの残りの部分と共に再配置される)ことが期待される。
このシステムコールを使えるのはユーパーユーザだけである。
返り値¶
成功した場合は 0 が返される。エラーの場合は -1 が返され、errno に適切な値が設定される。
エラー¶
関連項目¶
26 Dec 1996 | Linux 2.1.17 |