The module name, which will be used in the SYSINIT call to identify the module.
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 .
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.
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).