2 .\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 .\" Use is subject to license terms.
7 .\" The contents of this file are subject to the terms of the
8 .\" Common Development and Distribution License, Version 1.0 only
9 .\" (the "License"). You may not use this file except in compliance
12 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
13 .\" or http://www.opensolaris.org/os/licensing.
14 .\" See the License for the specific language governing permissions
15 .\" and limitations under the License.
17 .\" When distributing Covered Code, include this CDDL HEADER in each
18 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
19 .\" If applicable, add the following below this CDDL HEADER, with the
20 .\" fields enclosed by brackets "[]" replaced with your own identifying
21 .\" information: Portions Copyright [yyyy] [name of copyright owner]
25 .\" University Copyright- Copyright (c) 1982, 1986, 1988
26 .\" The Regents of the University of California
27 .\" All Rights Reserved
29 .\" University Acknowledgment- Portions of this document are derived from
30 .\" software developed by the University of California, Berkeley, and its
33 .\"ident "%Z%%M% %I% %E% SMI"
35 .ds // /usr/share/lib/tmac/
36 . \" IZ - initialize (before text begins)
80 . \" RT - reset (at new paragraph)
83 .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
92 .if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu
95 . if \\n(VS>=40 .vs \\n(VSu
96 . if \\n(VS<=39 .vs \\n(VSp
98 .if !\\n(IP .nr I0 \\n(PIu
107 . \" TA - set default tabs
109 .if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n
110 .if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n
112 . \" BG - begin (at first paragraph)
126 .rm S0 S1 S2 SY TX AX WT RP
166 .if \\n(TV .if n .sp 2
167 .if \\n(TV .if t .sp 1
170 . \" RA - redefine abstract
177 .if !\\\\n(.$ ABSTRACT
178 .if \\\\n(.$ .if !
\a\\\\$1
\ano
\a \\\\$1
180 .if \\\\n(.$ .if !
\a\\\\$1
\ano
\a .sp
193 .if \\\\n(VS>=40 .vs \\\\n(VSu
194 .if \\\\n(VS<=39 .vs \\\\n(VSp
198 . \" RP - released paper format
201 .if
\a\\$1
\ano
\a .nr ST 1
205 . \" TL - source file for cover sheet
212 . \" PP - regular paragraph
215 .if \\n(1T .sp \\n(PDu
219 . \" LP - left paragraph
222 .if \\n(1T .sp \\n(PDu
226 . \" IP - indented paragraph
229 .if \\n(1T .sp \\n(PDu
231 .if !\\n(IP .nr IP +1
232 .if \\n(.$-1 .nr I\\n(IR \\$2n
239 .if \w
\a\\*(HT
\au>(\\n(I\\n(IRu+1n) .br
242 . \" XP - exdented paragraph
245 .if \\n(1T .sp \\n(PDu
247 .if !\\n(IP .nr IP +1
251 . \" QP - quote paragraph
255 .if \\n(1T .sp \\n(PDu
263 . \" SH - section header
272 . \" NH - numbered header
279 .if !\\n(NS-4 .nr H5 0
280 .if !\\n(NS-3 .nr H4 0
281 .if !\\n(NS-2 .nr H3 0
282 .if !\\n(NS-1 .nr H2 0
283 .if !\\$1 .if \\n(.$ .nr H1 1
293 .if \\n(NS-1 .as SN \\n(H2.
294 .if \\n(NS-2 .as SN \\n(H3.
295 .if \\n(NS-3 .as SN \\n(H4.
296 .if \\n(NS-4 .as SN \\n(H5.
299 . \" H - fancy header
304 .XS \\\\n(PN \\$1u-1u*\\n(PIu
305 .if \\$1<2 .sp \\n(PDu
306 .if !
\a\\$1
\ano
\a \\*(SN\0
310 . \" LS - listing start
312 .ie
\a\\$1
\ano
\a .ID \\$2
319 .if \\n(.$ .nr @ \\w'x'u*\\$2
320 .if \\n(.$ .if
\a\\$1
\ano
\a .nr @ \\w'x'u*\\$3
321 .ta \\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u
323 . \" LE - listing end
327 .if \\n(VS>=40 .vs \\n(VSu
328 .if \\n(VS<=39 .vs \\n(VSp
331 . \" DS - display with keep (L=left I=indent C=center B=block)
338 .if \\n(VS>=40 .vs \\n(VSu
339 .if \\n(VS<=39 .vs \\n(VSp
344 . \" ID - indented display with no keep
349 .if \\n(.$ .if !
\a\\$1
\aI
\a .if !
\a\\$1
\a\a \{\
354 . \" LD - left display with no keep
358 . \" CD - centered display with no keep
363 . \" XD - real display macro
370 . \" DE - end display of any kind
381 . \" BD - block display: center entire block
389 . \" DF - finish block display
392 .if \\n(dl>\\n(BD .nr BD \\n(dl
393 .if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
399 . \" KS - begin regular keep
402 .if !\\n(IK .if !\\n(IF .KQ
405 . \" KQ - real keep processor
414 .if \\n(VS>=40 .vs \\n(VSu
415 .if \\n(VS<=39 .vs \\n(VSp
418 .if \\n(NX>1 .ll \\n(CWu
419 .if \\n(NX>1 .lt \\n(CWu
423 . \" KF - begin floating keep
429 . \" FQ - real floating keep processor
437 .if \\n(VS>=40 .vs \\n(VSu
438 .if \\n(VS<=39 .vs \\n(VSp
441 .if \\n(NX>1 .ll \\n(CWu
442 .if \\n(NX>1 .lt \\n(CWu
448 .if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ
451 . \" RQ - real keep release
456 .if \\n(dn-\\n(.t .nr NF 1
458 .if \\n(NF .if !\\n(TB .sp 200
459 .if !\\n(NF .if \\n(TB .nr TB 0
475 .if \\n(TB \!.KD \\n(dn
483 . \" KD - keep redivert
486 .if
\a\\n(.z
\aKJ
\a .nr KM 1
487 .if \\n(KM \!.KD \\$1
488 .if !\\n(KM .if \\n(.t<\\$1 .di KJ
490 . \" EM - end macro (process leftover keep)
493 .if !\\n(TB .if t .wh -1p CM
500 .if \\n(IF .FE \" End footnote if still pending
501 .if !"\\n(.z"" .DI \" End any left over diversions
503 . \" DI is used to properly end all diversions, otherwise a bug in
504 . \" [nt]roff may cause an infinite loop if the page footer (or
505 . \" macros that it calls) happens to start a new diversion.
518 .if
\a\\n(.z
\aKJ
\a .di
520 .if
\a\\n(.z
\aKJ
\a .nr TB 1
529 .if \\n(FM+\\n(HM>=\\n(.p \{\
530 . tm HM + FM longer than page
533 .if !\\n(LT .nr LT \\n(LLu
544 .if \\n(HM 'sp |\\n(HMu
553 .ch FX \\n(.pu-\\n(FMu
559 .if !\\n(TD .if \\n(TC<5 .XK
574 . \" PT - page titles
580 .if \\n(PT=1 .tl
\a\a\a\a
581 .if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl
\a\\*(LH
\a\\*(CH
\a\\*(RH
\a
582 .if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1
583 .if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2
585 . \" OH - odd page header
589 .ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
591 . \" EH - even page header
595 .ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
597 . \" P1 - PT on 1st page
605 .if \\n(IT .if !\\n(FC .T# 1
608 .if \\n(NX<2 .nr WF 0
610 .if \\n(FC<=1 .if \\n(XX .XF
614 .if !\\n(WF .nr YY 0-\\n(FMu
615 .if !\\n(WF .ch FO \\n(YYu
617 .if \\n(FC<=1 .if !\\n(XX \{\
622 .if \\n(ML .ne \\n(MLu
624 . \" BT - bottom title
632 .if \\n(TM .if \\n(CT \{\
636 .if \\n% .if !\\n(EF .if !\\n(OF .tl
\a\\*(LF
\a\\*(CF
\a\\*(RF
\a
637 .if \\n% .if \\n(OF .if o .tl \\*(O3
638 .if \\n% .if \\n(EF .if e .tl \\*(E4
642 . \" OF - odd page footer
646 .ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
648 . \" EF - even page footer
652 .ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
654 . \" 2C - double column
658 . \" 1C - single column
663 . \" MC - multiple columns, arg is col width
666 .if \\n(.$ .nr L1 \\$1n
668 .if \\n(NQ<1 .nr NQ 1
669 .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
676 .if !\\n(NX=\\n(NQ \{\
687 .nr FL \\n(CWu*11u/12u
688 .if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
693 .if \\n(NC>=\\n(NX .C2
694 .if \\n(NC<\\n(NX .C1
704 .ch FX \\n(.pu-\\n(FMu
712 .if \\n(IT .in \\n(TQu
721 . \" RS - right shift
726 .if \\n(IP .in +\\n(I\\n(IRu
731 . \" RE - retreat left
737 .if \\n(IP<=0 .in -\\n(I\\n(IRu
758 .ie
\a\\$1
\a\a .if n .ul 999
760 .if t .if !
\a\\$1
\a\a \&\\$1\|\f\\n(PQ\\$2
761 .if n .if \\n(.$=1 \&\\$1
762 .if n .if \\n(.$>1 \&\\$1\c
763 .if n .if \\n(.$>1 \&\\$2
769 .ie
\a\\$1
\a\a .if n .ul 999
771 .if t .if !
\a\\$1
\a\a \&\\$1\f\\n(PQ\\$2
772 .if n .if \\n(.$=1 \&\\$1
773 .if n .if \\n(.$>1 \&\\$1\c
774 .if n .if \\n(.$>1 \&\\$2
781 . \" L - listing font
783 \%\&\\$3\fL\\$1\fP\&\\$2
785 . \" LB - bold listing font
787 \%\&\\$3\f(LB\\$1\fP\&\\$2
789 . \" UL - underline in troff
791 .if t \\$1\l'|0\(ul'\\$2
808 .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
811 . \" ND - no date or new date
813 .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
816 . \" \** - numbered footnote
817 .ds * \\*([.\\n+*\\*(.]
818 . \" FJ - replaces FS after cover
826 .if \\n(IF .tm Nested footnote
829 .if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n*
830 .if !\\n(MF .if \\n(.$ .FP \\$1 no
832 . \" FK - replaces FE after cover
839 .if !\\n(XX-1 .nr dn +\\n(.v
842 .if \\n(dl>\\n(CW .nr WF 1
843 .if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
844 .if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\
845 . if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
846 . if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
847 . if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
850 . \" FS - begin footnote on cover
856 .if !\\n(.$ .if \\n* .FP \\n*
857 .if \\n(.$ .FP \\$1 no
859 . \" FE - end footnote on cover
867 . \" FA - print line before footnotes
870 .if n _________________________
874 . \" FP - footnote paragraph
877 .if \\n(FF<2 .ti \\n(FIu
884 . ie "\\$2"no" \\$1\0\c
885 . el \\*([.\\$1\\*(.]\0\c
887 .if \\n(FF .if \\n(FF<3 \{\
888 . ie "\\$2"no" \\$1\0\c
892 . ie "\\$2"no" \\$1\t\c
896 . \" FV - get leftover footnote from previous page
906 . \" FX - divert leftover footnote for next page
911 . \" XF - actually print footnote
913 .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
926 . \" TS - source file for tbl
933 . \" EQ - source file for eqn
940 . \" ]- - source file for refer
947 . \" [< - for refer -s or -e
954 .if \n(.V>19 .ds [. \f1[
955 .if \n(.V>19 .ds .] ]\fP
956 .if \n(.V<20 .ds [. \f1\s-2\v'-.4m'
957 .if \n(.V<20 .ds .] \v'.4m'\s+2\fP
966 .ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5'
967 .ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5'
968 .ds ^ \h'\w'o'u/10'\z^\h'-\w'e'u/10'
969 .ds , \h'\w'c'u/5'\z,\h'-\w'e'u/5'
970 .ds : \h'\w'u'u/5'\z"\h'-\w'e'u/5'
971 .ds ~ \h'\w'n'u/10'\z~\h'-\w'e'u/10'
972 .ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5'
973 . \" AM - better accent marks
977 . \" TM - thesis mode
981 . \" BX - word in a box
983 .if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
984 .if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
986 . \" B1 - source file for boxed text
993 . \" XS - table of contents
1000 . \" IX - index words to stderr
1002 .tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n(PN
1004 . \" UX - UNIX macro
1006 .ie \\n(UX \s-1UNIX\s0\\$1
1010 \(dg \s-1UNIX\s0 is a registered trademark of The Open Group in the
1011 U.S. and other countries.
1017 .if \n(mo-0 .ds MO January
1018 .if \n(mo-1 .ds MO February
1019 .if \n(mo-2 .ds MO March
1020 .if \n(mo-3 .ds MO April
1021 .if \n(mo-4 .ds MO May
1022 .if \n(mo-5 .ds MO June
1023 .if \n(mo-6 .ds MO July
1024 .if \n(mo-7 .ds MO August
1025 .if \n(mo-8 .ds MO September
1026 .if \n(mo-9 .ds MO October
1027 .if \n(mo-10 .ds MO November
1028 .if \n(mo-11 .ds MO December
1030 .ds DY \*(MO \n(dy, \n(_Y