query_module - システムコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- エラー
- 準拠
- 注意
- 関連項目
名前
query_module - モジュールに関連する各種の情報をカーネルに問い合わせる
書式
#include <linux/module.h>
int query_module(const char *name, int which, void *buf, size_t bufsize, size_t *ret);
説明
query_module
()は、ローダブルモジュールに関する情報をカーネルに問い合わせる。
情報は
buf
が指し示すバッファに格納されて返される。
呼び出し元は
buf
のサイズを
bufsize
に指定しなければならない。
得られる情報の正確な意味とフォーマットは、
which
でどの操作を指定するかによって異なる。
現在ロードされているモジュールを特定するために
name
を必要とする操作があれば、
カーネル固有であることを示す NULL を指定できる操作もある。
which
には以下の値を指定できる:
-
0
-
必ず成功を返す。
このシステムコールが利用可能かを調べるために使われる。
-
QM_MODULES
-
ロードされている全てのモジュールの名前を返す。
バッファには、NULL 終端された文字列が順に入る。
返されるバッファ
ret
にはモジュールの数が設定される。
-
QM_DEPS
-
指定されたモジュールが使用している全モジュールの名前を返す。
バッファには、NULL 終端された文字列が順に入る。
返されるバッファ
ret
にはモジュールの数が設定される。
-
QM_REFS
-
指定されたモジュールを使用している全モジュールの名前を返す。
これは
QM_DEPS
と逆の機能である。
バッファには、NULL 終端された文字列が順に入る。
返されるバッファ
ret
にはモジュールの数が設定される。
-
QM_SYMBOLS
-
カーネルまたは指定されたモジュールがエクスポートしているシンボルと
値を返す。
バッファのデータは、
以下の構造体の配列に NULL 終端された文字列が続く形となる。
struct module_symbol {
unsigned long value;
unsigned long name;
};
name
の値は、
buf
の先頭からの文字列までのオフセット文字数である。
ret
にはシンボルの数が設定される。
-
QM_INFO
-
指定されたモジュールに関する様々な情報を返す。
出力バッファのフォーマットは以下の形式となる:
struct module_info {
unsigned long address;
unsigned long size;
unsigned long flags;
};
address
はそのモジュールが配置されているカーネル空間上のアドレス、
size
はそのモジュールのバイト単位のサイズ、
flags
は
MOD_RUNNING
,
MOD_AUTOCLEAN
等のマスクであり、そのモジュールの現在の状態を示す
(カーネルのソースファイル
include/linux/module.h
を参照)。
ret
には
module_info
構造体のサイズが設定される。
返り値
成功の場合 0 が返される。エラーの場合 -1 が返され、
errno
に適切な値が設定される。
エラー
-
EFAULT
-
name
,
buf
,
ret
の少なくとも一つが、プログラムがアクセスできる
アドレス空間の外部であった。
-
EINVAL
-
which
が不正である。あるいは
name
が NULL だが (NULL は "カーネル" を示す)、
which
で指定された値との組み合わせは許可されていない。
-
ENOENT
-
name
という名前のモジュールが存在しない。
-
ENOSPC
-
与えられたバッファの大きさが小さすぎる。
ret
には最小限必要なバッファのサイズが設定される。
準拠
query_module
()は Linux 固有である。
注意
このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。
Linux 2.6 では削除された。
query_module
()で得られた情報のいくつかは、
/proc/modules
,
/proc/kallsyms
,
/sys/modules
から取得できる。
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする