KLDSTAT(2)

名称
kldstat - kld ファイルの状態を得る

ライブラリ
libc

書式
<sys/param.h> <sys/linker.h> int kldstat(int fileid, struct kld_file_stat *stat)

解説
kldstat() 関数は、 fileid によって参照されたファイルに関する情報を stat に書込みます。

    struct kld_file_stat {
    	int         version;        /* sizeof(linker_file_stat) に設定 */
    	char        name[MAXPATHLEN];
    	int         refs;
    	int         id;
    	caddr_t     address;        /* ロードアドレス */
    	size_t      size;           /* バイト単位のサイズ */
    };

version
    このフィールドは、 kldstat() 自体ではなく、 kldstat() を呼び出すコードで前述した 構造体のサイズに設定します。

name
    fileid によって参照されるファイルの名前

refs
    fileid によって参照されるモジュールの数

id  fileid で指定されたファイルの ID

address
    kld ファイルのロードアドレス

size
    ファイルのサイズ

戻り値

エラー
次の場合を除いて、 fileid が参照するファイルに関する情報は stat が指す構造体に記入されます。

[ENOENT]
    ファイルが見つかりませんでした (おそらくロードされていないのでしょう)。

[EINVAL]
    stat の version フィールドで指定されたバージョンが適切ではありません。 version フィールドに適切に記入しているのにこのエラーが起きた場合は、 ワールド、カーネル、 またはアプリケーションを再構築する必要があります。

[EFAULT]
    copyout() 関数で、フィールドを stat にコピーする際に問題がありました。

関連項目
kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldsym(2), kldunload(2), modfind(2), modfnext(2), modnext(2), modstat(2), kld(4), kldstat(8)

歴史
kld インタフェースは FreeBSD 3.0 ではじめて登場しました。