.MCALL .MODULE .MODULE INDIMP,VERSION=31,COMMENT= AUDIT=YES ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. ; ;REVISION HISTORY ; ; 030 On 5.6 source kit ; ; 031 11-JUL-97 Tim Shoppa ; Move MOTABL to INDSYM to free up some root overlay ; space ; .AUDIT .CATB, .CAT5, .CKFS, .CKOPN, C.LOSE, D.ELETE, .OPENA .AUDIT .OPENR, .OPENW, .RDBLK, .RDREC, .WRBLK, .WRREC, .IND .AUDIT .IERA, .IERR, .INDIMP, .IASK, .IAS1, .IAS2, .INDCTL, .INDDCL .AUDIT .INDDEV, .INDDMP, .INDFDC, .INDFEX, .INDGCM, .INDGNB, .INDIF1 .AUDIT .IIN0, .IIN1, .INDOPN, .INDPAR, .INDPRC, .INDSET, .ISU1, .ISU2 .AUDIT .ISU3, .INDTES, .INDTIM, .INDUTL, .INDSYM .ENABL GBL,LC .SBTTL Local buffers and various definitions .MCALL RT5DF$, DEFIN$, .RDBBK, .WDBBK RT5DF$ DEFIN$ .LIBRARY "SRC:SYSTEM" .MCALL .JSXDF .SYCDF .JSXDF .SYCDF .ASECT .=$JSX .WORD NOVBG$ .PSECT INDIMP ;Impure area .PSECT INDBUF ;Buffer area .PSECT IND ;Start up .PSECT INDIN0 ;First initialize pass .PSECT INDDCL ;DCL process and exit to KMON .PSECT INDASK .PSECT INDAS1 .PSECT INDAS2 .PSECT INDERR .PSECT INDFDC .PSECT INDFEX .PSECT INDGCM .PSECT INDGNB .PSECT INDIF1 .PSECT INDOPN .PSECT INDPRC .PSECT INDSET .PSECT INDSU1 .PSECT INDSU2 .PSECT INDSU3 .PSECT .LIBC. .PSECT $DELET .PSECT $CATB .PSECT $CAT5 .PSECT $CKFS .PSECT $CKOPN .PSECT C$LOSE .PSECT $OPENA .PSECT $OPENR .PSECT $OPENW .PSECT $RDBLK .PSECT $RDREC .PSECT $WRBLK .PSECT $WRREC .PSECT SYS$I .PSECT SYS$S,D .PSECT ROTPAT .BLKW 1. ; Patch area is rounded up ;+ ;Definition of error codes. ;- .ASECT .=0 ERNOV:: .BLKB 1 ;Numeric under- or overflow ERSYN:: .BLKB 1 ;Syntax error ERFNF:: .BLKB 1 ;File not found ERNPS:: .BLKB 1 ;No pool space ERFRD:: .BLKB 1 ;File read error ERRSZ:: .BLKB 1 ;String expression exceeds limit ERIDE:: .BLKB 1 ;Too deep indirection EREOF:: .BLKB 1 ;End of file ERIKW:: .BLKB 1 ;Invalid keyword ERSOV:: .BLKB 1 ;Symbol table overflow ERUDS:: .BLKB 1 ;Undefined symbol ERUDL:: .BLKB 1 ;Undefined label ERRED:: .BLKB 1 ;Redefining symbol to different type ERRES:: .BLKB 1 ;Redefining special symbol ERDFE:: .BLKB 1 ;Data file error ERTYP:: .BLKB 1 ;Symbol type error ERSUB:: .BLKB 1 ;String substitution error ERSBN:: .BLKB 1 ;Subroutine nesting too deep ERRET:: .BLKB 1 ;.RETURN without .GOSUB ERIFN:: .BLKB 1 ;Invalid file number ERFOP:: .BLKB 1 ;File already open ERFNO:: .BLKB 1 ;File not open ERBRD:: .BLKB 1 ;Bad default or range in .ASKN ERNST:: .BLKB 1 ;Bad nesting ERNUL:: .BLKB 1 ;Null control string for '.PARSE' ERSPW:: .BLKB 1 ;Spawn failure ERXQT:: .BLKB 1 ;Too many concurrent .XQT'S ERLAB:: .BLKB 1 ;Label allowed only at beginning of line ERSWT:: .BLKB 1 ;Invalid switch ERCOM:: .BLKB 1 ;Invalid command ERDEV:: .BLKB 1 ;Invalid device or unit ERPMT:: .BLKB 1 ;Prompt string too long ERAES:: .BLKB 1 ;Invalid attempt to erase symbol ERDSP:: .BLKB 1 ;Deleting special symbol ERVER:: .BLKB 1 ;Wrong version of RT-11 ERMIX:: .BLKB 1 ;Mixed operators on logical operation ERATT:: .BLKB 1 ;Device is attached .EVEN .PSECT INDBUF INDIMP:: TERM:: .BLKB 134. ;Buffer used for display, ask prompts and TRMEND::.BYTE 0 ;parse strings (INDPAR) .EVEN ASKBUF::.BLKB ASKBL ;Buffer to recieve response for ask directives .EVEN SCR:: .BLKB 134. ;Multi-purpose scratch buffer .BLKB 6 ;These 6 bytes must be immediately below ; CMDBUF!! CMDBUF::.BLKB LBSIZE+2 ;Command buffer .EVEN SCR1:: .BLKB 134. ;Scratch buffer used by GSVAL routine SCR1E:: ;End of scratch buffer .EVEN ;+ ;Region and definition blocks used when making the symbol table a global ;region in the XM environment. ;- REGION::.RDBBK </64.>,,NAME=IND WINDOW::.WDBBK $APR2,</64.>,0,0,0, ;+ ;Common EMT area. ;- EMTBLK::.BLKW 10 ;Use maximum size for area ;+ ;This is the READW EMT block and is used to add a couple of words to ;this cramped overlay. Also this block is used by the READC (uses ;less instructions) with CODE=NOSET to not corrupt the READW code byte ;set in this block. Used in TESTDV routine. ;+ RDEMT:: .BLKB 1 ;Channel number set at run time .BYTE 10 ;READ EMT code .WORD 0 ;Block set at run time .WORD $INPBF ;Buffer .WORD 256. ;Word count .WORD 0 ;WAIT (READW) ;+ ;Command string interperter control block ;- CSIBLK::.BLKW 39. ;+ ;Default extension block. ;- ..INDF:: ;Patchable DFBLK:: .RAD50 "COM" ;Extension of Ind Command Files .WORD 0,0,0 ;Unused Default Extensions ;+ ;Default output extension for OPEN directives is .DAT ;- DFDAT:: .RAD50 /DAT/ ;Only one input extension .WORD 0,0,0 ;No others ; MOTABL moved to INDSU1 for RT-11 5.7 ;+ ;IND type and version string. ;- VERSON::.ASCII "IND " .NLCSI PART=RLSVER,TYPE=I .BYTE 40,0 PRPMT:: .ASCIZ /*/<200> .EVEN PRGEND::.WORD 0 ;First available address for FETCHing handlers NEWLIN::.WORD 0 ;This should always be clear to PRINT ;+ ;Table of valid switches. ;The table must include both the upper and lower case ASCII characters because ;the line is stored in GCML using TTYIN's. At this point everything is stored ;'as is' since the default is lowercase. Next, the command is parsed in ;INDDCL. If a $@ or @ are found at the beginning of the line CSISPC is used ;to extract the the switches. Since the command string is taken from an ;internally stored area the characters are not converted to uppercase. Ergo, ;both upper and lower case switches must exist in the table. ; ;These switches are special cased. If /N is specified the bit must be cleared ;to DISABLE DCL processing. ; ; 'N,KMON ;Suppress execution of DCL commands ; 'n,KMON ; ;- SWITCH::'D,DELETE ;Delete control file after execution 'd,DELETE ; 'T,TRACE ;Trace listing 't,TRACE ; 'Q,QUIET ;Suppress DCL command output on screen 'q,QUIET ; .WORD 0 ;End of switch list .END