]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - share/doc/smm/02.config/a.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / share / doc / smm / 02.config / a.t
1 .\" Copyright (c) 1983, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)a.t 8.1 (Berkeley) 6/8/93
33 .\"
34 .\".ds RH "Configuration File Grammar
35 .bp
36 .LG
37 .B
38 .ce
39 APPENDIX A. CONFIGURATION FILE GRAMMAR
40 .sp
41 .R
42 .NL
43 .PP
44 The following grammar is a compressed form of the actual
45 \fIyacc\fP\|(1) grammar used by
46 .I config
47 to parse configuration files.
48 Terminal symbols are shown all in upper case, literals
49 are emboldened; optional clauses are enclosed in brackets, ``[''
50 and ``]'';  zero or more instantiations are denoted with ``*''.
51 .sp
52 .nf
53 .DT
54 Configuration ::=  [ Spec \fB;\fP ]*
55
56 Spec ::= Config_spec
57         | Device_spec
58         | \fBtrace\fP
59         | /* lambda */
60
61 /* configuration specifications */
62
63 Config_spec ::=  \fBmachine\fP ID
64         | \fBcpu\fP ID
65         | \fBoptions\fP Opt_list
66         | \fBident\fP ID
67         | System_spec
68         | \fBtimezone\fP [ \fB\-\fP ] NUMBER [ \fBdst\fP [ NUMBER ] ]
69         | \fBtimezone\fP [ \fB\-\fP ] FPNUMBER [ \fBdst\fP [ NUMBER ] ]
70         | \fBmaxusers\fP NUMBER
71
72 /* system configuration specifications */
73
74 System_spec ::= \fBconfig\fP ID System_parameter [ System_parameter ]*
75
76 System_parameter ::=  swap_spec | root_spec | dump_spec | arg_spec
77
78 swap_spec ::=  \fBswap\fP [ \fBon\fP ] swap_dev [ \fBand\fP swap_dev ]*
79
80 swap_dev ::=  dev_spec [ \fBsize\fP NUMBER ]
81
82 root_spec ::=  \fBroot\fP [ \fBon\fP ] dev_spec
83
84 dump_spec ::=  \fBdumps\fP [ \fBon\fP ] dev_spec
85
86 arg_spec ::=  \fBargs\fP [ \fBon\fP ] dev_spec
87
88 dev_spec ::=  dev_name | major_minor
89
90 major_minor ::=  \fBmajor\fP NUMBER \fBminor\fP NUMBER
91
92 dev_name ::=  ID [ NUMBER [ ID ] ]
93
94 /* option specifications */
95
96 Opt_list ::=  Option [ \fB,\fP Option ]*
97
98 Option ::=  ID [ \fB=\fP Opt_value ]
99
100 Opt_value ::=  ID | NUMBER
101
102 Mkopt_list ::=  Mkoption [ \fB,\fP Mkoption ]*
103
104 Mkoption ::=  ID \fB=\fP Opt_value
105
106 /* device specifications */
107
108 Device_spec ::= \fBdevice\fP Dev_name Dev_info Int_spec
109         | \fBmaster\fP Dev_name Dev_info
110         | \fBdisk\fP Dev_name Dev_info
111         | \fBtape\fP Dev_name Dev_info
112         | \fBcontroller\fP Dev_name Dev_info [ Int_spec ]
113         | \fBpseudo-device\fP Dev [ NUMBER ]
114
115 Dev_name ::=  Dev NUMBER
116
117 Dev ::=  \fBuba\fP | \fBmba\fP | ID
118
119 Dev_info ::=  Con_info [ Info ]*
120
121 Con_info ::=  \fBat\fP Dev NUMBER
122         | \fBat\fP \fBnexus\fP NUMBER
123
124 Info ::=  \fBcsr\fP NUMBER
125         | \fBdrive\fP NUMBER
126         | \fBslave\fP NUMBER
127         | \fBflags\fP NUMBER
128
129 Int_spec ::=  \fBvector\fP ID [ ID ]*
130         | \fBpriority\fP NUMBER
131 .fi
132 .sp
133 .SH
134 Lexical Conventions
135 .LP
136 The terminal symbols are loosely defined as:
137 .IP ID
138 .br
139 One or more alphabetics, either upper or lower case, and underscore,
140 ``_''.
141 .IP NUMBER
142 .br
143 Approximately the C language specification for an integer number.
144 That is, a leading ``0x'' indicates a hexadecimal value,
145 a leading ``0'' indicates an octal value, otherwise the number is
146 expected to be a decimal value.  Hexadecimal numbers may use either
147 upper or lower case alphabetics.
148 .IP FPNUMBER
149 .br
150 A floating point number without exponent.  That is a number of the
151 form ``nnn.ddd'', where the fractional component is optional.
152 .LP
153 In special instances a question mark, ``?'', can be substituted for
154 a ``NUMBER'' token.  This is used to effect wildcarding in device
155 interconnection specifications.
156 .LP
157 Comments in configuration files are indicated by a ``#'' character
158 at the beginning of the line; the remainder of the line is discarded.
159 .LP
160 A specification
161 is interpreted as a continuation of the previous line
162 if the first character of the line is tab.