OSDN Git Service

31d5c4f8e77c2a71afe3d653d2f1c820bf368aa7
[linuxjm/LDP_man-pages.git] / release / man2 / get_kernel_syms.2
1 .\" Copyright (C) 1996 Free Software Foundation, Inc.
2 .\" This file is distributed according to the GNU General Public License.
3 .\" See the file COPYING in the top level source directory for details.
4 .\"
5 .\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
6 .\" reformatting and rewordings by mtk
7 .\"
8 .\"*******************************************************************
9 .\"
10 .\" This file was generated with po4a. Translate the source file.
11 .\"
12 .\"*******************************************************************
13 .TH GET_KERNEL_SYMS 2 2007\-06\-03 Linux "Linux Programmer's Manual"
14 .SH 名前
15 get_kernel_syms \- 公開されているカーネルやモジュールのシンボルの取得
16 .SH 書式
17 .nf
18 \fB#include <linux/module.h>\fP
19 .sp
20 \fBint get_kernel_syms(struct kernel_sym *\fP\fItable\fP\fB);\fP
21 .fi
22 .SH 説明
23 \fBget_kernel_syms\fP()  は、 \fItable\fP が NULL の場合、 問い合わせできるシンボルの数を返す。 NULL
24 以外の場合、以下の構造体の列 (table) に値を入れて返す。
25 .PP
26 .in +4n
27 .nf
28 struct kernel_sym {
29     unsigned long value;
30     char          name[60];
31 };
32 .fi
33 .in
34 .PP
35 シンボルの中には、 \fB#\fP\fImodule\-name\fP という形式の、カーネルが空の名前を持っているマジックシンボル (magic symbol)
36 が散在している。この形式のシンボルに対応する値は モジュールがロードされたアドレスとなる。
37 .PP
38 個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ
39 の後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。
40 .SH 返り値
41 成功すると、 \fItable\fP にコピーされたシンボル数を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP を適切に設定する。
42 .SH エラー
43 返る可能性があるエラーは一つだけである。
44 .TP 
45 \fBENOSYS\fP
46 \fBget_kernel_syms\fP()  がこのバージョンのカーネルではサポートされていない。
47 .SH バージョン
48 .\" Removed in Linux 2.5.48
49 このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。
50 .SH 準拠
51 \fBget_kernel_syms\fP()  は Linux 固有である。
52 .SH バグ
53 \fItable\fP 用に確保したバッファの大きさを伝える方法がない。 プログラムがシンボルテーブルの大きさを問い合わせた後に、カーネルに
54 シンボルが追加されると、メモリの内容が破壊されることになる。
55 .PP
56 公開されるシンボル名の長さが 59 文字に制限されている。
57 .PP
58 これらの制限があるので、このシステムコールを使うよりは \fBquery_module\fP(2)  を使うのが望ましい (現在では
59 \fBquery_module\fP(2)  自身もそのマニュアルページに書かれているように 他のインタフェースを使うのが望ましいとされている)。
60 .SH 関連項目
61 \fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBinit_module\fP(2),
62 \fBquery_module\fP(2)
63 .SH この文書について
64 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
65 である。プロジェクトの説明とバグ報告に関する情報は
66 http://www.kernel.org/doc/man\-pages/ に書かれている。