File:  [DragonFly] / src / share / man / man9 / DECLARE_MODULE.9
Revision 1.3: download - view: text, annotated - select for diffs
Tue Jun 1 11:36:53 2004 UTC (10 years, 4 months ago) by hmp
Branches: MAIN
CVS tags: HEAD, DragonFly_Stable, DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004, DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2, DragonFly_1_0_REL, DragonFly_1_0_RC1, DragonFly_1_0A_REL
Remove '-*- nroff -*-'.

Lets make a habit not to put editor-related magic into our base
files.  They are redundant and useless.

    1: .\" Copyright (c) 2000 Alexander Langer
    2: .\"
    3: .\" All rights reserved.
    4: .\"
    5: .\" This program is free software.
    6: .\"
    7: .\" Redistribution and use in source and binary forms, with or without
    8: .\" modification, are permitted provided that the following conditions
    9: .\" are met:
   10: .\" 1. Redistributions of source code must retain the above copyright
   11: .\"    notice, this list of conditions and the following disclaimer.
   12: .\" 2. Redistributions in binary form must reproduce the above copyright
   13: .\"    notice, this list of conditions and the following disclaimer in the
   14: .\"    documentation and/or other materials provided with the distribution.
   15: .\"
   16: .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
   17: .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   18: .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   19: .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
   20: .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   21: .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   22: .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   23: .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   24: .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   25: .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   26: .\"
   27: .\" $FreeBSD: src/share/man/man9/DECLARE_MODULE.9,v 1.2.2.3 2001/12/17 11:30:18 ru Exp $
   28: .\" $DragonFly: src/share/man/man9/DECLARE_MODULE.9,v 1.3 2004/06/01 11:36:53 hmp Exp $
   29: .\"
   30: .Dd March 3, 2001
   31: .Dt DECLARE_MODULE 9
   32: .Os
   33: .Sh NAME
   34: .Nm DECLARE_MODULE
   35: .Nd kernel module declaration macro
   36: .Sh SYNOPSIS
   37: .In sys/module.h
   38: .Fn DECLARE_MODULE "name" "moduledata_t data" "sub" "order"
   39: .Sh DESCRIPTION
   40: The
   41: .Fn DECLARE_MODULE
   42: macro declares a generic kernel module.
   43: It is used to register the module with the system, using the
   44: .Fn SYSINIT
   45: macro.
   46: .Fn DECLARE_MODULE
   47: is usually used within other macros, such as
   48: .Xr DRIVER_MODULE 9 ,
   49: .Xr DEV_MODULE 9
   50: and
   51: .Xr SYSCALL_MODULE 9 .
   52: However, it can be called directly of course, for example in
   53: order to implement dynamic sysctls.
   54: .Pp
   55: The arguments to
   56: .Fn DECLARE_MODULE :
   57: .Pp
   58: .Fa name
   59: is the name of the module, which will be used in the
   60: .Fn SYSINIT
   61: call to identify the module.
   62: .Pp
   63: .Fa data
   64: is a pointer to the
   65: .Vt moduledata_t
   66: structure, which contains two main items, the official name of the
   67: module name, which will be used in the
   68: .Vt module_t
   69: structure and a pointer to the event handler function of type
   70: .Vt modeventhand_t .
   71: .Pp
   72: .Fa sub
   73: is an argument directed to the
   74: .Fn SYSINIT
   75: macro.
   76: Valid values for this are contained in the
   77: .Vt sysstem_sub_id
   78: enumeration
   79: (see
   80: .Pa kernel.h )
   81: and specify the type of system startup interfaces.
   82: The
   83: .Xr DRIVER_MODULE 9
   84: macro uses a value of
   85: .Dv SI_SUB_DRIVERS
   86: here for example, since these modules contain a driver for a device.
   87: For kernel modules that are loaded at runtime, a value of
   88: .Dv SI_SUB_EXEC
   89: is common.
   90: .Pp
   91: The
   92: .Fa order
   93: value is another argument for
   94: .Fn SYSINIT .
   95: It represents the KLDs order of initialization within the subsystem.
   96: Valid values are defined in the
   97: .Vt sysinit_elem_order
   98: enumeration
   99: .Pa ( kernel.h ) .
  100: .Sh SEE ALSO
  101: .Xr DEV_MODULE 9 ,
  102: .Xr DRIVER_MODULE 9 ,
  103: .Xr module 9 ,
  104: .Xr SYSCALL_MODULE 9
  105: .Pp
  106: .Pa /usr/include/sys/kernel.h ,
  107: .Pa /usr/share/examples/kld
  108: .Sh AUTHORS
  109: .An -nosplit
  110: This manual page was written by
  111: .An Alexander Langer Aq alex@FreeBSD.org ,
  112: inspired by the KLD Facility Programming Tutorial by
  113: .An Andrew Reiter Aq arr@watson.org .