EN JA
GET_KERNEL_SYMS(2)
GET_KERNEL_SYMS(2) Linux Module Support GET_KERNEL_SYMS(2)

名前

get_kernel_syms -エクスポートされているカーネルとモジュールのシンボルを取得する

書式

#include
<linux/module.h>
 

int get_kernel_syms(struct kernel_sym * table );

説明

tableNULL ならば、 get_kernel_syms は問い合わせできるシンボルの数を返す。 NULL でなければ、以下の構造体に値を入れて返す:


struct kernel_sym
{
unsigned long value;
char name[60];
};

シンボルの中には #モジュール名 という形式の、カーネルが空の名前を持っているマジックシンボルが散在している。この形式のシンボルに対応する値は、モジュールがロードされた位置のアドレスである。

それぞれのモジュールからエクスポートされたシンボルは、マジックモジュールタグの後に置かれる。また、モジュールはロードされた順番と逆順で返される。

返り値

返り値は返されるシンボル数である。エラーで復帰することはない。

関連項目

create_module(2), init_module(2), delete_module(2), query_module(2)

バグ

table のために確保したバッファの大きさを伝える方法がない。プログラムがシンボルテーブルの大きさを問い合わせた後にカーネルにシンボルが追加されると、メモリの内容が破壊される。

エクスポートされるシンボル名の長さは 59 文字に制限される。

以上の制限により、このシステムコールよりは query_module を使う方が望ましい。

 
26 Dec 1996 Linux