.TITLE BLKIMP .IDENT /V1.0/ .PSECT BLKIMP,RW ;+ ; MACHINE/SYSTEM - PDP-11/70 / IAS V3.0 ; AUTHOR - JOHN GUIDI ; DATE - 22-SEPTEMBER-80 ; RESIDENCE - LB:[?,?]BLKIMP.MAC ; TYPE/LANGUAGE - IMPURE DATA DECLARATIONS / MACRO-11 ; ABSTRACT - THIS MODULE DECLARES THE DATA AREAS USED BY THE ; LBN IDENTIFIER UTILITY. ;- .SBTTL BLKIMP -> .MCALLS AND FSR SPACE DECLARATION .MCALL FSRSZ$ .MCALL GCMLB$,GCMLD$ .MCALL CSI$ .MCALL CSI$SW,CSI$SV,CSI$ND .MCALL QIOW$ .MCALL FDBDF$,FDAT$A,FDRC$A,FDOP$A .MCALL FDBF$A,NMBLK$,FDBK$A .MCALL NBOF$L FSRSZ$ 3 ; MAX NUMBER RECORD I/O FILES OPEN .SBTTL BLKIMP -> GCML AND CSI DECLARATIONS ; ; GCML AND CSI DECLARATIONS ; CMLLUN=1 ; GCML LUN CMLEFN=1 ; GCML EVENT FLAG GCML:: GCMLB$ CMLLUN,BLK,CMLADR,CMLEFN,,CMLSIZ ; GET COMMAND LINE BLOCK CMLADR:: .BLKB 162. ; BUFFER FOR COMMAND LINE CMLSIZ==.-CMLADR CSI$ ; DEFINE CSI$ OFFSETS .EVEN CSIBLK:: .BLKB C.SIZE ; CSI BLOCK FOR GET COMMAND LINE .EVEN ; MASK SETTINGS FOR SWITCHES IN COMMAND LINE DEMSK==^B0000000000000001 ; /DE: SWITCH SWMASK:: .WORD ; SWITCH SETTINGS MASK WORD ; SWITCH TABLE FOR CSI SWTABL:: CSI$SW DE,DEMSK,SWMASK,SET,,DEVTBL ; /DE: FOR DEVICE SPECIFICATION CSI$ND ; SWITCH VALUE TABLE FOR /DE: DEVTBL: CSI$SV ASCII,DEVNAM,DEVSPC CSI$ND DEVNAM:: .BLKB 6 ; DEVICE NAME STORAGE OF /DE: DEVSPC==.-DEVNAM ; TOTAL SPACE AVAILABLE FOR DEVNAM DEVSIZ:: .WORD ; NUMBER OF ACTUAL DEVNAM CHARACTERS .SBTTL BLKIMP -> TERMINAL DECLARATIONS TTLUN=2 ; TERMINAL LUN FOR ERRORS, MESSAGES TTEFN=2 ; TERMINAL EVENT FLAG WRITE:: QIOW$ IO.WVB,TTLUN,TTEFN,,,,<0,0,0> ; QIO TO WRITE TO TERMINAL .SBTTL BLKIMP -> LISTING FILE DECLARATIONS ; ; LISTING FILE DECLARATIONS ; LSTLUN=3 ; LIST FILE LUN LSTEFN=3 ; LIST FILE EVENT FLAG LSTBUF:: .BLKB 80. ; LISTING FILE RECORD BUFFER LSTSIZ=.-LSTBUF LSTFDB:: FDBDF$ ; LIST FILE FDB FDAT$A R.VAR,FD.CR ; V LENGTH RECORDS. IMPLIED FDRC$A FD.PLC,LSTBUF,LSTSIZ ; LOCATE MODE FDOP$A LSTLUN,,LSTNMB,FO.WRT ; ATTACH DEFAULT NAME BLOCK FDBF$A LSTEFN ; EVENT FLAG FOR PUT$S LSTNMB:: NMBLK$ BLKLST,LST,,TI,0 ; DEFAULT NAME BLOCK FOR LIST FILE .SBTTL BLKIMP -> INPUT FILE DECLARATIONS ; ; INPUT FILE DECLARATIONS ; INPLUN=4 INPEFN=4 INPBUF:: .BLKB 80. ; INPUT FILE RECORD BUFFER INPSIZ=.-INPBUF INPFDB:: FDBDF$ ; INPUT FILE FDB FDRC$A ,INPBUF,INPSIZ ; MOVE MODE FDOP$A INPLUN,,INPNMB,FO.RD ; FILE OPEN PORTION OF FDB FDBF$A INPEFN ; EVENT FLAG FOR GET$S INPNMB:: NMBLK$ ,,,SY,0 ; DEFAULT NAME BLOCK FOR INDIRECT FILE .SBTTL BLKIMP -> EXAMINATION FILE DECLARATIONS ; ; EXAMINATION FILE DECLARATIONS ; EXMLUN=5 EXMEFN=5 EXMFDB:: FDBDF$ ; DEFINE FDB FOR EXAMINATION FILE FDRC$A FD.RWM!FD.RAN ; BLOCK I/O AND RANDOM ACCESS FDBK$A ,,,EXMEFN ; EVENT FLAG FOR EXMFDB FDOP$A EXMLUN,EXMDSP,,FO.RD!FA.SHR ; LUN AND DATASSET. READ ONLY EXMFIL:: .BLKB 40. ; COMPLETE EXAMINATION FILE DESCRIPTION EXMFSZ:: .WORD ; SIZE OF EXAMINATION FILE DESCRIPTION EXMVER:: .WORD ; EXAMINATION FILE VERSION STORAGE EXMPTR:: .WORD ; POINTER TO EXMFDB DATASET (MSTDSP ! WLDDSP) EXMDSP:: .WORD 0,0 ; DATASET DESCRIPTOR FOR EXMDSP .WORD 0,0 .WORD 0,0 MSTDSP:: .WORD 0,DEVNAM ; MASTER DIRECTORY FILE WILDCARD DATASET .WORD MUICSZ,MUICNM ; UIC .WORD WFILSZ,WFILNM ; FILENAME WLDDSP:: .WORD 0,DEVNAM ; FULL WILDCARD DATASET .WORD WUICSZ,WUICNM ; UIC .WORD WFILSZ,WFILNM ; FILENAME MUICNM: .ASCII /[0,0]/ MUICSZ=.-MUICNM WUICNM: .ASCII /[*,*]/ WUICSZ=.-WUICNM WFILNM: .ASCII /*.*;*/ WFILSZ=.-WFILNM .EVEN EXMFLG:: .WORD ; EXAMINATION FILE FLAG WORD ; EXMFLG FLAG VALUES EXMFND==^B0000000000000001 ; FIRST EXMFIL FILE FOUND, PLACED IN EXMFDB EXMEND==^B0000000000000010 ; NO MORE FILES TO BE EXAMINED EXMNAM==^B0000000000000100 ; SET IF FILENAME PLACED IN EXMFIL,EXMFSZ .SBTTL BLKIMP -> WILDCARD FIND ROUTINE DECLARATIONS ; ; WILDCARD FIND ROUTINE DECLARATIONS ; ;***NOTE*** ; LUN=6 AND EVENT FLAG=6 ARE RESERVED FOR THE WILDCARD FIND ROUTINES ;***NOTE*** N.WNM1==S.FNB ; 2 WORD RAD-50 UIC N.WNM2==N.WNM1+4 ; 5 WORDS ASCII UIC S.WUIC==S.FNB+14. ; SIZE OF WILD UIC SCRATCH BLOCK WLDBLK:: .BLKB S.WUIC ; WILDCARD UIC SCRATCH BLOCK NB.WLV==10000 ; WILDCARD VERSION PRESENT FLAG .SBTTL BLKIMP -> FCS INDEX FILE DECLARATIONS ; ; FCS SYSTEM FILE DECLARATIONS ; (THIS FDB SHARED BY [0,0]BITMAP.SYS AND [0,0]INDEXF.SYS) ; (BOTH FILES ARE NOT NEEDED AT THE SAME TIME) ; SYSLUN=7 SYSEFN=7 SYSFDB:: FDBDF$ ; DEFINE FDB FOR FCS SYSTEM FILE FDRC$A FD.RWM!FD.RAN ; BLOCK I/O AND RANDOM ACCESS FDBK$A ,512.,,SYSEFN,SYSSTA ; EVENT FLAG,STATUS. 512. BYTE BLOCKS FDOP$A SYSLUN,,,FO.RD!FA.SHR ; READ ONLY, SHARED ACCESS SYSSTA:: .BLKW 2 ; STATUS BLOCK FOR FCS SYSTEM FILE SYSSTB:: .BLKW 5 ; STATISTICS BLOCK FOR FCS SYSTEM FILE SYSVBN:: .WORD 0,0 ; VBN TO READ FROM FCS SYSTEM FILE SYSPTR:: .WORD ; POINTER TO DATASET DESCRIPTOR FOR ; SYSFDB (BITDSP ! INXDSP) SYSSIZ==512. ; SIZE OF SYSBUF SYSBUF:: .BLKB SYSSIZ ; I/O BUFFER FOR SYSFDB ; [0,0]BITMAP.SYS DATASET DESCRIPTOR BITDSP:: .WORD 0,DEVNAM ; DATA SET DESCRIPTOR FOR BITMAP FILE ; (DEVICE FROM /DE: SWITCH) .WORD BUICSZ,BUICNM ; UIC .WORD BFILSZ,BFILNM ; FILE NAME BUICNM: .ASCII /[0,0]/ BUICSZ=.-BUICNM .EVEN BFILNM: .ASCII /BITMAP.SYS/ BFILSZ=.-BFILNM .EVEN INXDSP:: .WORD 0,DEVNAM ; DATA SET DESCRIPTOR FOR INDEX FILE ; (DEVICE FROM /DE: SWITCH) .WORD IUICSZ,IUICNM ; UIC .WORD IFILSZ,IFILNM ; FILE NAME IUICNM: .ASCII /[0,0]/ IUICSZ=.-IUICNM .EVEN IFILNM: .ASCII /INDEXF.SYS/ IFILSZ=.-IFILNM .EVEN .SBTTL BLKIMP -> VARIABLE DECLARATIONS ; ; VARIABLE DECLARATIONS ; MAXLBN:: .WORD 0,0 ; MAX LBN ON DEVICE (FROM FCS BITMAP STORAGE) IBITSZ:: .WORD ; INDEX FILE BITMAP SIZE ARGBLK:: .BLKW 5 ; ARGBLK SCRATCH AREA COUNT:: .WORD ; NUMBER OF LBNS FOR A GIVEN RETRIEVAL POINTER BOTVBN:: .WORD 0,0 ; BOTTOM VBN FOR A GIVEN RETRIEVAL POINTER BOTLBN:: .WORD 0,0 ; BOTTOM LBN FOR A GIVEN RETRIEVAL POINTER WRKBUF:: .BLKW 200.*2. ; WORK BUFFER (MUST BE MULTIPLE OF 2 WORDS!) WRKEND==. ; END OF WORK BUFFER WRKFLG:: .WORD ; WORK BUFFER FLAG ; WORK BUFFER FLAG VALUE WRKMOR==^B0000000000000001 ; WHEN SET, WORK BUFFER FILLED ONCE, ; AND POTENTIAL FOR MORE BUFFERS. WRKPT:: .WORD 0 ; -> LAST USED WRKBUF LOCATION NXTWRK:: .WORD 0 ; ADDRESS OF NEXT AVAIL DOUBLE WORD IN WRKBUF NUMLBN:: .WORD 0 ; NUMBER OF LBN'S IN WORK BUFFER LSTLBN:: .WORD 0,0 ; VALUE OF LAST LBN READ IN LBNVAL:: .WORD 0,0 ; VALUE OF LBN JUST READ IN VBNVAL:: .WORD 0,0 ; VALUE OF VBN FOR LBN READ IN LBNDIF:: .WORD 0,0 ; LBNDIF := LBNVAL - LBNBOT OFFSET:: .WORD 0 ; OFFSET INTO WRKBUF FOR LBNVAL LOWPT:: .WORD 0 ; LOW SHUFFLE POINTER HIGHPT:: .WORD 0 ; HIGH SHUFFLE POINTER .SBTTL BLKIMP -> SST TABLE DEFINITION ; ; SST TABLE DEFINITION ; SSTTBL:: .WORD 0,0,0,0,0,0 ; DEFINE AN SST VECTOR .WORD BLKTRP ; TRAP INSTRUCTION TO PRINT ERRORS SSTSIZ==.-SSTTBL .END