302 lines
7.4 KiB
Plaintext
302 lines
7.4 KiB
Plaintext
'\" pcd/pcdmacros 1.8 91/12/09
|
|
.de )k
|
|
.S 10 12
|
|
..
|
|
... \" Flags to control the printing of instructions and optional
|
|
... \" paragraphs in the POSIX Conformance Document.
|
|
...
|
|
.ds cN Silicon Graphics, Inc.\" Your company name
|
|
.ds sN IRIX\" Your operating system name as a string
|
|
.ds iS OFF\" Set to INSTR to print instructions on the various paragraphs
|
|
\c\" for the POSIX Conformance Document. Set to OFF to stop
|
|
\c\" printing of the instructions.
|
|
.ds pV YES\" Set to YES to print the .mV paragraphs, else set to NO
|
|
.ds pD YES\" Set to YES to print the .uD paragraphs, else set to NO
|
|
.ds pS YES\" Set to YES to print the .uS paragraphs, else set to NO
|
|
.ds uL YES\" Set to YES to print .rL and .bL lines , else set to NO
|
|
.ds oF YES\" Set to YES to print .oP and .oE macros, else set to NO
|
|
.ds jX NO\" Set to YES to print .jC macro (no job control), else NO
|
|
.ds pP NO\" Set to YES to print paragraph numbers, else set to NO
|
|
.ds cC NO\" Set to YES to print .rC(comment) macro, else set to NO
|
|
... \" registers and definitions to control MM macros
|
|
.nr Hy 0 \" hyphenation turned off
|
|
.ds HF 3 3 3 3 3 3 3 3 \" bold all heads
|
|
.ds HP 12 10 10 10 10 10 10 10 \" heading point sizes
|
|
.nr Ej 1 \" eject before every .H 1
|
|
.nr Hc 1 \" center .H 1
|
|
.nr Hu 5 \" default level for .HU
|
|
.nr Hb 5 \" break after .H 1-5
|
|
.nr Hs 5 \" space after .H 1-5
|
|
.nr Cl 2 \" put level 2 headings in contents
|
|
.de HZ \" header exit routine: flushes more often
|
|
.fl
|
|
..
|
|
.if n .ds ' ""
|
|
.if n .ds ` ""
|
|
.if n .ds - "--
|
|
.if t .ds ' "''
|
|
.if t .ds ` "``
|
|
.if t .ds - "\(em
|
|
.ds : :\
|
|
.de 1 \" begin .H 1. Third arg in line is possible truncated chapter
|
|
\c\"title for page headings
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 11
|
|
.PH "''\\\\*(sN POSIX Conformance Document''"
|
|
.if \\$1>0 .nr H1 \\$1-1
|
|
.if \\w"\\$2" .H 1 "\\$2"
|
|
.ie \\w"\\$3" \{\c
|
|
.EF "'Page %''\\$1. \\$3'"
|
|
.OF "'\\$1. \\$3''Page %'"\}
|
|
.el \{\c
|
|
.EF "'Page %''\\$1. \\$2'"
|
|
.OF "'\\$1. \\$2''Page %'"\}
|
|
..
|
|
.de 2 \" begin .H 2
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 2.17i
|
|
.if \\$1>0 .nr H2 \\$1-1
|
|
.if \\w"\\$2" .H 2 "\\$2"
|
|
..
|
|
.de 3 \" begin .H 3
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 1.67i
|
|
.if \\$1>0 .nr H3 \\$1-1
|
|
.if \\w"\\$2" .H 3 "\\$2"
|
|
..
|
|
.de 4 \" begin .H 4
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 1.5i
|
|
.if \\$1>0 .nr H4 \\$1-1
|
|
.if \\w"\\$2" .H 4 "\\$2"
|
|
..
|
|
.de 5 \" begin .H 5
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 1.33i
|
|
.if \\$1>0 .nr H5 \\$1-1
|
|
.if \\w"\\$2" .H 5 "\\$2"
|
|
..
|
|
.de #i \" #include <file> .#i includefilename
|
|
\&\\$3<\c
|
|
.if t .B "\&\\$1"\c
|
|
.if n .I "\&\\$1"\c
|
|
\|>\\$2
|
|
..
|
|
... \" most of the macros that follow allow two trailing arguments
|
|
... \" that are not shown on the .de line: a CLOSE and an OPEN, e.g.:
|
|
... \" .Po _POSIX_SAVED_IDS ) (
|
|
... \" produces: (_POSIX_SAVED_IDS)
|
|
...
|
|
.de Po \" posix option .Po _POSIX_SAVED_IDS --> _POSIX_SAVED_IDS
|
|
\c\" .Po _POSIX_SAVED_IDS ) ( --> (_POSIX_SAVED_IDS)
|
|
\&\\$3\c
|
|
.if t .B "\&\\$1"\c
|
|
.if n .B "\&\\$1"\c
|
|
\&\^\\$2
|
|
..
|
|
.de Pl \" posix limit .Pl PATH_MAX prints as {PATH_MAX}
|
|
\c\" .Pl PATH_MAX . prints as {PATH_MAX}.
|
|
\&{\\$1}\c
|
|
\&\^\\$2
|
|
..
|
|
.de Pe \" posix error .Pe EACCESS prints as [EACCESS]
|
|
\c\" .Pe EACCESS . prints as [EACCESS].
|
|
\&[\\$1]\c
|
|
\&\^\\$2
|
|
..
|
|
.de f \" function () .f open prints as open()
|
|
\c\" .f open . prints as open().
|
|
\&\\$3\c
|
|
.if t .I "\&\\$1()"\c
|
|
.if n .I "\&\\$1()"\c
|
|
\&\^\\$2
|
|
..
|
|
.de c \" call of a function () .c open "path, oflag, mode" -->
|
|
\c\" (in italics) open(path, oflag, mode)
|
|
\c\" .c open "path, oflag, mode" . -->
|
|
\c\" (in italics) open(path, oflag, mode).
|
|
.B "\&\\$1(\&\fI\\$2\fB)"\c
|
|
\&\^\\$3
|
|
..
|
|
.de a \" argument .a argument prints as argument
|
|
\c\" .a argument . prints as argument.
|
|
\&\\$3\c
|
|
.if t .I \&\\$1\c
|
|
.if n .I \&\\$1\c
|
|
\&\^\\$2
|
|
..
|
|
.de q \" quote .q quote prints as "q"
|
|
\c\" .q quote -> prints as "q".
|
|
\&\\$3\c
|
|
.if t .I "\&\``\\$1\''"\c
|
|
.if n .I "\&\"\\$1\""\c
|
|
\&\^\\$2
|
|
..
|
|
.de v \" variable .v variable prints as variable
|
|
\c\" .v variable . prints as variable.
|
|
\&\\$3\c
|
|
.if t .I "\&``\\$1''"\c
|
|
.if n .I "\&``\\$1''"\c
|
|
\&\^\\$2
|
|
..
|
|
.de t \" type declaration .t "unsigned long" --> unsigned long
|
|
\c\" .v "int" . --> int. (in bold)
|
|
\&\\$3\c
|
|
.if t .B "\&\\$1"\c
|
|
.if n .B "\&\\$1"\c
|
|
\&\^\\$2
|
|
..
|
|
.de k \" keyword .k keyword prints as keyword
|
|
\c\" .k keyword . prints as keyword.
|
|
\&\\$3\c
|
|
.if t \&\kx\\$1\h'|\\nxu+1u'\\$1\c
|
|
.if n .B "\&\\$1"\c
|
|
\&\^\\$2
|
|
..
|
|
.de q \" quoted string .q "stuff in quotes" --> `stuff in quotes'
|
|
\c\" .q "stuff in quotes" . --> `stuff in quotes'.
|
|
\&\\$3`\\$1'\\$2\&\^\\$4
|
|
..
|
|
.de Q \" C character constant .Q "\n" --> '\n' (in bold)
|
|
\c\" .Q "\n" ) ( . --> ('\n'). (in bold)
|
|
\&\\$3\c
|
|
.B "`\&\\$1'"\c
|
|
\&\\$2\&\^\\$4
|
|
..
|
|
... \" The following macros define the various types of required
|
|
... \" or optional paragraphs in the POSIX Conformance Document.
|
|
...
|
|
.nr Li 0 1
|
|
.de eP \" End a diversion for each type of paragraph
|
|
.br
|
|
.da \" Terminate any diversions in process
|
|
.if !'\\*(pT'NOPRINT' \{\c
|
|
.nf \"turn off fill mode for printing pass
|
|
.if '\\*(pP'YES' \\n+(Li: \&
|
|
.cP \" Print the diversion if any were present
|
|
.fi\}
|
|
.rm cP \" Remove the diversion
|
|
..
|
|
.em eP
|
|
...
|
|
.de rP \" A required paragraph
|
|
.if '\\n(.z'cP' .eP
|
|
.ds pT PRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Required.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de iD \" An implementation-defined feature - required
|
|
.if '\\n(.z'cP' .eP
|
|
.ds pT PRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Required for "implementation-defined" behavior.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de mV \" A paragraph for an "implementations may vary" feature - optional
|
|
.if '\\n(.z'cP' .eP
|
|
.ie '\\*(pV'YES' .ds pT PRINT
|
|
.el .ds pT NOPRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Recommended for "implementations may vary" \c
|
|
behavior.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de uD \" A paragraph for an "undefined" feature - optional
|
|
.if '\\n(.z'cP' .eP
|
|
.ie '\\*(pD'YES' .ds pT PRINT
|
|
.el .ds pT NOPRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Optional for "undefined" behavior.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de uS \" A paragraph for an "unspecified" feature - optional
|
|
.if '\\n(.z'cP' .eP
|
|
.ie '\\*(pS'YES' .ds pT PRINT
|
|
.el .ds pT NOPRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Optional for "unspecified" behavior.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de rF \" Required paragraph if feature present/condition exists
|
|
.if '\\n(.z'cP' .eP
|
|
.ds pT PRINT
|
|
.ne 4
|
|
.di cP \" Start the diversion of this paragraph
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Required if condition exists.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de jC \"Required if POSIX_JOB_CONTROL not supported
|
|
.if '\\n(.z'cP' .eP
|
|
.ie '\\*(jX'NO' .ds pT NOPRINT
|
|
.el .ds pT PRINT
|
|
.ne 4
|
|
.di cP
|
|
.if '\\*(iS'INSTR' \{\c
|
|
\s-2\fI(Present only if _POSIX_JOB_CONTROL not set.)\fR\s0\}
|
|
.P
|
|
..
|
|
.de rL \"Our List -- 3 numbered lines
|
|
.if '\\*(uL'YES' \{\c
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 1i
|
|
.AL
|
|
.LI
|
|
________________________
|
|
.LI
|
|
________________________
|
|
.LI
|
|
________________________
|
|
.LE\}
|
|
..
|
|
.de bL\" prints three underscored lines
|
|
.if '\\*(uL'YES'\{\c
|
|
.if '\\n(.z'cP' .eP
|
|
.ne 1i
|
|
.ta 0.5i
|
|
.sp
|
|
\t\l'5i'
|
|
.sp
|
|
\t\l'5i'
|
|
.sp
|
|
\t\l'5i'
|
|
.br\}
|
|
..
|
|
.de oP\" prints options in bold two points larger
|
|
.if '\\*(oF'YES' \&\fB\s+2
|
|
..
|
|
.de oE\" returns print and font to prior size and font
|
|
.if '\\*(oF'YES' \&\fR\s0
|
|
..
|
|
.de rN \" our needs request, for use preceding tables
|
|
.if '\\n(.z'cP' .eP
|
|
.ne (\\$1/6)i
|
|
..
|
|
.de dM \"dumb diversion macro for end of chapter
|
|
.if '\\n(.z'cP' .eP
|
|
..
|
|
.de pN \" Posix standard name
|
|
POSIX.1\c
|
|
\&\^\\$1
|
|
..
|
|
.de rC \" our comment macro
|
|
.if '\\*(cC'YES' \{\c
|
|
\s-2\fI\\$1\fR\s0\}
|
|
..
|
|
.de nP \"break page if last page odd
|
|
.if o
|
|
.bp
|
|
|
|
..
|