:man| Alphabetical   Categories   About us 
DECLARE_MODULE (9) | Kernel routines | Unix Manual Pages | :man


DECLARE_MODULE - kernel module declaration macro


See Also


.In sys/param.h
.In sys/kernel.h
.In sys/module.h DECLARE_MODULE "name" "moduledata_t data" "sub" "order"


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
.Vt moduledata_t structure, which contains two main items, the official name of the module name, which will be used in the
.Vt module_t structure and a pointer to the event handler function of type
.Vt modeventhand_t .
sub An argument directed to the SYSINIT macro. Valid values for this are contained in the
.Vt sysinit_sub_id enumeration (see
.In 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
.Vt sysinit_elem_order enumeration (In sys/kernel.h).


DEV_MODULE(9), DRIVER_MODULE(9), module(9),

Created by Blin Media, 2008-2013