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
に関連付けられたアドレスと、
それの指しているデータの大きさを、それぞれ保持します。