declare_module(9)

NAME

DECLARE_MODULE - kernel module declaration macro

SYNOPSIS

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

SEE ALSO

DEV_MODULE(9), DRIVER_MODULE(9), module(9), SYSCALL_MOD
ULE(9)
/usr/include/sys/kernel.h, /usr/share/examples/kld

AUTHORS

This manual page was written by Alexander Langer
<alex@FreeBSD.org>,
inspired by the KLD Facility Programming Tutorial by Andrew
Reiter
<arr@watson.org>.
BSD January 6, 2005
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout