.\" Copyright (C) 1996 Free Software Foundation, Inc. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. .\" %%%LICENSE_END .\" .\" 2006-02-09, some reformatting by Luc Van Oostenryck; some .\" reformatting and rewordings by mtk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2006 Akihiro MOTOKI all rights reserved. .\" Translated 2006-07-31, Akihiro MOTOKI .\" Updated 2013-05-01, Akihiro MOTOKI , LDP v3.51 .\" Updated 2013-05-06, Akihiro MOTOKI .\" .TH GET_KERNEL_SYMS 2 2012\-10\-18 Linux "Linux Programmer's Manual" .SH 名前 get_kernel_syms \- 公開されているカーネルやモジュールのシンボルの取得 .SH 書式 .nf \fB#include \fP .sp \fBint get_kernel_syms(struct kernel_sym *\fP\fItable\fP\fB);\fP .fi .SH 説明 \fB注意\fP: このシステムコールが存在するのは、カーネル 2.6 より前の Linux だけである。 \fBget_kernel_syms\fP() は、 \fItable\fP が NULL の場合、 問い合わせできるシンボルの数を返す。 NULL 以外の場合、以下の構造体の列 (table) に値を入れて返す。 .PP .in +4n .nf struct kernel_sym { unsigned long value; char name[60]; }; .fi .in .PP シンボルの中には、 \fB#\fP\fImodule\-name\fP という形式の、カーネルが空の名前を持っているマジックシンボル (magic symbol) が散在している。この形式のシンボルに対応する値は モジュールがロードされたアドレスとなる。 .PP 個々のモジュールから公開 (export) されたシンボルは、マジックモジュールタグ の後ろに置かれる。また、モジュールはロードされた順番とは逆順で返される。 .SH 返り値 成功すると、 \fItable\fP にコピーされたシンボル数を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP を適切に設定する。 .SH エラー 返る可能性があるエラーは一つだけである。 .TP \fBENOSYS\fP \fBget_kernel_syms\fP() がこのバージョンのカーネルではサポートされていない。 .SH バージョン .\" Removed in Linux 2.5.48 このシステムコールが存在するのはカーネル 2.4 までの Linux だけである。 Linux 2.6 では削除された。 .SH 準拠 \fBget_kernel_syms\fP() は Linux 固有である。 .SH バグ \fItable\fP 用に確保したバッファーの大きさを伝える方法がない。 プログラムがシンボルテーブルの大きさを問い合わせた後に、カーネルに シンボルが追加されると、メモリーの内容が破壊されることになる。 .PP 公開されるシンボル名の長さが 59 文字に制限されている。 .PP これらの制限があるので、このシステムコールを使うよりは \fBquery_module\fP(2) を使うのが望ましい (現在では \fBquery_module\fP(2) 自身もそのマニュアルページに書かれているように 他のインターフェースを使うのが望ましいとされている)。 .SH 関連項目 \fBcreate_module\fP(2), \fBdelete_module\fP(2), \fBinit_module\fP(2), \fBquery_module\fP(2) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。