QUERY_MODULE
Section: Linux Module Support (2)
Updated: 26 Dec 1996
Index
JM Home Page
roff page
名前
query_module - モジュールに関連する各種の情報をカーネルに問い合わせる
書式
#include <linux/module.h>
int query_module(const char *name, int which,
void *buf, size_t bufsize, size_t *ret);
このモジュールについて
これは、Linux Kernel 2.4 の時代に使われていた modutils
パッケージ所収の古いマニュアルです。(2022/12/02, Linux JM Project)
説明
query_module
は、ローダブルモジュールに関連する情報をカーネルに問い合わせる。情報の
フォーマットと正確な意味は、副関数 which によって異なる。
現在ロードされているモジュールを指すために name を必要とする関数
もあるし、カーネル固有であることを示すために name に NULL
を指定できるものもある。
引き数 which の値
- 0
-
必ず成功を返す。システムコールを調べるために使われる。
- QM_MODULES
-
ロードされている全てのモジュールの名前を返す。出力バッファのフォーマット
は、NULL で終端する文字列を並べたものである。モジュールの数が
ret にセットされる。
- QM_DEPS
-
指定されたモジュールが使っている全てのモジュール名を返す。出力バッファ
のフォーマットは、NULL で終端する文字列を並べたものである。モジュール
の数が ret にセットされる。
- QM_REFS
-
指定されたモジュールを使っている全てのモジュール名を返す。これは
QM_DEPS と逆の機能である。出力バッファのフォーマットは、NULL で
終端する文字列を並べたものである。モジュールの数が ret にセット
される。
- QM_SYMBOLS
-
カーネルまたは指定されているモジュールがエクスポートしているシンボルと
値を返す。バッファのフォーマットは、以下の構造体
-
struct module_symbol
{
unsigned long value;
unsigned long name;
};
の配列に NULL で終端する文字列を続けたものである。name の値は
buf の先頭から文字列までのオフセット文字数である。
ret にはシンボルの数がセットされる。
- QM_INFO
-
指定されたモジュールに関する様々な情報を返す。出力バッファのフォーマット
を以下に示す:
-
struct module_info
{
unsigned long address;
unsigned long size;
unsigned long flags;
};
ここで address は、そのモジュールが常駐しているカーネル空間上の
アドレスであり、size はモジュールの大きさ(単位はバイト)である。
また flags は MOD_RUNNING, MOD_AUTOCLEAN 等のマスク
であり、モジュールの現在の状態を示している。ret には
module_info 構造体の大きさが返される。
返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、errno
に適切な値が設定される。
エラー
- ENOENT
-
name という名前のモジュールが存在しない。
- EINVAL
-
which が不正である。あるいは name が不適切なカーネルの副関数
を指定している。
- ENOSPC
-
用意されたバッファの大きさが小さすぎる。ret には必要最小限のバッ
ファのサイズが設定される。
- EFAULT
-
name, buf, ret の少なくともいずれかが、プログラムが
アクセスできるアドレス空間の外部であった。
関連項目
create_module(2), init_module(2), delete_module(2)
Index
- 名前
-
- 書式
-
- このモジュールについて
-
- 説明
-
- 引き数 which の値
-
- 返り値
-
- エラー
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:44 GMT, November 24, 2023