tail head cat sleep
QR code linking to this page

manページ  — DECLARE_MODULE

名称

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 列挙型に <(> を参照) 含まれていて、システムスタートアップインタフェースの型を明示します。 例えば 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> によって書かれました。

DECLARE_MODULE (9) January 6, 2005

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Unix...best if used before: Tue Jan 19 03:14:08 GMT 2038