DECLARE_MODULE.9freebsd

Langue: en

Version: 308275 (debian - 07/07/09)

Section: 9 (Appels noyau Linux)


BSD mandoc

NAME

DECLARE_MODULE - kernel module declaration macro

SYNOPSIS

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

DESCRIPTION

The 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 )

SEE ALSO

DEV_MODULE9, DRIVER_MODULE9, module(9), SYSCALL_MODULE9

/usr/include/sys/kernel.h /usr/share/examples/kld

AUTHORS

An -nosplit This manual page was written by An Alexander Langer Aq alex@FreeBSD.org , inspired by the KLD Facility Programming Tutorial by An Andrew Reiter Aq arr@watson.org .