SYNOPSISIn sys/param.h In sys/kernel.h In sys/module.h Fn DECLARE_MODULE name moduledata_t data sub order
DESCRIPTIONThe Fn DECLARE_MODULE macro declares a generic kernel module. It is used to register the module with the system, using the Fn SYSINIT macro. Fn DECLARE_MODULE is usually used within other macros, such as DRIVER_MODULE9, DEV_MODULE9 and SYSCALL_MODULE9. Of course, it can also be called directly, for example in order to implement dynamic sysctls.
The arguments it expects are:
- Fa name
- The module name, which will be used in the Fn SYSINIT call to identify the module.
- Fa 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 .
- Fa sub
- An argument directed to the Fn 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_MODULE9 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.
- Fa order
- An argument for Fn 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 )