EN JA
DECLARE_MODULE(9)
DECLARE_MODULE(9) FreeBSD Kernel Developer's Manual DECLARE_MODULE(9)

名称

DECLARE_MODULEカーネルモジュール宣言マクロ

書式

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

DECLARE_MODULE( name, moduledata_t data, sub, order);

解説

DECLARE_MODULE() マクロは、一般的なカーネルモジュールを宣言します。 SYSINIT() マクロを使用して、モジュールをシステムに登録するために使用されます。 DECLARE_MODULE() は、通常 DRIVER_MODULE(9), DEV_MODULE(9)SYSCALL_MODULE(9) のような他のマクロ内で使用されます。もちろん、例えば、動的な sysctl を実装するために、直接呼び出すこともできます。

要求される引数は、次の通りです:

name
モジュールを識別するために SYSINIT() 呼び出しで使用される、モジュール名。
data
module_t 構造体で使用される、モジュール名の正式名とタイプ modeventhand_t のイベントハンドラ関数へのポインタの 2 つの主要な項目を含んでいる、 moduledata_t 構造体。
sub
SYSINIT() マクロに向けられる引数。このための有効な値は、 sysinit_sub_id 列挙型 ( < sys/kernel.h> を参照) に含まれ、システム起動インタフェースのタイプを指定します。 DRIVER_MODULE(9) マクロは、ここで、例えば、これらのモジュールがデバイスのためのドライバを含んでいるので、 SI_SUB_DRIVERS の値を使用します。実行時にロードされるカーネルモジュールについて、 SI_SUB_EXEC の値は、共通です。
order
SYSINIT() のための引数。それは、サブシステム内の初期化の KLD の順序を表わします。有効な値は、 sysinit_elem_order 列挙型 ( < sys/kernel.h>) に定義されています。

関連項目

DEV_MODULE(9), DRIVER_MODULE(9), module(9), SYSCALL_MODULE(9)

/usr/include/sys/kernel.h, /usr/share/examples/kld

作者

このマニュアルページは、 Andrew Reiter <arr@watson.org>による KLD Facility Programming Tutorial から発想を得て Alexander Langer <alex@FreeBSD.org>によって書かれました。
January 6, 2005 FreeBSD