*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> DECLARE_MODULE (9)              
Title
Content
Arch
Section
 

DECLARE_MODULE(9)

Contents


NAME    [Toc]    [Back]

     DECLARE_MODULE -- kernel module declaration macro

SYNOPSIS    [Toc]    [Back]

     #include <sys/param.h>
     #include <sys/kernel.h>
     #include <sys/module.h>

     DECLARE_MODULE(name, moduledata_t data, sub, order);

DESCRIPTION    [Toc]    [Back]

     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).  However, it can
     be called directly of course, for example in order to implement dynamic
     sysctls.

     The arguments to DECLARE_MODULE():

     name is the name of the module, which will be used in the SYSINIT() call
     to identify the module.

     data is 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 handler function of type
     modeventhand_t.

     sub is an argument directed to the SYSINIT() macro.  Valid values for
     this are contained in the sysinit_sub_id enumeration (see <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.

     The order value is another argument for SYSINIT().  It represents the
     KLDs order of initialization within the subsystem.  Valid values are
     defined in the sysinit_elem_order enumeration (<sys/kernel.h>).

SEE ALSO    [Toc]    [Back]

      
      
     DEV_MODULE(9), DRIVER_MODULE(9), module(9), SYSCALL_MODULE(9)

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

AUTHORS    [Toc]    [Back]

     This manual page was written by Alexander Langer <[email protected]>,
     inspired by the KLD Facility Programming Tutorial by Andrew Reiter
     <[email protected]>.


FreeBSD 5.2.1			 March 3, 2001			 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
SYSCALL_MODULE FreeBSD syscall kernel module declaration macro
DEV_MODULE FreeBSD device driver module declaration macro
MULTI_DRIVER_MODULE FreeBSD kernel driver declaration macro
DRIVER_MODULE FreeBSD kernel driver declaration macro
KASSERT FreeBSD kernel expression verification macro
MODULE_VERSION FreeBSD set kernel module version
MODULE_DEPEND FreeBSD set kernel module dependencies
arp Linux Linux ARP kernel module.
modunload OpenBSD unload a kernel module
modstat FreeBSD get status of kernel module
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service