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.

Computer science would have progressed much further and faster if all of the time and effort that has been spent maintaining and nurturing Unix had been spent on a sounder operating system.
— The Unix Haters' handbook