!MACRO RESTR.TE --------------- GERSON GROSFELD IMAGE PROCESSING UNIT, DCBD NATIONAL CANCER INSTITUTE BETHESDA, MD. 20014 25 AUGUST 1975 PURPOSE ------- TO CREATE A MAG-TAPE FILE RESTORATION BATCH JOB (RESTR.BI) FROM THE PSEUDO-DIRECTORY DUMPED ONTO THE MAG-TAPE BY THE BATCH JOB DUMP.BI OUTLINE ------- [0.0] INITIALIZE A STANDARD TECO MACRO PREAMBLE: SEE THE DEC OS/8 HANDBOOK PAGE 1-70 [1.0] OPEN INPUT AND OUTPUT FILES THE INPUT FILE IS THE SECOND ARGUEMENT OF THE "MUNG" COMMAND (THE FIRST BEING THIS MACRO) AND IS ASSUMED TO CONTAIN THE MAG-TAPE PSEUDO-DIRECTORY AND TO BE ON DEVICE "DEV:". THIS DEVICE MUST BE ASSIGNED BEFORE THE MACRO IS INVOKED. THE OUTPUT FILE, WHICH IS PUT ON THE SYS:, IS THE BATCH JOB "RESTR.BI" CREATED BY THIS MACRO. [2.0] WRITE BATCH JOB HEADER [3.0] GET FIRST FILE NAME (FIRST LINE WITH A DOT ".") AND KILL THE DATE LINE AND NULLS. [4.0] INSERT CALL TO PIP TO TRANSFER FILES FROM MAG-TAPE [4.1] FORM COMMAND DECODER LINE INSERT "*DEV:" IN FRONT OF THE FILE NAME AND "_MTA0:/I" AFTER THE NAME, DELETING THE FILE SIZE AND CREATION DATE FOR EACH FILE NAME CONTAINING A DOT (I.E. EVERY NAME). IF A DOT IS NOT FOUND, GO TO [4.2] [4.2] TEST FOR END OF DIRECTORY THE PHRASE "FREE BLOCKS" IS SEARCHED FOR, INDICATING THE END OF THE DIRECTORY. IF FOUND FALL THRU; ELSE DUMP THE CURRENT TECO BUFFER INTO THE OUTPUT FILE AND GO TO [4.1] [5.0] INSERT END-OF-JOB LINES DELETE "FREE BLOCKS" PHRASE AND TERMINAL NULLS, REWIND THE MAG-TAPE, AND DELETE THE BATCH JOB FROM THE SYS:, JUST TO BE TIDY. [6.0] CLOSE FILES AND EXIT PROGRAM ------- [0.0] !HX1HKGYJ4SDEV:G1J2SSTART!0,.KHX1M1! [1.0] START!ERDEV:EWRESTR.BI! [2.0] !HKI$JOB RESTR.BI /THIS JOB WAS CREATED BY THE TECO MACRO RESTR.TE / P! [3.0] !S.0L0,.K! [4.0] !I.R PIP ! [4.1] !!CONT!:S."N0LI*DEV:9CKI_MTA0:/I OCONT'! [4.2] !J:SFREE BLOCKS"EPOCONT'! [5.0] !0L-2K5KI.REWIND MTA0: .DELETE SYS:RESTR.BI $END RESTR.BI ! [6.0] !EX