SYSCALL_MODULE(9)

名称
SYSCALL_MODULE - syscall カーネルモジュール宣言マクロ

書式
<sys/param.h> <sys/kernel.h> <sys/proc.h> <sys/module.h> <sys/sysent.h> SYSCALL_MODULE(name, int *offset, struct sysent new_sysent, modeventhand_t evh, void *arg)

解説
SYSCALL_MODULE() マクロは新しい syscall を宣言します。 SYSCALL_MODULE() は name という名前のカーネルモジュールの宣言に展開されます。

offset は int 型へのポインタであり、 そこにはその syscall が割り当てられた struct sysent 構造体の中のオフセット位置が保存されます。

new_sysent は syscall を実装する関数およびこの関数が必要とする引数の個数 <(> sys/sysent.h 参照) を明示します。

evh は、カーネルモジュールのイベントハンドラ関数へのポインタであり、 この関数は引数 arg を取ります。 詳細については module(9) を参照してください。

使用例
syscall モジュールのための最低限の例が、 /usr/share/examples/kld/syscall/module/syscall.c の中に見つけられます。

関連項目
module(9)

/usr/share/examples/kld/syscall/module/syscall.c

作者
このマニュアルページは Alexander Langer <alex@FreeBSD.org> が書きました。