GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  DECLARE_MODULE (9)

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), SYSCALL_MODULE(9)

/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 .
Search for    or go to Top of page |  Section 9 |  Main Index


Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.