.\" .\" CDDL HEADER START .\" .\" The contents of this file are subject to the terms of the .\" Common Development and Distribution License, Version 1.0 only .\" (the "License"). You may not use this file except in compliance .\" with the License. .\" .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE .\" or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions .\" and limitations under the License. .\" .\" When distributing Covered Code, include this CDDL HEADER in each .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. .\" If applicable, add the following below this CDDL HEADER, with the .\" fields enclosed by brackets "[]" replaced with your own identifying .\" information: Portions Copyright [yyyy] [name of copyright owner] .\" .\" CDDL HEADER END .\" .\" Copyright 2002 Sun Microsystems, Inc. All rights reserved. .\" Use is subject to license terms. .\" .\" Copyright 2011 Nexenta Systems, Inc. All rights reserved. .\" .\" Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T .\" All Rights Reserved .\" .\" Portions of this source code were derived from Berkeley 4.3 BSD .\" under license from the Regents of the University of California. .\" .ds ]W Illumos . # month name . \".if "\nd"0" .nr m \n(mo-1 . \".if "\nm"0" .ds ]m January . \".if "\nm"1" .ds ]m February . \".if "\nm"2" .ds ]m March . \".if "\nm"3" .ds ]m April . \".if "\nm"4" .ds ]m May . \".if "\nm"5" .ds ]m June . \".if "\nm"6" .ds ]m July . \".if "\nm"7" .ds ]m August . \".if "\nm"8" .ds ]m September . \".if "\nm"9" .ds ]m October . \".if "\nm"10" .ds ]m November . \".if "\nm"11" .ds ]m December . # set the date . \".if n \{.nr m \nm+1 . \". ie \nd .ds ]W Modified \nm/\nd/\ny . \". el .ds ]W Printed \n(mo/\n(dy/\n(yr\} . \".if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny . \". el .ds ]W \*(]m \n(dy, 19\n(yr\} . # end of commented out chunk .if t .tr *\(** .ie n \{\ . ds lq "" . ds rq "" .\} .el \{\ . ds rq '' . ds lq `` .\} .ds || /usr/share/lib/tmac .de UC . \".if t \{\ . \". ie "\\$1"" .ds ]W 3rd Berkeley Distribution . \". ie "\\$1"4" .ds ]W \\$1th Berkeley Distribution . \". el .ds ]w \\$2 \\$1 BSD . \".\} .. . # reset the basic page layout .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 .ie \\w'\\*(]D\\*(]H'u+2n>6.5i \{\ \" compare titles to line length .tl \\*(]D \" multiple line output .tl \\*(]H\} \" multiple line output .el .tl \\*(]D\\*(]H 'sp .5i .ev .ns .. . # handle the foot of the page .de }F .ev 1 .ft 1 .ps 10 'sp .5i .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 .PD .DT .if n .nr IN .5i .if t .nr IN .5i .ll 6.5i .nr LL \\n(.l .ds ]H \\$1\|(\|\\$2\|) .ds ]D Misc. Reference Manual Pages .if '\\$2'1' .ds ]D User Commands .if '\\$2'1B' .ds ]D SunOS/BSD Compatibility Package Commands .if '\\$2'1b' .ds ]D SunOS/BSD Compatibility Package Commands .if '\\$2'1C' .ds ]D Communication Commands .if '\\$2'1c' .ds ]D Communication Commands .if '\\$2'1F' .ds ]D FMLI Commands .if '\\$2'1f' .ds ]D FMLI Commands .if '\\$2'1G' .ds ]D Graphics and CAD Commands .if '\\$2'1g' .ds ]D Graphics and CAD Commands .if '\\$2'1HAS' .ds ]D User Commands .if '\\$2'1has' .ds ]D User Commands .if '\\$2'1M' .ds ]D Maintenance Commands .if '\\$2'1m' .ds ]D Maintenance Commands .if '\\$2'1S' .ds ]D SunOS Specific Commands .if '\\$2'1s' .ds ]D SunOS Specific Commands .if '\\$2'2' .ds ]D System Calls .if '\\$2'3' .ds ]D Introduction to Library Functions .if '\\$2'3AIO' .ds ]D Asynchronous I/O Library Functions .if '\\$2'3aio' .ds ]D Asynchronous I/O Library Functions .if '\\$2'3BSM' .ds ]D Security and Auditing Library Functions .if '\\$2'3bsm' .ds ]D Security and Auditing Library Functions .if '\\$2'3C' .ds ]D Standard C Library Functions .if '\\$2'3c' .ds ]D Standard C Library Functions .if '\\$2'3C_DB' .ds ]D Threads Debugging Library Functions .if '\\$2'3C_db' .ds ]D Threads Debugging Library Functions .if '\\$2'3CFGADM' .ds ]D Configuration Administration Library Functions .if '\\$2'3cfgadm' .ds ]D Configuration Administration Library Functions .if '\\$2'3COMPPUTIL' .ds ]D Communication Protocol Parser Utilities Library Functions .if '\\$2'3compputil' .ds ]D Communication Protocol Parser Utilities Library Functions .if '\\$2'3CONTRACT' .ds ]D Contract Management Library Functions .if '\\$2'3contract' .ds ]D Contract Management Library Functions .if '\\$2'3CPC' .ds ]D CPU Performance Counters Library Functions .if '\\$2'3cpc' .ds ]D CPU Performance Counters Library Functions .if '\\$2'3CURSES' .ds ]D Curses Library Functions .if '\\$2'3curses' .ds ]D Curses Library Functions .if '\\$2'3DAT' .ds ]D Direct Access Transport Library Functions .if '\\$2'3dat' .ds ]D Direct Access Transport Library Functions .if '\\$2'3DEVID' .ds ]D Device ID Library Functions .if '\\$2'3devid' .ds ]D Device ID Library Functions .if '\\$2'3DEVINFO' .ds ]D Device Information Library Functions .if '\\$2'3devinfo' .ds ]D Device Information Library Functions .if '\\$2'3DL' .ds ]D Dynamic Linking Library Functions .if '\\$2'3dl' .ds ]D Dynamic Linking Library Functions .if '\\$2'3DLPI' .ds ]D Data Link Provider Interface Library Functions .if '\\$2'3dlpi' .ds ]D Data Link Provider Interface Library Functions .if '\\$2'3DMI' .ds ]D DMI Library Functions .if '\\$2'3dmi' .ds ]D DMI Library Functions .if '\\$2'3DNS_SD' .ds ]D DNS Service Discovery Library Functions .if '\\$2'3dns_sd' .ds ]D DNS Service Discovery Library Functions .if '\\$2'3DOOR' .ds ]D Door Library Functions .if '\\$2'3door' .ds ]D Door Library Functions .if '\\$2'3ELF' .ds ]D ELF Library Functions .if '\\$2'3elf' .ds ]D ELF Library Functions .if '\\$2'3EXACCT' .ds ]D Extended Accounting File Access Library Functions .if '\\$2'3exacct' .ds ]D Extended Accounting File Access Library Functions .if '\\$2'3EXT' .ds ]D Extended Library Functions .if '\\$2'3ext' .ds ]D Extended Library Functions .if '\\$2'3FCOE' .ds ]D FCoE Port Management Library Functions .if '\\$2'3fcoe' .ds ]D FCoE Port Management Library Functions .if '\\$2'3FSTYP' .ds ]D File System Type Identification Library Functions .if '\\$2'3fstyp' .ds ]D File System Type Identification Library Functions .if '\\$2'3GEN' .ds ]D String Pattern-Matching Library Functions .if '\\$2'3gen' .ds ]D String Pattern-Matching Library Functions .if '\\$2'3GSS' .ds ]D Generic Security Services API Library Functions .if '\\$2'3gss' .ds ]D Generic Security Services API Library Functions .if '\\$2'3HEAD' .ds ]D Headers .if '\\$2'3head' .ds ]D Headers .if '\\$2'3ISCSIT' .ds ]D iSCSI Management Library Functions .if '\\$2'3iscsit' .ds ]D iSCSI Management Library Functions .if '\\$2'3KRB' .ds ]D Kerberos Library Functions .if '\\$2'3krb' .ds ]D Kerberos Library Functions .if '\\$2'3KSTAT' .ds ]D Kernel Statistics Library Functions .if '\\$2'3kstat' .ds ]D Kernel Statistics Library Functions .if '\\$2'3KVM' .ds ]D Kernel VM Library Functions .if '\\$2'3kvm' .ds ]D Kernel VM Library Functions .if '\\$2'3LDAP' .ds ]D LDAP Library Functions .if '\\$2'3ldap' .ds ]D LDAP Library Functions .if '\\$2'3LGRP' .ds ]D Locality Group Library Functions .if '\\$2'3lgrp' .ds ]D Locality Group Library Functions .if '\\$2'3LIB' .ds ]D Interface Libraries .if '\\$2'3lib' .ds ]D Interface Libraries .if '\\$2'3LIBUCB' .ds ]D SunOS/BSD Compatibility Interface Libraries .if '\\$2'3libucb' .ds ]D SunOS/BSD Compatibility Interface Libraries .if '\\$2'3M' .ds ]D Mathematical Library Functions .if '\\$2'3m' .ds ]D Mathematical Library Functions .if '\\$2'3MAIL' .ds ]D User Mailbox Library Functions .if '\\$2'3mail' .ds ]D User Mailbox Library Functions .if '\\$2'3MALLOC' .ds ]D Memory Allocation Library Functions .if '\\$2'3malloc' .ds ]D Memory Allocation Library Functions .if '\\$2'3MP' .ds ]D Multiple Precision Library Functions .if '\\$2'3mp' .ds ]D Multiple Precision Library Functions .if '\\$2'3MPAPI' .ds ]D Common Multipath Management Library Functions .if '\\$2'3mpapi' .ds ]D Common Multipath Management Library Functions .if '\\$2'3NSL' .ds ]D Networking Services Library Functions .if '\\$2'3nsl' .ds ]D Networking Services Library Functions .if '\\$2'3NVPAIR' .ds ]D Name-value Pair Library Functions .if '\\$2'3nvpair' .ds ]D Name-value Pair Library Functions .if '\\$2'3PAM' .ds ]D PAM Library Functions .if '\\$2'3pam' .ds ]D PAM Library Functions .if '\\$2'3PAPI' .ds ]D PAPI Library Functions .if '\\$2'3papi' .ds ]D PAPI Library Functions .if '\\$2'3PERL' .ds ]D Perl Library Functions .if '\\$2'3perl' .ds ]D Perl Library Functions .if '\\$2'3PICL' .ds ]D PICL Library Functions .if '\\$2'3picl' .ds ]D PICL Library Functions .if '\\$2'3PICLTREE' .ds ]D PICL Plug-In Library Functions .if '\\$2'3picltree' .ds ]D PICL Plug-In Library Functions .if '\\$2'3PLOT' .ds ]D Graphics Interface Library Functions .if '\\$2'3plot' .ds ]D Graphics Interface Library Functions .if '\\$2'3POOL' .ds ]D Pool Configuration Manipulation Library Functions .if '\\$2'3pool' .ds ]D Pool Configuration Manipulation Library Functions .if '\\$2'3PROC' .ds ]D Process Control Library Functions .if '\\$2'3proc' .ds ]D Process Control Library Functions .if '\\$2'3PROJECT' .ds ]D Project Database Access Library Functions .if '\\$2'3project' .ds ]D Project Database Access Library Functions .if '\\$2'3RAC' .ds ]D Remote Asynchronous Calls Library Functions .if '\\$2'3rac' .ds ]D Remote Asynchronous Calls Library Functions .if '\\$2'3RESOLV' .ds ]D Resolver Library Functions .if '\\$2'3resolv' .ds ]D Resolver Library Functions .if '\\$2'3RPC' .ds ]D RPC Library Functions .if '\\$2'3rpc' .ds ]D RPC Library Functions .if '\\$2'3RSM' .ds ]D Remote Shared Memory Library Functions .if '\\$2'3rsm' .ds ]D Remote Shared Memory Library Functions .if '\\$2'3RT' .ds ]D Realtime Library Functions .if '\\$2'3rt' .ds ]D Realtime Library Functions .if '\\$2'3SASL' .ds ]D Simple Authentication Security Layer Library Functions .if '\\$2'3sasl' .ds ]D Simple Authentication Security Layer Library Functions .if '\\$2'3SCF' .ds ]D Service Configuration Facility Library Functions .if '\\$2'3scf' .ds ]D Service Configuration Facility Library Functions .if '\\$2'3SCHED' .ds ]D LWP Scheduling Library Functions .if '\\$2'3sched' .ds ]D LWP Scheduling Library Functions .if '\\$2'3SEC' .ds ]D File Access Control Library Functions .if '\\$2'3sec' .ds ]D File Access Control Library Functions .if '\\$2'3SECDB' .ds ]D Security Attributes Database Library Functions .if '\\$2'3secdb' .ds ]D Security Attributes Database Library Functions .if '\\$2'3SIP' .ds ]D Session Initiation Protocol Library Functions .if '\\$2'3sip' .ds ]D Session Initiation Protocol Library Functions .if '\\$2'3SLP' .ds ]D Service Location Protocol Library Functions .if '\\$2'3slp' .ds ]D Service Location Protocol Library Functions .if '\\$2'3SNMP' .ds ]D SNMP Library Functions .if '\\$2'3snmp' .ds ]D SNMP Library Functions .if '\\$2'3SOCKET' .ds ]D Sockets Library Functions .if '\\$2'3socket' .ds ]D Sockets Library Functions .if '\\$2'3STMF' .ds ]D SCSI Target Mode Framework Library Functions .if '\\$2'3stmf' .ds ]D SCSI Target Mode Framework Library Functions .if '\\$2'3SYSEVENT' .ds ]D System Event Library Functions .if '\\$2'3sysevent' .ds ]D System Event Library Functions .if '\\$2'3TECLA' .ds ]D Interactive Command-line Input Library Functions .if '\\$2'3tecla' .ds ]D Interactive Command-line Input Library Functions .if '\\$2'3THR' .ds ]D Threads Library Functions .if '\\$2'3thr' .ds ]D Threads Library Functions .if '\\$2'3TNF' .ds ]D TNF Library Functions .if '\\$2'3tnf' .ds ]D TNF Library Functions .if '\\$2'3TSOL' .ds ]D Trusted Extensions Library Functions .if '\\$2'3tsol' .ds ]D Trusted Extensions Library Functions .if '\\$2'3UCB' .ds ]D SunOS/BSD Compatibility Library Functions .if '\\$2'3ucb' .ds ]D SunOS/BSD Compatibility Library Functions .if '\\$2'3UUID' .ds ]D Universally Unique Identifier Library Functions .if '\\$2'3uuid' .ds ]D Universally Unique Identifier Library Functions .if '\\$2'3VOLMGT' .ds ]D Volume Management Library Functions .if '\\$2'3volmgt' .ds ]D Volume Management Library Functions .if '\\$2'3XCURSES' .ds ]D X/Open Curses Library Functions .if '\\$2'3xcurses' .ds ]D X/Open Curses Library Functions .if '\\$2'3XFN' .ds ]D XFN Interface Library Functions .if '\\$2'3xfn' .ds ]D XFN Interface Library Functions .if '\\$2'3XNET' .ds ]D X/Open Networking Services Library Functions .if '\\$2'3xnet' .ds ]D X/Open Networking Services Library Functions .if '\\$2'3B' .ds ]D SunOS/BSD Compatibility Library Functions .if '\\$2'3b' .ds ]D SunOS/BSD Compatibility Library Functions .if '\\$2'3E' .ds ]D C Library Functions .if '\\$2'3e' .ds ]D C Library Functions .if '\\$2'3F' .ds ]D Fortran Library Routines .if '\\$2'3f' .ds ]D Fortran Library Routines .if '\\$2'3G' .ds ]D C Library Functions .if '\\$2'3g' .ds ]D C Library Functions .if '\\$2'3K' .ds ]D Kernel VM Library Functions .if '\\$2'3k' .ds ]D Kernel VM Library Functions .if '\\$2'3L' .ds ]D Lightweight Processes Library .if '\\$2'3l' .ds ]D Lightweight Processes Library .if '\\$2'3N' .ds ]D Network Functions .if '\\$2'3n' .ds ]D Network Functions .if '\\$2'3R' .ds ]D Realtime Library .if '\\$2'3r' .ds ]D Realtime Library .if '\\$2'3S' .ds ]D Standard I/O Functions .if '\\$2'3s' .ds ]D Standard I/O Functions .if '\\$2'3T' .ds ]D Threads Library .if '\\$2'3t' .ds ]D Threads Library .if '\\$2'3W' .ds ]D C Library Functions .if '\\$2'3w' .ds ]D C Library Functions .if '\\$2'3X' .ds ]D Miscellaneous Library Functions .if '\\$2'3x' .ds ]D Miscellaneous Library Functions .if '\\$2'3XC' .ds ]D X/Open Curses Library Functions .if '\\$2'3xc' .ds ]D X/Open Curses Library Functions .if '\\$2'3XN' .ds ]D X/Open Networking Services Library Functions .if '\\$2'3xn' .ds ]D X/Open Networking Services Library Functions .if '\\$2'4' .ds ]D File Formats .if '\\$2'4B' .ds ]D SunOS/BSD Compatibility Package File Formats .if '\\$2'4b' .ds ]D SunOS/BSD Compatibility Package File Formats .if '\\$2'5' .ds ]D Standards, Environments, and Macros .if '\\$2'6' .ds ]D Games and Demos .if '\\$2'7' .ds ]D Device and Network Interfaces .if '\\$2'7B' .ds ]D SunOS/BSD Compatibility Special Files .if '\\$2'7b' .ds ]D SunOS/BSD Compatibility Special Files .if '\\$2'7D' .ds ]D Devices .if '\\$2'7d' .ds ]D Devices .if '\\$2'7FS' .ds ]D File Systems .if '\\$2'7fs' .ds ]D File Systems .if '\\$2'7I' .ds ]D Ioctl Requests .if '\\$2'7i' .ds ]D Ioctl Requests .if '\\$2'7IPP' .ds ]D IP Quality of Service Modules .if '\\$2'7ipp' .ds ]D IP Quality of Service Modules .if '\\$2'7M' .ds ]D STREAMS Modules .if '\\$2'7m' .ds ]D STREAMS Modules .if '\\$2'7P' .ds ]D Protocols .if '\\$2'7p' .ds ]D Protocols .if '\\$2'8' .ds ]D Maintenance Procedures .if '\\$2'8C' .ds ]D Maintenance Procedures .if '\\$2'8c' .ds ]D Maintenance Procedures .if '\\$2'8S' .ds ]D Maintenance Procedures .if '\\$2'8s' .ds ]D Maintenance Procedures .if '\\$2'9' .ds ]D Device Driver Interfaces .if '\\$2'9E' .ds ]D Driver Entry Points .if '\\$2'9e' .ds ]D Driver Entry Points .if '\\$2'9F' .ds ]D Kernel Functions for Drivers .if '\\$2'9f' .ds ]D Kernel Functions for Drivers .if '\\$2'9P' .ds ]D Kernel Properties for Drivers .if '\\$2'9p' .ds ]D Kernel Properties for Drivers .if '\\$2'9S' .ds ]D Data Structures for Drivers .if '\\$2'9s' .ds ]D Data Structures for Drivers .if '\\$2'L' .ds ]D Local Commands .if !'\\$4'' .ds ]W \\$4 .if !'\\$5'' .ds ]D \\$5 .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 Last change: \\$3 .}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% .. . # TZ - resolve title reference .de TZ .rn TZ @T .so \\*(||/tz.map .TZ \\$1 \\$2 .rm @T .. .de HC .rn HC @T .so \\*(||/tz.map .HC \\$1 \\$2 .rm @T .. . # 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 .. . # small and boldface .de SB \&\fB\s-1\&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6\s0\fR .. . # paragraph .de P .PP .. . # 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\\*(]Xu-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