/ docs / man / man3 / rtapi_module_param.3rtapi
rtapi_module_param.3rtapi
 1  .TH rtapi_module_param "3rtapi" "2006-10-12" "LinuxCNC Documentation" "RTAPI"
 2  .SH NAME
 3  
 4  rtapi_module_param \- Specifying module parameters
 5  
 6  .SH SYNTAX
 7  .HP
 8  RTAPI_MP_INT(\fIvar\fR, \fIdescription\fR)
 9  
10  .HP
11  RTAPI_MP_LONG(\fIvar\fR, \fIdescription\fR)
12  
13  .HP
14  RTAPI_MP_STRING(\fIvar\fR, \fIdescription\fR)
15  
16  .HP
17  RTAPI_MP_ARRAY_INT(\fIvar\fR, \fInum\fR, \fIdescription\fR)
18  
19  .HP
20  RTAPI_MP_ARRAY_LONG(\fIvar\fR, \fInum\fR, \fIdescription\fR)
21  
22  .HP
23  RTAPI_MP_ARRAY_STRING(\fIvar\fR, \fInum\fR, \fIdescription\fR)
24  
25  .HP
26  MODULE_LICENSE(\fIlicense\fR)
27  
28  .HP
29  MODULE_AUTHOR(\fIauthor\fR)
30  
31  .HP
32  MODULE_DESCRIPTION(\fIdescription\fR)
33  
34  .HP
35  EXPORT_FUNCTION(\fIfunction\fR)
36  
37  .SH  ARGUMENTS
38  .IP \fIvar\fR
39  The variable where the parameter should be stored
40  .IP \fIdescription\fR
41  A short description of the parameter or module
42  .IP \fInum\fR
43  The maximum number of values for an array parameter
44  .IP \fIlicense\fR
45  The license of the module, for instance "GPL"
46  .IP \fIauthor\fR
47  The author of the module
48  .IP \fIfunction\fR
49  The pointer to the function to be exported
50  
51  .SH DESCRIPTION
52  These macros are portable ways to declare kernel module parameters.  They must
53  be used in the global scope, and are not followed by a terminating semicolon.
54  They must be used after the associated variable or function has been defined.
55  
56  .SH NOTES
57  EXPORT_FUNCTION makes a symbol available for use by a subsequently loaded
58  component.  It is unrelated to hal functions, which are described in
59  hal_export_funct(3hal)
60  
61  .SH Interpretation of license strings
62  
63  \fBMODULE_LICENSE\fR follows the kernel's definition of license strings.  Notably,
64  "GPL" indicates "GNU General Public License v2 \fIor later\fR".  (emphasis ours).
65  
66  .IP \fB"GPL"\fR
67  GNU General Public License v2 or later
68  .IP \fB"GPL\ v2"\fR
69  GNU General Public License v2
70  .IP \fB"GPL\ and\ additional\ rights"\fR
71  GNU General Public License v2 rights and more
72  .IP \fB"Dual\ BSD/GPL"\fR
73  GNU General Public License v2 or BSD license choice
74  .IP \fB"Dual\ MIT/GPL"\fR
75  GNU General Public License v2 or MIT license choice
76  .IP \fB"Dual\ MPL/GPL"\fR
77  GNU General Public License v2 or Mozilla license choice
78  .IP \fB"Proprietary"\fR
79  Non-free products
80  .P
81  It is still good practice to include a license block which indicates the author,
82  copyright date, and disclaimer of warranty as recommended by the GNU GPL.
83  
84  .SH REALTIME CONSIDERATIONS
85  Not available in userspace code.