.TITLE ROLDAT COMMON DATA BUFFERS .SBTTL RSX11M ROLLIN .PSECT ROLDAT,D,GBL ; ; SYSTEM MACRO DEFINITIONS ; .MCALL CSI$ , CSI$ND , CSI$SV , CSI$SW ; .MCALL FDAT$A , FDBDF$ , FDBK$A , FDOFF$ , FDOP$A , FDRC$A ; .MCALL GCMLB$ , GCMLD$,FDBF$A ; .MCALL NBOFF$ , NMBLK$ , GCML$ , CSI$2 , CSI$2 ; ; ; SYSTEM DEFINITIONS ; CSI$ DEF$G ; COMMAND STRING INTERPRETER FDOFF$ DEF$G ; FILE DESCRIPTOR BLOCK OFFSETS GCMLD$ DEF$G ; COMMAND LINE NBOFF$ DEF$G ; DEFAULT FILENAME BLOCK ; ; LUN ASSIGNMENTS ; CMLLUN == 1 ; COMMAND LINE & INDIRECT COMMAND FILE OUTLUN == 2 ; OUTPUT FILE INPLUN == 3 ; INPUT FILE BOTLUN == 4 ; BOOT FILE TTYLUN == 5 ; TERMINAL ; ; SWITCH OPTIONS AND BUFFERS ; BO.SW == 1 ; BOOT SWITCH DA.SW == 2 ; DATE SWITCH FI.SW == 4 ; FIND SWITCH FO.SW == 10 ; FORMAT SWITCH HE.SW == 20 ; HELP SWITCH NO.SW == 40 ; NO LABEL NU.SW == 100 ; NUMBER SWITCH PL.SW == 200 ; PLATTERS SWITCH RW.SW == 400 ; REWIND SWITCH SK.SW == 1000 ; SKIP SWITCH TR.SW == 2000 ; TRACKS SWITCH VE.SW == 4000 ; VERIFY SWITCH WL.SW == 10000 ; WRITE LOCK SWITCH DI.SW == 20000 ; DIRECTORY SWITCH SWOPT:: 0 ; RESULTANT OPTION WORD ; ; SWITCHS ; OUTSW:: CSI$SW FORMAT,FO.SW,SWOPT,SET ; FORMAT SWITCH CSI$ND ; END OF SWITCH TABLE .EVEN ; INPSW:: CSI$SW BOOT,BO.SW,SWOPT,SET,,BOTAB ; BOOT SWITCH CSI$SW DATE,DA.SW,SWOPT,SET,,DATAB ; DATE SWITCH CSI$SW FIND,FI.SW,SWOPT,SET ; FIND SWITCH CSI$SW HELP,HE.SW,SWOPT,SET ; HELP SWITCH CSI$SW NOLABEL,NO.SW,SWOPT,SET ; NO LABEL SWITCH CSI$SW NUMBER,NU.SW,SWOPT,SET,,NUTAB ; NUMBER SWITCH CSI$SW PLATTERS,PL.SW,SWOPT,SET,,PLTAB ; PLATTERS SWITCH CSI$SW RWIND,RW.SW,SWOPT,SET ; REWIND SWITCH CSI$SW SKIP,SK.SW,SWOPT,SET,,SKTAB ; SKIP SWITCH CSI$SW TRACK,TR.SW,SWOPT,SET,,TRTAB ; TRACK SWITCH CSI$SW VERIFY,VE.SW,SWOPT,SET ; VERIFY SWITCH CSI$SW WLOCK,WL.SW,SWOPT,SET ; WRITE LOCK SWITCH CSI$SW DIRECTORY,DI.SW,SWOPT,SET ; DIRECTORY SWITCH CSI$ND ; END OF SWITCH TABLE .EVEN ; BOTAB: CSI$SV ASCII,BODEV,4. ; BOOT DEVICE CSI$ND ; END OF SWITCH TABLE DATAB: CSI$SV ASCII,ADATE,9. ; DATE CSI$ND ; END OF SWITCH TABLE NUTAB: CSI$SV DECIMAL,NUMB,5. ; NUMBER OF 1K DISK UNITS CSI$ND ; END OF SWITCH TABLE PLTAB: CSI$SV DECIMAL,PLATER,5. ; NUMBER OF PLATTERS CSI$ND ; END OF SWITCH TABLE SKTAB: CSI$SV DECIMAL,SKIP,5. ; NUMBER OF FILES TO SKIP CSI$ND ; END OF SWITCH TABLE TRTAB: CSI$SV DECIMAL,TRACK,5 ; NUMBER OF TRACKS CSI$ND ; END OF SWITCH TABLE .EVEN ; .PAGE ; BODEV:: .BLKB 4. ; DATE:: .BLKW 8. ; ADATE:: .BLKB 10. ; ASCII DATE NUMB:: 0 ; PLATER:: 0 ; SKIP:: 0 ; TRACK:: 0 ; ; ; COMMAND LINE BUFFERS ; CMLIND == 1 ;MAX INDIRECT COMMAND FILE NESTING CMLSIZ == 132. ;MAXIMUM COMMAND LINE LENGTH +2 CMLBLK::GCMLB$ CMLIND,ROL,,CMLLUN,CMLPDL,CMLSIZ; .EVEN CMLPDL::.BLKB G.LPDL ;PUSH DOWN LIST .EVEN ; ; COMMAND STRING INTERPRETOR ; CSIBLK::.BLKB C.SIZE ;CONTROL BLOCK .EVEN ; ; TERMINAL FDB AND DEFAULTS ; TTYFDB::FDBDF$ ; ALLOCATE FDB SPACE FDAT$A R.VAR,FD.CR,,,-1. ; FILE ATTRIBUTES FDRC$A ,TTYBUF,TTYSIZ ; RECORD ACCESS FDOP$A TTYLUN,,TTYDFN,FO.WRT ; FILE OPEN ATTRIBUTES FDBF$A ,,, ; BLOCK BUFFER .EVEN ; TTYDFN::NMBLK$ ,,,TI,0 ; DEFAULT FILENAME BLOCK .EVEN ; TTYBUF::.BLKB 132. ; TTY BUFFER TTYSIZ == .-TTYBUF ; SIZE .EVEN ; TTYIOS::.BLKW 2 ; TTY IO STATUS WORDS .PAGE ; ; ; OUTPUT FILE FDB AND DEFAULTS ; OUTFDB::FDBDF$ ; ALLOCATE FDB SPACE FDAT$A ; FILE ATTRIBUTES FDRC$A FD.RWM ; RECORD ACCESS - USE BLOCK FDBK$A OUTBUF,OUTSIZ,,,OUTIOS ; BLOCK ACCESS FDOP$A OUTLUN,,,FO.WRT ; FILE OPEN ATTRIBUTES FDBF$A ; .EVEN ; OUTIOS::.BLKW 2 ; OUTPUT IO STATUS WORDS ; ; INPUT FILE FDB AND DEFAULTS ; INPFDB::FDBDF$ ; ALLOCATE FDB SPACE FDAT$A ; FILE ATTRIBUTES FDRC$A FD.RWM ; RECORD ACCESS - USE BLOCK FDBK$A INPBUF,INPSIZ,,,INPIOS ; BLOCK ACCESS FDOP$A INPLUN,,,FO.RD, ; FILE OPEN ATTRIBUTES FDBF$A ; INPIOS::.BLKW 2 ; INPUT IO STATUS WORDS ; ; BUFFER AREA ; FLASIZ == 14. BOTSIZ == 512. BIMSIZ == 10240. BOSIZE == OUTSIZ == 8192. INPSIZ == 8192. BUFFER::.BLKB FLABL == BUFFER BOOT == FLABL+FLASIZ BOTIMG == BOOT+BOTSIZ INPBUF == BUFFER OUTBUF == INPBUF+INPSIZ ENDDAT = . .END