.MH "Appendix D -- The Subsystem Definitions" The file "=incl=/swt_def.r.i" contains Ratfor [bf define] statements for all the symbolic constants required to use the routines in the Subsystem support library. This appendix describes the more frequently used constants and the constraints placed on them. .SH "Characters" .ti [in] .in +15 .ta 11 .ti -10 ASCII Mnemonics.\Character definitions for the ASCII control characters NUL, SOH, STX, ..., GS, RS, US, as well as SP and DEL. .ti -10 Control characters.\Character definitions for the ASCII control characters CTRL_AT, CTRL_A, CTRL_B, ..., CTRL_LBRACK, CTRL_BACKSLASH, CTRL_RBRACK, CTRL_CARET, and CTRL_UNDERLINE. .ti -10 BACKSPACE\Synonym for ASCII BS. .ti -10 TAB\Synonym for ASCII HT. .ti -10 BELL\Synonym for ASCII BEL. .ti -10 RHT\Relative horizontal tab character (used for blank compression in Primos text files). .ti -10 RUBOUT\Synonym for ASCII DEL. .in -15 .SH "Data Types" .in +15 .ti [in] .ti -10 bits\Bit strings (16 bit items). .ti -10 .sb bool\Boolean (logical) values: .true. and .false. (16 bit items). .xb .ti -10 character\Single right-justified zero-filled character (scalar), or a string of these characters terminated by an EOS (array). .ti -10 file_des\File descriptor returned 'open', 'create', etc. .ti -10 file_mark\File position returned by 'seekf'. .ti -10 longint\Double precision (32 bit) integer. .ti -10 longreal\Double precision (64 bit) floating point. .ti -10 pointer\Pointer for use with dynamic storage and symbol table routines. .in -15 .SH "Macro Subroutines" .in +15 .ti [in] .ti -10 fpchar (, , )\Fetches from at character position and increments . The first character in the array is position zero. .ti -10 spchar (, , )\Stores in at character position and increments . The first character in the array is position zero. .ti -10 getc ()\Behaves exactly like 'getch', except the character is always obtained from STDIN. .ti -10 putc (, )\Increments until the corresponding position in the character array is non-blank. .ti -10 DS_DECL (, )\Declares the dynamic storage array with the name with size . .in -15 .SH "Language Extensions" .in +15 .ti [in] .ti -10 ARB\Used when dimensioning array parameters in subprograms (since their length is determined by the calling program, not the subprogram). .ti -10 FALSE\Represents the Fortran logical constant .false. .ti -10 IS_DIGIT ()\Logical expression yielding TRUE if is a digit. .ti -10 IS_LETTER ()\Logical expression yielding TRUE if is an upper or lower case letter. .ti -10 IS_UPPER ()\Logical expression yielding TRUE if is an upper case letter. .ti -10 IS_LOWER ()\Logical expression yielding TRUE if is a lower case letter. .ti -10 SET_OF_UPPER_CASE\Sequence of 26 character constants representing the upper case letters for use in the [bf when] parts of [bf select] statements. .ti -10 SET_OF_LOWER_CASE\Sequence of 26 character constants representing the lower case letters for use in [bf when] parts of [bf select] statements. .ti -10 SET_OF_LETTERS\Sequence of 52 character constants representing the upper and lower case letters for use in [bf when] parts of [bf select] statements. .ti -10 SET_OF_DIGITS\Sequence of 10 character constants representing the digits for use in [bf when] parts of [bf select] statements. .ti -10 SET_OF_CONTROL_CHAR\Sequence of 32 character constants representing the first 32 ASCII control characters for use in [bf when] parts of [bf select] statements. .ti -10 TRUE\Represents the Fortran logical constant .true. .in -15 .SH "Limits" .in +15 .ti [in] .ti -10 CHARS_PER_WORD\Maximum number of packed characters per machine word. .ti -10 MAXINT\Largest 16-bit integer. .ti -10 MAXARG\Maximum length of a command line argument (EOS-terminated character string). .ti -10 MAXCARD\Maximum input line length (excluding the EOS). .ti -10 MAXDECODE\Maximum size of string processed by 'decode'. .ti -10 MAXLINE\Maximum input line length. .ti -10 MAXPAT\Maximum size of a pattern array. .ti -10 MAXPATH\Maximum size of a Subsystem pathname. .ti -10 MAXPRINT\Maximum number of character that can be output by a single call to 'print'. .ti -10 MAXTREE\Maximum number of characters in a Primos tree name. .ti -10 MAXFNAME\Maximum number of characters in a simple file name. .in -15 .SH "Standard Ports" .in +15 .ti [in] .ti -10 STDIN\Standard input 1. .ti -10 STDIN1\Standard input 1. .ti -10 STDIN2\Standard input 2. .ti -10 ERRIN\Standard input 3. .ti -10 STDIN3\Standard input 3. .ti -10 STDOUT\Standard output 1. .ti -10 STDOUT1\Standard output 1. .ti -10 STDOUT2\Standard output 2. .ti -10 ERROUT\Standard output 3. .ti -10 STDOUT3\Standard output 3. .in -15 .SH "Argument and Return Values" .in +15 .ti [in] .ti -10 ABS\Request absolute positioning ('seekf'). .ti -10 REL\Request relative positioning ('seekf'). .ti -10 DIGIT\Character is a digit ('type'). .ti -10 LETTER\Character is a letter ('type'). .ti -10 UPPER\Map to upper case ('mapstr'). .ti -10 LOWER\Map to lower case ('mapstr'). .ti -10 READ\Open file for reading. .ti -10 WRITE\Open file for writing. .ti -10 READWRITE\Open file for reading and writing. .ti -10 EOF\End of file (guaranteed distinct from all characters and from OK and ERR). .ti -10 OK\No error (guaranteed distinct from all characters and from EOF and ERR). .ti -10 ERR\Error occurred (guaranteed distinct from all characters and from EOF and OK). .ti -10 EOS\End of string (guaranteed distinct from all characters). .ti -10 LAMBDA\Null pointer (guaranteed distinct from all pointer values). .ti -10 [cc]mc | PG_END\Make 'page' return after the last page of input. .ti -10 PG_VTH\Make 'page' use the VTH routines when writing to the terminal. .ti -10 [cc]mc YES\Affirmative response (guaranteed distinct from NO). .ti -10 NO\Negative response (guaranteed distinct from YES). .in -15