.ds ]W MHSnet 1.1
.if t .tr *\(**
.ie n \{\
.	ds lq \&"\"
.	ds rq \&"\"
.\}
.el \{\
.	ds rq ''
.	ds lq ``
.\}
.de }E
.}f
.in \\n()Ru+\\n(INu
.ll \\n(LLu
..
'	# default tabs
.de DT
'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
..
'	# set type font and size
.de }f
.ps 10
.ft 1
..
'	# handle the head of the page
.de }H
.ev 1
.}C
'sp .5i
.ft 1
.ps 10
.lt 11c
.tl \\*(]H\\*(]D\\*(]H
'sp .5i
.ev
.ns
..
'	# handle the foot of the page
.de }F
.ev 1
.ft 1
.ps 10
'sp .5i
.lt 11c
.if !\\nD .tl \\*(]W\\*(]L\\*(PN%
.if  \\nD .if o .tl \\*(]W\\*(]L\\*(PN%
.if  \\nD .if e .tl \\*(PN%\\*(]L\\*(]W
.if !\\nX 'bp
.if \\nX .if \\n%>=\\nX \{\
.ds PN \\n%
.pn 1
.af % a
.nr X 0
'bp 1\}
.if \\nX .if \\n%<\\nX 'bp
.ev
..
'	# no runout unless there was a .TH
.de }K
.}N
.pl 1
.ll \\n(LLu
..
.em }K
'	# set title and heading
.de TH
.ll 11c
.pl 19.5c
.PD
.DT
.if n .nr IN .5i
.if t .nr IN .5i
.if t .po .588i
.nr LL 11c
.ds ]H \\$1\|(\|\\$2\|)
.ds ]D UNKNOWN SECTION OF THE MANUAL
.if '\\$2'1C' .ds ]D USER COMMANDS
.if '\\$2'1G' .ds ]D USER COMMANDS
.if '\\$2'1S' .ds ]D SUN-SPECIFIC USER COMMANDS
.if '\\$2'1V' .ds ]D USER COMMANDS 
.if '\\$2'1' .ds ]D USER COMMANDS
.if '\\$2'6' .ds ]D GAMES AND DEMOS
.if '\\$2'7' .ds ]D MANAGEMENT
.if '\\$2'2' .ds ]D SYSTEM CALLS
.if '\\$2'2V' .ds ]D SYSTEM CALLS
.if '\\$2'3' .ds ]D C LIBRARY FUNCTIONS
.if '\\$2'3C' .ds ]D COMPATIBILITY ROUTINES
.if '\\$2'3F' .ds ]D FORTRAN LIBRARY ROUTINES
.if '\\$2'3S' .ds ]D STANDARD I/O LIBRARY
.if '\\$2'3M' .ds ]D MATHEMATICAL FUNCTIONS
.if '\\$2'3N' .ds ]D NETWORK FUNCTIONS
.if '\\$2'3R' .ds ]D RPC SERVICES
.if '\\$2'3X' .ds ]D MISCELLANEOUS FUNCTIONS
.if '\\$2'5' .ds ]D FILE FORMATS
.if '\\$2'5V' .ds ]D FILE FORMATS
.if '\\$2'4' .ds ]D SPECIAL FILES
.if '\\$2'4F' .ds ]D SPECIAL FILES
.if '\\$2'4I' .ds ]D SPECIAL FILES
.if '\\$2'4P' .ds ]D SPECIAL FILES
.if '\\$2'4N' .ds ]D SPECIAL FILES
.if '\\$2'4S' .ds ]D SPECIAL FILES
.if '\\$2'4V' .ds ]D SPECIAL FILES
.if '\\$2'8' .ds ]D MAINTENANCE COMMANDS
.if '\\$2'8C' .ds ]D MAINTENANCE COMMANDS
.if '\\$2'8S' .ds ]D MAINTENANCE COMMANDS
.wh 0 }H
.if t .wh -1i }F
.if n .wh -1.167i }F
.em }M
.if !\\n(nl .if !\\nP .nr P 1
.if !\\n(nl .if \\nP .pn \\nP
.if \\nX .if \\nP>=\\nX \{\
.ds PN \\nP
.pn 1
.af % a
.nr X 0 \}
.if !\\n(nl .if \\nP .nr P 0
.if  \\nC .if \\n(nl .bp
.if  !\\nC .if \\n(nl .bp 1
.ds ]L \s-2Copyright \(co GPL\s+2
.}E
.DT
.nr )I .5i
.nr )R 0
.  \".if n .na
.mk ka
.if !'\\n(ka'-1' .bp
..
'	# IX - Make an Index Entry
.de IX
.if \\nF .tm .IE\tENTRY\t\\$1\t\\$2\t\\$3\t\\$4\t\\$5\t\\$6\t\\*(PN\\n%
..
'	# section heading
.de SH
.}X 0
.nr )E 2
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
..
'   # sub section heading
.de SS
.}X .25i "" ""
.nr )E 2
\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
.br
..
'	# subroutine for section heading
.de }X
.}E
.ti \\$1
.sp \\n()Pu
.ne 2
.nr )R 0
.fi
.it 1 }N
.SM
.B
..
'	# end of SH (cf }X above and }N below)
.de }2
.nr )E 0
.}E
.nr )I .5i
.ns
..
'	# italic
.de I
.ft 2
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# bold
.de B
.ft 3
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# small
.de SM
.ps 9
.it 1 }N
.if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
..
'	# combinations of Roman, italic, bold
.de RI
.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de VS
'if '\\$1'4' .mc \s12\(br\s0
..
.de VE
'mc
..
.de RB
.}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IR
.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de IB
.}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de BR
.}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
.de BI
.}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
..
'	# make special case of shift out of italic
.de }S
.ds ]F
.if "\\$1"2" .if !"\\$5"" .ds ]F\^
.ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
.el \\$3
.}f
..
'	# paragraph
.de LP
.PP
..
.de PP
.sp \\n()Pu
.ne 2
.}E
.nr )I .5i
.ns
..
'	# paragraph distance
.de PD
.if t .nr )P .4v
.if n .nr )P 1v
.if !"\\$1"" .nr )P \\$1v
..
'	# hanging indent
.de HP
.sp \\n()Pu
.ne 2
.if !"\\$1"" .nr )I \\$1n
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n()Ru+\\n(INu
.}f
..
'	# indented paragraph
.de IP
.TP \\$2
\&\\$1
..
'	# hanging label
.de TP
.if !"\\$1"" .nr )I \\$1n
.sp \\n()Pu
.in \\n()Ru
.nr )E 1
.ns
.it 1 }N
.di ]B
..
'	# end of TP (cf }N below)
.de }1
.ds ]X \&\\*(]B\\
.nr )E 0
.if !"\\$1"" .nr )I \\$1n
.}f
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n(INu
.ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X
.br\}
.el \\*(]X\h|\\n()Iu+\\n()Ru\c
.}f
..
'	# handle end of 1-line features
.de }N
.if \\n()E .br
.di
.if "\\n()E"0" .}f
.if "\\n()E"1" .}1
.if "\\n()E"2" .}2
.nr )E 0
..
'	# increase relative indent
.de RS
.nr ]\\n+()p \\n()I
.nr )\\n()p \\n()R
.ie !"\\$1"" .nr )R +\\$1n
.el .nr )R +\\n()I
.nr )I .5i
.}E
..
'	# decrease relative indent
.de RE
.if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
.		el .nr )p \\$1 1\}
.ds ]i \\*(]I\\n()p
.ds ]r \\*(]R\\n()p
.nr )I \\*(]i
.nr )R \\*(]r
.if \\n()p .nr )p -1
.}E
..
.nr )p 0 1
.ds ]I \\\\n(]
.ds ]R \\\\n()
.bd S 3 3
.if t .ds R \(rg
.if n .ds R (Reg.)
.ds S \s10
.hy 14
