FILES MACRO M1113 05-MAY-81 07:09 PAGE 1 1 .TITLE FILES 2 .IDENT /V1.0/ 3 .SBTTL INTRODUCTION 4 5 ; VERSION 1.0 6 ; 7 ; CREATED BY J. BRADLEY FLIPPIN 8 ; RAYTHEON SERVICE COMPANY 9 ; 2341 JEFFERSON DAVIS HIGHWAY 10 ; ARLINGTON, VIRGINIA 22202 11 ; (703) 685-2200 12 ; 13 ; 15-FEB-81 14 ; 15 ; THIS PROGRAM PERMITS THE USER TO IDENTIFY FILES WHICH UTILIZE 16 ; SPECIFIC BLOCKS WITHIN A DISK DEVICE. ONCE THIS HAS BEEN DETERMINED, 17 ; THE INFORMATION CAN THEN BE USED TO FREE UP CONTIGUOUS SPACE WITHOUT 18 ; THE NECESSITY OF USING DSC OR OTHER SUCH TIME CONSUMING METHODS. 19 ; 20 ; FIRST THE USER DUMPS [0,0]BITMAP.SYS TO DETERMINE THE AREA OF 21 ; INTEREST. THE RESULTS ARE THEN PASSED TO "FILES" THROUGH SWITCHES. 22 ; 23 ; THE PROGRAM DOES NOT UTILIZE A FULL INPUT FILESPEC, ONLY THE DEVICE. 24 ; A FULL FILESPEC MAY BE USED IN THE OUTPUT FILE. 25 ; 26 ; 27 ; THE PROGRAM SUPPORTS THE FOLLOWING SWITCHES: 28 ; 29 ; OUTPUT FILE: 30 ; 31 ; /SP = SPOOL OUTPUT (CAN BE NEGATED)(DEFAULT=/SP) 32 ; /ID = DISPLAY PROGRAM VERSION NUMBER (IE: FILES /ID) 33 ; 34 ; INPUT FILE: 35 ; 36 ; /LI = LIST FILESPECS (DEFAUAT = /LI) 37 ; (USE /-LI TO SUPPRESS LISTING AND GET SUMMARY ONLY) 38 ; /LBN = LOGICAL BLOCK NUMBER ON THE DEVICE 39 ; /BLK = BITMAP.SYS BLOCK NUMBER 40 ; (CANNOT BE USED WITH /LBN SWITCH) 41 ; /WD = WORD NUMBER WITHIN THE SPECIFIED BITMAP.SYS BLOCK 42 ; (CANNOT BE USED WITHOUT /BLK SWITCH) 43 ; 44 ; THE /BLK, /WD, AND /LBN MUST HAVE VALUES ASSOCIATED WITH THEM AS 45 ; FOLLOWS (ALL VALUES DEFAULT TO OCTAL): 46 ; 47 ; /BLK:16 FROM BLOCK 16 TO END OF THE DEVICE 48 ; /BLK:16:16 BLOCK 16 ONLY 49 ; /BLK:16:17 FROM BLOCK 16 TO 17 (INCLUSIVE) 50 ; 51 ; THE /LBN SWITCH UTILIZES DOUBLE PRECISION VALUES AND THEREFORE 52 ; HAS THE FOLLOWING FORMAT: 53 ; 54 ; /LBN:0:4200 FROM LBN 4200 TO END OF DEVICE 55 ; /LBN:0:4200:0:4200 LBN 4200 ONLY 56 ; /LBN:0:4200:0:4700 FROM LBN 4200-4700 INCLUSIVE FILES MACRO M1113 05-MAY-81 07:09 PAGE 2 ...OPERATING NOTES 58 .SBTTL ...OPERATING NOTES 59 60 ; SAMPLE COMMAND LINES (ALL VALUES ARE IN OCTAL): 61 ; 62 ; FILES OUTPUT.LST/-SP=SY:/BLK:16:16 63 ; 64 ; (GENERATES A FILE "OUTPUT.LST" CONTAINING ALL THE 65 ; FILESPECS OF FILES ON SY0: HAVING LBN'S IN OCTAL 66 ; BLOCK NUMBER 16 OF THE "BITMAP.SYS" DUMP.) 67 ; 68 ; FILES =DM:/LBN:0:4200 69 ; 70 ; (SPOOLS A FILE "FILES.LST" CONTAINING ALL THE FILESPECS 71 ; OF THE FILES ON DM0: HAVING LBN'S OF 4200 OCTAL OR 72 ; GREATER) 73 ; 74 ; FILES TI:=DL:/BLK:16:16/WD:100:100 75 ; 76 ; (DISPLAYS ON THE ORIGINATING TERMINAL, ALL FILESPECS 77 ; OF FILES ON DY0: HAVING LBN'S IN THE 16 BLOCKS 78 ; PREPRESENTED BY THE BITS IN WORD 100 OF OCTAL BLOCK 79 ; 16 OF THE "BITMAP.SYS" DUMP) 80 ; 81 ; FILES DL1:=DL:/BLK:16/WD:40 82 ; 83 ; (GENERATES A FILE "FILES.LST" ON DL1: CONTAINING 84 ; ALL THE FILSPECS OF THE FILES ON DL: HAVING BLOCKS 85 ; REPRESENTED BY THE BITS STARTING WITH WORD 40 86 ; OF BLOCK 16 OF THE BITMAP.SYS TO THE END OF THE DEVICE.) 87 ; 88 ; FILES TI:=DY:/BLK:12:12/WD:4 89 ; 90 ; (DISPLAYS ON THE ORIGINATING TERMINAL ALL FILESPECS 91 ; OF FILES ON DY: HAVING DATA BLOCKS REPRESENTED BY 92 ; BITS STARTING WITH WORD 4 OF BLOCK 12 AND RUNNING TO 93 ; THE END OF BLOCK 12(OCTAL).) 94 ; 95 ; FILES TI:=DM:/BLK:6:7/WD:400:100 96 ; 97 ; (DISPLAYS ON THE ORIGINATING TERMINAL ALL FILESPECS 98 ; OF FILES ON DM: HAVING BLOCKS REPRESENTED BY THE 99 ; BITS FROM WORD 400 OF BLOCK 6 TO WORD 100 OF BLOCK 100 ; 7 ON BITMAP.SYS.) 101 ; 102 ; (THIS IS THE ONLY CASE IN WHICH THE STARTING WORD VALUE 103 ; CAN BE GREATER THAN THE STOPPING VALUE) 104 ; 105 ; 5) USE THE /-LI SWITCH TO CONVERT THE /BLK AND /WD VALUES ONLY 106 ; AND DISPLAY THE SUMMARY BLOCK. NO HEADERS ARE SEARCHED. FILES MACRO M1113 05-MAY-81 07:09 PAGE 3 ...TECHNICAL NOTES 108 .SBTTL ...TECHNICAL NOTES 109 110 ; MOVING THE FILES: 111 ; 112 ; ONCE THE FILES HAVE BEEN IDENTIFIED, THEY CAN BE MOVED BY "PIP". 113 ; FOR EXAMPLE, ASSUME "OUTPUT.LST" CONTAINED THE FILESPEC 114 ; "DM:[122,134]TEST.DAT;10." 115 ; THE FILE CAN BE MOVED BY SIGNING ONTO THAT DIRECTORY OR 116 ; SIGNING INTO A PRIVILIGED ACCOUNT AND SETTING IT TO THAT UIC. 117 ; THE SIMPLE ENTRY "PIP /NV/CD=TEST.DAT;10" AND DELETING THE OLD FILE, 118 ; WOULD FREE UP THE CONTIGUOUS SPACE AND SAVE THE CREATION DATE. 119 ; (BE SURE TO BE SPECIFIC AND USE THE INDICATED VERSION NUMBERS) 120 ; 121 ; NOTES: 122 ; 123 ; 1) THIS TECHNIQUE ONLY WORKS IF THERE ARE SUFFICIENT BLOCKS 124 ; AVAILABLE IN THE LOWER LBN'S, OTHERWISE F11ACP WILL SIMPLY 125 ; ASSIGN THE NEW BLOCKS TO HIGHER LBN'S. 126 ; 127 ; 2) (NOT USED) 128 ; 129 ; 3) THE UIC IN THE LISTING FILESPEC IS THE OWNER'S UIC EXTRACTED 130 ; FROM THE FILE'S HEADER. NORMALLY THIS COINCIDES WITH THE UFD 131 ; BUT THIS MAY NOT BE TRUE IN SOME CASES. IF THE FILE NAME 132 ; CANNOT BE FOUND UNDER THE LISTED UIC, THEN USE 133 ; "PIP [*,*]TEST.DAT;10/LI" TO FIND IT. 134 ; 135 ; 4) EXTENSION HEADERS ARE NOT HANDLED SEPARATELY. THE 136 ; SEQUENTIAL SEARCH OF HEADERS MAKES THIS UNNECESSARY. THUS, 137 ; IF A FILESPEC IS LISTED MORE THAN ONCE, IT INDICATES IT'S 138 ; HEADER (OR EXTENSION HEADER) HAD BLOCKS MAPPED TO THE 139 ; AREA IN QUESTION. 140 ; 141 ; 5) IF BLOCKS ARE STILL ALLOCATED AFTER THE ABOVE MOVEMENT 142 ; PROCESS, TRY THE FOLLOWING: 143 ; 144 ; A. ALL HEADERS MAY NOT BE LISTED IN A UFD 145 ; (SOLUTION - RUN VFY WITH /LO SWITCH) 146 ; 147 ; B. ALL BLOCKS MAY NOT BE MAPPED TO A FILE. 148 ; (SOLUTION - RUN VFY WITH /RE SWITCH) 149 ; (ALSO SEE UTILITIES MANUAL PARAGRAPH 13.3.1.5) 150 ; 151 ; C. IT MAY BE A BAD BLOCK. THIS IS EVIDENCED BY THE FILESPEC 152 ; "[1,1]BADBLK.SYS;1" APPEARING AS THE CULPRET. THIS MEANS 153 ; THAT THE BLOCK HAS BEEN MARKED AS BAD. VERIFICATION CAN 154 ; BE OBTAINED BY DUMPING [0,0]BADBLK.SYS AND CHECKING IT'S 155 ; MAP POINTERS. 156 ; (THERE IS NO SOLUTION TO THIS PROBLEM - BUY A NEW DISK) FILES MACRO M1113 05-MAY-81 07:09 PAGE 4 ...TECHNICAL NOTES 158 ; 6) ERROR MESSAGES ARE OF TWO TYPES: 159 ; 160 ; A. DIRECT MESSAGES ARE PROVIDED FOR COMMON ERRORS. 161 ; 162 ; B. ERROR CODES ARE PROVIDED FOR INFREQUENT (FCS) ERRORS. 163 ; (SEE "ERROR" SUBROUTINE FOR DETAILS) 164 ; 165 ; IE: "FIL - OI--IOER ERROR -16" INDICATES A "PRIVILEGE 166 ; VIOLATION", BUT PROBABLY THE DEVICE WAS NOT MOUNTED. 167 ; 168 ;*********************************************************************** 169 ; CAUTION: THIS PROGRAM HAS BEEN CHECKED OUT ON AN 11/34A WITH 170 ; MEMORY MANAGEMENT RUNNING UNDER RSX-11M VERSION 3.2 171 ; USING RL01/RK07/RX02 DISK DRIVES ONLY. PROPER 172 ; STEPS SHOULD BE TAKEN TO VERIFY RESULTS ON OTHER DEVICES 173 ; BEFORE ACCEPTING THE OUTPUT AT "FACE VALUE". 174 ;*********************************************************************** 175 ; 176 ; ASSEMBLY/TASK BUILD NOTES: 177 ; 178 ; ASSEMBLY AND TASK BUILDING OF "FILES" IS STRAIGHT FORWARD WITH 179 ; NO SPECIAL REQUIREMENTS. 180 ; 181 ; TO ASSEMBLE: MAC FILES[,FILES]=FILES 182 ; 183 ; TO TASK BUILD: TKB FILES=FILES 184 ; 185 ; IT IS SUGGESTED THAT "FILES" BE INSTALLED AS FOLLOWS: 186 ; 187 ; INS FILES/TASK=...FIL 188 ;