|
DECLARE_MODULE (9) | Kernel routines | Unix Manual Pages | :man▋
NAME
DECLARE_MODULE - kernel module declaration macro
CONTENTS
Synopsis Description See Also Authors
SYNOPSIS
.In sys/param.h .In sys/kernel.h .In 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 .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). | |
SEE ALSO
DEV_MODULE(9), DRIVER_MODULE(9), module(9),
|