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
作者
このマニュアルページは、 <arr@watson.org>による KLD Facility Programming Tutorial から発想を得て <alex@FreeBSD.org>によって書かれました。January 6, 2005 | FreeBSD |