OSDN Git Service

modutils: add notices telling that this package is obsolete.
[linuxjm/jm.git] / manual / modutils / release / man2 / query_module.2
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.
4 .\"
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>
11 .\"
12 .\"WORD:        loadable module         ローダブルモジュール
13 .\"
14 .TH QUERY_MODULE 2 "26 Dec 1996" "Linux 2.1.17" "Linux Module Support"
15 .SH 名前
16 query_module \- モジュールに関連する各種の情報をカーネルに問い合わせる
17 .SH 書式
18 .nf
19 .B #include <linux/module.h>
20 .sp
21 \fBint query_module(const char *\fIname\fB, int \fIwhich\fB,
22 void *\fIbuf\fB, size_t \fIbufsize\fB, size_t *\fIret\fB);
23 .fi
24 .SH このモジュールについて
25 これは、Linux Kernel 2.4 の時代に使われていた modutils
26 パッケージ所収の古いマニュアルです。(2022/12/02, Linux JM Project)
27 .SH 説明
28 .B query_module
29 は、ローダブルモジュールに関連する情報をカーネルに問い合わせる。情報の
30 フォーマットと正確な意味は、副関数 \fIwhich\fP によって異なる。
31 現在ロードされているモジュールを指すために \fIname\fP を必要とする関数
32 もあるし、カーネル固有であることを示すために \fIname\fP に \fBNULL\fP 
33 を指定できるものもある。
34
35 .SS "引き数 which の値"
36 .TP
37 .B 0
38 必ず成功を返す。システムコールを調べるために使われる。
39 .TP
40 .B QM_MODULES
41 ロードされている全てのモジュールの名前を返す。出力バッファのフォーマット
42 は、NULL で終端する文字列を並べたものである。モジュールの数が 
43 \fIret\fP にセットされる。
44 .TP
45 .B QM_DEPS
46 指定されたモジュールが使っている全てのモジュール名を返す。出力バッファ
47 のフォーマットは、NULL で終端する文字列を並べたものである。モジュール
48 の数が \fIret\fP にセットされる。
49 .TP
50 .B QM_REFS
51 指定されたモジュールを使っている全てのモジュール名を返す。これは
52 \fBQM_DEPS\fP と逆の機能である。出力バッファのフォーマットは、NULL で
53 終端する文字列を並べたものである。モジュールの数が \fIret\fP にセット
54 される。
55 .TP
56 .B QM_SYMBOLS
57 カーネルまたは指定されているモジュールがエクスポートしているシンボルと
58 値を返す。バッファのフォーマットは、以下の構造体
59 .RS
60 .PP
61 .nf
62 struct module_symbol
63 {
64   unsigned long value;
65   unsigned long name;
66 };
67 .fi
68 .PP
69 の配列に NULL で終端する文字列を続けたものである。\fIname\fP の値は
70 \fIbuf\fP の先頭から文字列までのオフセット文字数である。
71 \fIret\fP にはシンボルの数がセットされる。
72 .RE
73 .TP
74 .B QM_INFO
75 指定されたモジュールに関する様々な情報を返す。出力バッファのフォーマット
76 を以下に示す:
77 .RS
78 .PP
79 .nf
80 struct module_info
81 {
82   unsigned long address;
83   unsigned long size;
84   unsigned long flags;
85 };
86 .fi
87 .PP
88 ここで \fIaddress\fP は、そのモジュールが常駐しているカーネル空間上の
89 アドレスであり、\fIsize\fP はモジュールの大きさ(単位はバイト)である。
90 また \fIflags\fP は \fBMOD_RUNNING\fP, \fBMOD_AUTOCLEAN\fP 等のマスク
91 であり、モジュールの現在の状態を示している。\fIret\fP には
92 \fBmodule_info\fP 構造体の大きさが返される。
93 .RE
94 .SH 返り値
95 成功した場合は 0 が返される。エラーの場合は \-1 が返され、\fIerrno\fP 
96 に適切な値が設定される。
97 .SH エラー
98 .TP
99 .B ENOENT
100 \fIname\fP という名前のモジュールが存在しない。
101 .TP
102 .B EINVAL
103 \fIwhich\fP が不正である。あるいは \fIname\fP が不適切なカーネルの副関数
104 を指定している。
105 .TP
106 .B ENOSPC
107 用意されたバッファの大きさが小さすぎる。\fIret\fP には必要最小限のバッ
108 ファのサイズが設定される。
109 .TP
110 .B EFAULT
111 \fIname\fP, \fIbuf\fP, \fIret\fP の少なくともいずれかが、プログラムが
112 アクセスできるアドレス空間の外部であった。
113 .SH 関連項目
114 .BR create_module "(2), " init_module "(2), " delete_module "(2)
115