tail head cat sleep
QR code linking to this page

manページ  — KLDSYM

名称

kldsym – KLD 内のシンボル名による検索

内容

ライブラリ

Standard C Library (libc, -lc)

書式

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

戻り値

The kldsym function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

kldsym() システムコールは次の場合に失敗します:
[EINVAL]
  data->version または command の中の値が不正です。
[ENOENT]
  fileid 引数が不正であるか、指定したシンボルが見つかりませんでした。

関連項目

kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldunload(2), modfind(2), modnext(2), modstat(2), kld(4) [英語]

歴史

kldsym() システムコールは FreeBSD 3.0 ではじめて登場しました。

KLDSYM (2) July 26, 2001

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.