DECLARE_MODULE(9FREEBSD) - Linux manual page online | System kernel interfaces
Kernel module declaration macro.
Chapter
January 6, 2005
DECLARE_MODULE(9) BSD Kernel Developer's Manual DECLARE_MODULE(9)
@FreeBSD.org>, inspired by the KLD
Facility Programming Tutorial by Andrew Reiter <
@watson.org>.
BSD January 6, 2005 BSD
NAME
DECLARE_MODULE — kernel module declaration macroSYNOPSIS
#include <sys/param.h> #include <sys/kernel.h> #include <sys/module.h> DECLARE_MODULE(name, moduledata_t data, sub, order);DESCRIPTION
The DECLARE_MODULE() macro declares a generic kernel module. It is used to register the module with the system, using the SYSINIT() macro. DECLARE_MODULE() is usually used within other macros, such as DRIVER_MODULE(9), DEV_MODULE(9) and SYSCALL_MODULE(9). Of course, it can also be called directly, for example in order to implement dynamic sysctls. The arguments it expects are: name The module name, which will be used in the SYSINIT() call to identify the module. data A moduledata_t structure, which contains two main items, the official name of the module name, which will be used in the module_t structure and a pointer to the event handler function of type modeventhand_t. sub An argument directed to the SYSINIT() macro. Valid values for this are contained in the sysinit_sub_id enumeration (see <sys/kernel.h>) and specify the type of system startup interfaces. The DRIVER_MODULE(9) macro uses a value of SI_SUB_DRIVERS here for example, since these modules contain a driver for a device. For kernel modules that are loaded at runtime, a value of SI_SUB_EXEC is common. order An argument for SYSINIT(). It represents the KLDs order of initialization within the subsystem. Valid values are defined in the sysinit_elem_order enumeration (<sys/kernel.h>).SEE ALSO
DEV_MODULE(9), DRIVER_MODULE(9), module(9), SYSCALL_MODULE(9) /usr/include/sys/kernel.h, /usr/share/examples/kldAUTHORS
This manual page was written by Alexander Langer <

This manual | Reference | Other manuals |
---|---|---|
DECLARE_MODULE(9freebsd) | referred by |
accept_filt_add(9freebsd) | accept_filt_del(9freebsd) | accept_filt_generic_mod_event(9freebsd) | accept_filt_get(9freebsd) | accept_filter(9freebsd) | CCV(9freebsd) | DECLARE_CC_MODULE(9freebsd) | DEV_MODULE(9freebsd) | khelp(9freebsd) | khelp_add_hhook(9freebsd) | KHELP_DECLARE_MOD(9freebsd) | KHELP_DECLARE_MOD_UMA(9freebsd) | khelp_destroy_osd(9freebsd) | khelp_get_id(9freebsd) | khelp_get_osd(9freebsd) | khelp_init_osd(9freebsd) | khelp_remove_hhook(9freebsd) | mod_cc(9freebsd) | module(9freebsd) | MODULE_DEPEND(9freebsd) |
refer to | DEV_MODULE(9freebsd) | DRIVER_MODULE(9freebsd) | module(9freebsd) | SYSCALL_MODULE(9freebsd) |