スポンサーリンク

MODSTAT(2) FreeBSD システムコールマニュアル MODSTAT(2)

名称

modstat − カーネルモジュールの状態を取得

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <sys/param.h>
#include <sys/module.h>

int

modstat(int modid, struct module_stat *stat);

解説

modstat() システムコールは modid で参照されているカーネルモジュールに関す る情報を stat に格納します。

struct module_stat {

int version; /* set to sizeof(module_stat) */

char name[MAXPATHLEN];

int refs;

int id;

modspecific_t data;

};
typedef union modspecific {

int intval;

u_int u_intval;

long longval;

u_long u_longval;

} modspecific_t;

       version

このフィールドには、 modstat() 自体ではなく modstat() を呼び 出したコードによって、上記の構造体のサイズが設定されます。

name
modid
で参照されているモジュールの名前。

refs
modid
で参照されているモジュールの数。

id
modid
で指定されているモジュールの id。

data
モジュール特有のデータ。

戻り値

関数 modstat() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

以下のようなエラーが発生しない限り、 modid によって参照されているモジュー ルに関する情報が stat が指している構造体に代入されます:

       [ENOENT]

モジュールが見つかりません (おそらくロードされていませ ん)。

[EINVAL]
version
フィールドで指定されているバージョンが適切では ありません。適切なバージョンを version フィールドで指 定しているにも関わらずこのエラーが起こるときは、 OS 全 体か、カーネルまたはプログラム自身を作り直す必要がある かもしれません。

[EFAULT]
copyout(9) 関数の中で、ひとつまたは複数あるいはすべて のフィールドを stat にコピー中に問題が発生しました。

関連項目

kldfind(2), kldfirstmod(2), kldload(2), kldnext(2), kldstat(2), kldsym(2), kldunload(2), modfind(2), modfnext(2), modnext(2), kld(4), kldstat(8)

歴史

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

FreeBSD 10.0 September 28, 2000 FreeBSD 10.0

スポンサーリンク