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.

Modern Unix impedes progress in computer science, wastes billions of dollars, and destroys the common sense of many who seriously use it.
— The Unix Haters' handbook