4.3BSD/usr/contrib/sunrpc/doc/tmac.sun

.\" @(#)tmac.sun 1.1 84/12/21 SMI; The Sun Macro Package
.ds // /usr/lib/ms/
.	\" IZ - initialize (before text begins)
.de IZ
.nr FM 1i
.nr YY -\\n(FMu
.nr XX 0 1
.nr IP 0
.nr PI 4n
.nr QI 5n
.nr FI 2n
.nr I0 \\n(PIu
.if n .nr PD 1v
.if t .nr PD .5v
.if n .nr DD 1v
.if t .nr DD .5v
.nr PS 11
.nr VS 13
.ps \\n(PS
.vs \\n(VSp
.nr dP 1
.nr dV 1
.nr ML 3v
.nr IR 0
.nr TB 0
.nr SJ \\n(.j
.if \\nO .po \\nOu
.nr PO \\n(.ou
.nr LL 6.5i
.ll \\n(LLu
.lt 6.5i
.ev 1
.nr FL 6i
.ll \\n(FLu
.ps 8
.vs 10p
.ev
.ds CH - \\\\n(PN -
.if n .ds CF \\*(DY
.wh 0 NP
.wh -\\n(FMu FO
.ch FO 16i
.wh -\\n(FMu FX
.ch FO -\\n(FMu
.wh -\\n(FMu/2u BT
..
.	\" RT - reset (at new paragraph)
.de RT
.if !\\n(1T .BG
.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
.if \\n(TM .ls 2
.ce 0
.ul 0
.if \\n(QP \{\
.	ll +\\n(QIu
.	in -\\n(QIu
.	nr QP -1
.\}
.if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu
.if !\\n(IF \{\
.	ps \\n(PS
.	if \\n(VS>=40 .vs \\n(VSu
.	if \\n(VS<=39 .vs \\n(VSp
.\}
.if !\\n(IP .nr I0 \\n(PIu
.if \\n(IP \{\
.	in -\\n(I\\n(IRu
.	nr IP -1
.\}
.ft 1
.TA
.fi
..
.	\" TA - set default tabs
.de TA
.if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n
.if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n
..
.	\" BG - begin (at first paragraph)
.de BG
.br
.nr YE 1
.di
.ce 0
.nr KI 0
.hy 14
.nr 1T 1
.S\\n(ST
.rm S0 S1 S2 SY TX AX WT RP
.\"redefs
.de TL
.ft 3
.ce 99
.sp
.LG
\\..
.de AU
.ft 2
.if n .ul 0
.ce 99
.sp
.NL
\\..
.de AI
.ft 1
.if n .ul 0
.ce 99
.if n .sp
.if t .sp .5
.NL
\\..
.RA
.rn FJ FS
.rn FK FE
.nf
.ev 1
.ps \\n(PS-2
.vs \\n(.s+2p
.ev
.if !\\n(KG .nr FP 0
.nr KG 0
.if \\n(FP \{\
.	FS
.	FG
.	FE
.\}
.br
.if \\n(TV .if n .sp 2
.if \\n(TV .if t .sp 1
.fi
.ll \\n(LLu
..
.       \" RA - redefine abstract
.de RA
.de AB
.br
.if !\\n(1T .BG
.ce
.sp
.if !\\n(.$ ABSTRACT
.if \\n(.$ .if !\\$1no \\$1
.if !\\n(.$ .sp
.if \\n(.$ .if !\\$1no .sp
.sp
.nr AJ 1
.in +\\n(.lu/12u
.ll -\\n(.lu/12u
.RT
.if \\n(TM .ls 1
\\..
.de AE
.nr AJ 0
.br
.in 0
.ll \\n(LLu
.if \\n(VS>=40 .vs \\n(VSu
.if \\n(VS<=39 .vs \\n(VSp
.if \\n(TM .ls 2
\\..
..
.       \" RP - released paper format
.de RP
.nr ST 2
.if \\$1no .nr ST 1
.pn 0
.br
..
.       \" TL - source file for cover sheet
.de TL
.rn TL @T
.so \*(//ms.cov
.TL
.rm @T
..
.	\" Paragraph Depth
.de PD
.if t .nr PD .5v
.if n .nr PD 1v
.if !\\$1 .nr PD \\$1v
..
.	\" PP - regular paragraph
.de PP
.RT
.if \\n(1T .sp \\n(PDu
.ne 1.1
.ti +\\n(PIu
..
.	\" LP - left paragraph
.de LP
.RT
.if \\n(1T .sp \\n(PDu
.ne 1.1
.ti \\n(.iu
..
.	\" IP - indented paragraph
.de IP
.RT
.if \\n(1T .sp \\n(PDu
.ne 1.1
.if !\\n(IP .nr IP +1
.if \\n(.$-1 .nr I\\n(IR \\$2n
.in +\\n(I\\n(IRu
.ta \\n(I\\n(IRu
.if \\n(.$ \{\
.ds HT \&\\$1\^\^\^
.ti -\\n(I\\n(IRu
\\*(HT\t\c
.if \w\\*(HTu>(\\n(I\\n(IRu) .br
.\}
..
.	\" XP - exdented paragraph
.de XP
.RT
.if \\n(1T .sp \\n(PDu
.ne 1.1
.if !\\n(IP .nr IP +1
.in +\\n(I\\n(IRu
.ti -\\n(I\\n(IRu
..
.	\" QP - quote paragraph
.de QP
.ti \\n(.iu
.RT
.if \\n(1T .sp \\n(PDu
.ne 1.1
.nr QP 1
.in +\\n(QIu
.ll -\\n(QIu
.ti \\n(.iu
.if \\n(TM .ls 1
..
.	\" SH - section header
.de SH
.ti \\n(.iu
.RT
.if \\n(1T .sp
.RT
.ne 3.1
.ft B
..
.	\"                 $1 = C: As Chapter Heading; TOC Entry
.	\" UH - UnNumbered $1 = M: As Chapter Heading; no TOC entry
.	\"      Headings   $1 = H: Centered Heading; no TOC entry
.	\"                 $1 = HC: Centered Heading; TOC Entry
.	\"                 $1 = S: Left Adjusted Heading; no TOC entry
.	\"                 $1 = SC: Left Adjusted Heading; TOC Entry
.	\"                 $1 = CONTENTS: Setup for Table of Contents
.	\"                 $1 = INDEX: Setup for Index
.	\"                 $1 = TABLES: Setup for List of Tables
.	\"                 $1 = FIGURES: Setup for List of Figures
.de UH
.SH
.if '\\$1'C' \{\
.ne 1.0i+2v
.ad c
.ps 18
.vs 24
\\&
.sp 0.5i
\\$2
.sp 0.5i
.ps
.vs
.ad b
.R
\}
.if '\\$1'M' \{\
.ne 1.0i+2v
.ad c
.ps 18
.vs 24
\\&
.sp 0.5i
\\$2
.sp 0.5i
.ps
.vs
.ad b
.R
\}
.if '\\$1'H' \{\
.ne 0.7i+2v
.ad c
.if \\n(NS=2 .ft B
.if \\n(NS=2 .ps 14p
.if \\n(NS=2 .vs 18p
\\&
.sp 0.25i
\\$2
.sp 0.1i
.ad b
.R \}
.if '\\$1'S' \{\
.ne 0.2i+2v
.if \\n(NS=3 .ft I
.if \\n(NS=3 .ps 12p
.if \\n(NS=3 .vs 15p
\\&
.sp 0.1i
\\$2
.sp 0.1i
.R \}
.if '\\$1'HC' \{\
.ne 0.7i+2v
.ad c
.if \\n(NS=2 .ft B
.if \\n(NS=2 .ps 14p
.if \\n(NS=2 .vs 18p
\\&
.sp 0.25i
\\$2
.sp 0.1i
.ad b
.R \}
.if '\\$1'SC' \{\
.ne 0.2i+2v
.if \\n(NS=3 .ft I
.if \\n(NS=3 .ps 12p
.if \\n(NS=3 .vs 15p
\\&
.sp 0.1i
\\$2
.sp 0.1i
.R \}
.if '\\$1'C'  .if \\n(IK  \!.tm .CE U "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'C'  .if !\\n(IK .tm .CE U "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'HC' .if \\n(IK  \!.tm .CE UH "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'HC' .if !\\n(IK .tm .CE UH "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'SC' .if \\n(IK  \!.tm .CE UH "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'SC' .if !\\n(IK .tm .CE UH "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'CONTENTS' .nr cF 1
.if '\\$1'TABLES' .nr cF 1
.if '\\$1'FIGURES' .nr cF 1
.if '\\$1'INDEX' .nr cF 1
.if \\n(cF \{\
.LP
.EH ''''
.OH ''''
.EF ''\- \\\\\\\\n(PN \-''
.OF ''\- \\\\\\\\n(PN \-''
.if \\nP .pn \\nP+1
.if \\nP .nr PN \\nP
.nf
.if '\\$1'CONTENTS' .ds hD Contents
.if '\\$1'TABLES' .ds hD Tables
.if '\\$1'FIGURES' .ds hD Figures
.if '\\$1'INDEX' .ds hD Index
.ps 11
.nr PS 11
.vs 14
.nr VS 14
.ne 1.0i+2v
\\&
.sp 0.5i
.ce
.ps 18
.vs 24
.ft B
\\*(hD
.sp 0.5i
.R
.ps 11
.nr PS 11
.vs 14
.nr VS 14
.af PN i
.if !'\\$1'INDEX' \{\
.ll -0.5i
.in +0.5i \}
.if '\\$1'INDEX' \{\
.ps 10
.nr PS 10
.vs 12
.nr VS 12
.2C\}\}
..
.	\" SE - Make special entry in the Contents File
.de SE
.if \\n(IK \!.tm SE \\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\$7\t\\$8\t\\$9\t\\\\n(PN\t\\n(dT\t\\n(H1
.if !\\n(IK .tm SE \\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\$7\t\\$8\t\\$9\t\\n(PN\t\\n(dT\t\\n(H1
..
.	\" H - Header - $1=level, $2=text
.	\" $1: [1-5]=levels, C=chapter, A=appendix, PA=paperappendix
.de H
.ti \\n(.iu
.RT
.if \\n(1T .sp
.RT
.ne 3.1
.ft B
.nr NS \\$1
.if '\\$1'C' .nr NS 1
.if '\\$1'C' .nr dT 1
.if '\\$1'A' .nr NS 1
.if '\\$1'A' .nr dT 1
.if '\\$1'PA' .nr NS 1
.if \\n(NS=1 .if !'\\$1'1' .if !'\\$1'PA'\{\
.if \\nC .nr H1 \\nC-1
.nr C 0
.nr T1 0
.nr F1 0
.bp 1 \}
.if '\\$1'A' .if !\\n(aP \{\
.nr aP 1
.nr H1 0
.af H1 A \}
.if '\\$1'PA' .if !\\n(aP \{\
.nr aP 1
.nr H1 0
.af H1 A \}
.af PN 1
.nr H\\n(NS +1
.if !\\n(NS-4 .nr H5 0
.if !\\n(NS-3 .nr H4 0
.if !\\n(NS-2 .nr H3 0
.if !\\n(NS-1 .nr H2 0
.if \\n(NS=1 .ds MT \\$2
.if \\n(NS=1 .if !'\\$1'1' .if !'\\$1'PA'\{\
.ad c
.ps 18
.vs 24
\\&
.sp 0.5i
.if '\\$1'C' .ds hS Chapter \\n(H1
.if '\\$1'A' .ds hS Appendix \\n(H1
\\*(hS
.sp
\\$2
.sp 0.5i
.ps
.vs
.ad b \}
.if \\n(NS>=1 .if !'\\$1'C' .if !'\\$1'A' .if !'\\$1'PA'\{\
.sp 10p
.ne 33p+20p
.ds SN \\n(H1.
.if \\n(NS>1 .as SN \\n(H2.
.if \\n(NS>2 .as SN \\n(H3.
.if \\n(NS>3 .as SN \\n(H4.
.if \\n(NS>4 .as SN \\n(H5.
.if \\n(NS=1 .ft B
.if \\n(NS=1 .ps 16p
.if \\n(NS=1 .vs 18p
.if \\n(NS=2 .ft B
.if \\n(NS=2 .ps 14p
.if \\n(NS=2 .vs 18p
.if \\n(NS=3 .ft I
.if \\n(NS=3 .ps 12p
.if \\n(NS=3 .vs 15p
.if \\n(NS=4 .ft I
.if \\n(NS=4 .ps 11p
.if \\n(NS=4 .vs 15p
.if \\n(NS=5 .ft R
.if \\n(NS=5 .ps \\n(PSp
.if \\n(NS=5 .vs \\n(VSp
.in +\\w'\\*(SN\\ \\ 'u
.ta \\w'\\*(SN\\ \\ 'u
.ti -\\w'\\*(SN\\ \\ 'u
\\*(SN\\ \\ \t\c
\&\\$2
.in
.ps
.vs
.sp 7p \}
.if '\\$1'PA'\{\
.sp 13p
.ne 33p+20p
.ft B
.ps 16p
.vs 18p
.in +\\w'\\*(SN\\ \\ 'u
.ta \\w'\\*(SN\\ \\ 'u
.ti -\\w'\\*(SN\\ \\ 'u
.ds SN Appendix \\n(H1.
.ti -\\w'\\*(SN\\ \\ 'u
\\*(SN\\ \\ \t\c
\&\\$2
.in
.ps
.vs
.sp 7p \}
.R
.if '\\$1'C' .if  \\n(IK \!.tm .CE C "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'C' .if !\\n(IK .tm .CE C "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'A' .if  \\n(IK \!.tm .CE A "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'A' .if !\\n(IK .tm .CE A "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'1' .if  \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'1' .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1
.if '\\$1'PA' .if  \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1
.if '\\$1'PA' .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1
.if \\n(NS>1 .if  \\n(IK \!.tm .CE N "\\$2" \\\\n(PN \\n(dT \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5
.if \\n(NS>1 .if !\\n(IK .tm .CE N "\\$2" \\n(PN \\n(dT \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5
..
.	\" TN - Table Caption
.de TN
.nr T1 +1
.sp
.if \\n(dT  .ds tS Table \\n(H1-\\n(T1: \\$1
.if !\\n(dT .ds tS Table \\n(T1: \\$1
.ce
\\*(tS
.sp
.ie \\n(IK \!.tm .CE T "\\$1" \\\\n(PN \\n(dT \\n(H1 \\n(T1
.el .tm .CE T "\\$1" \\n(PN \\n(dT \\n(H1 \\n(T1
..
.	\" FN - Figure Caption
.de FN
.nr F1 +1
.sp
.if \\n(dT  .ds tS Figure \\n(H1-\\n(F1: \\$1
.if !\\n(dT .ds tS Figure \\n(F1: \\$1
.ce
\\*(tS
.sp
.ie \\n(IK \!.tm .CE F "\\$1" \\\\n(PN \\n(dT \\n(H1 \\n(F1
.el .tm .CE F "\\$1" \\n(PN \\n(dT \\n(H1 \\n(F1
..
.	\" CE - table of contents entry
.	\" $1 : header type;  $2 : text;  $3 : page number;  $4 : document type
.	\" $5 : chapter number;  $6, 7, 8 : additional numbers
.de CE
.fi
.na
.nh
.rm lS
.ds rS \\$3
.if !'\\$4'0' .ds rS \\$5-\\$3
.if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ds rS \fB\\$3\fP
.if '\\$1'C' .if !'\\$5'' .if !'\\$5'0' .ds rS \fB\\$5-\\$3\fP
.if '\\$1'A' .if !'\\$5'' .if !'\\$5'0' .ds rS \fB\\$5-\\$3\fP
.if '\\$1'T' .if '\\$4'0' .ds lS Table \\$6\ \ 
.if '\\$1'F' .if '\\$4'0' .ds lS Figure \\$6\ \ 
.if '\\$1'T' .if '\\$4'1' .ds lS Table \\$5-\\$6\ \ 
.if '\\$1'F' .if '\\$4'1' .ds lS Figure \\$5-\\$6\ \ 
.if '\\$1'A' .ds lS \fBAppendix \\$5\fP\ \ 
.if '\\$1'C' .ds lS \fBChapter \\$5\fP\ \ 
.if '\\$1'N' .ds lS \\$5.\ \ 
.if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ds lS \fB\\$5.\fP\ \ 
.if '\\$1'N' .if !'\\$6'' .if !'\\$6'0' .ds lS "    \\$5.\\$6.\ \ 
.if '\\$1'N' .if !'\\$7'' .if !'\\$7'0' .ds lS "        \\$5.\\$6.\\$7.\ \ 
.if '\\$1'N' .if !'\\$8'' .if !'\\$8'0' .ds lS "            \\$5.\\$6.\\$7.\\$8.\ \ 
.if '\\$1'N' .if !'\\$9'' .if !'\\$9'0' .ds lS "                \\$5.\\$6.\\$7.\\$8.\\$9\ \ 
.if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .ne 3
.if '\\$1'U' .ne 3
.if '\\$1'A' .ne 3
.if '\\$1'C' .ne 3
.if '\\$1'N' .if '\\$6\\$7\\$8\\$9'' .sp
.if '\\$1'U' .sp
.if '\\$1'A' .sp
.if '\\$1'C' .sp
.\" Reduce line length, save section # width, increase indent:
.nr $l \\n(.l \"save line length
.ll -8n  \"try 8 ens for now
.nr wN \\w\\*(lSu \"wN = width of section number
.in +\\n(wNu
.\" Output number (lS) and text ($2) with short line length
.ti -\\n(wNu  \"don't indent first line
.vs \\n(.sp+2p  \"normalize spacing
.\" We need at least two lines for this 'moving-backward' hack to work:
.ne 2v
\&\\*(lS\\$2
.\"Restore line length and indent
.ll
.in
.\"  Go back to previous line, output leader & page number:
.nf  \"leaders only work right in no-fill mode!
.\" If last line broke, we have to correct for indent:
.if (\\w\\*(lS\\$2u)<=(\\n(.lu-\\n(.iu-8n) .nr wN 0
.ll -\\n(wNu
.ti +\\n(wNu
.ta \\n(.lu-\\n(.iu-5nR \\n(.lu-\\n(.iuR
.sp -1v
.vs \"(now can restore original vertical spacing)
\\h'|\\n(.nu+.5n'\s-3\a\s+3\t\\*(rS
.\"Restore line length (again):
.ll
..
.	\" NH - numbered header
.de NH
.SH
.nr NS \\$1
.if !\\n(.$ .nr NS 1
.if !\\n(NS .nr NS 1
.nr H\\n(NS +1
.if !\\n(NS-4 .nr H5 0
.if !\\n(NS-3 .nr H4 0
.if !\\n(NS-2 .nr H3 0
.if !\\n(NS-1 .nr H2 0
.if !\\$1 .if \\n(.$ .nr H1 1
.if \\$1S \{\
.	nr NS \\n(.$-1
.	nr H1 \\$2
.	nr H2 \\$3
.	nr H3 \\$4
.	nr H4 \\$5
.	nr H5 \\$6
.\}
.ds SN \\n(H1.
.if \\n(NS-1 .as SN \\n(H2.
.if \\n(NS-2 .as SN \\n(H3.
.if \\n(NS-3 .as SN \\n(H4.
.if \\n(NS-4 .as SN \\n(H5.
\\*(SN
..
.	\" LS - listing start
.de LS
.ie \\$1no .ID \\$2
.el .DS I \\$1
.nr PQ \\n(.f
.ft L
.ps -\\n(dP
.vs -\\n(dV
.nr @ \\w'x'u*8
.if \\n(.$ .nr @ \\w'x'u*\\$2
.if \\n(.$ .if \\$1no .nr @ \\w'x'u*\\$3
.ta \\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u
..
.	\" LE - listing end
.de LE
.ft \\n(PQ
.ps \\n(PS
.if \\n(VS>=40 .vs \\n(VSu
.if \\n(VS<=39 .vs \\n(VSp
.DE
..
.	\" DS - display with keep (L=left I=indent C=center B=block)
.de DS
.KS
.\\$1D \\$2 \\$1
.ft 1
.ps \\n(PS
.if \\n(VS>=40 .vs \\n(VSu
.if \\n(VS<=39 .vs \\n(VSp
..
.de D
.ID \\$1
..
.	\" ID - indented display with no keep
.de ID
.XD
.if t .in +.5i
.if n .in +8
.if \\n(.$ .if !\\$1I .if !\\$1 \{\
.	in \\n(OIu
.	in +\\$1n
.\}
..
.	\" LD - left display with no keep
.de LD
.XD
..
.	\" CD - centered display with no keep
.de CD
.XD
.ce 999
..
.	\" XD - real display macro
.de XD
.nf
.nr OI \\n(.i
.sp \\n(DDu
.if \\n(TM .ls 1
..
.	\" DE - end display of any kind
.de DE
.ce 0
.if \\n(BD .DF
.nr BD 0
.in \\n(OIu
.KE
.if \\n(TM .ls 2
.sp \\n(DDu
.fi
..
.	\" BD - block display: center entire block
.de BD
.XD
.nr BD 1
.nf
.in \\n(OIu
.di DD
..
.	\" DF - finish block display
.de DF
.di
.if \\n(dl>\\n(BD .nr BD \\n(dl
.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
.nr EI \\n(.l-\\n(.i
.ta \\n(EIuR
.DD
.in \\n(OIu
..
.	\" KS - begin regular keep
.de KS
.nr KN \\n(.u
.if !\\n(IK .if !\\n(IF .KQ
.nr IK +1
..
.	\" KQ - real keep processor
.de KQ
.br
.nr KI \\n(.i
.ev 2
.TA
.br
.in \\n(KIu
.ps \\n(PS
.if \\n(VS>=40 .vs \\n(VSu
.if \\n(VS<=39 .vs \\n(VSp
.ll \\n(LLu
.lt \\n(LTu
.if \\n(NX>1 .ll \\n(CWu
.if \\n(NX>1 .lt \\n(CWu
.di KK
.nr TB 0
..
.	\" KF - begin floating keep
.de KF
.nr KN \\n(.u
.if !\\n(IK .FQ
.nr IK +1
..
.	\" FQ - real floating keep processor
.de FQ
.nr KI \\n(.i
.ev 2
.TA
.br
.in \\n(KIu
.ps \\n(PS
.if \\n(VS>=40 .vs \\n(VSu
.if \\n(VS<=39 .vs \\n(VSp
.ll \\n(LLu
.lt \\n(LTu
.if \\n(NX>1 .ll \\n(CWu
.if \\n(NX>1 .lt \\n(CWu
.di KK
.nr TB 1
..
.	\" KE - end keep
.de KE
.if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ
.if \\n(IK .nr IK -1
..
.	\" RQ - real keep release
.de RQ
.br
.di
.nr NF 0
.if \\n(dn-\\n(.t .nr NF 1
.if \\n(TC .nr NF 1
.if \\n(NF .if !\\n(TB .sp 200
.if !\\n(NF .if \\n(TB .nr TB 0
.nf
.rs
.nr TC 5
.in 0
.ls 1
.if !\\n(TB \{\
.	ev
.	br
.	ev 2
.	KK
.\}
.ls
.ce 0
.if !\\n(TB .rm KK
.if \\n(TB .da KJ
.if \\n(TB \!.KD \\n(dn
.if \\n(TB .KK
.if \\n(TB .di
.nr TC \\n(TB
.if \\n(KN .fi
.in
.ev
..
.	\" start picture
.de PS
.	\" $1 is height, $2 is width in units
.if t .sp .3
.in (\\n(.lu-\\$2u)/2u
.ne \\$1u
..
.	\" end of picture
.de PE
.in
.if t .sp .6
..
.	\" KD - keep redivert
.de KD
.nr KM 0
.if \\n(.zKJ .nr KM 1
.if \\n(KM \!.KD \\$1
.if !\\n(KM .if \\n(.t<\\$1 .di KJ
..
.	\" EM - end macro (process leftover keep)
.de EM
.br
.if !\\n(TB .if t .wh -1p CM
.if \\n(TB \{\
\&\c
'	bp
.	NP
.	ch CM 160
.\}
..
.de XK
.nr TD 1
.nf
.ls 1
.in 0
.rn KJ KL
.KL
.rm KL
.if \\n(.zKJ .di
.nr TB 0
.if \\n(.zKJ .nr TB 1
.br
.in
.ls
.fi
.nr TD 0
..
.	\" NP - new page
.de NP
.if !\\n(LT .nr LT \\n(LLu
.if \\n(FM+\\n(HM>=\\n(.p \{\
.	tm HM + FM longer than page
.	ab
.\}
.\".if t .CM
.if !\\n(HM .nr HM 1i
.po \\n(POu
.nr PF \\n(.f
.nr PX \\n(.s
.ft 1
.ps \\n(PS
'sp \\n(HMu/2u
.PT
'sp |\\n(HMu
.HD	\"undefined
.ps \\n(PX
.ft \\n(PF
.nr XX 0 1
.nr YY 0-\\n(FMu
.ch FO 16i
.ch FX 17i
.ch FO -\\n(FMu
.ch FX \\n(.pu-\\n(FMu
.if \\n(MF .FV
.nr MF 0
.mk
.os
.ev 1
.if !\\n(TD .if \\n(TC<5 .XK
.nr TC 0
.ev
.nr TQ \\n(.i
.nr TK \\n(.u
.if \\n(IT \{\
.	in 0
.	nf
.	TT
.	in \\n(TQu
.	if \\n(TK .fi
.\}
.ns
.mk #T
.if t .if \\n(.o+\\n(LL>7.54i .tm PO + LL wider than 7.54i
..
.	\" PT - page titles
.de PT
.lt \\n(LTu
.pc %
.nr PN \\n%
.nr PT \\n%
.if \\n(P1 .nr PT 2
.if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH
.if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1
.if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2
.lt \\n(.lu
..
.	\" OH - odd page header
.de OH
.nr OH 1
.if !\\n(.$ .nr OH 0
.ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.	\" EH - even page header
.de EH
.nr EH 1
.if !\\n(.$ .nr EH 0
.ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.	\" P1 - PT on 1st page
.de P1
.nr P1 1
..
.	\" FO - footer
.de FO
.rn FO FZ
.if \\n(IT .nr T. 1
.if \\n(IT .if !\\n(FC .T# 1
.if \\n(IT .br
.nr FC +1
.if \\n(NX<2 .nr WF 0
.nr dn 0
.if \\n(FC<=1 .if \\n(XX .XF
.rn FZ FO
.nr MF 0
.if \\n(dn .nr MF 1
.if !\\n(WF .nr YY 0-\\n(FMu
.if !\\n(WF .ch FO \\n(YYu
.if !\\n(dn .nr WF 0
.if \\n(FC<=1 .if !\\n(XX \{\
.	if \\n(NX>1 .RC
.	if \\n(NX<2 'bp
.\}
.nr FC -1
.if \\n(ML .ne \\n(MLu
..
.	\" BT - bottom title
.de BT
.nr PF \\n(.f
.nr PX \\n(.s
.ft 1
.ps \\n(PS
.lt \\n(LTu
.po \\n(POu
.if \\n(TM .if \\n(CT \{\
.	tl ''\\n(PN''
.	nr CT 0
.\}
.if \\n% .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF
.if \\n% .if \\n(OF .if o .tl \\*(O3
.if \\n% .if \\n(EF .if e .tl \\*(E4
.ft \\n(PF
.ps \\n(PX
..
.	\" OF - odd page footer
.de OF
.nr OF 1
.if !\\n(.$ .nr OF 0
.ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.	\" EF - even page footer
.de EF
.nr EF 1
.if !\\n(.$ .nr EF 0
.ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
..
.	\" 2C - double column
.de 2C
.MC
..
.	\" 1C - single column
.de 1C
.MC \\n(LLu
.hy 14
..
.	\" MC - multiple columns, arg is col width
.de MC
.nr L1 \\n(LL*7/15
.if \\n(.$ .nr L1 \\$1n
.nr NQ \\n(LL/\\n(L1
.if \\n(NQ<1 .nr NQ 1
.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
.if !\\n(1T \{\
.	BG
.	if n .sp 4
.	if t .sp 2
.\}
.if !\\n(NX .nr NX 1
.if !\\n(NX=\\n(NQ \{\
.	RT
.	if \\n(NX>1 .bp
.	mk
.	nr NC 1
.	po \\n(POu
.\}
.if \\n(NQ>1 .hy 12
.nr NX \\n(NQ
.nr CW \\n(L1
.ll \\n(CWu
.nr FL \\n(CWu*11u/12u
.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
.nr RO \\n(CW+\\n(GW
.ns
..
.de RC
.if \\n(NC>=\\n(NX .C2
.if \\n(NC<\\n(NX .C1
.nr NC \\n(ND
.if \\n(iL>0 .if !"\\*(iC"" \{\
.if \\n(.i>0 .ti -\\n(.i
\\*(iC
.ti -4 \}
..
.de C1
.rt
.po +\\n(ROu
.nr ND \\n(NC+1
.nr XX 0 1
.if \\n(MF .FV
.ch FX \\n(.pu-\\n(FMu
.ev 1
.if \\n(TB .XK
.nr TC 0
.ev
.nr TQ \\n(.i
.if \\n(IT .in 0
.if \\n(IT .TT
.if \\n(IT .in \\n(TQu
.mk #T
.ns
..
.de C2
.po \\n(POu
'bp
.nr ND 1
..
.	\" RS - right shift
.de RS
.nr IS \\n(IP
.RT
.nr IP \\n(IS
.if \\n(IP .in +\\n(I\\n(IRu
.nr IR +1
.nr I\\n(IR \\n(PIu
.in +\\n(I\\n(IRu
..
.	\" RE - retreat left
.de RE
.nr IS \\n(IP
.RT
.nr IP \\n(IS
.if \\n(IR .nr IR -1
.if \\n(IP<=0 .in -\\n(I\\n(IRu
..
.	\" I - italic font
.de I
.nr PQ \\n(.f
.if t .ft 2
.ie \\$1 .if n .ul 999
.el .if n .ul 1
.if t .if !\\$1 \&\f\\n(PQ\\$3\fI\\$1\|\f\\n(PQ\\$2
.if n .if \\n(.$=1 \&\\$1
.if n .if \\n(.$>2 \&\\$3\c
.if n .if \\n(.$>1 \&\\$1\c
.if n .if \\n(.$>1 \&\\$2
..
.	\" B - bold font
.de B
.nr PQ \\n(.f
.if t .ft 3
.ie \\$1 .if n .ul 999
.el .if n .ul 1
.if t .if !\\$1 \&\f\\n(PQ\\$3\fB\\$1\f\\n(PQ\\$2
.if n .if \\n(.$=1 \&\\$1
.if n .if \\n(.$>2 \&\\$3\c
.if n .if \\n(.$>1 \&\\$1\c
.if n .if \\n(.$>1 \&\\$2
..
.	\" R - Roman font
.de R
.if n .ul 0
.ft 1
..
.	\" L - listing font
.de L
.if n .ul
\%\&\\$3\fL\\$1\f1\&\\$2
..
.	\" LB - bold listing font
.de LB
.if n .ul
\%\&\\$3\f(LB\\$1\f1\&\\$2
..
.	\" UL - underline in troff
.de UL
.if t \\$1\l'|0\(ul'\\$2
.if n .I \\$1 \\$2
..
.	\" SM - make text small
.de SM
.ps -2
.if !"\\$1"" \\$3\&\\$1\\$2
.if !"\\$1"" .ps +2
..
.	\" LG - larger
.de LG
.ps +2
.if !"\\$1"" \\$3\&\\$1\\$2
.if !"\\$1"" .ps -2
..
.	\" NL - normal
.de NL
.ps \\n(PS
..
.	\" combinations of Roman, italic, bold
.de RI
\&\fR\\$1\fI\\$2\^\fR\\$3\fI\\$4\^\fR\\$5\fI\\$6\^\fR\\$7\fI\\$8\^\fR\\$9
..
.de RB
\&\fR\\$1\fB\\$2\fR\\$3\fB\\$4\fR\\$5\fB\\$6\fR\\$7\fB\\$8\fR\\$9
..
.de IR
\&\fI\\$1\^\fR\\$2\fI\\$3\^\fR\\$4\fI\\$5\^\fR\\$6\fI\\$7\^\fR\\$8\fI\\$9\^\fR
..
.de IB
\&\fI\\$1\^\fB\\$2\fI\\$3\^\fB\\$4\fI\\$5\^\fB\\$6\fI\\$7\^\fB\\$8\fI\\$9\^\fR
..
.de BR
\&\fB\\$1\fR\\$2\fB\\$3\fR\\$4\fB\\$5\fR\\$6\fB\\$7\fR\\$8\fB\\$9\fR
..
.de BI
\&\fB\\$1\fI\\$2\^\fB\\$3\fI\\$4\^\fB\\$5\fI\\$6\^\fB\\$7\fI\\$8\^\fB\\$9\fR
..
.	\" \** - numbered footnote
.ds * \\*([.\\n+*\\*(.]
.	\" FJ - replaces FS after cover
.de FJ
'ce 0
.di
.ev 1
.ll \\n(FLu
.da FF
.br
.if \\n(IF .tm Nested footnote
.nr IF 1
.if !\\n+(XX-1 .FA
.if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n*
.if !\\n(MF .if \\n(.$ .FP \\$1 no
..
.	\" FK - replaces FE after cover
.de FK
.br
.in 0
.nr IF 0
.di
.ev
.if !\\n(XX-1 .nr dn +\\n(.v
.nr YY -\\n(dn
.if !\\n(NX .nr WF 1
.if \\n(dl>\\n(CW .nr WF 1
.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\
.	if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
.	if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
.	if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
.\}
..
.	\" FS - begin footnote on cover
.de FS
.ev 1
.br
.ll \\n(FLu
.da FG
.if !\\n(.$ .if \\n* .FP \\n*
.if \\n(.$ .FP \\$1 no
..
.	\" FE - end footnote on cover
.de FE
.br
.di
.nr FP \\n(dn
.if !\\n(1T .nr KG 1
.ev
..
.	\" FA - print line before footnotes
.de FA
.in 0
.if n _________________________
.if t \l'1i'
.br
..
.	\" FP - footnote paragraph
.de FP
.sp \\n(PDu/2u
.if \\n(FF<2 .ti \\n(FIu
.if \\n(FF=3 \{\
.	in \\n(FIu*2u
.	ta \\n(FIu*2u
.	ti 0
.\}
.if !\\n(FF \{\
.	ie "\\$2"no" \\$1\0\c
.	el \\*([.\\$1\\*(.]\0\c
.\}
.if \\n(FF .if \\n(FF<3 \{\
.	ie "\\$2"no" \\$1\0\c
.	el \\$1.\0\c
.\}
.if \\n(FF=3 \{\
.	ie "\\$2"no" \\$1\t\c
.	el \\$1.\t\c
.\}
..
.	\" FV - get leftover footnote from previous page
.de FV
.FS
.nf
.ls 1
.FY
.ls
.fi
.FE
..
.	\" FX - divert leftover footnote for next page
.de FX
.if \\n(XX .di FY
.if \\n(XX .ns
..
.	\" XF - actually print footnote
.de XF
.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
.ev 1
.nf
.ls 1
.FF
.rm FF
.nr XX 0 1
.br
.ls
.di
.fi
.ev
..
.	\" TS - source file for tbl
.de TS
.rn TS @T
.so \*(//ms.tbl
.TS \\$1 \\$2
.rm @T
..
.	\" EQ - source file for eqn
.de EQ
.rn EQ @T
.so \*(//ms.eqn
.EQ \\$1 \\$2
.rm @T
..
.       \" ]- - source file for refer
.de ]-
.rn ]- @T
.so \*(//ms.ref
.]-
.rm @T
..
.       \" [< - for refer -s or -e
.de ]<
.rn ]< @T
.so \*(//ms.ref
.]<
.rm @T
..
.if \n(.V>19 .ds [. \f1[
.if \n(.V>19 .ds .] ]\fP
.if \n(.V<20 .ds [. \f1\s-2\v'-.4m'
.if \n(.V<20 .ds .] \v'.4m'\s+2\fP
.ds <. .
.ds <, ,
.if n .ds Q \&"
.if n .ds U \&"
.if n .ds - \%--
.if t .ds Q ``
.if t .ds U ''
.if t .ds - \(em
.ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5'
.ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5'
.ds ^ \h'\w'o'u/10'\z^\h'-\w'e'u/10'
.ds , \h'\w'c'u/5'\z,\h'-\w'e'u/5'
.ds : \h'\w'u'u/5'\z"\h'-\w'e'u/5'
.ds ~ \h'\w'n'u/10'\z~\h'-\w'e'u/10'
.ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5'
.	\" AM - better accent marks
.de AM
.so \*(//ms.acc
..
.       \" TM - thesis mode
.de TM
.so \*(//ms.ths
..
.	\" BX - word in a box
.de BX
.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
..
.	\" B1 - source file for boxed text
.de B1
.rn B1 @T
.so \*(//ms.tbl
.B1 \\$1
.rm @T
..
.       \" XS - table of contents
.de XS
.rn XS @T
.so \*(//ms.toc
.XS \\$1 \\$2
.rm @T           
..  
.	\" IX - Make an Index Entry
.de IX
.if \\nI .if \\n(dT .if \\n(IK \!.tm .IE\t\\$1\t\\$2\t\\$3\t\\n(H1-\\\\n(PN\t
.if \\nI .if \\n(dT .if !\\n(IK .tm .IE\t\\$1\t\\$2\t\\$3\t\\n(H1-\\n(PN\t
.if \\nI .if !\\n(dT .if \\n(IK \!.tm .IE\t\\$1\t\\$2\t\\$3\t\\\\n(PN\t
.if \\nI .if !\\n(dT .if !\\n(IK .tm .IE\t\\$1\t\\$2\t\\$3\t\\n(PN\t
.if !\\nI .if \\n(dT .if \\n(IK \!.tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(H1-\\\\n(PN
.if !\\nI .if \\n(dT .if !\\n(IK .tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(H1-\\n(PN
.if !\\nI .if !\\n(dT .if \\n(IK \!.tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\\\n(PN
.if !\\nI .if !\\n(dT .if !\\n(IK .tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\n(PN
..
.	\" IH - Make an Index Header
.de IH
.if \\n(dT .if \\n(IK \!.tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(H1-\\\\n(PN
.if \\n(dT .if !\\n(IK .tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(H1-\\n(PN
.if !\\n(dT .if \\n(IK \!.tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\\\n(PN
.if !\\n(dT .if !\\n(IK .tm .IE\tHEADER\t\\$1\t\\$2\t\\$3\t\\$4\t\\n(PN
..
.	\" UX - UNIX macro
.de UX
.ie \\n(UX \s-1UNIX\s0\\$1
.el \{\
\s-1UNIX\s0\\$1\(dg
.FS
\(dg \s-1UNIX\s0 is a trademark of Bell Laboratories.
.FE
.nr UX 1
.\}
..
.\"
.\" Here is the SUN normal form macro,
.\" which tries to align for the cross grid
.\"
.de Sn
.ta 2i 3i 4i 5i 6i
.nr PS 10
.nr VS 12
.nr LL 5.8i
.nr PO +.75i
.ps 10
.vs 12
.ll 5.8i
.po +.75i
.tl '''
..
.\"
.\" Do a small type display
.\"
.de Ds
.DS
.ps 10
.vs 12
..
.de De
.DE
..
.\"
.\" These are my memo macros, invoked by using
.\" .MM and then specifying the appropriate pieces.
.\" Relies on the -ms or -msun macros.
.\"
.\" .MM -- initialize memo
.\" .TO -- Send it to
.\" .FR -- From
.\" .DA -- String for date
.\" .SU -- String for subject
.\" .CC -- Carbon Copies
.\" .DI -- Distribution List
.\" .EC -- End copy list 
.\" 
.de MM
.vs 10p
.sp 8v
.ll 6.0i
.ps 26
.br
.in +5i
.ft 3
s\|\|u\|\|n
.br
.ps 12
.ft 1
microsystems
.in -5i
.br
.sp
.ps 12
..
.de TO
.mk
.ps 9
To:
.ps 11
.if t .ti +\w'Subject: 'u
.rt
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
..
.de DA
.if t .in +6i
.if t .in -\w'\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7'u
.if t .in -\w'Date: 'u
.if t .rt
.if n .sp 
Date:
.if t .br
.if t .rt
.if t .ti +\w'Date: 'u
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.br
.if t .in +w'\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7'u
.if t .in +w'Date: 'u
.if t .in -6i
.sp
..
.de FR
.mk
.ps 9
From:
.if t .rt
.ps 11
.if t .ti +\w'Subject: 'u
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.if t .rt
.sp
..
.de SU
.mk
.ps 9
Subject:
.if t .rt
.ps 11
.if t .ti +\w'Subject: 'u
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.if t .rt
.sp
..
.de CC
.mk
.ps 9
CC:
.ps 11
.in +\w'Subject: 'u
.if t .rt
.nf
..
.de DI
.ps 9
Distribution
.br
.mk
List:
.ps 11
.in +\w'Subject: 'u
.rt
.nf
..
.de EC
.sp
.in -\w'Subject: 'u
.fi
.. 
.de pp
.sp
..
.\"
.\" These are macros for making foils.
.\" .Fp invokes the foil package initialization stuff,
.\" .Fl gets you a foil, and 
.\" .It gets an item
.\" .Tl gets a title for the foil
.\" .Ip gets a second paragraph in the bullet
.\" .Tp gets a text paragraph, not printed on foils
.\" .Te ends a text paragraph
.\"
.de Fp
.EF 'Copyright 1984 Sun Micro''Educational Material'
.OF 'Copyright 1984 Sun Micro''Educational Material'
..
.de Fl
.bp 1
.LP
.sp 2
.ll 6.5i
.nr PS 18
.nr VS 21
.ps 18
.vs 21
..
.de Tl
.ps \\n(PS+10
.vs \\n(VS+11
.ce 10
.ft 3
\\$1 \\$2 \\$3 
\\$4 \\$5 \\$6 \\$7
.ft 1
.ce 0
.br
.ps \\n(PS
.vs \\n(VS
..
.de Sl
.ps \\n(PS+4
.vs \\n(VS+5
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.br
.ps \\n(PS
.vs \\n(VS
..
.de St
.rs
.ps \\n(PS+4
.vs \\n(VS+5
\|\|
.sp -2
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.sp 2
.br
.ps \\n(PS
.vs \\n(VS
..
.de It
.sp 1
.IP \(bu
.ps \\n(PS+6 
.vs \\n(VS+7
\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
.sp 1
.ps \\n(PS
.vs \\n(VS
..
.de Ip
.sp 1
..
.de Tp
.ig Te
..
.co
.if \n(mo-0 .ds MO January
.if \n(mo-1 .ds MO February
.if \n(mo-2 .ds MO March
.if \n(mo-3 .ds MO April
.if \n(mo-4 .ds MO May
.if \n(mo-5 .ds MO June
.if \n(mo-6 .ds MO July
.if \n(mo-7 .ds MO August
.if \n(mo-8 .ds MO September
.if \n(mo-9 .ds MO October
.if \n(mo-10 .ds MO November
.if \n(mo-11 .ds MO December
.ds DY \*(MO \n(dy, 19\n(yr
.nr * 0 1
.IZ
.em EM
.rm IZ RA //