COMPILATION LISTING OF SEGMENT salv_caller Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1114.40_Tue_mdt Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 salv_caller: procedure; 14 return; 15 16 /* salv_caller -- Module to implement administrative salvager commands */ 17 /* Bernard Greenberg, April 6 1976 */ 18 /* Modified 7/77 by S.E. Barr to delete branch checking. */ 19 20 dcl cu_$arg_count entry returns (fixed bin); 21 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 22 dcl code fixed bin (35); 23 dcl arg char (argl) based (argp); 24 dcl argp ptr, argl fixed bin; 25 dcl SALV_RING fixed bin static init (1); 26 dcl cv_dec_check_ entry (char (*), fixed bin (35), fixed bin); 27 dcl i fixed bin; 28 dcl n fixed bin; 29 30 31 dcl disk_table_$general_mhv entry (fixed bin (35)); 32 dcl disk_table_$accept_rlv entry (fixed bin (35)); 33 dcl disk_table_$rbld_disk entry (char (*), char (*), char (*), bit (36) aligned, fixed bin (35)); 34 dcl disk_table_$volsalv entry (char (*), char (*), bit (36) aligned, fixed bin (35)); 35 dcl disk_table_$volsalvall entry (bit (36) aligned, fixed bin (35)); 36 dcl disk_table_$volrlvcheck entry (char (*), char (*), char (*), bit (36) aligned, fixed bin (35)); 37 dcl initializer_gate_$salvager entry (bit (36) aligned, fixed bin, fixed bin (35)); 38 39 dcl cu_$level_get entry returns (fixed bin); 40 dcl (ioa_, com_err_) entry options (variable); 41 dcl isvol bit (1); 42 dcl (copysw, allsw, drivesw, packsw, rbldsw) bit (1) init ("0"b); 43 dcl (drive, copyarg, pvname) char (32); 44 45 dcl (error_table_$action_not_performed, error_table_$badopt, error_table_$noarg) fixed bin (35) ext; 46 dcl active_all_rings_data$max_tree_depth fixed bin ext; 47 48 49 50 1 1 /* BEGIN INCLUDE FILE salv_options.incl.pl1 --- 04/06/76 A. Kobziar */ 1 2 1 3 dcl 1 salv_opts unaligned based (addr (salv_opt_bits)), /* layout of salv_data$options array */ 1 4 2 (console bit (1), 1 5 debug bit (1), 1 6 dump bit (1), 1 7 check bit (1), 1 8 rbld bit (1), 1 9 pnames bit (1), 1 10 dcf bit (1), 1 11 pad1 bit (11), /* rest are neg options */ 1 12 nconsole bit (1), /* negates setting on salv config card */ 1 13 ndebug bit (1), 1 14 ndump bit (1), 1 15 ncheck bit (1), 1 16 nrbld bit (1), 1 17 npnames bit (1), 1 18 ndcf bit (1), 1 19 pad2 bit (11)) unaligned; 1 20 1 21 dcl salv_opt_bits bit (36) aligned; 1 22 1 23 /* END INCLUDE FILE ... salv_options.incl.pl1 */ 51 52 53 dirsalv: entry; 54 isvol = "0"b; /* directory salvage */ 55 go to join; 56 packsalv: entry; 57 isvol = "1"b; /* pack salvage */ 58 go to join; 59 rbld_disk: entry; 60 isvol = "1"b; 61 rbldsw = "1"b; 62 join: salv_opt_bits = "0"b; /* clear all flags */ 63 if ^isvol then do; 64 if cu_$level_get () > SALV_RING then do; 65 call com_err_ (0, "salvage_dirs", "must be in ring ^d for dir salv", SALV_RING); 66 return; 67 end; 68 n = active_all_rings_data$max_tree_depth; 69 end; 70 71 do i = 1 to cu_$arg_count ();; 72 call cu_$arg_ptr (i, argp, argl, code); 73 if arg = "-console" then salv_opts.console = "1"b; 74 else if arg = "-debug" | arg = "-db" then salv_opts.debug = "1"b; 75 else if arg = "-dump" then salv_opts.dump = "1"b; 76 else if arg = "-nodump" then salv_opts.ndump = "1"b; 77 else if arg = "-nodebug" then salv_opts.ndebug = "1"b; 78 else if arg = "-noconsole" then salv_opts.nconsole = "1"b; 79 else if isvol then do; 80 if arg = "-all" then do; 81 if ^rbldsw then allsw = "1"b; 82 else do; 83 call com_err_ (error_table_$badopt, "rebuild disk", arg); 84 return; 85 end; 86 end; 87 else if arg = "-copy" then do; 88 i = i + 1; 89 call cu_$arg_ptr (i, argp, argl, code); 90 if code ^= 0 then do; 91 nocopyarg: 92 call com_err_ (code, "salvage_vol", "need copy drive name"); 93 return; 94 end; 95 if substr (arg, 1, 1) = "-" then do; 96 code = error_table_$noarg; 97 go to nocopyarg; 98 end; 99 copyarg = arg; 100 copysw = "1"b; 101 end; 102 else if i = 1 & substr (arg, 1, 1) ^= "-" then do; /* pack name */ 103 pvname = arg; 104 packsw = "1"b; 105 end; 106 else if i = 2 & packsw & substr (arg, 1, 1) ^= "-" then do; /* drive name */ 107 drive = arg; 108 drivesw = "1"b; 109 end; 110 else do; 111 call com_err_ (error_table_$badopt, "salvage_vol", arg); 112 return; 113 end; 114 end; 115 else do; /* dir salv */ 116 if arg = "-rebuild" then salv_opts.rbld = "1"b; 117 else if arg = "-pathname" then salv_opts.pnames = "1"b; 118 else if arg = "-long" then salv_opts.rbld, salv_opts.check, salv_opts.pnames = "1"b; 119 else if arg = "-check_vtoce" then salv_opts.check = "1"b; 120 else if arg = "-delete_connection_failure" | arg = "-dcf" then salv_opts.dcf = "1"b; 121 else if arg = "-norebuild" then salv_opts.nrbld = "1"b; 122 else if arg = "-nopathname" then salv_opts.npnames = "1"b; 123 else if arg = "-nocheck_vtoce" then salv_opts.ncheck = "1"b; 124 else if arg = "-nodelete_connection_failure" | arg = "-nodcf" then salv_opts.ndcf = "1"b; 125 else if arg = "-level" then do; 126 i = i + 1; 127 call cu_$arg_ptr (i, argp, argl, code); 128 if code ^= 0 then do; 129 levnoarg: call com_err_ (code, "salvage_dirs", "level number required"); 130 return; 131 end; 132 if substr (arg, 1, 1) = "-" then do; 133 code = error_table_$noarg; 134 go to levnoarg; 135 end; 136 call cv_dec_check_ (arg, code, n); 137 if code ^= 0 then do; 138 call com_err_ (0, "salvage_dirs", "decimal number required for level, not ^a", arg); 139 return; 140 end; 141 if n < 0 | n > active_all_rings_data$max_tree_depth then do; 142 call com_err_ (0, "salvage_dirs", "depth must be between ^d and ^d", 0, 143 active_all_rings_data$max_tree_depth); 144 return; 145 end; 146 end; 147 else do; 148 call com_err_ (error_table_$badopt, "salvage_dirs", arg); 149 return; 150 end; 151 end; 152 end; 153 154 155 if substr (salv_opt_bits, 1, 18) & substr (salv_opt_bits, 19, 18) then do; 156 if isvol then call com_err_ (0, "salvage_vol", "Inconsistent arguments have been specified"); 157 else call com_err_ (0, "salvage_dirs", "Inconsistent arguments have been specified"); 158 return; 159 end; 160 161 if salv_opts.ncheck & salv_opts.dcf then do; 162 163 call com_err_ (0, "salvage_dirs", "VTOC checking is required for connection failure deletion."); 164 return; 165 end; 166 salv_opts.check = salv_opts.check | salv_opts.dcf; 167 168 169 if ^isvol then do; 170 call disk_table_$accept_rlv (code); 171 if code ^= 0 then do; 172 call com_err_ (0, "salvage_dirs", "will not salvage until root complete"); 173 return; 174 end; 175 if salv_opts.check then do; 176 call disk_table_$general_mhv (code); 177 if code ^= 0 then do; 178 call com_err_ (0, "salvage_dirs", "Will not salvage"); 179 return; 180 end; 181 end; 182 end; 183 184 if copysw & allsw then do; 185 call com_err_ (0, "salvage_vol", "-all and -copy arguments cannot be used together"); 186 return; 187 end; 188 189 if allsw & drivesw then do; 190 call com_err_ (0, "salvage_vol", "no drive may be specified for -all"); 191 return; 192 end; 193 194 if isvol & ^allsw & ^(packsw & drivesw) then do; 195 call com_err_ (error_table_$noarg, "salvage_vol", "first two args must be phys vol name and drive name"); 196 return; 197 end; 198 199 200 if rbldsw & ^(drivesw & copysw) then do; 201 call com_err_ (error_table_$noarg, "rebuild_disk", 202 "args are: pack name dirve name -copy drive name"); 203 return; 204 end; 205 206 if rbldsw then call disk_table_$rbld_disk (pvname, drive, copyarg, salv_opt_bits, code); 207 else if copysw then call disk_table_$volrlvcheck (pvname, drive, copyarg, salv_opt_bits, code); 208 else if allsw then call disk_table_$volsalvall (salv_opt_bits, code); 209 else if isvol then call disk_table_$volsalv (pvname, drive, salv_opt_bits, code); 210 else call initializer_gate_$salvager (salv_opt_bits, n, code); 211 212 if code ^= 0 then do; 213 if code < 100 then code = error_table_$action_not_performed; 214 if isvol then call com_err_ (code, "salvage_vol"); 215 else call com_err_ (code, "salvage_dirs"); 216 end; 217 return; 218 219 test: entry; 220 SALV_RING = cu_$level_get (); 221 return; 222 223 224 /* BEGIN MESSAGE DOCUMENTATION 225* 226*Message: 227*rebuild_disk: Expected argument missing. 228* 229*S: $initializer_io 230* 231*T: $response 232* 233*M: Incorrect arguments were specified. 234* 235*A: $tryagn 236* 237* 238*Message: 239*rebuild_disk: Specified control argument is not implemented by this command. BLAH 240* 241*S: $initializer_io 242* 243*T: $response 244* 245*M: Incorrect arguments were specified. 246* 247*A: $tryagn 248* 249* 250*Message: 251*salvage_dirs: ERROR_MESSAGE 252* 253*S: $initializer_io 254* 255*T: $response 256* 257*M: Incorrect arguments were specified. 258* 259*A: $tryagn 260* 261* 262*Message: 263*salvage_dirs: ERROR_MESSAGE. level number required 264* 265*S: $initializer_io 266* 267*T: $response 268* 269*M: Incorrect arguments were specified. 270* 271*A: $tryagn 272* 273* 274*Message: 275*salvage_dirs: Inconsistent arguments have been specified 276* 277*S: $initializer_io 278* 279*T: $response 280* 281*M: Incorrect arguments were specified. 282* 283*A: $tryagn 284* 285* 286*Message: 287*salvage_dirs: Specified control argument is not implemented by this command. BLAH 288* 289*S: $initializer_io 290* 291*T: $response 292* 293*M: Incorrect arguments were specified. 294* 295*A: $tryagn 296* 297* 298*Message: 299*salvage_dirs: Will not salvage 300* 301*S: $initializer_io 302* 303*T: $response 304* 305*M: Incorrect arguments were specified. 306* 307*A: $tryagn 308* 309* 310*Message: 311*salvage_dirs: decimal number required for level, not BLAH 312* 313*S: $initializer_io 314* 315*T: $response 316* 317*M: Incorrect arguments were specified. 318* 319*A: $tryagn 320* 321* 322*Message: 323*salvage_dirs: depth must be between 0 and 15 324* 325*S: $initializer_io 326* 327*T: $response 328* 329*M: Incorrect arguments were specified. 330* 331*A: $tryagn 332* 333* 334*Message: 335*salvage_dirs: must be in ring 1 for dir salv 336* 337*S: $initializer_io 338* 339*T: $response 340* 341*M: Incorrect arguments were specified. 342* 343*A: $tryagn 344* 345* 346*Message: 347*salvage_dirs: will not salvage until root complete 348* 349*S: $initializer_io 350* 351*T: $response 352* 353*M: Incorrect arguments were specified. 354* 355*A: $tryagn 356* 357* 358*Message: 359*salvage_vol: -all and -copy arguments cannot be used together 360* 361*S: $initializer_io 362* 363*T: $response 364* 365*M: Incorrect arguments were specified. 366* 367*A: $tryagn 368* 369* 370*Message: 371*salvage_vol: ERROR_MESSAGE 372* 373*S: $initializer_io 374* 375*T: $response 376* 377*M: Incorrect arguments were specified. 378* 379*A: $tryagn 380* 381* 382*Message: 383*salvage_vol: ERROR_MESSAGE. need copy drive name 384* 385*S: $initializer_io 386* 387*T: $response 388* 389*M: Incorrect arguments were specified. 390* 391*A: $tryagn 392* 393* 394*Message: 395*salvage_vol: Expected argument missing. first two args must be phys vol name and drive name 396* 397*S: $initializer_io 398* 399*T: $response 400* 401*M: Incorrect arguments were specified. 402* 403*A: $tryagn 404* 405* 406*Message: 407*salvage_vol: Inconsistent arguments have been specified 408* 409*S: $initializer_io 410* 411*T: $response 412* 413*M: Incorrect arguments were specified. 414* 415*A: $tryagn 416* 417* 418*Message: 419*salvage_vol: Specified control argument is not implemented by this command. BLAH 420* 421*S: $initializer_io 422* 423*T: $response 424* 425*M: Incorrect arguments were specified. 426* 427*A: $tryagn 428* 429* 430*Message: 431*salvage_vol: no drive may be specified for -all 432* 433*S: $initializer_io 434* 435*T: $response 436* 437*M: Incorrect arguments were specified. 438* 439*A: $tryagn 440* 441* 442* 443*Message: 444*salvage_dirs: VTOC checking is required for connection failure deletion. 445* 446*S: $initializer_io 447* 448*T: $response 449* 450*M: An attempt was made to specify directory salvage with connection failure 451* deletion, but no VTOC checking. 452* 453*A: $tryagn 454* 455*END MESSAGE DOCUMENTATION */ 456 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1114.4 salv_caller.pl1 >udd>sm>ds>w>ml>salv_caller.pl1 51 1 10/07/77 1800.0 salv_options.incl.pl1 >ldd>incl>salv_options.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. SALV_RING 000010 internal static fixed bin(17,0) initial dcl 25 set ref 64 65* 220* active_all_rings_data$max_tree_depth 000050 external static fixed bin(17,0) dcl 46 set ref 68 141 142* allsw 000111 automatic bit(1) initial packed unaligned dcl 42 set ref 42* 81* 184 189 194 208 arg based char packed unaligned dcl 23 set ref 73 74 74 75 76 77 78 80 83* 87 95 99 102 103 106 107 111* 116 117 118 119 120 120 121 122 123 124 124 125 132 136* 138* 148* argl 000104 automatic fixed bin(17,0) dcl 24 set ref 72* 73 74 74 75 76 77 78 80 83 83 87 89* 95 99 102 103 106 107 111 111 116 117 118 119 120 120 121 122 123 124 124 125 127* 132 136 136 138 138 148 148 argp 000102 automatic pointer dcl 24 set ref 72* 73 74 74 75 76 77 78 80 83 87 89* 95 99 102 103 106 107 111 116 117 118 119 120 120 121 122 123 124 124 125 127* 132 136 138 148 check 0(03) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 118* 119* 166* 166 175 code 000100 automatic fixed bin(35,0) dcl 22 set ref 72* 89* 90 91* 96* 127* 128 129* 133* 136* 137 170* 171 176* 177 206* 207* 208* 209* 210* 212 213 213* 214* 215* com_err_ 000040 constant entry external dcl 40 ref 65 83 91 111 129 138 142 148 156 157 163 172 178 185 190 195 201 214 215 console based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 73* copyarg 000125 automatic char(32) packed unaligned dcl 43 set ref 99* 206* 207* copysw 000110 automatic bit(1) initial packed unaligned dcl 42 set ref 42* 100* 184 200 207 cu_$arg_count 000012 constant entry external dcl 20 ref 71 cu_$arg_ptr 000014 constant entry external dcl 21 ref 72 89 127 cu_$level_get 000036 constant entry external dcl 39 ref 64 220 cv_dec_check_ 000016 constant entry external dcl 26 ref 136 dcf 0(06) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 120* 161 166 debug 0(01) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 74* disk_table_$accept_rlv 000022 constant entry external dcl 32 ref 170 disk_table_$general_mhv 000020 constant entry external dcl 31 ref 176 disk_table_$rbld_disk 000024 constant entry external dcl 33 ref 206 disk_table_$volrlvcheck 000032 constant entry external dcl 36 ref 207 disk_table_$volsalv 000026 constant entry external dcl 34 ref 209 disk_table_$volsalvall 000030 constant entry external dcl 35 ref 208 drive 000115 automatic char(32) packed unaligned dcl 43 set ref 107* 206* 207* 209* drivesw 000112 automatic bit(1) initial packed unaligned dcl 42 set ref 42* 108* 189 194 200 dump 0(02) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 75* error_table_$action_not_performed 000042 external static fixed bin(35,0) dcl 45 ref 213 error_table_$badopt 000044 external static fixed bin(35,0) dcl 45 set ref 83* 111* 148* error_table_$noarg 000046 external static fixed bin(35,0) dcl 45 set ref 96 133 195* 201* i 000105 automatic fixed bin(17,0) dcl 27 set ref 71* 72* 88* 88 89* 102 106 126* 126 127* initializer_gate_$salvager 000034 constant entry external dcl 37 ref 210 isvol 000107 automatic bit(1) packed unaligned dcl 41 set ref 54* 57* 60* 63 79 156 169 194 209 214 n 000106 automatic fixed bin(17,0) dcl 28 set ref 68* 136* 141 141 210* ncheck 0(21) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 123* 161 nconsole 0(18) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 78* ndcf 0(24) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 124* ndebug 0(19) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 77* ndump 0(20) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 76* npnames 0(23) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 122* nrbld 0(22) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 121* packsw 000113 automatic bit(1) initial packed unaligned dcl 42 set ref 42* 104* 106 194 pnames 0(05) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 117* 118* pvname 000135 automatic char(32) packed unaligned dcl 43 set ref 103* 206* 207* 209* rbld 0(04) based bit(1) level 2 packed packed unaligned dcl 1-3 set ref 116* 118* rbldsw 000114 automatic bit(1) initial packed unaligned dcl 42 set ref 42* 61* 81 200 206 salv_opt_bits 000145 automatic bit(36) dcl 1-21 set ref 62* 73 74 75 76 77 78 116 117 118 118 118 119 120 121 122 123 124 155 155 161 161 166 166 166 175 206* 207* 208* 209* 210* salv_opts based structure level 1 packed packed unaligned dcl 1-3 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ioa_ 000000 constant entry external dcl 40 NAMES DECLARED BY EXPLICIT CONTEXT. dirsalv 000345 constant entry external dcl 53 join 000401 constant label dcl 62 ref 55 58 levnoarg 001161 constant label dcl 129 ref 134 nocopyarg 000661 constant label dcl 91 ref 97 packsalv 000356 constant entry external dcl 56 rbld_disk 000370 constant entry external dcl 59 salv_caller 000335 constant entry external dcl 13 test 002323 constant entry external dcl 219 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 73 74 75 76 77 78 116 117 118 118 118 119 120 121 122 123 124 161 161 166 166 166 175 substr builtin function ref 95 102 106 132 155 155 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2576 2650 2342 2606 Length 3102 2342 52 216 233 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME salv_caller 178 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 SALV_RING salv_caller STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME salv_caller 000100 code salv_caller 000102 argp salv_caller 000104 argl salv_caller 000105 i salv_caller 000106 n salv_caller 000107 isvol salv_caller 000110 copysw salv_caller 000111 allsw salv_caller 000112 drivesw salv_caller 000113 packsw salv_caller 000114 rbldsw salv_caller 000115 drive salv_caller 000125 copyarg salv_caller 000135 pvname salv_caller 000145 salv_opt_bits salv_caller THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cu_$level_get cv_dec_check_ disk_table_$accept_rlv disk_table_$general_mhv disk_table_$rbld_disk disk_table_$volrlvcheck disk_table_$volsalv disk_table_$volsalvall initializer_gate_$salvager THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. active_all_rings_data$max_tree_depth error_table_$action_not_performed error_table_$badopt error_table_$noarg CONSTANTS 000000 aa 514000000044 000001 aa 526000000040 000002 aa 524000000057 000003 aa 524000000063 000004 aa 524000000042 000005 aa 524000000060 000006 aa 524000000020 000007 aa 524000000044 000010 aa 524000000072 000011 aa 524000000052 000012 aa 524000000051 000013 aa 524000000025 000014 aa 055 144 143 146 -dcf 002341 aa 055 000 000 000 - 000015 aa 524000000024 000016 aa 524000000013 000017 aa 526000000000 000020 aa 404000000043 000021 aa 055 141 154 154 -all 000022 aa 055 144 142 000 -db 000023 aa 524000000037 000024 aa 524000000014 000025 aa 404000000005 000026 aa 404000000021 000030 aa 055 154 145 166 -lev 000031 aa 145 154 000 000 el 000032 aa 055 156 157 144 -nod 000033 aa 143 146 000 000 cf 000034 aa 055 154 157 156 -lon 000035 aa 147 000 000 000 g 000036 aa 055 162 145 142 -reb 000037 aa 165 151 154 144 uild 000040 aa 055 143 157 160 -cop 000041 aa 171 000 000 000 y 000042 aa 055 156 157 144 -nod 000043 aa 145 142 165 147 ebug 000044 aa 055 156 157 144 -nod 000045 aa 165 155 160 000 ump 000046 aa 055 144 165 155 -dum 000047 aa 160 000 000 000 p 000050 aa 055 144 145 142 -deb 000051 aa 165 147 000 000 ug 000052 aa 055 143 157 156 -con 000053 aa 163 157 154 145 sole 000054 aa 162 145 142 165 rebu 000055 aa 151 154 144 137 ild_ 000056 aa 144 151 163 153 disk 000057 aa 055 156 157 160 -nop 000060 aa 141 164 150 156 athn 000061 aa 141 155 145 000 ame 000062 aa 055 156 157 162 -nor 000063 aa 145 142 165 151 ebui 000064 aa 154 144 000 000 ld 000065 aa 055 143 150 145 -che 000066 aa 143 153 137 166 ck_v 000067 aa 164 157 143 145 toce 000070 aa 055 160 141 164 -pat 000071 aa 150 156 141 155 hnam 000072 aa 145 000 000 000 e 000073 aa 163 141 154 166 salv 000074 aa 141 147 145 137 age_ 000075 aa 166 157 154 000 vol 000076 aa 162 145 142 165 rebu 000077 aa 151 154 144 040 ild 000100 aa 144 151 163 153 disk 000101 aa 055 156 157 143 -noc 000102 aa 157 156 163 157 onso 000103 aa 154 145 000 000 le 000104 aa 163 141 154 166 salv 000105 aa 141 147 145 137 age_ 000106 aa 144 151 162 163 dirs 000107 aa 127 151 154 154 Will 000110 aa 040 156 157 164 not 000111 aa 040 163 141 154 sal 000112 aa 166 141 147 145 vage 000113 aa 055 156 157 143 -noc 000114 aa 150 145 143 153 heck 000115 aa 137 166 164 157 _vto 000116 aa 143 145 000 000 ce 000117 aa 156 145 145 144 need 000120 aa 040 143 157 160 cop 000121 aa 171 040 144 162 y dr 000122 aa 151 166 145 040 ive 000123 aa 156 141 155 145 name 000124 aa 154 145 166 145 leve 000125 aa 154 040 156 165 l nu 000126 aa 155 142 145 162 mber 000127 aa 040 162 145 161 req 000130 aa 165 151 162 145 uire 000131 aa 144 000 000 000 d 000132 aa 055 156 157 144 -nod 000133 aa 145 154 145 164 elet 000134 aa 145 137 143 157 e_co 000135 aa 156 156 145 143 nnec 000136 aa 164 151 157 156 tion 000137 aa 137 146 141 151 _fai 000140 aa 154 165 162 145 lure 000141 aa 055 144 145 154 -del 000142 aa 145 164 145 137 ete_ 000143 aa 143 157 156 156 conn 000144 aa 145 143 164 151 ecti 000145 aa 157 156 137 146 on_f 000146 aa 141 151 154 165 ailu 000147 aa 162 145 000 000 re 000150 aa 144 145 160 164 dept 000151 aa 150 040 155 165 h mu 000152 aa 163 164 040 142 st b 000153 aa 145 040 142 145 e be 000154 aa 164 167 145 145 twee 000155 aa 156 040 136 144 n ^d 000156 aa 040 141 156 144 and 000157 aa 040 136 144 000 ^d 000160 aa 155 165 163 164 must 000161 aa 040 142 145 040 be 000162 aa 151 156 040 162 in r 000163 aa 151 156 147 040 ing 000164 aa 136 144 040 146 ^d f 000165 aa 157 162 040 144 or d 000166 aa 151 162 040 163 ir s 000167 aa 141 154 166 000 alv 000170 aa 156 157 040 144 no d 000171 aa 162 151 166 145 rive 000172 aa 040 155 141 171 may 000173 aa 040 142 145 040 be 000174 aa 163 160 145 143 spec 000175 aa 151 146 151 145 ifie 000176 aa 144 040 146 157 d fo 000177 aa 162 040 055 141 r -a 000200 aa 154 154 000 000 ll 000201 aa 167 151 154 154 will 000202 aa 040 156 157 164 not 000203 aa 040 163 141 154 sal 000204 aa 166 141 147 145 vage 000205 aa 040 165 156 164 unt 000206 aa 151 154 040 162 il r 000207 aa 157 157 164 040 oot 000210 aa 143 157 155 160 comp 000211 aa 154 145 164 145 lete 000212 aa 111 156 143 157 Inco 000213 aa 156 163 151 163 nsis 000214 aa 164 145 156 164 tent 000215 aa 040 141 162 147 arg 000216 aa 165 155 145 156 umen 000217 aa 164 163 040 150 ts h 000220 aa 141 166 145 040 ave 000221 aa 142 145 145 156 been 000222 aa 040 163 160 145 spe 000223 aa 143 151 146 151 cifi 000224 aa 145 144 000 000 ed 000225 aa 144 145 143 151 deci 000226 aa 155 141 154 040 mal 000227 aa 156 165 155 142 numb 000230 aa 145 162 040 162 er r 000231 aa 145 161 165 151 equi 000232 aa 162 145 144 040 red 000233 aa 146 157 162 040 for 000234 aa 154 145 166 145 leve 000235 aa 154 054 040 156 l, n 000236 aa 157 164 040 136 ot ^ 000237 aa 141 000 000 000 a 000240 aa 141 162 147 163 args 000241 aa 040 141 162 145 are 000242 aa 072 040 160 141 : pa 000243 aa 143 153 040 156 ck n 000244 aa 141 155 145 040 ame 000245 aa 144 151 162 166 dirv 000246 aa 145 040 156 141 e na 000247 aa 155 145 040 055 me - 000250 aa 143 157 160 171 copy 000251 aa 040 144 162 151 dri 000252 aa 166 145 040 156 ve n 000253 aa 141 155 145 000 ame 000254 aa 055 141 154 154 -all 000255 aa 040 141 156 144 and 000256 aa 040 055 143 157 -co 000257 aa 160 171 040 141 py a 000260 aa 162 147 165 155 rgum 000261 aa 145 156 164 163 ents 000262 aa 040 143 141 156 can 000263 aa 156 157 164 040 not 000264 aa 142 145 040 165 be u 000265 aa 163 145 144 040 sed 000266 aa 164 157 147 145 toge 000267 aa 164 150 145 162 ther 000270 aa 146 151 162 163 firs 000271 aa 164 040 164 167 t tw 000272 aa 157 040 141 162 o ar 000273 aa 147 163 040 155 gs m 000274 aa 165 163 164 040 ust 000275 aa 142 145 040 160 be p 000276 aa 150 171 163 040 hys 000277 aa 166 157 154 040 vol 000300 aa 156 141 155 145 name 000301 aa 040 141 156 144 and 000302 aa 040 144 162 151 dri 000303 aa 166 145 040 156 ve n 000304 aa 141 155 145 000 ame 000305 aa 126 124 117 103 VTOC 000306 aa 040 143 150 145 che 000307 aa 143 153 151 156 ckin 000310 aa 147 040 151 163 g is 000311 aa 040 162 145 161 req 000312 aa 165 151 162 145 uire 000313 aa 144 040 146 157 d fo 000314 aa 162 040 143 157 r co 000315 aa 156 156 145 143 nnec 000316 aa 164 151 157 156 tion 000317 aa 040 146 141 151 fai 000320 aa 154 165 162 145 lure 000321 aa 040 144 145 154 del 000322 aa 145 164 151 157 etio 000323 aa 156 056 000 000 n. BEGIN PROCEDURE salv_caller PROLOGUE SEQUENCE 000324 aa 6 00146 4401 00 sxl0 pr6|102 STATEMENT 1 ON LINE 42 000325 aa 6 00110 4501 00 stz pr6|72 copysw 000326 aa 6 00111 4501 00 stz pr6|73 allsw 000327 aa 6 00112 4501 00 stz pr6|74 drivesw 000330 aa 6 00113 4501 00 stz pr6|75 packsw 000331 aa 6 00114 4501 00 stz pr6|76 rbldsw 000332 aa 6 00146 7201 00 lxl0 pr6|102 000333 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO salv_caller STATEMENT 1 ON LINE 13 salv_caller: procedure; 000334 da 000204200000 000335 aa 000300 6270 00 eax7 192 000336 aa 7 00034 3521 20 epp2 pr7|28,* 000337 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000340 aa 000000000000 000341 aa 000000000000 000342 aa 777762 7000 04 tsx0 -14,ic 000324 STATEMENT 1 ON LINE 14 return; 000343 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO dirsalv STATEMENT 1 ON LINE 53 dirsalv: entry; 000344 da 000211200000 000345 aa 000300 6270 00 eax7 192 000346 aa 7 00034 3521 20 epp2 pr7|28,* 000347 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000350 aa 000000000000 000351 aa 000000000000 000352 aa 777752 7000 04 tsx0 -22,ic 000324 STATEMENT 1 ON LINE 54 isvol = "0"b; 000353 aa 6 00107 4501 00 stz pr6|71 isvol STATEMENT 1 ON LINE 55 go to join; 000354 aa 000025 7100 04 tra 21,ic 000401 ENTRY TO packsalv STATEMENT 1 ON LINE 56 packsalv: entry; 000355 da 000217200000 000356 aa 000300 6270 00 eax7 192 000357 aa 7 00034 3521 20 epp2 pr7|28,* 000360 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000361 aa 000000000000 000362 aa 000000000000 000363 aa 777741 7000 04 tsx0 -31,ic 000324 STATEMENT 1 ON LINE 57 isvol = "1"b; 000364 aa 400000 2350 03 lda 131072,du 000365 aa 6 00107 7551 00 sta pr6|71 isvol STATEMENT 1 ON LINE 58 go to join; 000366 aa 000013 7100 04 tra 11,ic 000401 ENTRY TO rbld_disk STATEMENT 1 ON LINE 59 rbld_disk: entry; 000367 da 000222200000 000370 aa 000300 6270 00 eax7 192 000371 aa 7 00034 3521 20 epp2 pr7|28,* 000372 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000373 aa 000000000000 000374 aa 000000000000 000375 aa 777727 7000 04 tsx0 -41,ic 000324 STATEMENT 1 ON LINE 60 isvol = "1"b; 000376 aa 400000 2350 03 lda 131072,du 000377 aa 6 00107 7551 00 sta pr6|71 isvol STATEMENT 1 ON LINE 61 rbldsw = "1"b; 000400 aa 6 00114 7551 00 sta pr6|76 rbldsw STATEMENT 1 ON LINE 62 join: salv_opt_bits = "0"b; 000401 aa 6 00145 4501 00 stz pr6|101 salv_opt_bits STATEMENT 1 ON LINE 63 if ^isvol then do; 000402 aa 6 00107 2351 00 lda pr6|71 isvol 000403 aa 000053 6010 04 tnz 43,ic 000456 STATEMENT 1 ON LINE 64 if cu_$level_get () > SALV_RING then do; 000404 aa 6 00147 3521 00 epp2 pr6|103 000405 aa 6 00152 2521 00 spri2 pr6|106 000406 aa 6 00150 6211 00 eax1 pr6|104 000407 aa 004000 4310 07 fld 2048,dl 000410 aa 6 00044 3701 20 epp4 pr6|36,* 000411 la 4 00036 3521 20 epp2 pr4|30,* cu_$level_get 000412 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000413 aa 6 00147 2361 00 ldq pr6|103 000414 aa 6 00044 3701 20 epp4 pr6|36,* 000415 ia 4 00010 1161 00 cmpq pr4|8 SALV_RING 000416 aa 000036 6044 04 tmoz 30,ic 000454 STATEMENT 1 ON LINE 65 call com_err_ (0, "salvage_dirs", "must be in ring ^d for dir salv", SALV_RING); 000417 aa 6 00147 4501 00 stz pr6|103 000420 aa 777464 2370 04 ldaq -204,ic 000104 = 163141154166 141147145137 000421 aa 6 00150 7571 00 staq pr6|104 000422 aa 777464 2350 04 lda -204,ic 000106 = 144151162163 000423 aa 6 00152 7551 00 sta pr6|106 000424 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000425 aa 777534 00 0040 desc9a -164,32 000160 = 155165163164 000426 aa 6 00154 00 0040 desc9a pr6|108,32 000427 aa 6 00147 3521 00 epp2 pr6|103 000430 aa 6 00166 2521 00 spri2 pr6|118 000431 aa 6 00150 3521 00 epp2 pr6|104 000432 aa 6 00170 2521 00 spri2 pr6|120 000433 aa 6 00154 3521 00 epp2 pr6|108 000434 aa 6 00172 2521 00 spri2 pr6|122 000435 ia 4 00010 3521 00 epp2 pr4|8 SALV_RING 000436 aa 6 00174 2521 00 spri2 pr6|124 000437 aa 777366 3520 04 epp2 -266,ic 000025 = 404000000005 000440 aa 6 00176 2521 00 spri2 pr6|126 000441 aa 777363 3520 04 epp2 -269,ic 000024 = 524000000014 000442 aa 6 00200 2521 00 spri2 pr6|128 000443 aa 777360 3520 04 epp2 -272,ic 000023 = 524000000037 000444 aa 6 00202 2521 00 spri2 pr6|130 000445 aa 777361 3520 04 epp2 -271,ic 000026 = 404000000021 000446 aa 6 00204 2521 00 spri2 pr6|132 000447 aa 6 00164 6211 00 eax1 pr6|116 000450 aa 020000 4310 07 fld 8192,dl 000451 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 000452 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 66 return; 000453 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 67 end; STATEMENT 1 ON LINE 68 n = active_all_rings_data$max_tree_depth; 000454 la 4 00050 2361 20 ldq pr4|40,* active_all_rings_data$max_tree_depth 000455 aa 6 00106 7561 00 stq pr6|70 n STATEMENT 1 ON LINE 69 end; STATEMENT 1 ON LINE 71 do i = 1 to cu_$arg_count (); 000456 aa 6 00147 3521 00 epp2 pr6|103 000457 aa 6 00152 2521 00 spri2 pr6|106 000460 aa 6 00150 6211 00 eax1 pr6|104 000461 aa 004000 4310 07 fld 2048,dl 000462 aa 6 00044 3701 20 epp4 pr6|36,* 000463 la 4 00012 3521 20 epp2 pr4|10,* cu_$arg_count 000464 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 000465 aa 000001 2360 07 ldq 1,dl 000466 aa 6 00105 7561 00 stq pr6|69 i 000467 aa 000000 0110 03 nop 0,du 000470 aa 6 00105 2361 00 ldq pr6|69 i 000471 aa 6 00147 1161 00 cmpq pr6|103 000472 aa 000726 6054 04 tpnz 470,ic 001420 STATEMENT 1 ON LINE 72 call cu_$arg_ptr (i, argp, argl, code); 000473 aa 6 00105 3521 00 epp2 pr6|69 i 000474 aa 6 00166 2521 00 spri2 pr6|118 000475 aa 6 00102 3521 00 epp2 pr6|66 argp 000476 aa 6 00170 2521 00 spri2 pr6|120 000477 aa 6 00104 3521 00 epp2 pr6|68 argl 000500 aa 6 00172 2521 00 spri2 pr6|122 000501 aa 6 00100 3521 00 epp2 pr6|64 code 000502 aa 6 00174 2521 00 spri2 pr6|124 000503 aa 6 00164 6211 00 eax1 pr6|116 000504 aa 020000 4310 07 fld 8192,dl 000505 aa 6 00044 3701 20 epp4 pr6|36,* 000506 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 000507 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 73 if arg = "-console" then salv_opts.console = "1"b; 000510 aa 6 00102 3735 20 epp7 pr6|66,* argp 000511 aa 6 00104 7271 00 lxl7 pr6|68 argl 000512 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000513 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000514 aa 777340 00 0010 desc9a -288,8 000052 = 055143157156 000515 aa 000004 6010 04 tnz 4,ic 000521 000516 aa 400000 2350 03 lda 131072,du 000517 aa 6 00145 2551 00 orsa pr6|101 salv_opts.console 000520 aa 000676 7100 04 tra 446,ic 001416 STATEMENT 1 ON LINE 74 else if arg = "-debug" | arg = "-db" then salv_opts.debug = "1"b; 000521 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000522 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000523 aa 777327 00 0006 desc9a -297,6 000050 = 055144145142 000524 aa 000005 6000 04 tze 5,ic 000531 000525 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000526 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000527 aa 777275 00 0003 desc9a -323,3 000022 = 055144142000 000530 aa 000004 6010 04 tnz 4,ic 000534 000531 aa 200000 2350 03 lda 65536,du 000532 aa 6 00145 2551 00 orsa pr6|101 salv_opts.debug 000533 aa 000663 7100 04 tra 435,ic 001416 STATEMENT 1 ON LINE 75 else if arg = "-dump" then salv_opts.dump = "1"b; 000534 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000535 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000536 aa 777312 00 0005 desc9a -310,5 000046 = 055144165155 000537 aa 000004 6010 04 tnz 4,ic 000543 000540 aa 100000 2350 03 lda 32768,du 000541 aa 6 00145 2551 00 orsa pr6|101 salv_opts.dump 000542 aa 000654 7100 04 tra 428,ic 001416 STATEMENT 1 ON LINE 76 else if arg = "-nodump" then salv_opts.ndump = "1"b; 000543 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000544 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000545 aa 777301 00 0007 desc9a -319,7 000044 = 055156157144 000546 aa 000004 6010 04 tnz 4,ic 000552 000547 aa 100000 2350 07 lda 32768,dl 000550 aa 6 00145 2551 00 orsa pr6|101 salv_opts.ndump 000551 aa 000645 7100 04 tra 421,ic 001416 STATEMENT 1 ON LINE 77 else if arg = "-nodebug" then salv_opts.ndebug = "1"b; 000552 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000553 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000554 aa 777270 00 0010 desc9a -328,8 000042 = 055156157144 000555 aa 000004 6010 04 tnz 4,ic 000561 000556 aa 200000 2350 07 lda 65536,dl 000557 aa 6 00145 2551 00 orsa pr6|101 salv_opts.ndebug 000560 aa 000636 7100 04 tra 414,ic 001416 STATEMENT 1 ON LINE 78 else if arg = "-noconsole" then salv_opts.nconsole = "1"b; 000561 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000562 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000563 aa 777320 00 0012 desc9a -304,10 000101 = 055156157143 000564 aa 000004 6010 04 tnz 4,ic 000570 000565 aa 400000 2350 07 lda 131072,dl 000566 aa 6 00145 2551 00 orsa pr6|101 salv_opts.nconsole 000567 aa 000627 7100 04 tra 407,ic 001416 STATEMENT 1 ON LINE 79 else if isvol then do; 000570 aa 6 00107 2351 00 lda pr6|71 isvol 000571 aa 000231 6000 04 tze 153,ic 001022 STATEMENT 1 ON LINE 80 if arg = "-all" then do; 000572 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000573 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000574 aa 777227 00 0004 desc9a -361,4 000021 = 055141154154 000575 aa 000040 6010 04 tnz 32,ic 000635 STATEMENT 1 ON LINE 81 if ^rbldsw then allsw = "1"b; 000576 aa 6 00114 2351 00 lda pr6|76 rbldsw 000577 aa 000004 6010 04 tnz 4,ic 000603 000600 aa 400000 2350 03 lda 131072,du 000601 aa 6 00111 7551 00 sta pr6|73 allsw 000602 aa 000614 7100 04 tra 396,ic 001416 STATEMENT 1 ON LINE 82 else do; STATEMENT 1 ON LINE 83 call com_err_ (error_table_$badopt, "rebuild disk", arg); 000603 aa 6 00104 2361 00 ldq pr6|68 argl 000604 aa 526000 2760 03 orq 175104,du 000605 aa 6 00206 7561 00 stq pr6|134 000606 aa 777270 2370 04 ldaq -328,ic 000076 = 162145142165 151154144040 000607 aa 6 00150 7571 00 staq pr6|104 000610 aa 777270 2350 04 lda -328,ic 000100 = 144151163153 000611 aa 6 00152 7551 00 sta pr6|106 000612 aa 6 00044 3701 20 epp4 pr6|36,* 000613 la 4 00044 3521 20 epp2 pr4|36,* error_table_$badopt 000614 aa 6 00166 2521 00 spri2 pr6|118 000615 aa 6 00150 3521 00 epp2 pr6|104 000616 aa 6 00170 2521 00 spri2 pr6|120 000617 aa 7 00000 3521 00 epp2 pr7|0 arg 000620 aa 6 00172 2521 00 spri2 pr6|122 000621 aa 777177 3520 04 epp2 -385,ic 000020 = 404000000043 000622 aa 6 00174 2521 00 spri2 pr6|124 000623 aa 777201 3520 04 epp2 -383,ic 000024 = 524000000014 000624 aa 6 00176 2521 00 spri2 pr6|126 000625 aa 6 00206 3521 00 epp2 pr6|134 000626 aa 6 00200 2521 00 spri2 pr6|128 000627 aa 6 00164 6211 00 eax1 pr6|116 000630 aa 014000 4310 07 fld 6144,dl 000631 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 000632 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 84 return; 000633 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 85 end; STATEMENT 1 ON LINE 86 end; 000634 aa 000562 7100 04 tra 370,ic 001416 STATEMENT 1 ON LINE 87 else if arg = "-copy" then do; 000635 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000636 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000637 aa 777203 00 0005 desc9a -381,5 000040 = 055143157160 000640 aa 000073 6010 04 tnz 59,ic 000733 STATEMENT 1 ON LINE 88 i = i + 1; 000641 aa 6 00105 0541 00 aos pr6|69 i STATEMENT 1 ON LINE 89 call cu_$arg_ptr (i, argp, argl, code); 000642 aa 6 00105 3521 00 epp2 pr6|69 i 000643 aa 6 00166 2521 00 spri2 pr6|118 000644 aa 6 00102 3521 00 epp2 pr6|66 argp 000645 aa 6 00170 2521 00 spri2 pr6|120 000646 aa 6 00104 3521 00 epp2 pr6|68 argl 000647 aa 6 00172 2521 00 spri2 pr6|122 000650 aa 6 00100 3521 00 epp2 pr6|64 code 000651 aa 6 00174 2521 00 spri2 pr6|124 000652 aa 6 00164 6211 00 eax1 pr6|116 000653 aa 020000 4310 07 fld 8192,dl 000654 aa 6 00044 3701 20 epp4 pr6|36,* 000655 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 000656 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 90 if code ^= 0 then do; 000657 aa 6 00100 2361 00 ldq pr6|64 code 000660 aa 000033 6000 04 tze 27,ic 000713 STATEMENT 1 ON LINE 91 nocopyarg: call com_err_ (code, "salvage_vol", "need copy drive name"); 000661 aa 777212 2350 04 lda -374,ic 000073 = 163141154166 000662 aa 777212 2360 04 ldq -374,ic 000074 = 141147145137 000663 aa 6 00150 7571 00 staq pr6|104 000664 aa 777211 2350 04 lda -375,ic 000075 = 166157154000 000665 aa 6 00152 7551 00 sta pr6|106 000666 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000667 aa 777231 00 0024 desc9a -359,20 000117 = 156145145144 000670 aa 6 00154 00 0024 desc9a pr6|108,20 000671 aa 6 00100 3521 00 epp2 pr6|64 code 000672 aa 6 00166 2521 00 spri2 pr6|118 000673 aa 6 00150 3521 00 epp2 pr6|104 000674 aa 6 00170 2521 00 spri2 pr6|120 000675 aa 6 00154 3521 00 epp2 pr6|108 000676 aa 6 00172 2521 00 spri2 pr6|122 000677 aa 777121 3520 04 epp2 -431,ic 000020 = 404000000043 000700 aa 6 00174 2521 00 spri2 pr6|124 000701 aa 777115 3520 04 epp2 -435,ic 000016 = 524000000013 000702 aa 6 00176 2521 00 spri2 pr6|126 000703 aa 777112 3520 04 epp2 -438,ic 000015 = 524000000024 000704 aa 6 00200 2521 00 spri2 pr6|128 000705 aa 6 00164 6211 00 eax1 pr6|116 000706 aa 014000 4310 07 fld 6144,dl 000707 aa 6 00044 3701 20 epp4 pr6|36,* 000710 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 000711 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 93 return; 000712 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 94 end; STATEMENT 1 ON LINE 95 if substr (arg, 1, 1) = "-" then do; 000713 aa 6 00102 3735 20 epp7 pr6|66,* argp 000714 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000715 aa 7 00000 00 0001 desc9a pr7|0,1 arg 000716 aa 001425 00 0001 desc9a 789,1 002341 = 055000000000 000717 aa 000005 6010 04 tnz 5,ic 000724 STATEMENT 1 ON LINE 96 code = error_table_$noarg; 000720 aa 6 00044 3701 20 epp4 pr6|36,* 000721 la 4 00046 2361 20 ldq pr4|38,* error_table_$noarg 000722 aa 6 00100 7561 00 stq pr6|64 code STATEMENT 1 ON LINE 97 go to nocopyarg; 000723 aa 777736 7100 04 tra -34,ic 000661 STATEMENT 1 ON LINE 98 end; STATEMENT 1 ON LINE 99 copyarg = arg; 000724 aa 6 00104 7271 00 lxl7 pr6|68 argl 000725 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000726 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000727 aa 6 00125 00 0040 desc9a pr6|85,32 copyarg STATEMENT 1 ON LINE 100 copysw = "1"b; 000730 aa 400000 2350 03 lda 131072,du 000731 aa 6 00110 7551 00 sta pr6|72 copysw STATEMENT 1 ON LINE 101 end; 000732 aa 000464 7100 04 tra 308,ic 001416 STATEMENT 1 ON LINE 102 else if i = 1 & substr (arg, 1, 1) ^= "-" then do; 000733 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000734 aa 7 00000 00 0001 desc9a pr7|0,1 arg 000735 aa 001406 00 0001 desc9a 774,1 002341 = 055000000000 000736 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 000737 aa 6 00206 7551 00 sta pr6|134 000740 aa 000012 6000 04 tze 10,ic 000752 000741 aa 6 00105 2361 00 ldq pr6|69 i 000742 aa 000001 1160 07 cmpq 1,dl 000743 aa 000007 6010 04 tnz 7,ic 000752 STATEMENT 1 ON LINE 103 pvname = arg; 000744 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000745 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000746 aa 6 00135 00 0040 desc9a pr6|93,32 pvname STATEMENT 1 ON LINE 104 packsw = "1"b; 000747 aa 400000 2350 03 lda 131072,du 000750 aa 6 00113 7551 00 sta pr6|75 packsw STATEMENT 1 ON LINE 105 end; 000751 aa 000445 7100 04 tra 293,ic 001416 STATEMENT 1 ON LINE 106 else if i = 2 & packsw & substr (arg, 1, 1) ^= "-" then do; 000752 aa 6 00105 2361 00 ldq pr6|69 i 000753 aa 000002 1160 07 cmpq 2,dl 000754 aa 000013 6010 04 tnz 11,ic 000767 000755 aa 6 00113 2351 00 lda pr6|75 packsw 000756 aa 000011 6000 04 tze 9,ic 000767 000757 aa 6 00206 2351 00 lda pr6|134 000760 aa 000007 6000 04 tze 7,ic 000767 STATEMENT 1 ON LINE 107 drive = arg; 000761 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000762 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000763 aa 6 00115 00 0040 desc9a pr6|77,32 drive STATEMENT 1 ON LINE 108 drivesw = "1"b; 000764 aa 400000 2350 03 lda 131072,du 000765 aa 6 00112 7551 00 sta pr6|74 drivesw STATEMENT 1 ON LINE 109 end; 000766 aa 000430 7100 04 tra 280,ic 001416 STATEMENT 1 ON LINE 110 else do; STATEMENT 1 ON LINE 111 call com_err_ (error_table_$badopt, "salvage_vol", arg); 000767 aa 6 00104 2361 00 ldq pr6|68 argl 000770 aa 526000 2760 03 orq 175104,du 000771 aa 6 00206 7561 00 stq pr6|134 000772 aa 777101 2350 04 lda -447,ic 000073 = 163141154166 000773 aa 777101 2360 04 ldq -447,ic 000074 = 141147145137 000774 aa 6 00150 7571 00 staq pr6|104 000775 aa 777100 2350 04 lda -448,ic 000075 = 166157154000 000776 aa 6 00152 7551 00 sta pr6|106 000777 aa 6 00044 3701 20 epp4 pr6|36,* 001000 la 4 00044 3521 20 epp2 pr4|36,* error_table_$badopt 001001 aa 6 00166 2521 00 spri2 pr6|118 001002 aa 6 00150 3521 00 epp2 pr6|104 001003 aa 6 00170 2521 00 spri2 pr6|120 001004 aa 7 00000 3521 00 epp2 pr7|0 arg 001005 aa 6 00172 2521 00 spri2 pr6|122 001006 aa 777012 3520 04 epp2 -502,ic 000020 = 404000000043 001007 aa 6 00174 2521 00 spri2 pr6|124 001010 aa 777006 3520 04 epp2 -506,ic 000016 = 524000000013 001011 aa 6 00176 2521 00 spri2 pr6|126 001012 aa 6 00206 3521 00 epp2 pr6|134 001013 aa 6 00200 2521 00 spri2 pr6|128 001014 aa 6 00164 6211 00 eax1 pr6|116 001015 aa 014000 4310 07 fld 6144,dl 001016 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001017 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 112 return; 001020 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 113 end; STATEMENT 1 ON LINE 114 end; 001021 aa 000375 7100 04 tra 253,ic 001416 STATEMENT 1 ON LINE 115 else do; STATEMENT 1 ON LINE 116 if arg = "-rebuild" then salv_opts.rbld = "1"b; 001022 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001023 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001024 aa 777014 00 0010 desc9a -500,8 000036 = 055162145142 001025 aa 000004 6010 04 tnz 4,ic 001031 001026 aa 020000 2350 03 lda 8192,du 001027 aa 6 00145 2551 00 orsa pr6|101 salv_opts.rbld 001030 aa 000366 7100 04 tra 246,ic 001416 STATEMENT 1 ON LINE 117 else if arg = "-pathname" then salv_opts.pnames = "1"b; 001031 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001032 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001033 aa 777037 00 0011 desc9a -481,9 000070 = 055160141164 001034 aa 000004 6010 04 tnz 4,ic 001040 001035 aa 010000 2350 03 lda 4096,du 001036 aa 6 00145 2551 00 orsa pr6|101 salv_opts.pnames 001037 aa 000357 7100 04 tra 239,ic 001416 STATEMENT 1 ON LINE 118 else if arg = "-long" then salv_opts.rbld, salv_opts.check, salv_opts.pnames = "1"b; 001040 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001041 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001042 aa 776774 00 0005 desc9a -516,5 000034 = 055154157156 001043 aa 000010 6010 04 tnz 8,ic 001053 001044 aa 020000 2350 03 lda 8192,du 001045 aa 6 00145 2551 00 orsa pr6|101 salv_opts.rbld 001046 aa 040000 2350 03 lda 16384,du 001047 aa 6 00145 2551 00 orsa pr6|101 salv_opts.check 001050 aa 010000 2350 03 lda 4096,du 001051 aa 6 00145 2551 00 orsa pr6|101 salv_opts.pnames 001052 aa 000344 7100 04 tra 228,ic 001416 STATEMENT 1 ON LINE 119 else if arg = "-check_vtoce" then salv_opts.check = "1"b; 001053 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001054 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001055 aa 777012 00 0014 desc9a -502,12 000065 = 055143150145 001056 aa 000004 6010 04 tnz 4,ic 001062 001057 aa 040000 2350 03 lda 16384,du 001060 aa 6 00145 2551 00 orsa pr6|101 salv_opts.check 001061 aa 000335 7100 04 tra 221,ic 001416 STATEMENT 1 ON LINE 120 else if arg = "-delete_connection_failure" | arg = "-dcf" then salv_opts.dcf = "1"b; 001062 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001063 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001064 aa 777057 00 0032 desc9a -465,26 000141 = 055144145154 001065 aa 000005 6000 04 tze 5,ic 001072 001066 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001067 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001070 aa 776726 00 0004 desc9a -554,4 000014 = 055144143146 001071 aa 000004 6010 04 tnz 4,ic 001075 001072 aa 004000 2350 03 lda 2048,du 001073 aa 6 00145 2551 00 orsa pr6|101 salv_opts.dcf 001074 aa 000322 7100 04 tra 210,ic 001416 STATEMENT 1 ON LINE 121 else if arg = "-norebuild" then salv_opts.nrbld = "1"b; 001075 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001076 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001077 aa 776765 00 0012 desc9a -523,10 000062 = 055156157162 001100 aa 000004 6010 04 tnz 4,ic 001104 001101 aa 020000 2350 07 lda 8192,dl 001102 aa 6 00145 2551 00 orsa pr6|101 salv_opts.nrbld 001103 aa 000313 7100 04 tra 203,ic 001416 STATEMENT 1 ON LINE 122 else if arg = "-nopathname" then salv_opts.npnames = "1"b; 001104 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001105 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001106 aa 776753 00 0013 desc9a -533,11 000057 = 055156157160 001107 aa 000004 6010 04 tnz 4,ic 001113 001110 aa 010000 2350 07 lda 4096,dl 001111 aa 6 00145 2551 00 orsa pr6|101 salv_opts.npnames 001112 aa 000304 7100 04 tra 196,ic 001416 STATEMENT 1 ON LINE 123 else if arg = "-nocheck_vtoce" then salv_opts.ncheck = "1"b; 001113 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001114 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001115 aa 777000 00 0016 desc9a -512,14 000113 = 055156157143 001116 aa 000004 6010 04 tnz 4,ic 001122 001117 aa 040000 2350 07 lda 16384,dl 001120 aa 6 00145 2551 00 orsa pr6|101 salv_opts.ncheck 001121 aa 000275 7100 04 tra 189,ic 001416 STATEMENT 1 ON LINE 124 else if arg = "-nodelete_connection_failure" | arg = "-nodcf" then salv_opts.ndcf = "1"b; 001122 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001123 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001124 aa 777010 00 0034 desc9a -504,28 000132 = 055156157144 001125 aa 000005 6000 04 tze 5,ic 001132 001126 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001127 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001130 aa 776704 00 0006 desc9a -572,6 000032 = 055156157144 001131 aa 000004 6010 04 tnz 4,ic 001135 001132 aa 004000 2350 07 lda 2048,dl 001133 aa 6 00145 2551 00 orsa pr6|101 salv_opts.ndcf 001134 aa 000262 7100 04 tra 178,ic 001416 STATEMENT 1 ON LINE 125 else if arg = "-level" then do; 001135 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001136 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001137 aa 776673 00 0006 desc9a -581,6 000030 = 055154145166 001140 aa 000225 6010 04 tnz 149,ic 001365 STATEMENT 1 ON LINE 126 i = i + 1; 001141 aa 6 00105 0541 00 aos pr6|69 i STATEMENT 1 ON LINE 127 call cu_$arg_ptr (i, argp, argl, code); 001142 aa 6 00105 3521 00 epp2 pr6|69 i 001143 aa 6 00166 2521 00 spri2 pr6|118 001144 aa 6 00102 3521 00 epp2 pr6|66 argp 001145 aa 6 00170 2521 00 spri2 pr6|120 001146 aa 6 00104 3521 00 epp2 pr6|68 argl 001147 aa 6 00172 2521 00 spri2 pr6|122 001150 aa 6 00100 3521 00 epp2 pr6|64 code 001151 aa 6 00174 2521 00 spri2 pr6|124 001152 aa 6 00164 6211 00 eax1 pr6|116 001153 aa 020000 4310 07 fld 8192,dl 001154 aa 6 00044 3701 20 epp4 pr6|36,* 001155 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 001156 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 128 if code ^= 0 then do; 001157 aa 6 00100 2361 00 ldq pr6|64 code 001160 aa 000035 6000 04 tze 29,ic 001215 STATEMENT 1 ON LINE 129 levnoarg: call com_err_ (code, "salvage_dirs", "level number required"); 001161 aa 776723 2370 04 ldaq -557,ic 000104 = 163141154166 141147145137 001162 aa 6 00150 7571 00 staq pr6|104 001163 aa 776723 2350 04 lda -557,ic 000106 = 144151162163 001164 aa 6 00152 7551 00 sta pr6|106 001165 aa 776737 2370 04 ldaq -545,ic 000124 = 154145166145 154040156165 001166 aa 6 00154 7571 00 staq pr6|108 001167 aa 776737 2370 04 ldaq -545,ic 000126 = 155142145162 040162145161 001170 aa 6 00156 7571 00 staq pr6|110 001171 aa 776737 2370 04 ldaq -545,ic 000130 = 165151162145 144000000000 001172 aa 6 00160 7571 00 staq pr6|112 001173 aa 6 00100 3521 00 epp2 pr6|64 code 001174 aa 6 00166 2521 00 spri2 pr6|118 001175 aa 6 00150 3521 00 epp2 pr6|104 001176 aa 6 00170 2521 00 spri2 pr6|120 001177 aa 6 00154 3521 00 epp2 pr6|108 001200 aa 6 00172 2521 00 spri2 pr6|122 001201 aa 776617 3520 04 epp2 -625,ic 000020 = 404000000043 001202 aa 6 00174 2521 00 spri2 pr6|124 001203 aa 776621 3520 04 epp2 -623,ic 000024 = 524000000014 001204 aa 6 00176 2521 00 spri2 pr6|126 001205 aa 776606 3520 04 epp2 -634,ic 000013 = 524000000025 001206 aa 6 00200 2521 00 spri2 pr6|128 001207 aa 6 00164 6211 00 eax1 pr6|116 001210 aa 014000 4310 07 fld 6144,dl 001211 aa 6 00044 3701 20 epp4 pr6|36,* 001212 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001213 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 130 return; 001214 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 131 end; STATEMENT 1 ON LINE 132 if substr (arg, 1, 1) = "-" then do; 001215 aa 6 00102 3735 20 epp7 pr6|66,* argp 001216 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001217 aa 7 00000 00 0001 desc9a pr7|0,1 arg 001220 aa 001123 00 0001 desc9a 595,1 002341 = 055000000000 001221 aa 000005 6010 04 tnz 5,ic 001226 STATEMENT 1 ON LINE 133 code = error_table_$noarg; 001222 aa 6 00044 3701 20 epp4 pr6|36,* 001223 la 4 00046 2361 20 ldq pr4|38,* error_table_$noarg 001224 aa 6 00100 7561 00 stq pr6|64 code STATEMENT 1 ON LINE 134 go to levnoarg; 001225 aa 777734 7100 04 tra -36,ic 001161 STATEMENT 1 ON LINE 135 end; STATEMENT 1 ON LINE 136 call cv_dec_check_ (arg, code, n); 001226 aa 6 00104 2361 00 ldq pr6|68 argl 001227 aa 526000 2760 03 orq 175104,du 001230 aa 6 00206 7561 00 stq pr6|134 001231 aa 7 00000 3521 00 epp2 pr7|0 arg 001232 aa 6 00166 2521 00 spri2 pr6|118 001233 aa 6 00100 3521 00 epp2 pr6|64 code 001234 aa 6 00170 2521 00 spri2 pr6|120 001235 aa 6 00106 3521 00 epp2 pr6|70 n 001236 aa 6 00172 2521 00 spri2 pr6|122 001237 aa 6 00206 3521 00 epp2 pr6|134 001240 aa 6 00174 2521 00 spri2 pr6|124 001241 aa 776557 3520 04 epp2 -657,ic 000020 = 404000000043 001242 aa 6 00176 2521 00 spri2 pr6|126 001243 aa 776563 3520 04 epp2 -653,ic 000026 = 404000000021 001244 aa 6 00200 2521 00 spri2 pr6|128 001245 aa 6 00164 6211 00 eax1 pr6|116 001246 aa 014000 4310 07 fld 6144,dl 001247 aa 6 00044 3701 20 epp4 pr6|36,* 001250 la 4 00016 3521 20 epp2 pr4|14,* cv_dec_check_ 001251 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 137 if code ^= 0 then do; 001252 aa 6 00100 2361 00 ldq pr6|64 code 001253 aa 000042 6000 04 tze 34,ic 001315 STATEMENT 1 ON LINE 138 call com_err_ (0, "salvage_dirs", "decimal number required for level, not ^a", arg); 001254 aa 6 00104 2361 00 ldq pr6|68 argl 001255 aa 526000 2760 03 orq 175104,du 001256 aa 6 00206 7561 00 stq pr6|134 001257 aa 6 00207 4501 00 stz pr6|135 001260 aa 776624 2370 04 ldaq -620,ic 000104 = 163141154166 141147145137 001261 aa 6 00150 7571 00 staq pr6|104 001262 aa 776624 2350 04 lda -620,ic 000106 = 144151162163 001263 aa 6 00152 7551 00 sta pr6|106 001264 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001265 aa 776741 00 0054 desc9a -543,44 000225 = 144145143151 001266 aa 6 00164 00 0054 desc9a pr6|116,44 001267 aa 6 00207 3521 00 epp2 pr6|135 001270 aa 6 00212 2521 00 spri2 pr6|138 001271 aa 6 00150 3521 00 epp2 pr6|104 001272 aa 6 00214 2521 00 spri2 pr6|140 001273 aa 6 00164 3521 00 epp2 pr6|116 001274 aa 6 00216 2521 00 spri2 pr6|142 001275 aa 6 00102 3521 20 epp2 pr6|66,* arg 001276 aa 6 00220 2521 00 spri2 pr6|144 001277 aa 776526 3520 04 epp2 -682,ic 000025 = 404000000005 001300 aa 6 00222 2521 00 spri2 pr6|146 001301 aa 776523 3520 04 epp2 -685,ic 000024 = 524000000014 001302 aa 6 00224 2521 00 spri2 pr6|148 001303 aa 776507 3520 04 epp2 -697,ic 000012 = 524000000051 001304 aa 6 00226 2521 00 spri2 pr6|150 001305 aa 6 00206 3521 00 epp2 pr6|134 001306 aa 6 00230 2521 00 spri2 pr6|152 001307 aa 6 00210 6211 00 eax1 pr6|136 001310 aa 020000 4310 07 fld 8192,dl 001311 aa 6 00044 3701 20 epp4 pr6|36,* 001312 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001313 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 139 return; 001314 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 140 end; STATEMENT 1 ON LINE 141 if n < 0 | n > active_all_rings_data$max_tree_depth then do; 001315 aa 6 00106 2361 00 ldq pr6|70 n 001316 aa 000004 6040 04 tmi 4,ic 001322 001317 aa 6 00044 3701 20 epp4 pr6|36,* 001320 la 4 00050 1161 20 cmpq pr4|40,* active_all_rings_data$max_tree_depth 001321 aa 000075 6044 04 tmoz 61,ic 001416 STATEMENT 1 ON LINE 142 call com_err_ (0, "salvage_dirs", "depth must be between ^d and ^d", 0, active_all_rings_data$max_tree_depth); 001322 aa 6 00206 4501 00 stz pr6|134 001323 aa 776561 2370 04 ldaq -655,ic 000104 = 163141154166 141147145137 001324 aa 6 00150 7571 00 staq pr6|104 001325 aa 776561 2350 04 lda -655,ic 000106 = 144151162163 001326 aa 6 00152 7551 00 sta pr6|106 001327 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001330 aa 776621 00 0040 desc9a -623,32 000150 = 144145160164 001331 aa 6 00154 00 0040 desc9a pr6|108,32 001332 aa 6 00207 4501 00 stz pr6|135 001333 aa 6 00206 3521 00 epp2 pr6|134 001334 aa 6 00234 2521 00 spri2 pr6|156 001335 aa 6 00150 3521 00 epp2 pr6|104 001336 aa 6 00236 2521 00 spri2 pr6|158 001337 aa 6 00154 3521 00 epp2 pr6|108 001340 aa 6 00240 2521 00 spri2 pr6|160 001341 aa 6 00207 3521 00 epp2 pr6|135 001342 aa 6 00242 2521 00 spri2 pr6|162 001343 aa 6 00044 3701 20 epp4 pr6|36,* 001344 la 4 00050 3521 20 epp2 pr4|40,* active_all_rings_data$max_tree_depth 001345 aa 6 00244 2521 00 spri2 pr6|164 001346 aa 776457 3520 04 epp2 -721,ic 000025 = 404000000005 001347 aa 6 00246 2521 00 spri2 pr6|166 001350 aa 6 00254 2521 00 spri2 pr6|172 001351 aa 776453 3520 04 epp2 -725,ic 000024 = 524000000014 001352 aa 6 00250 2521 00 spri2 pr6|168 001353 aa 776450 3520 04 epp2 -728,ic 000023 = 524000000037 001354 aa 6 00252 2521 00 spri2 pr6|170 001355 aa 776451 3520 04 epp2 -727,ic 000026 = 404000000021 001356 aa 6 00256 2521 00 spri2 pr6|174 001357 aa 6 00232 6211 00 eax1 pr6|154 001360 aa 024000 4310 07 fld 10240,dl 001361 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001362 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 144 return; 001363 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 145 end; STATEMENT 1 ON LINE 146 end; 001364 aa 000032 7100 04 tra 26,ic 001416 STATEMENT 1 ON LINE 147 else do; STATEMENT 1 ON LINE 148 call com_err_ (error_table_$badopt, "salvage_dirs", arg); 001365 aa 6 00104 2361 00 ldq pr6|68 argl 001366 aa 526000 2760 03 orq 175104,du 001367 aa 6 00207 7561 00 stq pr6|135 001370 aa 776514 2370 04 ldaq -692,ic 000104 = 163141154166 141147145137 001371 aa 6 00150 7571 00 staq pr6|104 001372 aa 776514 2350 04 lda -692,ic 000106 = 144151162163 001373 aa 6 00152 7551 00 sta pr6|106 001374 aa 6 00044 3701 20 epp4 pr6|36,* 001375 la 4 00044 3521 20 epp2 pr4|36,* error_table_$badopt 001376 aa 6 00212 2521 00 spri2 pr6|138 001377 aa 6 00150 3521 00 epp2 pr6|104 001400 aa 6 00214 2521 00 spri2 pr6|140 001401 aa 7 00000 3521 00 epp2 pr7|0 arg 001402 aa 6 00216 2521 00 spri2 pr6|142 001403 aa 776415 3520 04 epp2 -755,ic 000020 = 404000000043 001404 aa 6 00220 2521 00 spri2 pr6|144 001405 aa 776417 3520 04 epp2 -753,ic 000024 = 524000000014 001406 aa 6 00222 2521 00 spri2 pr6|146 001407 aa 6 00207 3521 00 epp2 pr6|135 001410 aa 6 00224 2521 00 spri2 pr6|148 001411 aa 6 00210 6211 00 eax1 pr6|136 001412 aa 014000 4310 07 fld 6144,dl 001413 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001414 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 149 return; 001415 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 150 end; STATEMENT 1 ON LINE 151 end; STATEMENT 1 ON LINE 152 end; 001416 aa 6 00105 0541 00 aos pr6|69 i 001417 aa 777051 7100 04 tra -471,ic 000470 STATEMENT 1 ON LINE 155 if substr (salv_opt_bits, 1, 18) & substr (salv_opt_bits, 19, 18) then do; 001420 aa 6 00145 2351 00 lda pr6|101 salv_opt_bits 001421 aa 000022 7350 00 als 18 001422 aa 6 00207 7551 00 sta pr6|135 salv_opt_bits 001423 aa 6 00145 2351 00 lda pr6|101 salv_opt_bits 001424 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001425 aa 6 00207 3151 00 cana pr6|135 salv_opt_bits 001426 aa 000070 6000 04 tze 56,ic 001516 STATEMENT 1 ON LINE 156 if isvol then call com_err_ (0, "salvage_vol", "Inconsistent arguments have been specified"); 001427 aa 6 00107 2351 00 lda pr6|71 isvol 001430 aa 000034 6000 04 tze 28,ic 001464 001431 aa 6 00207 4501 00 stz pr6|135 001432 aa 776441 2350 04 lda -735,ic 000073 = 163141154166 001433 aa 776441 2360 04 ldq -735,ic 000074 = 141147145137 001434 aa 6 00150 7571 00 staq pr6|104 001435 aa 776440 2350 04 lda -736,ic 000075 = 166157154000 001436 aa 6 00152 7551 00 sta pr6|106 001437 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001440 aa 776553 00 0054 desc9a -661,44 000212 = 111156143157 001441 aa 6 00164 00 0054 desc9a pr6|116,44 001442 aa 6 00207 3521 00 epp2 pr6|135 001443 aa 6 00212 2521 00 spri2 pr6|138 001444 aa 6 00150 3521 00 epp2 pr6|104 001445 aa 6 00214 2521 00 spri2 pr6|140 001446 aa 6 00164 3521 00 epp2 pr6|116 001447 aa 6 00216 2521 00 spri2 pr6|142 001450 aa 776355 3520 04 epp2 -787,ic 000025 = 404000000005 001451 aa 6 00220 2521 00 spri2 pr6|144 001452 aa 776344 3520 04 epp2 -796,ic 000016 = 524000000013 001453 aa 6 00222 2521 00 spri2 pr6|146 001454 aa 776335 3520 04 epp2 -803,ic 000011 = 524000000052 001455 aa 6 00224 2521 00 spri2 pr6|148 001456 aa 6 00210 6211 00 eax1 pr6|136 001457 aa 014000 4310 07 fld 6144,dl 001460 aa 6 00044 3701 20 epp4 pr6|36,* 001461 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001462 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001463 aa 000032 7100 04 tra 26,ic 001515 STATEMENT 1 ON LINE 157 else call com_err_ (0, "salvage_dirs", "Inconsistent arguments have been specified"); 001464 aa 6 00207 4501 00 stz pr6|135 001465 aa 776417 2370 04 ldaq -753,ic 000104 = 163141154166 141147145137 001466 aa 6 00150 7571 00 staq pr6|104 001467 aa 776417 2350 04 lda -753,ic 000106 = 144151162163 001470 aa 6 00152 7551 00 sta pr6|106 001471 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001472 aa 776521 00 0054 desc9a -687,44 000212 = 111156143157 001473 aa 6 00210 00 0054 desc9a pr6|136,44 001474 aa 6 00207 3521 00 epp2 pr6|135 001475 aa 6 00166 2521 00 spri2 pr6|118 001476 aa 6 00150 3521 00 epp2 pr6|104 001477 aa 6 00170 2521 00 spri2 pr6|120 001500 aa 6 00210 3521 00 epp2 pr6|136 001501 aa 6 00172 2521 00 spri2 pr6|122 001502 aa 776323 3520 04 epp2 -813,ic 000025 = 404000000005 001503 aa 6 00174 2521 00 spri2 pr6|124 001504 aa 776320 3520 04 epp2 -816,ic 000024 = 524000000014 001505 aa 6 00176 2521 00 spri2 pr6|126 001506 aa 776303 3520 04 epp2 -829,ic 000011 = 524000000052 001507 aa 6 00200 2521 00 spri2 pr6|128 001510 aa 6 00164 6211 00 eax1 pr6|116 001511 aa 014000 4310 07 fld 6144,dl 001512 aa 6 00044 3701 20 epp4 pr6|36,* 001513 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001514 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 158 return; 001515 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 159 end; STATEMENT 1 ON LINE 161 if salv_opts.ncheck & salv_opts.dcf then do; 001516 aa 6 00145 3735 00 epp7 pr6|101 salv_opt_bits 001517 aa 6 00260 6535 00 spri7 pr6|176 001520 aa 7 00000 2351 00 lda pr7|0 salv_opts.dcf 001521 aa 000006 7350 00 als 6 001522 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 001523 aa 6 00207 7551 00 sta pr6|135 salv_opts.dcf 001524 aa 000036 6000 04 tze 30,ic 001562 001525 aa 7 00000 2351 00 lda pr7|0 salv_opts.ncheck 001526 aa 040000 3150 07 cana 16384,dl 001527 aa 000033 6000 04 tze 27,ic 001562 STATEMENT 1 ON LINE 163 call com_err_ (0, "salvage_dirs", "VTOC checking is required for connection failure deletion."); 001530 aa 6 00206 4501 00 stz pr6|134 001531 aa 776353 2370 04 ldaq -789,ic 000104 = 163141154166 141147145137 001532 aa 6 00150 7571 00 staq pr6|104 001533 aa 776353 2350 04 lda -789,ic 000106 = 144151162163 001534 aa 6 00152 7551 00 sta pr6|106 001535 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001536 aa 776550 00 0074 desc9a -664,60 000305 = 126124117103 001537 aa 6 00164 00 0074 desc9a pr6|116,60 001540 aa 6 00206 3521 00 epp2 pr6|134 001541 aa 6 00212 2521 00 spri2 pr6|138 001542 aa 6 00150 3521 00 epp2 pr6|104 001543 aa 6 00214 2521 00 spri2 pr6|140 001544 aa 6 00164 3521 00 epp2 pr6|116 001545 aa 6 00216 2521 00 spri2 pr6|142 001546 aa 776257 3520 04 epp2 -849,ic 000025 = 404000000005 001547 aa 6 00220 2521 00 spri2 pr6|144 001550 aa 776254 3520 04 epp2 -852,ic 000024 = 524000000014 001551 aa 6 00222 2521 00 spri2 pr6|146 001552 aa 776236 3520 04 epp2 -866,ic 000010 = 524000000072 001553 aa 6 00224 2521 00 spri2 pr6|148 001554 aa 6 00210 6211 00 eax1 pr6|136 001555 aa 014000 4310 07 fld 6144,dl 001556 aa 6 00044 3701 20 epp4 pr6|36,* 001557 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001560 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 164 return; 001561 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 165 end; STATEMENT 1 ON LINE 166 salv_opts.check = salv_opts.check | salv_opts.dcf; 001562 aa 6 00207 2351 00 lda pr6|135 salv_opts.dcf 001563 aa 000003 7710 00 arl 3 001564 aa 7 00000 2551 00 orsa pr7|0 salv_opts.check STATEMENT 1 ON LINE 169 if ^isvol then do; 001565 aa 6 00107 2351 00 lda pr6|71 isvol 001566 aa 000115 6010 04 tnz 77,ic 001703 STATEMENT 1 ON LINE 170 call disk_table_$accept_rlv (code); 001567 aa 6 00100 3521 00 epp2 pr6|64 code 001570 aa 6 00152 2521 00 spri2 pr6|106 001571 aa 6 00150 6211 00 eax1 pr6|104 001572 aa 004000 4310 07 fld 2048,dl 001573 aa 6 00044 3701 20 epp4 pr6|36,* 001574 la 4 00022 3521 20 epp2 pr4|18,* disk_table_$accept_rlv 001575 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 171 if code ^= 0 then do; 001576 aa 6 00100 2361 00 ldq pr6|64 code 001577 aa 000033 6000 04 tze 27,ic 001632 STATEMENT 1 ON LINE 172 call com_err_ (0, "salvage_dirs", "will not salvage until root complete"); 001600 aa 6 00207 4501 00 stz pr6|135 001601 aa 776303 2370 04 ldaq -829,ic 000104 = 163141154166 141147145137 001602 aa 6 00150 7571 00 staq pr6|104 001603 aa 776303 2350 04 lda -829,ic 000106 = 144151162163 001604 aa 6 00152 7551 00 sta pr6|106 001605 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001606 aa 776374 00 0044 desc9a -772,36 000201 = 167151154154 001607 aa 6 00210 00 0044 desc9a pr6|136,36 001610 aa 6 00207 3521 00 epp2 pr6|135 001611 aa 6 00166 2521 00 spri2 pr6|118 001612 aa 6 00150 3521 00 epp2 pr6|104 001613 aa 6 00170 2521 00 spri2 pr6|120 001614 aa 6 00210 3521 00 epp2 pr6|136 001615 aa 6 00172 2521 00 spri2 pr6|122 001616 aa 776207 3520 04 epp2 -889,ic 000025 = 404000000005 001617 aa 6 00174 2521 00 spri2 pr6|124 001620 aa 776204 3520 04 epp2 -892,ic 000024 = 524000000014 001621 aa 6 00176 2521 00 spri2 pr6|126 001622 aa 776165 3520 04 epp2 -907,ic 000007 = 524000000044 001623 aa 6 00200 2521 00 spri2 pr6|128 001624 aa 6 00164 6211 00 eax1 pr6|116 001625 aa 014000 4310 07 fld 6144,dl 001626 aa 6 00044 3701 20 epp4 pr6|36,* 001627 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001630 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 173 return; 001631 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 174 end; STATEMENT 1 ON LINE 175 if salv_opts.check then do; 001632 aa 6 00145 2351 00 lda pr6|101 salv_opts.check 001633 aa 040000 3150 03 cana 16384,du 001634 aa 000047 6000 04 tze 39,ic 001703 STATEMENT 1 ON LINE 176 call disk_table_$general_mhv (code); 001635 aa 6 00100 3521 00 epp2 pr6|64 code 001636 aa 6 00152 2521 00 spri2 pr6|106 001637 aa 6 00150 6211 00 eax1 pr6|104 001640 aa 004000 4310 07 fld 2048,dl 001641 aa 6 00044 3701 20 epp4 pr6|36,* 001642 la 4 00020 3521 20 epp2 pr4|16,* disk_table_$general_mhv 001643 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 177 if code ^= 0 then do; 001644 aa 6 00100 2361 00 ldq pr6|64 code 001645 aa 000036 6000 04 tze 30,ic 001703 STATEMENT 1 ON LINE 178 call com_err_ (0, "salvage_dirs", "Will not salvage"); 001646 aa 6 00207 4501 00 stz pr6|135 001647 aa 776235 2370 04 ldaq -867,ic 000104 = 163141154166 141147145137 001650 aa 6 00150 7571 00 staq pr6|104 001651 aa 776235 2350 04 lda -867,ic 000106 = 144151162163 001652 aa 6 00152 7551 00 sta pr6|106 001653 aa 776234 2350 04 lda -868,ic 000107 = 127151154154 001654 aa 776234 2360 04 ldq -868,ic 000110 = 040156157164 001655 aa 6 00154 7571 00 staq pr6|108 001656 aa 776233 2350 04 lda -869,ic 000111 = 040163141154 001657 aa 776233 2360 04 ldq -869,ic 000112 = 166141147145 001660 aa 6 00156 7571 00 staq pr6|110 001661 aa 6 00207 3521 00 epp2 pr6|135 001662 aa 6 00166 2521 00 spri2 pr6|118 001663 aa 6 00150 3521 00 epp2 pr6|104 001664 aa 6 00170 2521 00 spri2 pr6|120 001665 aa 6 00154 3521 00 epp2 pr6|108 001666 aa 6 00172 2521 00 spri2 pr6|122 001667 aa 776136 3520 04 epp2 -930,ic 000025 = 404000000005 001670 aa 6 00174 2521 00 spri2 pr6|124 001671 aa 776133 3520 04 epp2 -933,ic 000024 = 524000000014 001672 aa 6 00176 2521 00 spri2 pr6|126 001673 aa 776113 3520 04 epp2 -949,ic 000006 = 524000000020 001674 aa 6 00200 2521 00 spri2 pr6|128 001675 aa 6 00164 6211 00 eax1 pr6|116 001676 aa 014000 4310 07 fld 6144,dl 001677 aa 6 00044 3701 20 epp4 pr6|36,* 001700 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001701 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 179 return; 001702 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 180 end; STATEMENT 1 ON LINE 181 end; STATEMENT 1 ON LINE 182 end; STATEMENT 1 ON LINE 184 if copysw & allsw then do; 001703 aa 6 00110 2351 00 lda pr6|72 copysw 001704 aa 000036 6000 04 tze 30,ic 001742 001705 aa 6 00111 2351 00 lda pr6|73 allsw 001706 aa 000034 6000 04 tze 28,ic 001742 STATEMENT 1 ON LINE 185 call com_err_ (0, "salvage_vol", "-all and -copy arguments cannot be used together"); 001707 aa 6 00207 4501 00 stz pr6|135 001710 aa 776163 2350 04 lda -909,ic 000073 = 163141154166 001711 aa 776163 2360 04 ldq -909,ic 000074 = 141147145137 001712 aa 6 00150 7571 00 staq pr6|104 001713 aa 776162 2350 04 lda -910,ic 000075 = 166157154000 001714 aa 6 00152 7551 00 sta pr6|106 001715 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001716 aa 776337 00 0060 desc9a -801,48 000254 = 055141154154 001717 aa 6 00210 00 0060 desc9a pr6|136,48 001720 aa 6 00207 3521 00 epp2 pr6|135 001721 aa 6 00166 2521 00 spri2 pr6|118 001722 aa 6 00150 3521 00 epp2 pr6|104 001723 aa 6 00170 2521 00 spri2 pr6|120 001724 aa 6 00210 3521 00 epp2 pr6|136 001725 aa 6 00172 2521 00 spri2 pr6|122 001726 aa 776077 3520 04 epp2 -961,ic 000025 = 404000000005 001727 aa 6 00174 2521 00 spri2 pr6|124 001730 aa 776066 3520 04 epp2 -970,ic 000016 = 524000000013 001731 aa 6 00176 2521 00 spri2 pr6|126 001732 aa 776053 3520 04 epp2 -981,ic 000005 = 524000000060 001733 aa 6 00200 2521 00 spri2 pr6|128 001734 aa 6 00164 6211 00 eax1 pr6|116 001735 aa 014000 4310 07 fld 6144,dl 001736 aa 6 00044 3701 20 epp4 pr6|36,* 001737 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001740 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 186 return; 001741 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 187 end; STATEMENT 1 ON LINE 189 if allsw & drivesw then do; 001742 aa 6 00111 2351 00 lda pr6|73 allsw 001743 aa 000036 6000 04 tze 30,ic 002001 001744 aa 6 00112 2351 00 lda pr6|74 drivesw 001745 aa 000034 6000 04 tze 28,ic 002001 STATEMENT 1 ON LINE 190 call com_err_ (0, "salvage_vol", "no drive may be specified for -all"); 001746 aa 6 00207 4501 00 stz pr6|135 001747 aa 776124 2350 04 lda -940,ic 000073 = 163141154166 001750 aa 776124 2360 04 ldq -940,ic 000074 = 141147145137 001751 aa 6 00150 7571 00 staq pr6|104 001752 aa 776123 2350 04 lda -941,ic 000075 = 166157154000 001753 aa 6 00152 7551 00 sta pr6|106 001754 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001755 aa 776214 00 0044 desc9a -884,36 000170 = 156157040144 001756 aa 6 00164 00 0044 desc9a pr6|116,36 001757 aa 6 00207 3521 00 epp2 pr6|135 001760 aa 6 00212 2521 00 spri2 pr6|138 001761 aa 6 00150 3521 00 epp2 pr6|104 001762 aa 6 00214 2521 00 spri2 pr6|140 001763 aa 6 00164 3521 00 epp2 pr6|116 001764 aa 6 00216 2521 00 spri2 pr6|142 001765 aa 776040 3520 04 epp2 -992,ic 000025 = 404000000005 001766 aa 6 00220 2521 00 spri2 pr6|144 001767 aa 776027 3520 04 epp2 -1001,ic 000016 = 524000000013 001770 aa 6 00222 2521 00 spri2 pr6|146 001771 aa 776013 3520 04 epp2 -1013,ic 000004 = 524000000042 001772 aa 6 00224 2521 00 spri2 pr6|148 001773 aa 6 00210 6211 00 eax1 pr6|136 001774 aa 014000 4310 07 fld 6144,dl 001775 aa 6 00044 3701 20 epp4 pr6|36,* 001776 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001777 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 191 return; 002000 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 192 end; STATEMENT 1 ON LINE 194 if isvol & ^allsw & ^(packsw & drivesw) then do; 002001 aa 6 00107 2351 00 lda pr6|71 isvol 002002 aa 000041 6000 04 tze 33,ic 002043 002003 aa 6 00111 2351 00 lda pr6|73 allsw 002004 aa 000037 6010 04 tnz 31,ic 002043 002005 aa 6 00113 2351 00 lda pr6|75 packsw 002006 aa 000003 6000 04 tze 3,ic 002011 002007 aa 6 00112 2351 00 lda pr6|74 drivesw 002010 aa 000033 6010 04 tnz 27,ic 002043 STATEMENT 1 ON LINE 195 call com_err_ (error_table_$noarg, "salvage_vol", "first two args must be phys vol name and drive name"); 002011 aa 776062 2350 04 lda -974,ic 000073 = 163141154166 002012 aa 776062 2360 04 ldq -974,ic 000074 = 141147145137 002013 aa 6 00150 7571 00 staq pr6|104 002014 aa 776061 2350 04 lda -975,ic 000075 = 166157154000 002015 aa 6 00152 7551 00 sta pr6|106 002016 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002017 aa 776252 00 0064 desc9a -854,52 000270 = 146151162163 002020 aa 6 00210 00 0064 desc9a pr6|136,52 002021 aa 6 00044 3701 20 epp4 pr6|36,* 002022 la 4 00046 3521 20 epp2 pr4|38,* error_table_$noarg 002023 aa 6 00166 2521 00 spri2 pr6|118 002024 aa 6 00150 3521 00 epp2 pr6|104 002025 aa 6 00170 2521 00 spri2 pr6|120 002026 aa 6 00210 3521 00 epp2 pr6|136 002027 aa 6 00172 2521 00 spri2 pr6|122 002030 aa 775770 3520 04 epp2 -1032,ic 000020 = 404000000043 002031 aa 6 00174 2521 00 spri2 pr6|124 002032 aa 775764 3520 04 epp2 -1036,ic 000016 = 524000000013 002033 aa 6 00176 2521 00 spri2 pr6|126 002034 aa 775747 3520 04 epp2 -1049,ic 000003 = 524000000063 002035 aa 6 00200 2521 00 spri2 pr6|128 002036 aa 6 00164 6211 00 eax1 pr6|116 002037 aa 014000 4310 07 fld 6144,dl 002040 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 002041 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 196 return; 002042 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 197 end; STATEMENT 1 ON LINE 200 if rbldsw & ^(drivesw & copysw) then do; 002043 aa 6 00114 2351 00 lda pr6|76 rbldsw 002044 aa 000036 6000 04 tze 30,ic 002102 002045 aa 6 00112 2351 00 lda pr6|74 drivesw 002046 aa 000003 6000 04 tze 3,ic 002051 002047 aa 6 00110 2351 00 lda pr6|72 copysw 002050 aa 000032 6010 04 tnz 26,ic 002102 STATEMENT 1 ON LINE 201 call com_err_ (error_table_$noarg, "rebuild_disk", "args are: pack name dirve name -copy drive name"); 002051 aa 776003 2370 04 ldaq -1021,ic 000054 = 162145142165 151154144137 002052 aa 6 00150 7571 00 staq pr6|104 002053 aa 776003 2350 04 lda -1021,ic 000056 = 144151163153 002054 aa 6 00152 7551 00 sta pr6|106 002055 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002056 aa 776163 00 0060 desc9a -909,48 000240 = 141162147163 002057 aa 6 00164 00 0060 desc9a pr6|116,48 002060 aa 6 00044 3701 20 epp4 pr6|36,* 002061 la 4 00046 3521 20 epp2 pr4|38,* error_table_$noarg 002062 aa 6 00212 2521 00 spri2 pr6|138 002063 aa 6 00150 3521 00 epp2 pr6|104 002064 aa 6 00214 2521 00 spri2 pr6|140 002065 aa 6 00164 3521 00 epp2 pr6|116 002066 aa 6 00216 2521 00 spri2 pr6|142 002067 aa 775731 3520 04 epp2 -1063,ic 000020 = 404000000043 002070 aa 6 00220 2521 00 spri2 pr6|144 002071 aa 775733 3520 04 epp2 -1061,ic 000024 = 524000000014 002072 aa 6 00222 2521 00 spri2 pr6|146 002073 aa 775707 3520 04 epp2 -1081,ic 000002 = 524000000057 002074 aa 6 00224 2521 00 spri2 pr6|148 002075 aa 6 00210 6211 00 eax1 pr6|136 002076 aa 014000 4310 07 fld 6144,dl 002077 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 002100 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 203 return; 002101 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 204 end; STATEMENT 1 ON LINE 206 if rbldsw then call disk_table_$rbld_disk (pvname, drive, copyarg, salv_opt_bits, code); 002102 aa 6 00114 2351 00 lda pr6|76 rbldsw 002103 aa 000031 6000 04 tze 25,ic 002134 002104 aa 6 00135 3521 00 epp2 pr6|93 pvname 002105 aa 6 00234 2521 00 spri2 pr6|156 002106 aa 6 00115 3521 00 epp2 pr6|77 drive 002107 aa 6 00236 2521 00 spri2 pr6|158 002110 aa 6 00125 3521 00 epp2 pr6|85 copyarg 002111 aa 6 00240 2521 00 spri2 pr6|160 002112 aa 6 00145 3521 00 epp2 pr6|101 salv_opt_bits 002113 aa 6 00242 2521 00 spri2 pr6|162 002114 aa 6 00100 3521 00 epp2 pr6|64 code 002115 aa 6 00244 2521 00 spri2 pr6|164 002116 aa 775663 3520 04 epp2 -1101,ic 000001 = 526000000040 002117 aa 6 00246 2521 00 spri2 pr6|166 002120 aa 6 00250 2521 00 spri2 pr6|168 002121 aa 6 00252 2521 00 spri2 pr6|170 002122 aa 775656 3520 04 epp2 -1106,ic 000000 = 514000000044 002123 aa 6 00254 2521 00 spri2 pr6|172 002124 aa 775674 3520 04 epp2 -1092,ic 000020 = 404000000043 002125 aa 6 00256 2521 00 spri2 pr6|174 002126 aa 6 00232 6211 00 eax1 pr6|154 002127 aa 024000 4310 07 fld 10240,dl 002130 aa 6 00044 3701 20 epp4 pr6|36,* 002131 la 4 00024 3521 20 epp2 pr4|20,* disk_table_$rbld_disk 002132 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002133 aa 000111 7100 04 tra 73,ic 002244 STATEMENT 1 ON LINE 207 else if copysw then call disk_table_$volrlvcheck (pvname, drive, copyarg, salv_opt_bits, code); 002134 aa 6 00110 2351 00 lda pr6|72 copysw 002135 aa 000031 6000 04 tze 25,ic 002166 002136 aa 6 00135 3521 00 epp2 pr6|93 pvname 002137 aa 6 00234 2521 00 spri2 pr6|156 002140 aa 6 00115 3521 00 epp2 pr6|77 drive 002141 aa 6 00236 2521 00 spri2 pr6|158 002142 aa 6 00125 3521 00 epp2 pr6|85 copyarg 002143 aa 6 00240 2521 00 spri2 pr6|160 002144 aa 6 00145 3521 00 epp2 pr6|101 salv_opt_bits 002145 aa 6 00242 2521 00 spri2 pr6|162 002146 aa 6 00100 3521 00 epp2 pr6|64 code 002147 aa 6 00244 2521 00 spri2 pr6|164 002150 aa 775631 3520 04 epp2 -1127,ic 000001 = 526000000040 002151 aa 6 00246 2521 00 spri2 pr6|166 002152 aa 6 00250 2521 00 spri2 pr6|168 002153 aa 6 00252 2521 00 spri2 pr6|170 002154 aa 775624 3520 04 epp2 -1132,ic 000000 = 514000000044 002155 aa 6 00254 2521 00 spri2 pr6|172 002156 aa 775642 3520 04 epp2 -1118,ic 000020 = 404000000043 002157 aa 6 00256 2521 00 spri2 pr6|174 002160 aa 6 00232 6211 00 eax1 pr6|154 002161 aa 024000 4310 07 fld 10240,dl 002162 aa 6 00044 3701 20 epp4 pr6|36,* 002163 la 4 00032 3521 20 epp2 pr4|26,* disk_table_$volrlvcheck 002164 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002165 aa 000057 7100 04 tra 47,ic 002244 STATEMENT 1 ON LINE 208 else if allsw then call disk_table_$volsalvall (salv_opt_bits, code); 002166 aa 6 00111 2351 00 lda pr6|73 allsw 002167 aa 000013 6000 04 tze 11,ic 002202 002170 aa 6 00145 3521 00 epp2 pr6|101 salv_opt_bits 002171 aa 6 00156 2521 00 spri2 pr6|110 002172 aa 6 00100 3521 00 epp2 pr6|64 code 002173 aa 6 00160 2521 00 spri2 pr6|112 002174 aa 6 00154 6211 00 eax1 pr6|108 002175 aa 010000 4310 07 fld 4096,dl 002176 aa 6 00044 3701 20 epp4 pr6|36,* 002177 la 4 00030 3521 20 epp2 pr4|24,* disk_table_$volsalvall 002200 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002201 aa 000043 7100 04 tra 35,ic 002244 STATEMENT 1 ON LINE 209 else if isvol then call disk_table_$volsalv (pvname, drive, salv_opt_bits, code); 002202 aa 6 00107 2351 00 lda pr6|71 isvol 002203 aa 000026 6000 04 tze 22,ic 002231 002204 aa 6 00135 3521 00 epp2 pr6|93 pvname 002205 aa 6 00212 2521 00 spri2 pr6|138 002206 aa 6 00115 3521 00 epp2 pr6|77 drive 002207 aa 6 00214 2521 00 spri2 pr6|140 002210 aa 6 00145 3521 00 epp2 pr6|101 salv_opt_bits 002211 aa 6 00216 2521 00 spri2 pr6|142 002212 aa 6 00100 3521 00 epp2 pr6|64 code 002213 aa 6 00220 2521 00 spri2 pr6|144 002214 aa 775565 3520 04 epp2 -1163,ic 000001 = 526000000040 002215 aa 6 00222 2521 00 spri2 pr6|146 002216 aa 6 00224 2521 00 spri2 pr6|148 002217 aa 775561 3520 04 epp2 -1167,ic 000000 = 514000000044 002220 aa 6 00226 2521 00 spri2 pr6|150 002221 aa 775577 3520 04 epp2 -1153,ic 000020 = 404000000043 002222 aa 6 00230 2521 00 spri2 pr6|152 002223 aa 6 00210 6211 00 eax1 pr6|136 002224 aa 020000 4310 07 fld 8192,dl 002225 aa 6 00044 3701 20 epp4 pr6|36,* 002226 la 4 00026 3521 20 epp2 pr4|22,* disk_table_$volsalv 002227 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002230 aa 000014 7100 04 tra 12,ic 002244 STATEMENT 1 ON LINE 210 else call initializer_gate_$salvager (salv_opt_bits, n, code); 002231 aa 6 00145 3521 00 epp2 pr6|101 salv_opt_bits 002232 aa 6 00156 2521 00 spri2 pr6|110 002233 aa 6 00106 3521 00 epp2 pr6|70 n 002234 aa 6 00160 2521 00 spri2 pr6|112 002235 aa 6 00100 3521 00 epp2 pr6|64 code 002236 aa 6 00162 2521 00 spri2 pr6|114 002237 aa 6 00154 6211 00 eax1 pr6|108 002240 aa 014000 4310 07 fld 6144,dl 002241 aa 6 00044 3701 20 epp4 pr6|36,* 002242 la 4 00034 3521 20 epp2 pr4|28,* initializer_gate_$salvager 002243 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 212 if code ^= 0 then do; 002244 aa 6 00100 2361 00 ldq pr6|64 code 002245 aa 000054 6000 04 tze 44,ic 002321 STATEMENT 1 ON LINE 213 if code < 100 then code = error_table_$action_not_performed; 002246 aa 000144 1160 07 cmpq 100,dl 002247 aa 000004 6050 04 tpl 4,ic 002253 002250 aa 6 00044 3701 20 epp4 pr6|36,* 002251 la 4 00042 2361 20 ldq pr4|34,* error_table_$action_not_performed 002252 aa 6 00100 7561 00 stq pr6|64 code STATEMENT 1 ON LINE 214 if isvol then call com_err_ (code, "salvage_vol"); 002253 aa 6 00107 2351 00 lda pr6|71 isvol 002254 aa 000024 6000 04 tze 20,ic 002300 002255 aa 775616 2350 04 lda -1138,ic 000073 = 163141154166 002256 aa 775616 2360 04 ldq -1138,ic 000074 = 141147145137 002257 aa 6 00150 7571 00 staq pr6|104 002260 aa 775615 2350 04 lda -1139,ic 000075 = 166157154000 002261 aa 6 00152 7551 00 sta pr6|106 002262 aa 6 00100 3521 00 epp2 pr6|64 code 002263 aa 6 00166 2521 00 spri2 pr6|118 002264 aa 6 00150 3521 00 epp2 pr6|104 002265 aa 6 00170 2521 00 spri2 pr6|120 002266 aa 775532 3520 04 epp2 -1190,ic 000020 = 404000000043 002267 aa 6 00172 2521 00 spri2 pr6|122 002270 aa 775526 3520 04 epp2 -1194,ic 000016 = 524000000013 002271 aa 6 00174 2521 00 spri2 pr6|124 002272 aa 6 00164 6211 00 eax1 pr6|116 002273 aa 010000 4310 07 fld 4096,dl 002274 aa 6 00044 3701 20 epp4 pr6|36,* 002275 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 002276 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002277 aa 000022 7100 04 tra 18,ic 002321 STATEMENT 1 ON LINE 215 else call com_err_ (code, "salvage_dirs"); 002300 aa 775604 2370 04 ldaq -1148,ic 000104 = 163141154166 141147145137 002301 aa 6 00150 7571 00 staq pr6|104 002302 aa 775604 2350 04 lda -1148,ic 000106 = 144151162163 002303 aa 6 00152 7551 00 sta pr6|106 002304 aa 6 00100 3521 00 epp2 pr6|64 code 002305 aa 6 00212 2521 00 spri2 pr6|138 002306 aa 6 00150 3521 00 epp2 pr6|104 002307 aa 6 00214 2521 00 spri2 pr6|140 002310 aa 775510 3520 04 epp2 -1208,ic 000020 = 404000000043 002311 aa 6 00216 2521 00 spri2 pr6|142 002312 aa 775512 3520 04 epp2 -1206,ic 000024 = 524000000014 002313 aa 6 00220 2521 00 spri2 pr6|144 002314 aa 6 00210 6211 00 eax1 pr6|136 002315 aa 010000 4310 07 fld 4096,dl 002316 aa 6 00044 3701 20 epp4 pr6|36,* 002317 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 002320 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 216 end; STATEMENT 1 ON LINE 217 return; 002321 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO test STATEMENT 1 ON LINE 219 test: entry; 002322 da 000227200000 002323 aa 000300 6270 00 eax7 192 002324 aa 7 00034 3521 20 epp2 pr7|28,* 002325 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 002326 aa 000000000000 002327 aa 000000000000 002330 aa 775774 7000 04 tsx0 -1028,ic 000324 STATEMENT 1 ON LINE 220 SALV_RING = cu_$level_get (); 002331 aa 6 00044 3701 20 epp4 pr6|36,* 002332 ia 4 00010 3521 00 epp2 pr4|8 SALV_RING 002333 aa 6 00152 2521 00 spri2 pr6|106 002334 aa 6 00150 6211 00 eax1 pr6|104 002335 aa 004000 4310 07 fld 2048,dl 002336 la 4 00036 3521 20 epp2 pr4|30,* cu_$level_get 002337 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 221 return; 002340 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 456 end; END PROCEDURE salv_caller ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved