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 (8 years, 11 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 .