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