OSDN Git Service

cd3282ca22f2a1571ddc7abf1bbe0f8deb991d20
[linuxjm/LDP_man-pages.git] / release / man2 / query_module.2
1 .\" Copyright (C) 1996 Free Software Foundation, Inc.
2 .\"
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" This file is distributed according to the GNU General Public License.
5 .\" %%%LICENSE_END
6 .\"
7 .\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
8 .\" reformatting and rewordings by mtk
9 .\"
10 .\"*******************************************************************
11 .\"
12 .\" This file was generated with po4a. Translate the source file.
13 .\"
14 .\"*******************************************************************
15 .TH QUERY_MODULE 2 2013\-01\-27 Linux "Linux Programmer's Manual"
16 .SH 名前
17 query_module \- モジュールに関連する各種の情報をカーネルに問い合わせる
18 .SH 書式
19 .nf
20 \fB#include <linux/module.h>\fP
21 .sp
22 \fBint query_module(const char *\fP\fIname\fP\fB, int \fP\fIwhich\fP\fB, void *\fP\fIbuf\fP\fB,\fP
23 \fB                 size_t \fP\fIbufsize\fP\fB, size_t *\fP\fIret\fP\fB);\fP
24 .fi
25
26 \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
27 .SH 説明
28 \fBNote\fP: This system call is present only in kernels before Linux 2.6.
29
30 \fBquery_module\fP()  は、ローダブルモジュールに関する情報をカーネルに問い合わせる。 情報は \fIbuf\fP
31 が指し示すバッファに格納されて返される。 呼び出し元は \fIbuf\fP のサイズを \fIbufsize\fP に指定しなければならない。
32 得られる情報の正確な意味とフォーマットは、 \fIwhich\fP でどの操作を指定するかによって異なる。 現在ロードされているモジュールを特定するために
33 \fIname\fP を必要とする操作があれば、 カーネル固有であることを示す NULL を指定できる操作もある。
34
35 \fIwhich\fP には以下の値を指定できる:
36 .TP 
37 \fB0\fP
38 カーネルが \fBquery_module\fP()  をサポートしている場合、成功を返す。 このシステムコールが利用可能かを調べるために使われる。
39 .TP 
40 \fBQM_MODULES\fP
41 .\" ret is set on ENOSPC
42 ロードされている全てのモジュールの名前を返す。 バッファには、NULL 終端された文字列が順に入る。 返されるバッファ \fIret\fP
43 にはモジュールの数が設定される。
44 .TP 
45 \fBQM_DEPS\fP
46 .\" ret is set on ENOSPC
47 指定されたモジュールが使用している全モジュールの名前を返す。 バッファには、NULL 終端された文字列が順に入る。 返されるバッファ \fIret\fP
48 にはモジュールの数が設定される。
49 .TP 
50 \fBQM_REFS\fP
51 .\" ret is set on ENOSPC
52 指定されたモジュールを使用している全モジュールの名前を返す。 これは \fBQM_DEPS\fP と逆の機能である。 バッファには、NULL
53 終端された文字列が順に入る。 返されるバッファ \fIret\fP にはモジュールの数が設定される。
54 .TP 
55 \fBQM_SYMBOLS\fP
56 .\" ret is set on ENOSPC
57 カーネルまたは指定されたモジュールがエクスポートしているシンボルと 値を返す。 バッファのデータは、 以下の構造体の配列に NULL
58 終端された文字列が続く形となる。
59 .in +4n
60 .nf
61
62 struct module_symbol {
63     unsigned long value;
64     unsigned long name;
65 };
66 .fi
67 .in
68 .IP
69 \fIname\fP の値は、 \fIbuf\fP の先頭からの文字列までのオフセット文字数である。 \fIret\fP にはシンボルの数が設定される。
70 .TP 
71 \fBQM_INFO\fP
72 指定されたモジュールに関する様々な情報を返す。 出力バッファのフォーマットは以下の形式となる:
73 .in +4n
74 .nf
75
76 struct module_info {
77     unsigned long address;
78     unsigned long size;
79     unsigned long flags;
80 };
81 .fi
82 .in
83 .IP
84 \fIaddress\fP はそのモジュールが配置されているカーネル空間上のアドレス、 \fIsize\fP はそのモジュールのバイト単位のサイズ、
85 \fIflags\fP は \fBMOD_RUNNING\fP, \fBMOD_AUTOCLEAN\fP 等のマスクであり、そのモジュールの現在の状態を示す (Linux
86 カーネルのソースファイル \fIinclude/linux/module.h\fP を参照)。 \fIret\fP には \fImodule_info\fP
87 構造体のサイズが設定される。
88 .SH 返り値
89 成功の場合 0 が返される。エラーの場合 \-1 が返され、 \fIerrno\fP に適切な値が設定される。
90 .SH エラー
91 .TP 
92 \fBEFAULT\fP
93 \fIname\fP, \fIbuf\fP, \fIret\fP の少なくとも一つが、プログラムがアクセスできる アドレス空間の外部であった。
94 .TP 
95 \fBEINVAL\fP
96 .\" Not permitted with QM_DEPS, QM_REFS, or QM_INFO.
97 \fIwhich\fP が不正である。あるいは \fIname\fP が NULL だが (NULL は "カーネル" を示す)、 \fIwhich\fP
98 で指定された値との組み合わせは許可されていない。
99 .TP 
100 \fBENOENT\fP
101 \fIname\fP という名前のモジュールが存在しない。
102 .TP 
103 \fBENOSPC\fP
104 与えられたバッファの大きさが小さすぎる。 \fIret\fP には最小限必要なバッファのサイズが設定される。
105 .TP 
106 \fBENOSYS\fP
107 \fBquery_module\fP()  is not supported in this version of the kernel (e.g., the
108 kernel is version 2.6 or later).
109 .SH バージョン
110 .\" Removed in Linux 2.5.48
111 このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。
112 .SH 準拠
113 \fBquery_module\fP()  は Linux 固有である。
114 .SH 注意
115 Some of the information that was formerly available via \fBquery_module\fP()
116 can be obtained from \fI/proc/modules\fP, \fI/proc/kallsyms\fP, and the files
117 under the directory \fI/sys/module\fP.
118
119 glibc はこのシステムコールに対するラッパー関数を提供していない。おそらくないと思うが、古いカーネルでこのシステムコールを使いたい場合は
120 \fBsyscall\fP(2) を使うこと。
121 .SH 関連項目
122 \fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBget_kernel_syms\fP(2),
123 \fBinit_module\fP(2), \fBlsmod\fP(8), \fBmodinfo\fP(8)
124 .SH この文書について
125 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
126 である。プロジェクトの説明とバグ報告に関する情報は
127 http://www.kernel.org/doc/man\-pages/ に書かれている。