e63fdb41043bc2e4c527437b08820bdb8c516482
[platform/upstream/groff.git] / tmac / doc-common
1 .\" -*- nroff -*-
2 .\"
3 .\" Copyright (c) 1991, 1993
4 .\"     The Regents of the University of California.  All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\" 3. [Deleted.  See
15 .\"     ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
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 .\"     @(#)doc-common  8.1 (Berkeley) 06/08/93
33 .\"
34 .\"     %beginstrip%
35 .
36 .
37 .\" Macro Identifiers.  For each user macro a corresponding register with
38 .\" the same name must exist.  Its value must not be zero.
39 .
40 .nr %A 1
41 .nr %B 1
42 .nr %C 1
43 .nr %D 1
44 .nr %I 1
45 .nr %J 1
46 .nr %N 1
47 .nr %O 1
48 .nr %P 1
49 .nr %Q 1
50 .nr %R 1
51 .nr %T 1
52 .nr %U 1
53 .nr %V 1
54 .nr Ac 3
55 .nr Ad 12n
56 .nr An 12n
57 .nr Ao 12n
58 .nr Ap 2
59 .nr Aq 12n
60 .nr Ar 12n
61 .nr At 1
62 .nr Bc 3
63 .nr Bf 8n\" ?
64 .nr Bk 8n\" ?
65 .nr Bl 1
66 .nr Bo 12n
67 .nr Bq 12n
68 .nr Brc 3
69 .nr Bro 12n
70 .nr Brq 12n
71 .nr Bsx 1
72 .nr Bt 8n\" ?
73 .nr Bx 1
74 .nr Cd 12n
75 .nr Cm 10n
76 .nr D1 8n\" ?
77 .nr Dc 3
78 .nr Dl 8n\" ?
79 .nr Dt 8n\" ?
80 .nr Do 12n
81 .nr Dq 12n
82 .nr Ds 6n\" many manpages still use this as a -width value
83 .nr Dv 12n
84 .nr Dx 1
85 .nr Ec 3
86 .nr Ef 8n\" ?
87 .nr Ek 8n\" ?
88 .nr El 1
89 .nr Em 10n
90 .nr En 12n
91 .nr Eo 12n
92 .nr Eq 12n
93 .nr Er 17n
94 .nr Es 12n
95 .nr Ev 15n
96 .nr Ex 1
97 .nr Fa 12n
98 .nr Fc 3
99 .nr Fd 12n\" ?
100 .nr Fl 10n
101 .nr Fn 16n
102 .nr Fo 16n
103 .nr Fr 12n\" ?
104 .nr Ft 8n\" ?
105 .nr Fx 1
106 .nr Ic 10n
107 .nr In 12n
108 .nr It 8n\" ?
109 .nr Lb 11n
110 .nr Li 16n
111 .nr Lk 6n\" ?
112 .nr Lp 8n\" ?
113 .nr Me 6n
114 .nr Ms 6n
115 .nr Mt 6n\" ?
116 .nr Nd 8n\" ?
117 .nr Nm 10n
118 .nr No 12n
119 .nr Ns 2
120 .nr Nx 1
121 .nr Oc 3
122 .nr Oo 10n
123 .nr Op 14n
124 .nr Os 6n\" ?
125 .nr Ox 1
126 .nr Pa 32n
127 .nr Pc 3
128 .nr Pf 12n
129 .nr Po 12n
130 .nr Pp 8n\" ?
131 .nr Pq 12n
132 .nr Qc 3
133 .nr Ql 16n
134 .nr Qo 12n
135 .nr Qq 12n
136 .nr Rv 1
137 .nr Sc 3
138 .nr Sh 8n
139 .nr Sm 8n\" ?
140 .nr So 12n
141 .nr Sq 12n
142 .nr Ss 8n
143 .nr St 8n\" ?
144 .nr Sx 16n
145 .nr Sy 6n
146 .nr Ta 2
147 .nr Tn 10n
148 .nr Ud 8n\" ?
149 .nr Ux 1
150 .nr Va 12n
151 .nr Vt 8n\" ?
152 .nr Xc 3
153 .nr Xo 1
154 .nr Xr 10n
155 .
156 .
157 .\" macros which must be processed after the closing delimiter of `Op'
158 .\" and friends
159 .ds doc-after-Ao
160 .ds doc-after-Bo
161 .ds doc-after-Bro
162 .ds doc-after-Do
163 .ds doc-after-Eo
164 .ds doc-after-Fo
165 .ds doc-after-Ns
166 .ds doc-after-Oo
167 .ds doc-after-Po
168 .ds doc-after-Qo
169 .ds doc-after-So
170 .ds doc-after-Xo
171 .
172 .
173 .nr doc-display-indent 6n
174 .
175 .
176 .\" space strings
177 .
178 .ds doc-soft-space " \"
179 .ds doc-hard-space \~
180 .ds doc-tab \t
181 .
182 .
183 .eo
184 .
185 .
186 .\" punctuation values (suffix=3, prefix=4)
187 .
188 .nr doc-punct. 3
189 .nr doc-punct, 3
190 .nr doc-punct: 3
191 .nr doc-punct; 3
192 .nr doc-punct( 4
193 .nr doc-punct) 3
194 .nr doc-punct[ 4
195 .nr doc-punct] 3
196 .nr doc-punct? 3
197 .nr doc-punct! 3
198 .
199 .
200 .\" header assembly macros
201 .
202 .\" NS doc-document-title global string
203 .\" NS   the title of the manual page
204 .
205 .ds doc-document-title UNTITLED
206 .
207 .
208 .\" NS doc-volume global string
209 .\" NS   the volume where the manual page belongs to
210 .
211 .ds doc-volume LOCAL
212 .
213 .
214 .\" NS doc-section global string
215 .\" NS   the manual section
216 .
217 .ds doc-section Null
218 .
219 .
220 .\" NS Dt user macro (not parsed, not callable)
221 .\" NS   document title
222 .\" NS
223 .\" NS modifies:
224 .\" NS   doc-document-title
225 .\" NS   doc-section
226 .\" NS   doc-volume
227 .\" NS   doc-command-name
228 .\" NS
229 .\" NS local variables:
230 .\" NS   doc-volume-as-XXX
231 .\" NS   doc-volume-ds-XXX
232 .\" NS
233 .\" NS width register `Dt' set above
234 .
235 .\" an alternative, more detailed scheme for naming the manual sections
236 .\"
237 .ds doc-volume-operating-system BSD
238 .nr doc-volume-operating-system-ateol 0
239 .ds doc-volume-ds-1 General Commands Manual
240 .ds doc-volume-ds-2 System Calls Manual
241 .ds doc-volume-ds-3 Library Functions Manual
242 .ds doc-volume-ds-4 Kernel Interfaces Manual
243 .ds doc-volume-ds-5 File Formats Manual
244 .ds doc-volume-ds-6 Games Manual
245 .ds doc-volume-ds-7 Miscellaneous Information Manual
246 .ds doc-volume-ds-8 System Manager's Manual
247 .ds doc-volume-ds-9 Kernel Developer's Manual
248 .
249 .ds doc-volume-ds-USD   User's Supplementary Documents
250 .ds doc-volume-ds-PS1   Programmer's Supplementary Documents
251 .ds doc-volume-ds-AMD   Ancestral Manual Documents
252 .ds doc-volume-ds-SMM   System Manager's Manual
253 .ds doc-volume-ds-URM   User's Reference Manual
254 .ds doc-volume-ds-PRM   Programmer's Manual
255 .ds doc-volume-ds-KM    Kernel Manual
256 .ds doc-volume-ds-IND   Manual Master Index
257 .ds doc-volume-ds-LOCAL Local Manual
258 .ds doc-volume-ds-CON   Contributed Software Manual
259 .
260 .als doc-volume-ds-MMI doc-volume-ds-IND
261 .als doc-volume-ds-LOC doc-volume-ds-LOCAL
262 .
263 .ds doc-volume-as-alpha        alpha
264 .als doc-volume-as-Alpha doc-volume-as-alpha
265 .ds doc-volume-as-acorn26      acorn26
266 .ds doc-volume-as-acorn32      acorn32
267 .ds doc-volume-as-algor        algor
268 .ds doc-volume-as-amd64        amd64
269 .ds doc-volume-as-amiga        amiga
270 .ds doc-volume-as-amigappc     amigappc
271 .ds doc-volume-as-arc          arc
272 .ds doc-volume-as-arm          arm
273 .ds doc-volume-as-arm26        arm26
274 .ds doc-volume-as-arm32        arm32
275 .ds doc-volume-as-armish       armish
276 .ds doc-volume-as-atari        atari
277 .ds doc-volume-as-aviion       aviion
278 .ds doc-volume-as-beagle       beagle
279 .ds doc-volume-as-bebox        bebox
280 .ds doc-volume-as-cats         cats
281 .ds doc-volume-as-cesfic       cesfic
282 .ds doc-volume-as-cobalt       cobalt
283 .ds doc-volume-as-dreamcast    dreamcast
284 .ds doc-volume-as-emips        emips
285 .ds doc-volume-as-evbarm       evbarm
286 .ds doc-volume-as-evbmips      evbmips
287 .ds doc-volume-as-evbppc       evbppc
288 .ds doc-volume-as-evbsh3       evbsh3
289 .ds doc-volume-as-ews4800mips  ews4800mips
290 .ds doc-volume-as-hp300        hp300
291 .ds doc-volume-as-hp700        hp700
292 .ds doc-volume-as-hpcarm       hpcarm
293 .ds doc-volume-as-hpcmips      hpcmips
294 .ds doc-volume-as-hpcsh        hpcsh
295 .ds doc-volume-as-hppa         hppa
296 .ds doc-volume-as-hppa64       hppa64
297 .ds doc-volume-as-i386         i386
298 .ds doc-volume-as-ia64         ia64
299 .ds doc-volume-as-ibmnws       ibmnws
300 .ds doc-volume-as-iyonix       iyonix
301 .ds doc-volume-as-landisk      landisk
302 .ds doc-volume-as-loongson     loongson
303 .ds doc-volume-as-luna68k      luna68k
304 .ds doc-volume-as-luna88k      luna88k
305 .ds doc-volume-as-m68k         m68k
306 .ds doc-volume-as-mac68k       mac68k
307 .ds doc-volume-as-macppc       macppc
308 .ds doc-volume-as-mips         mips
309 .ds doc-volume-as-mips64       mips64
310 .ds doc-volume-as-mipsco       mipsco
311 .ds doc-volume-as-mmeye        mmeye
312 .ds doc-volume-as-mvme68k      mvme68k
313 .ds doc-volume-as-mvme88k      mvme88k
314 .ds doc-volume-as-mvmeppc      mvmeppc
315 .ds doc-volume-as-netwinder    netwinder
316 .ds doc-volume-as-news68k      news68k
317 .ds doc-volume-as-newsmips     newsmips
318 .ds doc-volume-as-next68k      next68k
319 .ds doc-volume-as-ofppc        ofppc
320 .ds doc-volume-as-palm         palm
321 .ds doc-volume-as-pc532        pc532
322 .ds doc-volume-as-playstation2 playstation2
323 .ds doc-volume-as-pmax         pmax
324 .ds doc-volume-as-pmppc        pmppc
325 .ds doc-volume-as-powerpc      powerpc
326 .ds doc-volume-as-prep         prep
327 .ds doc-volume-as-rs6000       rs6000
328 .ds doc-volume-as-sandpoint    sandpoint
329 .ds doc-volume-as-sbmips       sbmips
330 .ds doc-volume-as-sgi          sgi
331 .ds doc-volume-as-sgimips      sgimips
332 .ds doc-volume-as-sh3          sh3
333 .ds doc-volume-as-shark        shark
334 .ds doc-volume-as-socppc       socppc
335 .ds doc-volume-as-solbourne    solbourne
336 .ds doc-volume-as-sparc        sparc
337 .ds doc-volume-as-sparc64      sparc64
338 .ds doc-volume-as-sun2         sun2
339 .ds doc-volume-as-sun3         sun3
340 .ds doc-volume-as-tahoe        tahoe
341 .ds doc-volume-as-vax          vax
342 .ds doc-volume-as-x68k         x68k
343 .ds doc-volume-as-x86_64       x86_64
344 .ds doc-volume-as-xen          xen
345 .ds doc-volume-as-zaurus       zaurus
346 .
347 .de Dt
348 .  \" reset default arguments
349 .  ds doc-document-title UNTITLED
350 .  ds doc-volume LOCAL
351 .  ds doc-section Null
352 .  ds doc-command-name
353 .
354 .  if !"\$1"" \
355 .    ds doc-document-title "\$1
356 .
357 .  if !"\$2"" \{\
358 .    ds doc-section \$2
359 .    ie \B\a\$2\a \{\
360 .      if ((\$2 >= 1) & (\$2 <= 9)) \{\
361 .        ie \n[doc-volume-operating-system-ateol] \{\
362 .          ds doc-volume "\*[doc-volume-ds-\$2] \*[doc-volume-operating-system]
363 .          if \A\a\$3\a \{\
364 .            if d doc-volume-as-\$3 \
365 .              as doc-volume "/\*[doc-volume-as-\$3]
366 .        \}\}
367 .        el \{\
368 .          ds doc-volume "\*[doc-volume-operating-system]
369 .          if \A\a\$3\a \{\
370 .            if d doc-volume-as-\$3 \
371 .              as doc-volume "/\*[doc-volume-as-\$3]
372 .          \}
373 .          as doc-volume " \*[doc-volume-ds-\$2]
374 .    \}\}\}
375 .    el \{\
376 .      ie "\$2"unass" \
377 .        ds doc-volume DRAFT
378 .      el \{ .ie "\$2"draft" \
379 .        ds doc-volume DRAFT
380 .      el .if "\$2"paper" \
381 .        ds doc-volume UNTITLED
382 .      \}\}
383 .      if \A\a\$3\a \{\
384 .        if d doc-volume-ds-\$3 \
385 .          ds doc-volume "\*[doc-volume-ds-\$3]
386 .  \}\}\}
387 .
388 .  if !"\$3"" \
389 .    if "\*[doc-volume]"LOCAL" \
390 .      ds doc-volume \$3
391 .
392 .  if !\n[cR] \
393 .    if \n[nl] \{\
394   .    doc-setup-header
395 .      bp
396 .    \}
397 ..
398 .
399 .
400 .\" NS doc-default-operating-system global string
401 .\" NS   the exact (default) version of the operating system
402 .\" NS
403 .\" NS override this in `mdoc.local', if necessary
404 .
405 .ds doc-default-operating-system BSD
406 .
407 .
408 .\" NS doc-operating-system global string
409 .\" NS   the exact version of the operating system
410 .
411 .ds doc-operating-system
412 .
413 .
414 .\" NS Os user macro (not parsed, not callable)
415 .\" NS   operating system
416 .\" NS
417 .\" NS modifies:
418 .\" NS   doc-operating-system
419 .\" NS   doc-command-name
420 .\" NS
421 .\" NS local variables:
422 .\" NS   doc-operating-system-XXX-XXX
423 .\" NS
424 .\" NS width register `Os' set above
425 .
426 .ds doc-operating-system-ATT-7   7th\~Edition
427 .als doc-operating-system-ATT-7th doc-operating-system-ATT-7
428 .ds doc-operating-system-ATT-3   System\~III
429 .als doc-operating-system-ATT-III doc-operating-system-ATT-3
430 .ds doc-operating-system-ATT-V   System\~V
431 .ds doc-operating-system-ATT-V.2 System\~V Release\~2
432 .ds doc-operating-system-ATT-V.3 System\~V Release\~3
433 .ds doc-operating-system-ATT-V.4 System\~V Release\~4
434 .
435 .ds doc-operating-system-BSD-3    3rd\~Berkeley Distribution
436 .ds doc-operating-system-BSD-4    4th\~Berkeley Distribution
437 .ds doc-operating-system-BSD-4.1  4.1\~Berkeley Distribution
438 .ds doc-operating-system-BSD-4.2  4.2\~Berkeley Distribution
439 .ds doc-operating-system-BSD-4.3  4.3\~Berkeley Distribution
440 .ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
441 .ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
442 .als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
443 .als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
444 .ds doc-operating-system-BSD-4.4  4.4BSD
445 .
446 .ds doc-operating-system-NetBSD-0.8   0.8
447 .ds doc-operating-system-NetBSD-0.8a  0.8A
448 .ds doc-operating-system-NetBSD-0.9   0.9
449 .ds doc-operating-system-NetBSD-0.9a  0.9A
450 .ds doc-operating-system-NetBSD-1.0   1.0
451 .ds doc-operating-system-NetBSD-1.0a  1.0A
452 .ds doc-operating-system-NetBSD-1.1   1.1
453 .ds doc-operating-system-NetBSD-1.2   1.2
454 .ds doc-operating-system-NetBSD-1.2a  1.2A
455 .ds doc-operating-system-NetBSD-1.2b  1.2B
456 .ds doc-operating-system-NetBSD-1.2c  1.2C
457 .ds doc-operating-system-NetBSD-1.2d  1.2D
458 .ds doc-operating-system-NetBSD-1.2e  1.2E
459 .ds doc-operating-system-NetBSD-1.3   1.3
460 .ds doc-operating-system-NetBSD-1.3a  1.3A
461 .ds doc-operating-system-NetBSD-1.4   1.4
462 .ds doc-operating-system-NetBSD-1.4.1 1.4.1
463 .ds doc-operating-system-NetBSD-1.4.2 1.4.2
464 .ds doc-operating-system-NetBSD-1.4.3 1.4.3
465 .ds doc-operating-system-NetBSD-1.5   1.5
466 .ds doc-operating-system-NetBSD-1.5.1 1.5.1
467 .ds doc-operating-system-NetBSD-1.5.2 1.5.2
468 .ds doc-operating-system-NetBSD-1.5.3 1.5.3
469 .ds doc-operating-system-NetBSD-1.6   1.6
470 .ds doc-operating-system-NetBSD-1.6.1 1.6.1
471 .ds doc-operating-system-NetBSD-1.6.2 1.6.2
472 .ds doc-operating-system-NetBSD-1.6.3 1.6.3
473 .ds doc-operating-system-NetBSD-2.0   2.0
474 .ds doc-operating-system-NetBSD-2.0.1 2.0.1
475 .ds doc-operating-system-NetBSD-2.0.2 2.0.2
476 .ds doc-operating-system-NetBSD-2.0.3 2.0.3
477 .ds doc-operating-system-NetBSD-2.1   2.1
478 .ds doc-operating-system-NetBSD-3.0   3.0
479 .ds doc-operating-system-NetBSD-3.0.1 3.0.1
480 .ds doc-operating-system-NetBSD-3.0.2 3.0.2
481 .ds doc-operating-system-NetBSD-3.0.3 3.0.3
482 .ds doc-operating-system-NetBSD-3.1   3.1
483 .ds doc-operating-system-NetBSD-3.1.1 3.1.1
484 .ds doc-operating-system-NetBSD-4.0   4.0
485 .ds doc-operating-system-NetBSD-4.0.1 4.0.1
486 .ds doc-operating-system-NetBSD-5.0   5.0
487 .ds doc-operating-system-NetBSD-5.0.1 5.0.1
488 .ds doc-operating-system-NetBSD-5.0.2 5.0.2
489 .ds doc-operating-system-NetBSD-5.1   5.1
490 .ds doc-operating-system-NetBSD-5.1.2 5.1.2
491 .ds doc-operating-system-NetBSD-5.1.3 5.1.3
492 .ds doc-operating-system-NetBSD-5.1.4 5.1.4
493 .ds doc-operating-system-NetBSD-5.2   5.2
494 .ds doc-operating-system-NetBSD-5.2.1 5.2.1
495 .ds doc-operating-system-NetBSD-5.2.2 5.2.2
496 .ds doc-operating-system-NetBSD-6.0   6.0
497 .ds doc-operating-system-NetBSD-6.0.1 6.0.1
498 .ds doc-operating-system-NetBSD-6.0.2 6.0.2
499 .ds doc-operating-system-NetBSD-6.0.3 6.0.3
500 .ds doc-operating-system-NetBSD-6.0.4 6.0.4
501 .ds doc-operating-system-NetBSD-6.0.5 6.0.5
502 .ds doc-operating-system-NetBSD-6.1   6.1
503 .ds doc-operating-system-NetBSD-6.1.1 6.1.1
504 .ds doc-operating-system-NetBSD-6.1.2 6.1.2
505 .ds doc-operating-system-NetBSD-6.1.3 6.1.3
506 .ds doc-operating-system-NetBSD-6.1.4 6.1.4
507 .
508 .ds doc-operating-system-OpenBSD-2.0  2.0
509 .ds doc-operating-system-OpenBSD-2.1  2.1
510 .ds doc-operating-system-OpenBSD-2.2  2.2
511 .ds doc-operating-system-OpenBSD-2.3  2.3
512 .ds doc-operating-system-OpenBSD-2.4  2.4
513 .ds doc-operating-system-OpenBSD-2.5  2.5
514 .ds doc-operating-system-OpenBSD-2.6  2.6
515 .ds doc-operating-system-OpenBSD-2.7  2.7
516 .ds doc-operating-system-OpenBSD-2.8  2.8
517 .ds doc-operating-system-OpenBSD-2.9  2.9
518 .ds doc-operating-system-OpenBSD-3.0  3.0
519 .ds doc-operating-system-OpenBSD-3.1  3.1
520 .ds doc-operating-system-OpenBSD-3.2  3.2
521 .ds doc-operating-system-OpenBSD-3.3  3.3
522 .ds doc-operating-system-OpenBSD-3.4  3.4
523 .ds doc-operating-system-OpenBSD-3.5  3.5
524 .ds doc-operating-system-OpenBSD-3.6  3.6
525 .ds doc-operating-system-OpenBSD-3.7  3.7
526 .ds doc-operating-system-OpenBSD-3.8  3.8
527 .ds doc-operating-system-OpenBSD-3.9  3.9
528 .ds doc-operating-system-OpenBSD-4.0  4.0
529 .ds doc-operating-system-OpenBSD-4.1  4.1
530 .ds doc-operating-system-OpenBSD-4.2  4.2
531 .ds doc-operating-system-OpenBSD-4.3  4.3
532 .ds doc-operating-system-OpenBSD-4.4  4.4
533 .ds doc-operating-system-OpenBSD-4.5  4.5
534 .ds doc-operating-system-OpenBSD-4.6  4.6
535 .ds doc-operating-system-OpenBSD-4.7  4.7
536 .ds doc-operating-system-OpenBSD-4.8  4.8
537 .ds doc-operating-system-OpenBSD-4.9  4.9
538 .ds doc-operating-system-OpenBSD-5.0  5.0
539 .ds doc-operating-system-OpenBSD-5.1  5.1
540 .ds doc-operating-system-OpenBSD-5.2  5.2
541 .ds doc-operating-system-OpenBSD-5.3  5.3
542 .ds doc-operating-system-OpenBSD-5.4  5.4
543 .ds doc-operating-system-OpenBSD-5.5  5.5
544 .ds doc-operating-system-OpenBSD-5.6  5.6
545 .
546 .ds doc-operating-system-FreeBSD-1.0     1.0
547 .ds doc-operating-system-FreeBSD-1.1     1.1
548 .ds doc-operating-system-FreeBSD-1.1.5   1.1.5
549 .ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
550 .ds doc-operating-system-FreeBSD-2.0     2.0
551 .ds doc-operating-system-FreeBSD-2.0.5   2.0.5
552 .ds doc-operating-system-FreeBSD-2.1     2.1
553 .ds doc-operating-system-FreeBSD-2.1.5   2.1.5
554 .ds doc-operating-system-FreeBSD-2.1.6   2.1.6
555 .ds doc-operating-system-FreeBSD-2.1.7   2.1.7
556 .ds doc-operating-system-FreeBSD-2.2     2.2
557 .ds doc-operating-system-FreeBSD-2.2.1   2.2.1
558 .ds doc-operating-system-FreeBSD-2.2.2   2.2.2
559 .ds doc-operating-system-FreeBSD-2.2.5   2.2.5
560 .ds doc-operating-system-FreeBSD-2.2.6   2.2.6
561 .ds doc-operating-system-FreeBSD-2.2.7   2.2.7
562 .ds doc-operating-system-FreeBSD-2.2.8   2.2.8
563 .ds doc-operating-system-FreeBSD-2.2.9   2.2.9
564 .ds doc-operating-system-FreeBSD-3.0     3.0
565 .ds doc-operating-system-FreeBSD-3.1     3.1
566 .ds doc-operating-system-FreeBSD-3.2     3.2
567 .ds doc-operating-system-FreeBSD-3.3     3.3
568 .ds doc-operating-system-FreeBSD-3.4     3.4
569 .ds doc-operating-system-FreeBSD-3.5     3.5
570 .ds doc-operating-system-FreeBSD-4.0     4.0
571 .ds doc-operating-system-FreeBSD-4.1     4.1
572 .ds doc-operating-system-FreeBSD-4.1.1   4.1.1
573 .ds doc-operating-system-FreeBSD-4.2     4.2
574 .ds doc-operating-system-FreeBSD-4.3     4.3
575 .ds doc-operating-system-FreeBSD-4.4     4.4
576 .ds doc-operating-system-FreeBSD-4.5     4.5
577 .ds doc-operating-system-FreeBSD-4.6     4.6
578 .ds doc-operating-system-FreeBSD-4.6.2   4.6.2
579 .ds doc-operating-system-FreeBSD-4.7     4.7
580 .ds doc-operating-system-FreeBSD-4.8     4.8
581 .ds doc-operating-system-FreeBSD-4.9     4.9
582 .ds doc-operating-system-FreeBSD-4.10    4.10
583 .ds doc-operating-system-FreeBSD-4.11    4.11
584 .ds doc-operating-system-FreeBSD-5.0     5.0
585 .ds doc-operating-system-FreeBSD-5.1     5.1
586 .ds doc-operating-system-FreeBSD-5.2     5.2
587 .ds doc-operating-system-FreeBSD-5.2.1   5.2.1
588 .ds doc-operating-system-FreeBSD-5.3     5.3
589 .ds doc-operating-system-FreeBSD-5.4     5.4
590 .ds doc-operating-system-FreeBSD-5.5     5.5
591 .ds doc-operating-system-FreeBSD-6.0     6.0
592 .ds doc-operating-system-FreeBSD-6.1     6.1
593 .ds doc-operating-system-FreeBSD-6.2     6.2
594 .ds doc-operating-system-FreeBSD-6.3     6.3
595 .ds doc-operating-system-FreeBSD-6.4     6.4
596 .ds doc-operating-system-FreeBSD-7.0     7.0
597 .ds doc-operating-system-FreeBSD-7.1     7.1
598 .ds doc-operating-system-FreeBSD-7.2     7.2
599 .ds doc-operating-system-FreeBSD-7.3     7.3
600 .ds doc-operating-system-FreeBSD-7.4     7.4
601 .ds doc-operating-system-FreeBSD-8.0     8.0
602 .ds doc-operating-system-FreeBSD-8.1     8.1
603 .ds doc-operating-system-FreeBSD-8.2     8.2
604 .ds doc-operating-system-FreeBSD-8.3     8.3
605 .ds doc-operating-system-FreeBSD-8.4     8.4
606 .ds doc-operating-system-FreeBSD-9.0     9.0
607 .ds doc-operating-system-FreeBSD-9.1     9.1
608 .ds doc-operating-system-FreeBSD-9.2     9.2
609 .ds doc-operating-system-FreeBSD-9.3     9.3
610 .ds doc-operating-system-FreeBSD-10.0    10.0
611 .
612 .ds doc-operating-system-Darwin-8.0.0  8.0.0
613 .ds doc-operating-system-Darwin-8.1.0  8.1.0
614 .ds doc-operating-system-Darwin-8.2.0  8.2.0
615 .ds doc-operating-system-Darwin-8.3.0  8.3.0
616 .ds doc-operating-system-Darwin-8.4.0  8.4.0
617 .ds doc-operating-system-Darwin-8.5.0  8.5.0
618 .ds doc-operating-system-Darwin-8.6.0  8.6.0
619 .ds doc-operating-system-Darwin-8.7.0  8.7.0
620 .ds doc-operating-system-Darwin-8.8.0  8.8.0
621 .ds doc-operating-system-Darwin-8.9.0  8.9.0
622 .ds doc-operating-system-Darwin-8.10.0 8.10.0
623 .ds doc-operating-system-Darwin-8.11.0 8.11.0
624 .ds doc-operating-system-Darwin-9.0.0  9.0.0
625 .ds doc-operating-system-Darwin-9.1.0  9.1.0
626 .ds doc-operating-system-Darwin-9.2.0  9.2.0
627 .ds doc-operating-system-Darwin-9.3.0  9.3.0
628 .ds doc-operating-system-Darwin-9.4.0  9.4.0
629 .ds doc-operating-system-Darwin-9.5.0  9.5.0
630 .ds doc-operating-system-Darwin-9.6.0  9.6.0
631 .ds doc-operating-system-Darwin-9.7.0  9.7.0
632 .ds doc-operating-system-Darwin-9.8.0  9.8.0
633 .ds doc-operating-system-Darwin-10.0.0 10.0.0
634 .ds doc-operating-system-Darwin-10.1.0 10.1.0
635 .ds doc-operating-system-Darwin-10.2.0 10.2.0
636 .ds doc-operating-system-Darwin-10.3.0 10.3.0
637 .ds doc-operating-system-Darwin-10.4.0 10.4.0
638 .ds doc-operating-system-Darwin-10.5.0 10.5.0
639 .ds doc-operating-system-Darwin-10.6.0 10.6.0
640 .ds doc-operating-system-Darwin-10.7.0 10.7.0
641 .ds doc-operating-system-Darwin-10.8.0 10.8.0
642 .ds doc-operating-system-Darwin-11.0.0 11.0.0
643 .ds doc-operating-system-Darwin-11.1.0 11.1.0
644 .ds doc-operating-system-Darwin-11.2.0 11.2.0
645 .ds doc-operating-system-Darwin-11.3.0 11.3.0
646 .ds doc-operating-system-Darwin-11.4.0 11.4.0
647 .ds doc-operating-system-Darwin-11.5.0 11.5.0
648 .ds doc-operating-system-Darwin-12.0.0 12.0.0
649 .ds doc-operating-system-Darwin-12.1.0 12.1.0
650 .ds doc-operating-system-Darwin-12.2.0 12.2.0
651 .ds doc-operating-system-Darwin-13.0.0 13.0.0
652 .ds doc-operating-system-Darwin-13.1.0 13.1.0
653 .ds doc-operating-system-Darwin-13.2.0 13.2.0
654 .ds doc-operating-system-Darwin-13.3.0 13.3.0
655 .ds doc-operating-system-Darwin-13.4.0 13.4.0
656 .ds doc-operating-system-Darwin-14.0.0 14.0.0
657 .
658 .ds doc-operating-system-DragonFly-1.0    1.0
659 .ds doc-operating-system-DragonFly-1.1    1.1
660 .ds doc-operating-system-DragonFly-1.2    1.2
661 .ds doc-operating-system-DragonFly-1.3    1.3
662 .ds doc-operating-system-DragonFly-1.4    1.4
663 .ds doc-operating-system-DragonFly-1.5    1.5
664 .ds doc-operating-system-DragonFly-1.6    1.6
665 .ds doc-operating-system-DragonFly-1.7    1.7
666 .ds doc-operating-system-DragonFly-1.8    1.8
667 .ds doc-operating-system-DragonFly-1.8.1  1.8.1
668 .ds doc-operating-system-DragonFly-1.9    1.9
669 .ds doc-operating-system-DragonFly-1.10   1.10
670 .ds doc-operating-system-DragonFly-1.11   1.11
671 .ds doc-operating-system-DragonFly-1.12   1.12
672 .ds doc-operating-system-DragonFly-1.12.2 1.12.2
673 .ds doc-operating-system-DragonFly-1.13   1.13
674 .ds doc-operating-system-DragonFly-2.0    2.0
675 .ds doc-operating-system-DragonFly-2.1    2.1
676 .ds doc-operating-system-DragonFly-2.2    2.2
677 .ds doc-operating-system-DragonFly-2.3    2.3
678 .ds doc-operating-system-DragonFly-2.4    2.4
679 .ds doc-operating-system-DragonFly-2.5    2.5
680 .ds doc-operating-system-DragonFly-2.6    2.6
681 .ds doc-operating-system-DragonFly-2.7    2.7
682 .ds doc-operating-system-DragonFly-2.8    2.8
683 .ds doc-operating-system-DragonFly-2.9    2.9
684 .ds doc-operating-system-DragonFly-2.9.1  2.9.1
685 .ds doc-operating-system-DragonFly-2.10   2.10
686 .ds doc-operating-system-DragonFly-2.10.1 2.10.1
687 .ds doc-operating-system-DragonFly-2.11   2.11
688 .ds doc-operating-system-DragonFly-2.12   2.12
689 .ds doc-operating-system-DragonFly-2.13   2.13
690 .ds doc-operating-system-DragonFly-3.0    3.0
691 .ds doc-operating-system-DragonFly-3.1    3.1
692 .ds doc-operating-system-DragonFly-3.2    3.2
693 .ds doc-operating-system-DragonFly-3.3    3.3
694 .ds doc-operating-system-DragonFly-3.4    3.4
695 .ds doc-operating-system-DragonFly-3.5    3.5
696 .ds doc-operating-system-DragonFly-3.6    3.6
697 .ds doc-operating-system-DragonFly-3.7    3.7
698 .ds doc-operating-system-DragonFly-3.8    3.8
699 .
700 .de Os
701 .  ds doc-command-name
702 .
703 .  ie "\$1"" \
704 .    ds doc-operating-system "\*[doc-default-operating-system]
705 .  el \{ .ie "\$1"ATT" \{\
706 .    ds doc-operating-system AT&T
707 .    if \A\a\$2\a \{\
708 .      ie d doc-operating-system-ATT-\$2 \
709 .        as doc-operating-system " \*[doc-operating-system-ATT-\$2]
710 .      el \
711 .        as doc-operating-system " UNIX
712 .  \}\}
713 .  el \{ .ie "\$1"BSD" \{\
714 .    if \A\a\$2\a \{\
715 .      ie d doc-operating-system-BSD-\$2 \
716 .        ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
717 .      el \
718 .        tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
719 .  \}\}
720 .  el \{ .ie "\$1"FreeBSD" \{\
721 .    ds doc-operating-system FreeBSD
722 .    if \A\a\$2\a \{\
723 .      ie d doc-operating-system-FreeBSD-\$2 \
724 .        as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
725 .      el \
726 .        tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
727 .  \}\}
728 .  el \{ .ie "\$1"DragonFly" \{\
729 .    ds doc-operating-system DragonFly
730 .    if \A\a\$2\a \{\
731 .      ie d doc-operating-system-DragonFly-\$2 \
732 .        as doc-operating-system \~\*[doc-operating-system-DragonFly-\$2]
733 .      el \
734 .        tm mdoc warning: .Os: Unknown DragonFly version `\$2' (#\n[.c])
735 .  \}\}
736 .  el \{ .ie "\$1"NetBSD" \{\
737 .    ds doc-operating-system NetBSD
738 .    if \A\a\$2\a \{\
739 .      ie d doc-operating-system-NetBSD-\$2 \
740 .        as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
741 .      el \
742 .        tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
743 .  \}\}
744 .  el \{ .ie "\$1"OpenBSD" \{\
745 .    ds doc-operating-system OpenBSD
746 .    if \A\a\$2\a \{\
747 .      ie d doc-operating-system-OpenBSD-\$2 \
748 .        as doc-operating-system \~\*[doc-operating-system-OpenBSD-\$2]
749 .      el \
750 .        tm mdoc warning: .Os: Unknown OpenBSD version `\$2' (#\n[.c])
751 .  \}\}
752 .  el \{ .ie "\$1"Darwin" \{\
753 .    ds doc-operating-system Darwin
754 .    if \A\a\$2\a \{\
755 .      ie d doc-operating-system-Darwin-\$2 \
756 .        as doc-operating-system \~\*[doc-operating-system-Darwin-\$2]
757 .      el \
758 .        tm mdoc warning: .Os: Unknown Darwin version `\$2' (#\n[.c])
759 .  \}\}
760 .  el \{\
761 .    ds doc-operating-system \$1
762 .    if !"\$2"" \
763 .      as doc-operating-system " \$2
764 .  \}\}\}\}\}\}\}\}
765 ..
766 .
767 .
768 .\" NS doc-date-string global string
769 .\" NS   the manual page date as set by `Dd'
770 .
771 .ds doc-date-string
772 .
773 .
774 .\" NS Dd user macro (not parsed, not callable)
775 .\" NS   set document date
776 .\" NS
777 .\" NS modifies:
778 .\" NS   doc-date-string
779 .\" NS   doc-command-name
780 .\" NS
781 .\" NS local variables:
782 .\" NS   doc-date-XXX
783 .\" NS
784 .\" NS width register `Dd' set above
785 .
786 .ds doc-date-1  January
787 .ds doc-date-2  February
788 .ds doc-date-3  March
789 .ds doc-date-4  April
790 .ds doc-date-5  May
791 .ds doc-date-6  June
792 .ds doc-date-7  July
793 .ds doc-date-8  August
794 .ds doc-date-9  September
795 .ds doc-date-10 October
796 .ds doc-date-11 November
797 .ds doc-date-12 December
798 .
799 .de Dd
800 .  ds doc-command-name
801 .
802 .  ie \n[.$] \{\
803 .    ie "\$1"$Mdocdate:" \
804 .      ds doc-date-string \$2\~\$3, \$4
805 .    el .ie (\n[.$] == 3) \
806 .      ds doc-date-string \$1\~\$2 \$3
807 .    el \{\
808 .      ds doc-date-string "\*[doc-date-\n[mo]]
809 .      as doc-date-string \~\n[dy], \n[year]
810 .    \}
811 .  \}
812 .  el \
813 .    ds doc-date-string Epoch
814 ..
815 .
816 .
817 .\" NS doc-hyphen-flags global register
818 .\" NS   the parameter for the `.hy' request
819 .\" NS
820 .\" NS override this in `mdoc.local', if necessary.
821 .
822 .nr doc-hyphen-flags 12
823 .
824 .
825 .\" NS doc-header macro
826 .\" NS   print page header
827 .\" NS
828 .\" NS local variables:
829 .\" NS   doc-reg-dh
830 .\" NS   doc-reg-dh1
831 .
832 .de doc-header
833 .  ev doc-env-dh
834 .  doc-setup-page-layout
835 .  if !\n[cR] \
836 .    sp \n[doc-header-space]u
837 .  nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[]'
838 .  nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[]'
839 .  if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
840 .    while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
841 .      substring doc-header-string 0 -2
842 .      nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[]'
843 .    \}
844 .    as doc-header-string "\|.\|.\|.
845 .  \}
846 .  tl \a\*[doc-caption-font]\*[doc-header-string]\f[]\a\*[doc-caption-font2]\*[doc-volume]\f[]\a\*[doc-caption-font]\*[doc-header-string]\f[]\a
847 .  ie !\n[cR] \
848 .    sp \n[doc-header-space]u
849 .  el \
850 .    sp 1v
851 .  ev
852 .  ns
853 ..
854 .
855 .
856 .\" NS doc-footer macro
857 .\" NS   print page footer
858 .
859 .de doc-footer
860 .  ie \n[cR] \
861 .    br
862 .  el \{\
863 .    ev doc-caption-enviroment
864 .    doc-setup-page-layout
865 .    sp \n[doc-footer-space]u
866 .    ie \n[D] \{\
867 .      ie o \
868 .        tl \a%\a\*[doc-caption-font2]\*[doc-date-string]\f[]\a\*[doc-caption-font]\*[doc-operating-system]\f[]\a
869 .      el \
870 .        tl \a\*[doc-caption-font]\*[doc-operating-system]\f[]\a\*[doc-caption-font2]\*[doc-date-string]\f[]\a%\a
871 .    \}
872 .    el \
873 .      tl \a\*[doc-caption-font]\*[doc-operating-system]\f[]\a\*[doc-caption-font2]\*[doc-date-string]\f[]\a%\a
874 .    bp
875 .    ev
876 .  \}
877 ..
878 .
879 .
880 .\" NS doc-check-depth macro
881 .\" NS   check paired macros
882 .
883 .de doc-check-depth
884 .  if \n[doc-list-depth] \{\
885 .    tm mdoc warning: A .Bl directive has no matching .El (#\n[.c])
886 .    nr doc-list-depth 0
887 .  \}
888 .  if \n[doc-display-depth] \{\
889 .    tm mdoc warning: A .Bd directive has no matching .Ed (#\n[.c])
890 .    nr doc-display-depth 0
891 .  \}
892 .  if \n[doc-fontmode-depth] \{\
893 .    tm mdoc warning: A .Bf directive has no matching .Ef (#\n[.c])
894 .    nr doc-fontmode-depth 0
895 .  \}
896 ..
897 .
898 .
899 .\" NS doc-end-macro macro
900 .\" NS   finish output
901 .
902 .de doc-end-macro
903 .  \" We may still have a partial line in the environment.  If this is the
904 .  \" case, and we happen to be on the last line of the page, the `.fl'
905 .  \" request will cause the page to be ejected and troff will immediately
906 .  \" exit.  If we are in nroff mode, this would be unfortunate, since we
907 .  \" would never get a chance to output the footer.  So we fudge the page
908 .  \" length to make sure that the last page is never ejected until we want
909 .  \" it to be.
910 .
911 .  if \n[cR] \
912 .    pl +3v
913 .  fl
914 .
915 .  doc-check-depth
916 .
917 .  if \n[cR] \{\
918 .    sp
919 .    tl \a\*[doc-caption-font]\*[doc-operating-system]\f[]\a\*[doc-caption-font2]\*[doc-date-string]\f[]\a\*[doc-caption-font]\*[doc-operating-system]\f[]\a
920 .    \" suppress empty lines after the footer
921 .    pl \n[nl]u
922 .  \}
923 ..
924 .
925 .
926 .\" NS doc-paragraph macro
927 .\" NS   insert a paragraph
928 .
929 .de doc-paragraph
930 .  sp \n[doc-paragraph-space]u
931 .  if !\n[cR] \
932 .    ne 2
933 .  ns
934 ..
935 .
936 .
937 .\" NS Pp user macro (not parsed, not callable)
938 .\" NS   new paragraph
939 .\" NS
940 .\" NS width register `Pp' set above
941 .
942 .als Pp doc-paragraph
943 .
944 .
945 .\" NS Lp user macro (not parsed, not callable)
946 .\" NS   same as .Pp
947 .\" NS
948 .\" NS width register `Lp' set above
949 .
950 .als Lp doc-paragraph
951 .
952 .
953 .de LP
954 .  tm Not a \-mdoc command: .LP (#\n[.c])
955 ..
956 .
957 .
958 .de PP
959 .  tm Not a \-mdoc command: .PP (#\n[.c])
960 ..
961 .
962 .
963 .de pp
964 .  tm Not a \-mdoc command: .pp (#\n[.c])
965 ..
966 .
967 .
968 .de SH
969 .  tm Not a \-mdoc command: .SH (#\n[.c])
970 ..
971 .
972 .
973 .\" NS Nd user macro (not parsed, not callable)
974 .\" NS   print name description
975 .\" NS
976 .\" NS width register `Nd' set above
977 .
978 .de Nd
979 .  nop \[em] \$*
980 ..
981 .
982 .
983 .\" NS doc-in-synopsis-section global register (bool)
984 .\" NS   whether we are in the `synopsis' section
985 .
986 .nr doc-in-synopsis-section 0
987 .
988 .
989 .\" NS doc-in-library-section global register (bool)
990 .\" NS   whether we are in the `library' section
991 .
992 .nr doc-in-library-section 0
993 .
994 .
995 .\" NS doc-in-see-also-section global register (bool)
996 .\" NS   whether we are in the `see also' section
997 .
998 .nr doc-in-see-also-section 0
999 .
1000 .
1001 .\" NS doc-in-files-section global register (bool)
1002 .\" NS   whether we are in the `files' section
1003 .
1004 .nr doc-in-files-section 0
1005 .
1006 .
1007 .\" NS doc-in-authors-section global register (bool)
1008 .\" NS   whether we are in the `authors' section
1009 .
1010 .nr doc-in-authors-section 0
1011 .
1012 .
1013 .\" NS doc-first-parameter macro
1014 .\" NS   return first parameter
1015 .\" NS
1016 .\" NS local variables:
1017 .\" NS   doc-str-dfp
1018 .
1019 .de doc-first-parameter
1020 .  ds doc-str-dfp "\$1
1021 ..
1022 .
1023 .
1024 .\" NS Sh user macro (not callable)
1025 .\" NS   section headers
1026 .\" NS
1027 .\" NS modifies:
1028 .\" NS   doc-func-args-processed
1029 .\" NS   doc-func-count
1030 .\" NS   doc-in-authors-section
1031 .\" NS   doc-in-files-section
1032 .\" NS   doc-in-library-section
1033 .\" NS   doc-in-see-also-section
1034 .\" NS   doc-in-synopsis-section
1035 .\" NS   doc-indent-synopsis
1036 .\" NS   doc-indent-synopsis-active
1037 .\" NS   doc-is-func
1038 .\" NS   doc-num-func-args
1039 .\" NS
1040 .\" NS local variables:
1041 .\" NS   doc-reg-Sh
1042 .\" NS   doc-reg-Sh1
1043 .\" NS   doc-section-XXX
1044 .\" NS
1045 .\" NS width register `Sh' set in doc-common
1046 .
1047 .ds doc-section-name        NAME
1048 .ds doc-section-synopsis    SYNOPSIS
1049 .ds doc-section-library     LIBRARY
1050 .ds doc-section-description DESCRIPTION
1051 .ds doc-section-see-also    SEE
1052 .ds doc-section-files       FILES
1053 .ds doc-section-authors     AUTHORS
1054 .
1055 .de Sh
1056 .  ie \n[doc-arg-limit] \{\
1057 .    \" we only allow `Sh' within `Sh'; it will change the font back to
1058 .    \" `doc-Sh-font'
1059 .    ie "\*[doc-macro-name]"Sh" \{\
1060 .      nr doc-arg-ptr +1
1061 .      ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
1062 .        nr doc-curr-font \n[.f]
1063 .        nr doc-curr-size \n[.ps]
1064 .        nop \*[doc-Sh-font]\c
1065 .        doc-print-recursive
1066 .      \}
1067 .      el \{\
1068 .        tm Usage: .Sh section_name ... (#\n[.c])
1069 .        doc-reset-args
1070 .    \}\}
1071 .    el \{\
1072 .      tm Usage: .Sh not callable by other macros (#\n[.c])
1073 .      doc-reset-args
1074 .  \}\}
1075 .  el \{\
1076 .    if !\n[.$] \{\
1077 .      tm Usage: .Sh section_name ... (#\n[.c])
1078 .      return
1079 .    \}
1080 .
1081 .    ds doc-macro-name Sh
1082 .    doc-parse-args \$@
1083 .
1084 .    if t \
1085 .      ad
1086 .
1087 .    \" this resolves e.g. `.Sh "SEE ALSO"'
1088 .    doc-first-parameter \$*
1089 .
1090 .    ie "\*[doc-str-dfp]"\*[doc-section-name]" \{\
1091 .      doc-setup-header
1092 .      in 0
1093 .    \}
1094 .    el \{\
1095 .      nr doc-in-synopsis-section 0
1096 .      nr doc-in-library-section 0
1097 .      nr doc-in-see-also-section 0
1098 .      nr doc-in-files-section 0
1099 .      nr doc-in-authors-section 0
1100 .
1101 .      ie        "\*[doc-str-dfp]"\*[doc-section-synopsis]" \{\
1102 .        if t \
1103 .          na
1104 .        nr doc-in-synopsis-section 1
1105 .        nr doc-indent-synopsis 0
1106 .        nr doc-indent-synopsis-active 0
1107 .      \}
1108 .      el \{ .ie "\*[doc-str-dfp]"\*[doc-section-library]" \{\
1109 .        nr doc-in-library-section 1
1110 .      \}
1111 .      el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\
1112 .        nr doc-is-func 0
1113 .        nr doc-func-count 0
1114 .        nr doc-func-args-processed 0
1115 .        nr doc-num-func-args 0
1116 .      \}
1117 .      el \{ .ie "\*[doc-str-dfp]"\*[doc-section-see-also]" \{\
1118 .        if t \
1119 .          na
1120 .        nr doc-in-see-also-section 1
1121 .      \}
1122 .      el \{ .ie "\*[doc-str-dfp]"\*[doc-section-files]" \
1123 .        nr doc-in-files-section 1
1124 .      el .if    "\*[doc-str-dfp]"\*[doc-section-authors]" \
1125 .        nr doc-in-authors-section 1
1126 .      \}\}\}\}
1127 .
1128 .      in 0
1129 .      nr doc-have-author 0
1130 .    \}
1131 .
1132 .    doc-setup-page-layout
1133 .    sp
1134 .    ns
1135 .    ta T .5i
1136 .    if !\n[cR] \
1137 .      ne 3
1138 .    fi
1139 .
1140 .    if t \{\
1141 .      nr doc-reg-Sh \n[.ss]
1142 .      nr doc-reg-Sh1 \n[.sss]
1143 .      ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
1144 .    \}
1145 .
1146 .    nr doc-arg-ptr +1
1147 .    nr doc-curr-font \n[.f]
1148 .    nr doc-curr-size \n[.ps]
1149 .    nop \*[doc-Sh-font]\c
1150 .    doc-print-recursive
1151 .
1152 .    if t \
1153 .      ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
1154 .
1155 .    in +\n[doc-subheader-indent]u
1156 .    ns
1157 .
1158 .    doc-check-depth
1159 .  \}
1160 ..
1161 .
1162 .
1163 .\" NS Ss user macro (not callable)
1164 .\" NS   subsection
1165 .\" NS
1166 .\" NS local variable:
1167 .\" NS   doc-reg-Ss
1168 .\" NS   doc-reg-Ss1
1169 .\" NS
1170 .\" NS width register `Ss' set above
1171 .
1172 .de Ss
1173 .  ie \n[doc-arg-limit] \{\
1174 .    \" we only allow `Ss' within `Ss'; it will change the font back to
1175 .    \" `doc-Sh-font'
1176 .    ie "\*[doc-macro-name]"Ss" \{\
1177 .      nr doc-arg-ptr +1
1178 .      ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
1179 .        nr doc-curr-font \n[.f]
1180 .        nr doc-curr-size \n[.ps]
1181 .        nop \*[doc-Sh-font]\c
1182 .        doc-print-recursive
1183 .      \}
1184 .      el \{\
1185 .        tm Usage: .Ss subsection_name ... (#\n[.c])
1186 .        doc-reset-args
1187 .    \}\}
1188 .    el \{\
1189 .      tm Usage: .Ss not callable by other macros (#\n[.c])
1190 .      doc-reset-args
1191 .  \}\}
1192 .  el \{\
1193 .    if !\n[.$] \{\
1194 .      tm Usage: .Ss subsection_name ... (#\n[.c])
1195 .      return
1196 .    \}
1197 .
1198 .    ds doc-macro-name Ss
1199 .    doc-parse-args \$@
1200 .
1201 .    sp
1202 .    if !\n[cR] \
1203 .      ne 3
1204 .    ti -.25i
1205 .
1206 .    nr doc-reg-Ss \n[.ss]
1207 .    nr doc-reg-Ss1 \n[.sss]
1208 .    ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
1209 .
1210 .    nr doc-arg-ptr +1
1211 .    nr doc-curr-font \n[.f]
1212 .    nr doc-curr-size \n[.ps]
1213 .    nop \*[doc-Sh-font]\c
1214 .    doc-print-recursive
1215 .
1216 .    ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
1217 .
1218 .    ta T .5i
1219 .    if !\n[cR] \
1220 .      ne 2
1221 .    br
1222 .    ns
1223 .
1224 .    doc-check-depth
1225 .  \}
1226 ..
1227 .
1228 .
1229 .\" NS Rd macro (not parsed, not callable)
1230 .\" NS   print global register dump to stderr
1231 .\" NS
1232 .\" NS local variables:
1233 .\" NS   doc-reg-Rd
1234 .
1235 .de Rd
1236 .  tm MDOC GLOBAL REGISTER DUMP
1237 .  tm doc-macro-name == `\*[doc-macro-name]'
1238 .  tm doc-arg-limit == \n[doc-arg-limit]
1239 .  tm doc-num-args == \n[doc-num-args]
1240 .  tm doc-arg-ptr == \n[doc-arg-ptr]
1241 .
1242 .  nr doc-reg-Rd 1
1243 .  while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
1244 .    tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
1245 .    tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
1246 .    tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
1247 .    nr doc-reg-Rd +1
1248 .  \}
1249 .
1250 .  tm doc-curr-font == \n[doc-curr-font]
1251 .  tm doc-curr-size == \n[doc-curr-size]
1252 .  tm doc-indent-synopsis == \n[doc-indent-synopsis]
1253 .  tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
1254 .  tm doc-have-decl == \n[doc-have-decl]
1255 .  tm doc-have-var == \n[doc-have-var]
1256 .  tm doc-command-name == `\*[doc-command-name]'
1257 .  tm doc-quote-left == `\*[doc-quote-left]'
1258 .  tm doc-quote-right == `\*[doc-quote-right]'
1259 .  tm doc-nesting-level == \n[doc-nesting-level]
1260 .  tm doc-in-list == \n[doc-in-list]
1261 .  tm doc-space == `\*[doc-space]'
1262 .  tm doc-saved-space == `\*[doc-saved-space]'
1263 .  tm doc-space-mode == \n[doc-space-mode]
1264 .  tm doc-have-space == \n[doc-have-space]
1265 .  tm doc-have-slot == \n[doc-have-slot]
1266 .  tm doc-keep-type == \n[doc-keep-type]
1267 .  tm doc-display-depth == \n[doc-display-depth]
1268 .  tm doc-is-compact == \n[doc-is-compact]
1269 .
1270 .  nr doc-reg-Rd 0
1271 .  while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
1272 .    tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
1273 .    tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
1274 .    tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
1275 .    tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
1276 .    tm doc-display-ft-stack\n[doc-reg-Rd] == \n[doc-display-ft-stack\n[doc-reg-Rd]]
1277 .    tm doc-display-ps-stack\n[doc-reg-Rd] == \n[doc-display-ps-stack\n[doc-reg-Rd]]
1278 .    nr doc-reg-Rd +1
1279 .  \}
1280 .
1281 .  tm doc-fontmode-depth == \n[doc-fontmode-depth]
1282 .
1283 .  nr doc-reg-Rd 1
1284 .  while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
1285 .    tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
1286 .    tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
1287 .    nr doc-reg-Rd +1
1288 .  \}
1289 .
1290 .  tm doc-list-depth == \n[doc-list-depth]
1291 .
1292 .  nr doc-reg-Rd 1
1293 .  while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
1294 .    tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
1295 .    tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
1296 .    tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
1297 .    tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
1298 .    tm doc-tag-prefix-stack\n[doc-reg-Rd] == `\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
1299 .    tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
1300 .    tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
1301 .    tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
1302 .    nr doc-reg-Rd +1
1303 .  \}
1304 .
1305 .  tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
1306 .  tm doc-curr-type == \n[doc-curr-type]
1307 .  tm doc-curr-arg == `\*[doc-curr-arg]'
1308 .  tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
1309 .  tm doc-num-columns == \n[doc-num-columns]
1310 .  tm doc-column-indent-width == \n[doc-column-indent-width]
1311 .  tm doc-is-func == \n[doc-is-func]
1312 .  tm doc-have-old-func == \n[doc-have-old-func]
1313 .  tm doc-func-arg-count == \n[doc-func-arg-count]
1314 .  tm doc-func-arg == `\*[doc-func-arg]'
1315 .  tm doc-num-func-args == \n[doc-num-func-args]
1316 .  tm doc-func-args-processed == \n[doc-func-args-processed]
1317 .  tm doc-have-func == \n[doc-have-func]
1318 .  tm doc-is-reference == \n[doc-is-reference]
1319 .  tm doc-reference-count == \n[doc-reference-count]
1320 .  tm doc-author-count == \n[doc-author-count]
1321 .
1322 .  nr doc-reg-Rd 0
1323 .  while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
1324 .    tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
1325 .    nr doc-reg-Rd +1
1326 .  \}
1327 .
1328 .  tm doc-book-count == \n[doc-book-count]
1329 .  tm doc-book-name == `\*[doc-book-name]'
1330 .  tm doc-date-count == \n[doc-date-count]
1331 .  tm doc-date == `\*[doc-date]'
1332 .  tm doc-publisher-count == \n[doc-publisher-count]
1333 .  tm doc-publisher-name == `\*[doc-publisher-name]'
1334 .  tm doc-journal-count == \n[doc-journal-count]
1335 .  tm doc-journal-name == `\*[doc-journal-name]'
1336 .  tm doc-issue-count == \n[doc-issue-count]
1337 .  tm doc-issue-name == `\*[doc-issue-name]'
1338 .  tm doc-optional-count == \n[doc-optional-count]
1339 .  tm doc-optional-string == `\*[doc-optional-string]'
1340 .  tm doc-page-number-count == \n[doc-page-number-count]
1341 .  tm doc-page-number-string == `\*[doc-page-number-string]'
1342 .  tm doc-corporate-count == \n[doc-corporate-count]
1343 .  tm doc-corporate-name == `\*[doc-corporate-name]'
1344 .  tm doc-report-count == \n[doc-report-count]
1345 .  tm doc-report-name == `\*[doc-report-name]'
1346 .  tm doc-reference-title-count == \n[doc-reference-title-count]
1347 .  tm doc-reference-title-name == `\*[doc-reference-title-name]'
1348 .  tm doc-reference-title-name-for-book == `\*[doc-reference-title-name-for-book]'
1349 .  tm doc-url-count == \n[doc-url-count]
1350 .  tm doc-url-name == `\*[doc-url-name]'
1351 .  tm doc-volume-count == \n[doc-volume-count]
1352 .  tm doc-volume-name == `\*[doc-volume-name]'
1353 .  tm doc-have-author == \n[doc-have-author]
1354 .
1355 .  tm doc-document-title == `\*[doc-document-title]'
1356 .  tm doc-volume == `\*[doc-volume]'
1357 .  tm doc-section == `\*[doc-section]'
1358 .  tm doc-operating-system == `\*[doc-operating-system]'
1359 .  tm doc-date-string == `\*[doc-date-string]'
1360 .  tm doc-header-space == \n[doc-header-space]
1361 .  tm doc-footer-space == \n[doc-footer-space]
1362 .  tm doc-display-vertical == \n[doc-display-vertical]
1363 .  tm doc-header-string == `\*[doc-header-string]'
1364 .  tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
1365 .  tm doc-in-library-section == \n[doc-in-library-section]
1366 .  tm doc-in-see-also-section == \n[doc-in-see-also-section]
1367 .  tm doc-in-files-section == \n[doc-in-files-section]
1368 .  tm doc-in-authors-section == \n[doc-in-authors-section]
1369 .
1370 .  tm END OF GLOBAL REGISTER DUMP
1371 ..
1372 .
1373 .
1374 .ec
1375 .
1376 .\" EOF