summaryrefslogtreecommitdiff
path: root/dviware/quicspool/man/profile5.l
blob: 29657c9cb4ace0a0805ef0426c9747ba6e40dd0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
.\" $Header: profile5.l,v 1.1 88/01/15 12:58:34 simpson Rel $
.\" $Log:	profile5.l,v $
.\" Revision 1.1  88/01/15  12:58:34  simpson
.\" initial release
.\" 
.\" Revision 0.1  87/12/11  17:56:57  simpson
.\" beta test
.\" 
.TH PROFILE 5 TRW
.UC 4
.SH NAME
profile \- configuration file format
.SH SYNOPSIS
.B #include <local/profile.h>
.SH DESCRIPTION
.I Profile
is a general purpose configuration file facility.
.PP
Each profile is an ASCII file containing a sequence of one or more
.IR stanzas .
Each stanza in turn consists of a sequence of
.I markers
followed by a sequence of
.IR bindings .
The characters `{' (left brace) and `}' (right brace)
delimit the beginning and end respectively of the stanza bindings.
Each binding consists of a name
followed by an optional sequence of values. 
.SH MARKERS
Markers are arbitrary patterns in the style of
.IR glob (3)
delimited by white space.
The list of markers may be empty.
There is no limit to the number of markers.
Examples of markers are:
.nf

	queue
	/usr/lib
	1776
	a_long_marker
	file[0-9]*.?
.fi
.SH BINDINGS
Bindings are the association of names with values.
There is one binding to a line each consisting of a name followed
by an optional sequence of values.
Names and values are separated,
one from the other,
by blanks or tabs.
Here a newline preceded by a backslash is equivalent to a blank.
The list of bindings may be empty.
There is no limit to the number of bindings.
By convention each binding is indented by a single tab.
.SH NAMES
Names are arbitrary patterns in the style of
.IR glob (3)
delimited by white space.
.SH VALUES
Values are
integer,
real,
octal,
hex,
character,
or
string
constants.
Arbitrary text,
not recognizably one of the aforementioned types,
is classified as
.I other
and is a legitimate value.
.TP
integer
A sequence of digits optionally preceded by a minus sign.
Every integer constant is taken to be long.
.TP
floating
A floating constant consists of an optional minus sign,
an integer part
a decimal point,
a fraction part,
an
.B e
or
.BR E ,
and an optionally signed integer exponent.
The integer and fraction parts both consist of a sequence of digits.
Either the integer part or the fraction part (not both)
may be missing;
either the decimal point or the
.B e
and the exponent (not both) may be missing.
Every floating constant is taken to be double-precision.
.TP
hex
A sequence of hexidecimal digits preceded by
.B 0x
or
.BR 0X .
The hexidecimal digits are 0-9, a-e and A-F.
Every hex constant is taken to be long.
.TP
octal
A sequence of octal digits preceded by
.B 0o
or
.B 0O 
(digit zero followed by a letter o).
The octal digits are 0-7.
Every octal constant is taken to be long.
.TP
character
A character constant is a character enclosed in single quotes.
Certain non-graphic characters,
the single quote ',
the caret ^ and
the backslash \\,
may be represented according to the following table of escape sequences:
.ta 1i +\w'carriage return  'u
.nf

 	newline	\\n
	horizontal tab	\\t
	backspace	\\b
	carriage return	\\r
	form feed	\\f
	escape	\\e
	backslash	\\\\
	single quote	\\'
	caret	\\^
	control-@	^@
	control-A	^A
	...	...
	control-Z	^Z
	control-[	^[
	control-\\	^\\
	control-^	^^
	control-_	^_
	delete	^?
	bit pattern	\\\fIddd\fR

.fi
.DT
The escape \\\fIddd\fR
consists of the backslash followed by 1, 2, or 3 octal digits
which are taken to specify the value of the desired character.
If the character following a backslash (caret) is not one of those
specified, the backslash (caret) is ignored.
.TP
string
A string is a sequence of characters surrounded by double quotes, as in
\fB"..."\fR.
In a string,
the double quote character \fB"\fR must be preceded by a \\;
in addition,
the same escapes as described for character constants may be used.
.PP
Examples of values are:
.nf

	7
	-1.293e3
	0x10a5
	0o1273
	'x'
	"a string"
	an_other_value
.fi
.SH COMMENTS
Comments may appear anywhere within a profile.
They are introduced by the character `#' and are terminated by
the succeeding newline.
.SH EXAMPLES
The empty stanza.
.nf

{
}
.fi
.PP
A stanza in the configuration file of a fictitious network server.
.nf
.ta \w'queue 'u +\w'cost_per_packet 'u +\w'0o125 0x1af  'u

queue net*
{
	priority	7	# integer
	expect	"who is it"	# string
	send	'?'	# character
	flags[0-9]	0o125 0x1af 	# octal and hex
	cost_per_packet	0.28	# floating
	device	/dev/net	# other
	homebrew		# a name with no associated value
}	
.fi
.DT
.PP
A password file entry recast as a stanza.
.nf
.ta \w'brown 'u +\w'password 'u

brown
{
	password	/bObOZtyGclMV
	userid	225
	groupid	30
	home	/home/brown
	shell	/bin/csh
}
.fi
.DT
.PP
A termcap entry recast as a stanza.
.nf
.ta \w'adm3a 'u +\w'mm 'u

adm3a
{
	fullname "lsi adm3a"
	am
	bs
	cm	"\\e=%+ %+ "
	cl	"1^Z"
	co	80
	li	24
	ho	'^^'
	ma	"^K^P"
	nd	'^L'
	up	'^K'
}
.fi
.SH AUTHOR
Michael Gorlick, TRW
.SH SEE ALSO
glob(3), profile(3)