KLDSYM(2) FreeBSD システムコールマニュアル KLDSYM(2)
名称
kldsym − KLD 内のシンボル名による検索 |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/param.h> int |
kldsym(int fileid, int command, void *data); |
解説 |
kldsym() システムコールは、 fileid で指定されたモジュールにおける data で 指定されたシンボルのアドレスを返します。 fileid が 0 の場合、すべてのロー ドされているモジュールが検索されます。現在、実装されている command は KLDSYM_LOOKUP のみです。 data 引数は、次の構造体です: struct kld_sym_lookup { int version; /* sizeof(struct kld_sym_lookup) */ char *symname; /* 検索対象のシンボル名 */ u_long symvalue; size_t symsize; }; version メンバは、 kldsym() を呼ぶコードによって、 sizeof(struct kld_sym_lookup) に設定されるべきです。次に示す 2 個の引数 version と symname は、ユーザが指定します。最後の 2 個 symvalue と symsize は、 kldsym() によって埋められます。これらは、 symname に関連付けられたアドレ スと、それの指しているデータの大きさを、それぞれ保持します。 |
戻り値
関数 kldsym() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。 |
エラー
kldsym() システムコールは次の場合に失敗します: |
[EINVAL]
data->version または command の中の値が不正です。 [ENOENT] 関連項目 |
kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldunload(2), modfind(2), modnext(2), modstat(2), kld(4) |
歴史
kldsym() システムコールは FreeBSD 3.0 ではじめて登場しました。 FreeBSD 10.0 July 26, 2001 FreeBSD 10.0 |