1 .\" Copyright (C) 1996 Free Software Foundation, Inc.
2 .\" This file is distributed accroding to the GNU General Public License.
3 .\" See the file COPYING in the top level source directory for details.
5 .\" Japanese Version Copyright (c) 1997,1999 HANATAKA Shinya and FUJIWARA Teruyoshi
6 .\" all rights reserved.
7 .\" Translated Sat Aug 30 14:17:18 JST 1997
8 .\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
9 .\" Merged with another translation Sun Aug 15 10:37:42 JST 1999
10 .\" by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
12 .\"WORD: loadable module ローダブルモジュール
14 .TH QUERY_MODULE 2 "26 Dec 1996" "Linux 2.1.17" "Linux Module Support"
16 query_module \- モジュールに関連する各種の情報をカーネルに問い合わせる
19 .B #include <linux/module.h>
21 \fBint query_module(const char *\fIname\fB, int \fIwhich\fB,
22 void *\fIbuf\fB, size_t \fIbufsize\fB, size_t *\fIret\fB);
25 これは、Linux Kernel 2.4 の時代に使われていた modutils
26 パッケージ所収の古いマニュアルです。(2022/12/02, Linux JM Project)
29 は、ローダブルモジュールに関連する情報をカーネルに問い合わせる。情報の
30 フォーマットと正確な意味は、副関数 \fIwhich\fP によって異なる。
31 現在ロードされているモジュールを指すために \fIname\fP を必要とする関数
32 もあるし、カーネル固有であることを示すために \fIname\fP に \fBNULL\fP
38 必ず成功を返す。システムコールを調べるために使われる。
41 ロードされている全てのモジュールの名前を返す。出力バッファのフォーマット
42 は、NULL で終端する文字列を並べたものである。モジュールの数が
46 指定されたモジュールが使っている全てのモジュール名を返す。出力バッファ
47 のフォーマットは、NULL で終端する文字列を並べたものである。モジュール
48 の数が \fIret\fP にセットされる。
51 指定されたモジュールを使っている全てのモジュール名を返す。これは
52 \fBQM_DEPS\fP と逆の機能である。出力バッファのフォーマットは、NULL で
53 終端する文字列を並べたものである。モジュールの数が \fIret\fP にセット
57 カーネルまたは指定されているモジュールがエクスポートしているシンボルと
58 値を返す。バッファのフォーマットは、以下の構造体
69 の配列に NULL で終端する文字列を続けたものである。\fIname\fP の値は
70 \fIbuf\fP の先頭から文字列までのオフセット文字数である。
71 \fIret\fP にはシンボルの数がセットされる。
75 指定されたモジュールに関する様々な情報を返す。出力バッファのフォーマット
82 unsigned long address;
88 ここで \fIaddress\fP は、そのモジュールが常駐しているカーネル空間上の
89 アドレスであり、\fIsize\fP はモジュールの大きさ(単位はバイト)である。
90 また \fIflags\fP は \fBMOD_RUNNING\fP, \fBMOD_AUTOCLEAN\fP 等のマスク
91 であり、モジュールの現在の状態を示している。\fIret\fP には
92 \fBmodule_info\fP 構造体の大きさが返される。
95 成功した場合は 0 が返される。エラーの場合は \-1 が返され、\fIerrno\fP
100 \fIname\fP という名前のモジュールが存在しない。
103 \fIwhich\fP が不正である。あるいは \fIname\fP が不適切なカーネルの副関数
107 用意されたバッファの大きさが小さすぎる。\fIret\fP には必要最小限のバッ
111 \fIname\fP, \fIbuf\fP, \fIret\fP の少なくともいずれかが、プログラムが
112 アクセスできるアドレス空間の外部であった。
114 .BR create_module "(2), " init_module "(2), " delete_module "(2)