COMPILATION LISTING OF SEGMENT copy_disk_volume Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: ACTC Technologies Inc. Compiled on: 10/23/92 1025.7 mdt Fri Options: optimize list 1 /****^ ********************************************************* 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1992 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1987 * 6* * * 7* ********************************************************* */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(87-03-27,Blair), approve(87-06-02,MCR7666), 12* audit(87-06-25,Fawcett), install(87-07-16,MR12.1-1040): 13* Rewrite portions of this program to implement SCP6308. In first go-round, 14* copy_disk applies only to system storage disks of like kind. 15* 2) change(87-07-08,Blair), approve(87-07-08,MCR7731), 16* audit(87-07-08,Fawcett), install(87-07-16,MR12.1-1040): 17* Change the copy_disk command to copy_disk_volume and and -pv_name CA. 18* 3) change(92-10-02,Vu), approve(92-10-02,MCR8270), 19* audit(92-10-09,WAAnderson), install(92-10-23,MR12.5-1040): 20* copy_disk_volume fails with an invalid IOCB error and missing arguments in 21* the call to print out the error summary. 22* END HISTORY COMMENTS */ 23 24 copy_disk_volume: 25 procedure () options (variable); 26 27 /* Procedure to make physical disk copies under Multics. 28* 29* Created 20 April 1983, W. Olin Sibert */ 30 31 32 33 34 dcl 1 source aligned like copy_disk_info automatic; 35 dcl 1 target aligned like copy_disk_info automatic; 36 37 dcl ask_user bit (1) aligned; 38 dcl brief_sw bit (1) aligned; 39 dcl check_sw bit (1) aligned; 40 dcl et_sw bit (1) aligned; 41 dcl query_sw bit (1) aligned; 42 dcl trace_sw bit (1) aligned; 43 dcl use_alt_partition bit (1) aligned; 44 45 46 dcl copy_started bit (1) aligned; 47 dcl copy_finished bit (1) aligned; 48 dcl retry_sw bit (1) aligned; 49 dcl cylinder_idx fixed bin; 50 dcl et_number fixed bin; 51 dcl idx fixed bin; 52 dcl first_record fixed bin (18); 53 dcl last_record fixed bin (18); 54 dcl trace_every_n fixed bin; 55 dcl source_labelp pointer; 56 dcl target_labelp pointer; 57 dcl temp_seg_ptr (4) pointer; 58 59 dcl alt_mode char (32); 60 dcl yes_sw bit (1); 61 dcl source_pv_name char (32); 62 dcl target_pv_name char (32); 63 dcl code fixed bin (35); 64 65 dcl start_clock_time fixed bin (71); 66 dcl start_cpu_time fixed bin (71); 67 68 dcl error_table_$bad_arg fixed bin (35) external static; 69 dcl error_table_$badopt fixed bin (35) external static; 70 dcl error_table_$bad_conversion fixed bin (35) external static; 71 dcl error_table_$noarg fixed bin (35) external static; 72 dcl error_table_$too_many_args fixed bin (35) external static; 73 74 dcl check_gate_access_ entry (char(*), ptr, fixed bin(35)); 75 dcl copy_disk_copy_ entry (pointer, pointer, bit (1) aligned, 76 bit (1) aligned, bit (1) aligned, bit (1) aligned, fixed bin, fixed bin (35)); 77 dcl copy_disk_io_$read entry (pointer, bit (1) aligned, bit (1) aligned, ptr, fixed bin (18), fixed bin (18), bit (1) aligned, fixed bin (35)); 78 dcl copy_disk_io_$record_to_sector entry (pointer, fixed bin (18)) returns (fixed (35)); 79 dcl copy_disk_io_$sector_to_record entry (pointer, fixed bin (35)) returns (fixed (18)); 80 dcl command_query_$yes_no entry() options(variable); 81 dcl com_err_ entry options (variable); 82 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 83 dcl cu_$arg_ptr entry (fixed bin, pointer, fixed bin (21), fixed bin (35)); 84 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 85 dcl get_temp_segments_ entry (char (*), (*) pointer, fixed bin (35)); 86 dcl ioa_ entry options (variable); 87 dcl mdc_$read_disk_table entry (pointer, fixed bin (35)); 88 dcl release_temp_segments_ entry (char (*), (*) pointer, fixed bin (35)); 89 dcl unique_chars_ entry (bit (*)) returns (char (15)); 90 91 /* The following number is chosen to be the largest multiple of 512 words 92* (since msu050X series devices really prefer to do 512 word I/O, and 93* working in 512 word chunks means that the MPC doesn't have to do any 94* extra read/rewrite nonsense for our I/Os) that can still be performed 95* by rdisk_ in a single DCW list. The maximum rdisk_ I/O is the maximum 96* ioi_ buffer size (44K in this case) minus a modicum (128 words) for 97* the DCWs and other overhead that rdisk_ keeps in the ioi_ buffer. Thus, 98* for purposes of disk copying, we get to use 43.5K words per I/O, which 99* keeps the MPC busy for 148.5 milliseconds at a time. */ 100 101 dcl MAX_IO_LENGTH fixed bin internal static options (constant) init (44544); 102 dcl GATE char (8) internal static options (constant) init ("rcp_sys_"); 103 dcl CHARS_PER_WORD fixed bin internal static options (constant) init (4); 104 105 dcl cleanup condition; 106 107 dcl (addr, char, clock, codeptr, divide, float, index, lbound, length, mod, 108 null, rtrim, size, substr, unspec, vclock, verify) builtin; 109 110 /* */ 111 112 unspec (source) = ""b; 113 source.iocb = null (); /* Tested by cleanup handler */ 114 source.device = ""; 115 target = source; /* Simplest way to initialize both */ 116 117 temp_seg_ptr = null (); /* for cleanup handler */ 118 119 brief_sw, check_sw, et_sw, trace_sw, copy_started, copy_finished, 120 retry_sw = "0"b; 121 query_sw, use_alt_partition, ask_user = "1"b; 122 first_record, last_record = -1; 123 et_number = 10; 124 trace_every_n = 1; 125 alt_mode = "alttrk,"; 126 source_pv_name, target_pv_name = ""; 127 128 on condition (cleanup) 129 call clean_up ("0"b); /* clean up, silently */ 130 131 call get_temp_segments_ (WHOAMI, temp_seg_ptr, code); 132 if (code ^= 0) then do; 133 call com_err_ (code, WHOAMI, "Getting temporary segments"); 134 goto MAIN_RETURN; 135 end; 136 dtp = temp_seg_ptr (1); 137 138 call mdc_$read_disk_table (dtp, code); 139 if (code ^= 0) then do; 140 call com_err_ (code, WHOAMI, "cannot copy disk_table_."); 141 goto MAIN_RETURN; 142 end; 143 144 call process_arguments (); 145 146 call check_gate_access_ (GATE, null, code); 147 if code ^= 0 then do; 148 call com_err_ (code, WHOAMI, "Use of this command requires access to ^a.", GATE); 149 call clean_up ("0"b); 150 return; 151 end; 152 153 call open (addr (source), alt_mode, source_pv_name, Sequential_input); 154 155 source.sectors_per_cylinder = sect_per_cyl (source.device_type); 156 source.sectors_per_record = sect_per_rec (source.device_type); 157 source.records_per_cylinder = rec_per_cyl (source.device_type); 158 source.words_per_sector = words_per_sect (source.device_type); 159 source.chars_per_sector = CHARS_PER_WORD * source.words_per_sector; 160 source.sectors_per_io = divide (MAX_IO_LENGTH, source.words_per_sector, 17, 0); 161 162 /* after opening the source, we need to read the label before we open the 163* target in case we have a 451 which uses alternate partitions. If we had an 164* unrecoverable error reading the label, we need to abort.*/ 165 source_labelp = temp_seg_ptr(2); 166 call copy_disk_io_$read (addr(source), brief_sw, query_sw, source_labelp, 0, (sect_per_rec (source.device_type)), retry_sw, code); 167 if code ^= 0 then do; 168 call com_err_ (code, WHOAMI, "Unrecoverable error reading label of disk ^a.", source.device); 169 goto MAIN_RETURN; 170 end; 171 172 if source_labelp -> label.Multics ^= Multics_ID_String then do; 173 call com_err_ ((0), WHOAMI, "Volume mounted on disk ^a is not a Multics System Storage Volume.", source.device); 174 goto MAIN_RETURN; 175 end; 176 177 /* if we're using a 451 we need to check for alt partitions. Default is to 178* open with using them, but in case we're not, we'll close the disk without 179* detaching it and then re-open it with the new mode. */ 180 181 if source.device_type = msu0451devt then do; 182 use_alt_partition = "0"b; 183 call check_for_alt_partition (use_alt_partition); 184 if ^use_alt_partition then do; 185 alt_mode = ""; 186 call iox_$close (source.iocb, code); 187 if code ^= 0 then do; 188 call com_err_ (code, WHOAMI, "Error in closing ^a.", source.device); 189 goto MAIN_RETURN; 190 end; 191 source.opened = "0"b; 192 call open (addr(source), alt_mode, source_pv_name, Sequential_input); 193 end; 194 end; 195 196 target.disk_parameters = source.disk_parameters; 197 call open (addr (target), alt_mode, target_pv_name, Sequential_update); 198 target_labelp = temp_seg_ptr (3); 199 call copy_disk_io_$read (addr(target), brief_sw, query_sw, target_labelp, 0, (sect_per_rec (target.device_type)), retry_sw, code); 200 if code ^= 0 then do; 201 call com_err_ (code, WHOAMI, "Unrecoverable error reading label of target disk ^a.", target.device); 202 return; 203 end; 204 205 206 call ioa_ ("^/Source disk is ^a ^a on device ^a, type ^a.", source_labelp -> label.Multics, source_labelp -> label.pv_name, source.device, device_names (source.device_type)); 207 call ioa_ ("Dismounted^-^a", cv_time (source_labelp -> label.time_unmounted)); 208 if target_labelp -> label.Multics = Multics_ID_String then do; 209 ask_user = "0"b; 210 call ioa_ ("^/Target disk is ^a ^a on device ^a, type ^a.", target_labelp -> label.Multics, target_labelp -> label.pv_name, target.device, device_names (target.device_type)); 211 call ioa_ ("Dismounted^-^a", cv_time (target_labelp -> label.time_unmounted)); 212 call command_query_$yes_no (yes_sw, (0), WHOAMI, "Target volume is a Multics System Storage Volume. ^/Do you still wish to copy data to it? ", "^/Target volume mounted on ^a is a Multics System Storage Volume. ^/Copy disk will destroy all data on this volume!!! ^/Do you wish to continue?", target.device); 213 if ^yes_sw then do; 214 call ioa_ ("^a: terminating...", WHOAMI); 215 call clean_up ("1"b); 216 return; 217 end; 218 end; 219 220 source.target_info_ptr = addr(target); /* we need this if we ever go through single record retry */ 221 /* tell the user what he's got and give him a chance to change his mind. */ 222 if ask_user then do; 223 call ioa_ ("^a: copying the source will destroy all data on the volume mounted on device ^a ! ", WHOAMI, target.device); 224 call command_query_$yes_no (yes_sw, (0), WHOAMI, "Target volume is a Multics System Storage Volume. ^/Do you still wish to copy data to it? ", "Do you wish to continue?"); 225 if ^yes_sw then do; 226 call ioa_ ("^a: terminating...", WHOAMI); 227 call clean_up ("1"b); 228 return; 229 end; 230 end; 231 232 233 if source_labelp -> label.vol_trouble_count > 0 234 then source.n_records = rec_per_sv (source.device_type); 235 else 236 call get_highest_record (source.n_records); /* calculate highest record in volmap */ 237 238 target.n_records = source.n_records; 239 240 call check_compatibility (); 241 242 start_clock_time = clock (); 243 start_cpu_time = vclock (); 244 245 if ^brief_sw then 246 call ioa_ ("^a: begin copy of ^a onto ^a, records ^d. to ^d.", 247 WHOAMI, source.device, target.device, 248 first_record, last_record); 249 250 if et_number > 0 then retry_sw = "1"b; 251 copy_started = "1"b; 252 253 call copy_disk_copy_ (addr (source), addr (target), 254 brief_sw, query_sw, trace_sw, retry_sw, cylinder_idx, code); 255 256 /* We still need to copy the partitions if there are any */ 257 labelp = source_labelp; 258 if label.nparts > 0 then do idx = 1 to label.nparts; 259 if label.parts(idx).part = "alt" then; 260 else do; 261 source.n_records = label.parts(idx).nrec; 262 source.high_bound = source.n_records + label.parts(idx).frec; 263 source.low_bound = label.parts(idx).frec; 264 call copy_disk_copy_ (addr(source), addr (target), 265 brief_sw, query_sw, retry_sw, trace_sw, cylinder_idx, code); 266 if ^brief_sw then 267 call ioa_ ("Partition ^a processed.", label.parts(idx).part); 268 end; 269 end; /* no more partitions */ 270 271 272 if (code = 0) then do; 273 copy_finished = "1"b; /* actual code is ignored, since we have */ 274 /* already printed any messages */ 275 if ^brief_sw then call ioa_ ("Done."); 276 end; 277 278 MAIN_RETURN: 279 if copy_started & (copy_finished | (^brief_sw)) then do; 280 call ioa_ ("^a: ^[abnormal termination at cylinder ^d after^;copy took^s^] ^.2f seconds, ^.2f vcpu.^[ no errors.^]", 281 WHOAMI, (^copy_finished), cylinder_idx, 282 (float (clock () - start_clock_time) / 1.0e6), 283 (float (vclock () - start_cpu_time) / 1.0e6), 284 ((source.errors + target.errors) = 0)); 285 286 if ((source.errors + target.errors) > 0) then 287 call ioa_ ("^a: ^[no^s^;^d^] error^[s^] on source disk ^a, ^[no^s^;^d^] error^[s^] on target disk ^a.", 288 WHOAMI, (source.errors = 0), source.errors, 289 (source.errors ^= 1), source.device, (target.errors = 0), 290 target.errors, (target.errors ^= 1), target.device); 291 end; 292 293 call clean_up ("1"b); 294 return; 295 296 /* */ 297 298 open: 299 procedure (p_info_ptr, p_rdisk_modes, p_pv_name, p_mode); 300 301 dcl p_info_ptr pointer parameter; 302 dcl p_rdisk_modes char (32) unaligned parm; 303 dcl p_pv_name char (32) parm; 304 dcl p_mode fixed bin parm; 305 dcl 1 p_info aligned like copy_disk_info based (p_info_ptr); 306 dcl pv_name char (32); 307 dcl rdisk_modes char (32) unaligned; 308 309 rdisk_modes = p_rdisk_modes; 310 311 if ^p_info.attached then do; 312 if p_pv_name = "" then pv_name = "scratch"; 313 else pv_name = p_pv_name; 314 p_info.iocb_name = "copy_disk_vol." || unique_chars_ (""b); 315 call iox_$find_iocb (p_info.iocb_name, p_info.iocb, (0)); 316 317 p_info.desc = "rdisk_ "; /* i/o module */ 318 p_info.desc = p_info.desc || device_names (p_info.device_type); /* must be correct for rcprm */ 319 p_info.desc = p_info.desc || " " || rtrim (pv_name); 320 p_info.desc = p_info.desc || " -system "; 321 if p_info_ptr = addr(target) then 322 p_info.desc = p_info.desc || "-write "; /* for target only */ 323 p_info.desc = p_info.desc || "-device " || rtrim (p_info.device); 324 325 call iox_$attach_name (p_info.iocb_name, p_info.iocb, (p_info.desc), codeptr (copy_disk_volume), code); 326 if (code ^= 0) then do; 327 call com_err_ (code, WHOAMI, "attaching ^a", p_info.desc); 328 goto MAIN_RETURN; 329 end; 330 331 p_info.attached = "1"b; 332 end; 333 334 p_info.mode = p_mode; 335 call iox_$open (p_info.iocb, p_info.mode, "0"b, code); 336 if (code ^= 0) then do; 337 call com_err_ (code, WHOAMI, "opening ^a for ^a", 338 p_info.desc, iox_modes (p_info.mode)); 339 goto MAIN_RETURN; 340 end; 341 342 p_info.opened = "1"b; 343 344 if check_sw then 345 rdisk_modes = rtrim(rdisk_modes) || "^label,wrtcmp"; 346 else rdisk_modes = rtrim(rdisk_modes) || "^label,^wrtcmp"; 347 348 call iox_$modes (p_info.iocb, rdisk_modes, (""), code); 349 if (code ^= 0) then do; 350 call com_err_ (code, WHOAMI, 351 "attempting to set modes for ^a to ^a", p_info.device, rdisk_modes); 352 goto MAIN_RETURN; 353 end; 354 355 call iox_$control (p_info.iocb, "getbounds", addr (p_info.bounds), code); 356 if (code ^= 0) then do; 357 call com_err_ (code, WHOAMI, "attempting to get bounds for ^a", p_info.device); 358 goto MAIN_RETURN; 359 end; 360 361 return; 362 end open; 363 364 /* */ 365 366 check_compatibility: 367 procedure (); 368 369 dcl first_sector fixed bin (35); 370 dcl last_sector fixed bin (35); 371 372 373 if (first_record >= 0) then 374 first_sector = copy_disk_io_$record_to_sector 375 (addr (source), first_record); 376 else first_sector = source.low_bound; 377 378 if (last_record >= 0) then 379 last_sector = copy_disk_io_$record_to_sector 380 (addr (source), (last_record + 1)) - 1; 381 else last_sector = source.high_bound; 382 383 first_record = /* reset them to the real values */ 384 copy_disk_io_$sector_to_record (addr (source), first_sector); 385 last_record = 386 copy_disk_io_$sector_to_record (addr (source), last_sector); 387 388 if (first_sector < source.low_bound) | (first_sector < target.low_bound) then do; 389 call com_err_ (0, WHOAMI, 390 "first record (^d) is beyond the low bound for ^[^a^s^;^s^a^].", 391 first_record, (first_sector < source.low_bound), 392 source.device, target.device); 393 goto MAIN_RETURN; 394 end; 395 396 if (last_sector > source.high_bound) | (last_sector > target.high_bound) then do; 397 call com_err_ (0, WHOAMI, 398 "last record (^d) is beyond the high bound for ^[^a^s^;^s^a^].", 399 last_record, (last_sector > source.high_bound), 400 source.device, target.device); 401 goto MAIN_RETURN; 402 end; 403 404 source.low_bound = first_sector; 405 source.high_bound = last_sector; 406 407 target.bounds = source.bounds; /* make them the same now, for the copy */ 408 409 if (source.device_type = target.device_type) then return; 410 else do; 411 call com_err_ (0, WHOAMI, "source is ^a, target is ^a: media formats are not compatible.", source.device_type, target.device_type); 412 goto MAIN_RETURN; 413 end; 414 415 end check_compatibility; 416 417 /* */ 418 419 check_for_alt_partition: 420 procedure (p_partitions_used); 421 422 dcl p_partitions_used bit (1) aligned; 423 424 if source_labelp -> label.nparts > 0 425 then do idx = 1 to source_labelp -> label.nparts; 426 if source_labelp -> label.parts(idx).part = "alt" 427 then p_partitions_used = "1"b; 428 end; 429 return; 430 end check_for_alt_partition; 431 432 /* */ 433 434 cv_time: 435 proc (date_time) returns (char (*)); 436 437 dcl date_time fixed bin (71); 438 dcl date_time_string char (24); 439 dcl (length, substr) builtin; 440 dcl date_time_ entry (fixed bin(71), char(*)); 441 dcl Null_date_time char (16) static options (constant) init ("01/01/01 0000.0"); 442 443 if date_time = 0 then 444 return (""); 445 else do; 446 call date_time_ (date_time, date_time_string); 447 if substr (date_time_string, 1, length (Null_date_time)) = Null_date_time then 448 return (""); 449 else return (date_time_string); 450 end; 451 end cv_time; 452 453 /* */ 454 455 get_highest_record: 456 procedure (P_highest_record) ; 457 458 dcl P_highest_record fixed bin (18) parm; 459 dcl bit_idx fixed bin; 460 dcl find_bit_$last_off entry (bit(*)) returns (fixed bin(24)) reducible; 461 dcl last_record_bit fixed bin (24); 462 dcl last_volmap_entry fixed bin; 463 dcl all_free_in_word_mask bit (32) int static options (constant) init ("ffffffff"b4); 464 dcl entries_per_word fixed bin int static options (constant) init (32); 465 466 vol_mapp = temp_seg_ptr(4); 467 call copy_disk_io_$read (addr(source), brief_sw, query_sw, vol_mapp, (sect_per_rec (source.device_type)), divide (size(vol_map),words_per_sect(source.device_type),17,0), retry_sw, code); /* read the vol_map */ 468 if code ^= 0 then do; 469 call com_err_ (code, WHOAMI, "Unrecoverable error reading vol_map of disk ^a.", source.device); 470 goto MAIN_RETURN; 471 end; 472 473 /* See if any of the bits in the last word of the vol_map are used. Get the index into the last word. 474* If one of these bits is on, calculate the highest record to be the number of the words in the bit_map 475* times number of entries per word, plus the index on last bit on. Otherwise, we have to work our way 476* from the back of the bit map till we find a word that is being used and thenperform the calculation. 477* Finally we have to add in the base_add to take care of the portion of the disk before the vol_map. */ 478 bit_idx = mod (vol_map.n_rec, entries_per_word); 479 if bit_idx = 0 then bit_idx = entries_per_word; 480 bit_map_wordp = addr (vol_map.bit_map (vol_map.bit_map_n_words - 1)); 481 last_record_bit = find_bit_$last_off (substr (bit_map_word.bits, 1, bit_idx)); 482 if last_record_bit > 0 then do; 483 last_volmap_entry = ((vol_map.bit_map_n_words * entries_per_word) + last_record_bit); 484 goto set_last_volmap_record; 485 end; 486 do idx = vol_map.bit_map_n_words - 1 by -1 to lbound (vol_map.bit_map, 1); 487 bit_map_wordp = addr (vol_map.bit_map (idx)); 488 if bit_map_word.bits ^= all_free_in_word_mask then goto found_last; 489 end; 490 P_highest_record = (vol_map.base_add); 491 return; 492 found_last: 493 last_volmap_entry = (idx * entries_per_word) + find_bit_$last_off (bit_map_word.bits); 494 set_last_volmap_record: 495 P_highest_record = vol_map.base_add + last_volmap_entry; 496 return; 497 end get_highest_record; 498 /* */ 499 500 process_arguments: 501 procedure (); 502 503 dcl arg_count fixed bin; 504 dcl arg_idx fixed bin; 505 dcl arg_ptr pointer; 506 dcl arg_lth fixed bin (21); 507 dcl arg char (arg_lth) based (arg_ptr); 508 509 510 call cu_$arg_count (arg_count, code); 511 if (code ^= 0) then do; 512 call com_err_ (code, WHOAMI); 513 goto MAIN_RETURN; 514 end; 515 516 do arg_idx = 1 to arg_count; 517 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 518 GOT_ONE: if (arg = "-brief") | (arg = "-bf") then brief_sw = "1"b; 519 else if (arg = "-query") then query_sw = "1"b; 520 else if (arg = "-no_query") then query_sw = "0"b; 521 else if (arg = "-long") | (arg = "-lg") then brief_sw = "0"b; 522 else if (arg = "-check") | (arg = "-ck") then check_sw = "1"b; 523 else if (arg = "-no_check") | (arg = "-nck") then check_sw = "0"b; 524 else if (arg = "-trace") then do; 525 trace_sw = "1"b; 526 arg_idx = arg_idx +1; 527 if arg_idx > arg_count then do; 528 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 529 goto MAIN_RETURN; 530 end; 531 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 532 if index (arg, "-") = 1 then goto GOT_ONE; 533 else do; 534 trace_every_n = cv_dec_check_ (arg, code); 535 if code ^= 0 then do; 536 call com_err_ (error_table_$bad_conversion, WHOAMI, "Value of trace parameter must be numeric."); 537 goto MAIN_RETURN; 538 end; 539 if trace_every_n < 0 then do; 540 call com_err_ (error_table_$bad_arg, WHOAMI, "Value of trace parameter must be positive."); 541 goto MAIN_RETURN; 542 end; 543 else source.trace_parm = trace_every_n; 544 end; 545 end; 546 else if (arg = "-error_threshold") then do; 547 et_sw = "1"b; 548 arg_idx = arg_idx +1; 549 if arg_idx > arg_count then do; 550 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 551 goto MAIN_RETURN; 552 end; 553 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 554 if index (arg, "-") = 1 then goto GOT_ONE; 555 else do; 556 et_number = cv_dec_check_ (arg, code); 557 if code ^= 0 then do; 558 call com_err_ (error_table_$bad_conversion, WHOAMI, "Value of error_threshold parameter must be numeric."); 559 goto MAIN_RETURN; 560 end; 561 if et_number < 0 then do; 562 call com_err_ (error_table_$bad_arg, WHOAMI, "Value of trace parameter must be positive."); 563 goto MAIN_RETURN; 564 end; 565 end; 566 end; 567 else if (arg = "-no_trace") then trace_sw = "0"b; 568 else if (arg = "-pv_name") | (arg = "-pv") then do; 569 arg_idx = arg_idx + 1; 570 if arg_idx > arg_count then do; 571 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 572 goto MAIN_RETURN; 573 end; 574 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 575 if index (arg, "-") = 1 then goto GOT_ONE; 576 else if source_pv_name = "" & source.device ^= "" 577 then source_pv_name = arg; 578 else if source_pv_name ^= "" & target_pv_name = "" & target.device ^= "" 579 then target_pv_name = arg; 580 else do; 581 call com_err_ (error_table_$badopt, WHOAMI, "Invalid use of ^a.", arg); 582 goto MAIN_RETURN; 583 end; 584 end; 585 586 587 else if (char (arg, 1) = "-") then do; /* we were expecting a value and got another CA instead */ 588 call com_err_ (error_table_$badopt, WHOAMI, "^a", arg); 589 goto MAIN_RETURN; 590 end; 591 592 else if (source.device = "") then source.device = arg; 593 else if (target.device = "") then target.device = arg; 594 595 else do; 596 call com_err_ (error_table_$too_many_args, WHOAMI, 597 "Too many disk names; maximum is 2. ^a", arg); 598 goto MAIN_RETURN; 599 end; 600 end; /* of argument loop */ 601 602 if (target.device = "") then do; /* Not specified */ 603 call com_err_ (error_table_$noarg, WHOAMI, 604 "^/Usage:^-^a FromDisk ToDisk {-bf}", 605 WHOAMI); 606 goto MAIN_RETURN; 607 end; 608 609 source.threshold = et_number; 610 call check_disk (source.device, "source", source.device_type); 611 call check_disk (target.device, "target", target.device_type); 612 613 if (source.device = target.device) then do; 614 call com_err_ (0, WHOAMI, "Cannot copy ^a to itself.", source.device); 615 goto MAIN_RETURN; 616 end; 617 618 return; 619 620 end process_arguments; 621 622 /* */ 623 624 check_disk: 625 procedure (P_name, P_type, P_device_type); 626 627 dcl P_name char (*) parameter; 628 dcl P_type char (*) parameter; 629 dcl P_device_type fixed bin parameter; 630 631 dcl disk_name char (8) varying; 632 dcl bad bit (1) aligned; 633 dcl devx fixed bin; 634 dcl problem char (70) varying; 635 636 637 disk_name = rtrim (P_name); 638 if (length (disk_name) < 7) then bad = "1"b; 639 else if (substr (disk_name, 1, 3) ^= "dsk") then bad = "1"b; 640 else if (substr (disk_name, 5, 1) ^= "_") then bad = "1"b; 641 else if (verify (substr (disk_name, 6, 2), "0123456789") ^= 0) then bad = "1"b; 642 else if (length (disk_name) > 7) 643 then if (verify (substr (disk_name, 8, 1), valid_sv_string) ^= 0) then bad = "1"b; 644 else bad = "0"b; 645 else bad = "0"b; 646 647 if bad then do; 648 call com_err_ (0, WHOAMI, 649 "Invalid name for ^a disk: ""^a"". Must be dskX_NNX.", 650 P_type, disk_name); 651 goto MAIN_RETURN; 652 end; 653 654 do devx = 1 to dt.n_entries; 655 dtep = addr (dt.array (devx)); 656 if (dte.drive_name = disk_name) then goto FOUND_THE_DISK; 657 end; 658 659 call com_err_ (0, WHOAMI, "Disk drive ^a not found in disk_table_.", disk_name); 660 goto MAIN_RETURN; 661 662 FOUND_THE_DISK: 663 if dte.storage_system then 664 if dte.used then 665 problem = "is in use by the storage system"; 666 else problem = "has not been sdu'd for I/O usage"; 667 else if dte.deleted then problem = "has been deleted with deldev"; 668 else problem = ""; 669 670 if (problem ^= "") then do; 671 call com_err_ (0, WHOAMI, "Cannot access ^a: it ^a.", 672 disk_name, problem); 673 goto MAIN_RETURN; 674 end; 675 676 P_device_type = dte.device_type; 677 678 return; 679 end check_disk; 680 681 /* */ 682 683 clean_up: 684 procedure (P_report); 685 686 dcl P_report bit (1) aligned parameter; 687 688 689 call close (addr (source)); 690 call close (addr (target)); 691 692 if (temp_seg_ptr (1) ^= null ()) then 693 call release_temp_segments_ (WHOAMI, temp_seg_ptr, (0)); 694 temp_seg_ptr (1) = null; 695 696 return; 697 698 699 700 close: 701 procedure (P_info_ptr); 702 703 dcl P_info_ptr pointer parameter; 704 dcl 1 P_info aligned like copy_disk_info based (P_info_ptr); 705 706 707 if P_info.opened then do; 708 call iox_$close (P_info.iocb, code); 709 if P_report & (code ^= 0) then 710 call com_err_ (code, WHOAMI, 711 "Closing stream for ^a.", P_info.device); 712 end; 713 714 if P_info.attached then do; 715 call iox_$detach_iocb (P_info.iocb, code); 716 if P_report & (code ^= 0) then 717 call com_err_ (code, WHOAMI, 718 "Detaching stream for ^a.", P_info.device); 719 end; 720 721 if (P_info.iocb ^= null ()) then 722 call iox_$destroy_iocb (P_info.iocb, (0)); 723 724 return; 725 end close; 726 727 end clean_up; 728 729 /* BEGIN INCLUDE FILE ... copy_disk_info.incl.pl1 ... 83-04-25 ... W. Olin Sibert */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(87-03-31,Blair), approve(87-03-31,MCR7666), 1 6* audit(87-07-08,Fawcett), install(87-07-15,MR12.1-1040): 1 7* Install as part of the copy_disk command. This is the info structure used 1 8* to pass around information about the source and target disks. 1 9* 2) change(87-07-08,Blair), approve(87-07-08,MCR7731), 1 10* audit(87-07-08,Fawcett), install(87-07-15,MR12.1-1040): 1 11* Change the copy_disk command to copy_disk_volume. 1 12* END HISTORY COMMENTS */ 1 13 1 14 dcl 1 copy_disk_info aligned based, 1 15 2 device char (32) unaligned, 1 16 2 device_type fixed bin, 1 17 2 mode fixed bin, 1 18 2 attached bit (1) aligned, 1 19 2 opened bit (1) aligned, 1 20 2 iocb_name char (32) unaligned, 1 21 2 iocb pointer, 1 22 2 target_info_ptr pointer, 1 23 2 bounds, 1 24 3 low_bound fixed bin (35), 1 25 3 high_bound fixed bin (35), 1 26 2 disk_parameters, 1 27 3 words_per_sector fixed bin, 1 28 3 chars_per_sector fixed bin, 1 29 3 sectors_per_cylinder fixed bin, 1 30 3 sectors_per_record fixed bin, 1 31 3 records_per_cylinder fixed bin, 1 32 3 sectors_per_io fixed bin, 1 33 3 n_records fixed bin (18), 1 34 3 n_vtoces fixed bin, 1 35 2 errors fixed bin, 1 36 2 threshold fixed bin, 1 37 2 trace_parm fixed bin, 1 38 2 trace_count fixed bin, 1 39 2 desc char (200) varying; 1 40 1 41 dcl WHOAMI char (32) internal static options (constant) init ("copy_disk_volume"); 1 42 1 43 dcl READ fixed bin internal static options (constant) init (1); 1 44 dcl WRITE fixed bin internal static options (constant) init (2); 1 45 1 46 dcl POSITION_BEGINNING fixed bin internal static options (constant) init (-1); 1 47 dcl POSITION_RELATIVE fixed bin internal static options (constant) init (0); 1 48 dcl POSITION_ABSOLUTE fixed bin internal static options (constant) init (2); 1 49 1 50 /* END INCLUDE FILE ... copy_disk_info.incl.pl1 */ 729 730 /* Begin include file ...... fs_dev_types.incl.pl1 */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 2 5* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 2 6* Add support for FIPS 2 7* 3380. 2 8* 2) change(86-04-21,Fawcett), approve(86-04-21,MCR7383), 2 9* audit(86-05-15,Coppola), install(86-07-18,MR12.0-1098): 2 10* Add the support for subvolumes for the MSU3380 and MSU3390. 2 11* 3) change(86-10-02,Fawcett), approve(86-10-02,PBF7383), 2 12* audit(86-10-23,Farley), install(86-10-28,MR12.0-1200): 2 13* Changed 3390 to 3381, "d338" to "3380" & "d339" to "3381". 2 14* END HISTORY COMMENTS */ 2 15 2 16 /* Modified 5/19/76 by N. I. Morris */ 2 17 /* Modified 12/27/78 by Michael R. Jordan to correct MSS0500 information */ 2 18 /* Modified 4/79 by R.J.C. Kissel to add msu0501 information. */ 2 19 /* Modified '82 by BIM for needs_alt_part */ 2 20 /* Modified 4/84 by Chris Jones for FIPS disks */ 2 21 /* Modified 12/84 by Paul Farley for FIPS disks formatted for 512wd sectors */ 2 22 /* Modified 1/85 by Paul Farley to decrease the size of the 3380, until the 2 23* volmap and record stock can be expanded. */ 2 24 2 25 /* 2 26******************************************************************************** 2 27** * 2 28** WARNING: * 2 29** * 2 30** There exists fs_dev_types.incl.alm that must me updated when a new device * 2 31** type is added. * 2 32** * 2 33** There are other include files that contain arrays indexed by the device * 2 34** index obtained by references to MODELX or MODELN in this include file. * 2 35** These must be modified when a new device type is added: * 2 36** disk_pack.incl.pl1 * 2 37** fs_dev_types_sector.incl.pl1 (included in this include) * 2 38** * 2 39******************************************************************************** 2 40**/ 2 41 2 42 2 43 dcl (maxdevt init (9), /* maximum legal devt */ 2 44 bulkdevt init (1), /* bulk store devt */ 2 45 msu0500devt init (2), /* MSU0500 device type */ 2 46 msu0451devt init (3), /* MSU0451 device type */ 2 47 msu0450devt init (3), /* MSU0450 device type */ 2 48 msu0400devt init (4), /* MSU0400 device type */ 2 49 dsu191devt init (4), /* DSU191 device type */ 2 50 dsu190devt init (5), /* DSU190 device type */ 2 51 dsu181devt init (6), /* DSU181 device type */ 2 52 msu0501devt init (7), /* MSU0501 device type */ 2 53 fips3380devt init (8), /* 3380D FIPS device type */ 2 54 fips3381devt init (9) /* 3380E FIPS device type */ 2 55 ) fixed bin (4) static options (constant); 2 56 2 57 dcl MODEL (12) fixed bin static options (constant) init /* Known device model numbers */ 2 58 (0, 500, 451, 450, 400, 402, 191, 190, 181, 501, 3380, 3381); 2 59 2 60 dcl MODELX (12) fixed bin static options (constant) init /* translation from model number to device type */ 2 61 (1, 2, 3, 3, 4, 4, 4, 5, 6, 7, 8, 9); 2 62 2 63 dcl MODELN (9) fixed bin static options (constant) init /* translation from device type to model number */ 2 64 (0, 500, 451, 400, 190, 181, 501, 3380, 3381); 2 65 2 66 dcl device_names (9) char (4) aligned static options (constant) init /* device names indexed by device type */ 2 67 ("bulk", "d500", "d451", "d400", "d190", "d181", "d501", "3380", "3381"); 2 68 2 69 dcl first_dev_number (9) fixed bin (17) static options (constant) init /* First valid device_number */ 2 70 (1, 1, 1, 1, 1, 1, 1, 0, 0); 2 71 2 72 dcl fips_type_disk (9) bit (1) unal static options (constant) init /* ON => FIPS disk */ 2 73 ("0"b,"0"b,"0"b,"0"b,"0"b,"0"b,"0"b,"1"b,"1"b); 2 74 2 75 dcl media_removable (9) bit (1) static options (constant) init /* ON => demountable pack on device */ 2 76 ("0"b, "0"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b); 2 77 2 78 dcl shared_spindle (9) bit (1) static options (constant) init /* ON => 2 devices per spindle */ 2 79 ("0"b, "1"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b); 2 80 2 81 dcl needs_alt_part (9) bit (1) static options (constant) init /* ON => needs alternate partition to run alternate tracks */ 2 82 ("0"b, "0"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "0"b); 2 83 2 84 dcl seek_command (9) bit (6) init /* Seek command: 00 => N/A, 30 => Seek_512, 34 => seek_64 */ 2 85 ("00"b3,"34"b3,"34"b3,"34"b3,"34"b3,"34"b3,"34"b3,"30"b3, "30"b3); 2 86 2 87 dcl rec_per_dev (9) fixed bin (21) static options (constant) init /* table of # of records on each device */ 2 88 (0, 38258, 38258, 19270, 14760, 4444, 67200, 112395, 224790); 2 89 2 90 dcl rec_per_sv (9) fixed bin static options (constant) init /* table of # of records on each subvol */ 2 91 (0, 38258, 38258, 19270, 14760, 4444, 67200, 56134, 74930); 2 92 2 93 dcl number_of_sv (9) fixed bin static options (constant) init /* table of subvolumes */ 2 94 (0, 0, 0, 0, 0, 0, 0, 2, 3); 2 95 2 96 dcl valid_sv_string char (3) static options (constant) init /* string of valid subvolume names */ 2 97 ("abc"); 2 98 2 99 dcl valid_sv_array (0:2) char (1) static options (constant) /* array of valid subvolume names */ 2 100 init ("a","b","c"); 2 101 2 102 dcl cyl_per_dev (9) fixed bin static options (constant) init /* table of # of cylinders on each device */ 2 103 (0, 814, 814, 410, 410, 202, 840, 885, 1770); 2 104 2 105 dcl cyl_per_sv (9) fixed bin static options (constant) init /* table of # of cylinders on each subvolume */ 2 106 (0, 814, 814, 410, 410, 202, 840, 442, 590); 2 107 2 108 dcl rec_per_cyl (9) fixed bin static options (constant) init /* table of # of records per cylinder on each device */ 2 109 (0, 47, 47, 47, 36, 22, 80, 127, 127); 2 110 2 111 dcl tracks_per_cyl (9) fixed bin static options (constant) init /* table of # of tracks per cylinder on each device */ 2 112 (0, 19, 19, 19, 19, 20, 20, 15, 15); 2 113 2 114 2 115 dcl first_rec_num (9) fixed bin static options (constant) init /* table of # of first record on each device */ 2 116 (0, 0, 0, 0, 0, 0, 0, 0, 0); 2 117 2 118 dcl last_rec_num (9) fixed bin (18) static options (constant) init /* table of # of last record on each device */ 2 119 (0, 38257, 38116, 19128, 14651, 4399, 67199, 112394, 224789); 2 120 2 121 dcl last_sv_rec_num (9) fixed bin (18) static options (constant) init /* table of # of last record on each subvolume */ 2 122 (0, 38257, 38116, 19128, 14651, 4399, 67199, 56133, 74929); 2 123 2 124 dcl first_sect_num (9) fixed bin (24) static options (constant) init /* table of # of first sector for each device */ 2 125 (0, 0, 0, 0, 0, 0, 0, 0, 0); 2 126 2 127 dcl last_sect_num (9) fixed bin (24) static options (constant) init /* table of # last sector number for each device */ 2 128 (0, 618639, 616359, 309319, 239722, 71999, 1075199, 225674, 451349); 2 129 2 130 dcl first_alt_sect_num (9) fixed bin (24) static options (constant) init /* table of # of first sector of alt partition */ 2 131 (0, 638400, 616360, 309320, 239723, 72000, 1075200, 225675, 451350); 2 132 2 133 dcl last_alt_sect_num (9) fixed bin (24) static options (constant) init /* table of # of last sector of alt partition */ 2 134 (0, 639919, 618639, 311599, 241489, 72719, 1077759, 225930, 451605); 2 135 2 136 dcl last_physical_sect_num (9) fixed bin (24) static options (constant) init /* table of # of last sector on device (includes T&D cylinders) */ 2 137 (0, 639919, 619399, 312359, 242249, 72359, 1077759, 225674, 451859); 2 138 2 139 dcl dev_time (9) float bin (27) static options (constant) init /* table of average access times for each device */ 2 140 (384e0, 33187e0, 33187e0, 34722e0, 46935e0, 52631e0, 33187e0, 26260e0, 26260e0); 2 141 3 1 /* Begin fs_dev_types_sector.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-04-21,Fawcett), approve(86-04-21,MCR7383), 3 6* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 3 7* Add the sector differance for devices that do 64 word IO and devices that 3 8* do 512 word IO. 3 9* END HISTORY COMMENTS */ 3 10 3 11 /* Created by R. A. Fawcett for 512 word IO. for procedures that do not 3 12* need all the data in fs_dev_types. This is also included in 3 13* fs_dev_types.incl.pl1 */ 3 14 3 15 dcl sect_per_cyl (9) fixed bin static options (constant) init /* table of # of sectors per cylinder on each device */ 3 16 (0, 760, 760, 760, 589, 360, 1280, 255, 255); 3 17 3 18 dcl sect_per_sv (9) fixed bin (24) static options (constant) init /* table of # of sectors per cylinder on each subvolume */ 3 19 (0, 0, 0, 0, 0, 0, 0, 112710, 150450); 3 20 3 21 dcl sect_per_rec (9) fixed bin static options (constant) init 3 22 /* table of # of sectors per record on each device */ 3 23 /* coresponding array in disk_pack.incl.pl1 called SECTORS_PER_RECORD */ 3 24 (0, 16, 16, 16, 16, 16, 16, 2, 2); 3 25 3 26 dcl sect_per_vtoc (9) fixed bin static options (constant) init 3 27 (0, 3, 3, 3, 3, 3, 3, 1, 1); 3 28 3 29 dcl vtoc_per_rec (9) fixed bin static options (constant) init 3 30 /* corespending array in disk_pack.incl.pl1 named VTOCES_PER_RECORD */ 3 31 (0, 5, 5, 5, 5, 5, 5, 2, 2); 3 32 3 33 dcl sect_per_track (9) fixed bin static options (constant) init /* table of # of sectors per track on each device */ 3 34 (0, 40, 40, 40, 31, 18, 64, 17, 17); 3 35 3 36 dcl words_per_sect (9) fixed bin static options (constant) init /* table of # of words per sector on each device */ 3 37 (0, 64, 64, 64, 64, 64, 64, 512, 512); 3 38 3 39 /* End fs_dev_types_sector.incl.pl1 */ 3 40 2 142 2 143 2 144 /* End of include file ...... fs_dev_types.incl.pl1 */ 730 731 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 4 2 4 3 /* Written 05/04/78 by C. D. Tavares */ 4 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 4 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 4 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 4 7 4 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 4 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 4 10 iox_$close entry (pointer, fixed bin (35)), 4 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 4 12 iox_$delete_record entry (pointer, fixed bin (35)), 4 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 4 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 4 15 iox_$err_not_attached entry options (variable), 4 16 iox_$err_not_closed entry options (variable), 4 17 iox_$err_no_operation entry options (variable), 4 18 iox_$err_not_open entry options (variable), 4 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 4 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 4 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 4 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 4 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 4 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 4 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 4 28 iox_$propagate entry (pointer), 4 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 4 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 4 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 4 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 4 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 4 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 4 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 4 40 4 41 dcl (iox_$user_output, 4 42 iox_$user_input, 4 43 iox_$user_io, 4 44 iox_$error_output) external static pointer; 4 45 4 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 731 732 /* Begin include file ..... iox_modes.incl.pl1 */ 5 2 5 3 /* Written by C. D. Tavares, 03/17/75 */ 5 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 5 5 5 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 5 7 ("stream_input", "stream_output", "stream_input_output", 5 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 5 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 5 10 "direct_input", "direct_output", "direct_update"); 5 11 5 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 5 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 5 14 5 15 dcl (Stream_input initial (1), 5 16 Stream_output initial (2), 5 17 Stream_input_output initial (3), 5 18 Sequential_input initial (4), 5 19 Sequential_output initial (5), 5 20 Sequential_input_output initial (6), 5 21 Sequential_update initial (7), 5 22 Keyed_sequential_input initial (8), 5 23 Keyed_sequential_output initial (9), 5 24 Keyed_sequential_update initial (10), 5 25 Direct_input initial (11), 5 26 Direct_output initial (12), 5 27 Direct_update initial (13)) fixed bin int static options (constant); 5 28 5 29 /* End include file ..... iox_modes.incl.pl1 */ 732 733 /* BEGIN INCLUDE FILE ... disk_table.incl.pl1 ... Created Oct 75 for NSS */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(86-01-14,Fawcett), approve(86-05-13,MCR7383), 6 6* audit(86-05-14,LJAdams), install(86-07-18,MR12.0-1098): 6 7* Add support for subvolumes. 6 8* END HISTORY COMMENTS */ 6 9 6 10 6 11 /* Modified July 1977 by T. Casey to add pdirs_ok switch in lve */ 6 12 /* Modified April 1981 by J. Bongiovanni to add shared_spindle_flip */ 6 13 /* Modified 831122 by E. A. Ranzenbach to add vacate_pdirs bit to lve. */ 6 14 6 15 /* The disk table lives in ring 1. Its entries parallel the PVT */ 6 16 6 17 dcl dtp ptr, 6 18 dtep ptr, 6 19 lvep ptr; 6 20 6 21 6 22 6 23 dcl 1 dt based (dtp) aligned, 6 24 6 25 2 n_entries fixed bin (17), /* number of disk table entries */ 6 26 2 max_n_entries fixed bin (17), /* max number of disk table entries */ 6 27 2 n_in_use fixed bin (17), /* number of disk table entries in use */ 6 28 2 rpvx fixed bin, /* index (pvtx, too) of the RPV */ 6 29 2 version fixed bin init (1), 6 30 2 n_lv_entries fixed bin, /* Number of LV entries */ 6 31 2 pad (2) bit (36), 6 32 2 array (0 refer (dt.max_n_entries)) like dte, 6 33 2 lv_array (0 refer (dt.max_n_entries)) like lve; 6 34 6 35 dcl 1 dte based (dtep) aligned, 6 36 2 drive_name char (8), /* device name */ 6 37 (2 device_type fixed bin (8), /* device type */ 6 38 2 used bit (1), /* TRUE if this entry is used for paging */ 6 39 2 known bit (1), /* TRUE if label has been read and checked */ 6 40 2 storage_system bit (1), /* TRUE for storage system (vs io disk) */ 6 41 2 permanent bit (1), /* TRUE if cannot be demounted */ 6 42 2 deleted bit (1), /* TRUE if deleted by "deld" */ 6 43 2 rpv bit (1), /* TRUE if the root physical volume */ 6 44 2 demounted bit (1), /* TRUE if was here or was assumed here */ 6 45 2 need_salvage bit (1), /* TRUE if this vol was volsalv'd automatic */ 6 46 2 hc_accepted bit (1), /* TRUE if vol accepted by ring 0 init */ 6 47 2 shared_spindle_flip bit (1), /* used by ring-4 for shared spindle allocation */ 6 48 2 is_sub_vol bit (1), 6 49 2 pad bit (3), 6 50 2 lvx fixed bin (11), /* index in lv_array of lve */ 6 51 2 pre_accepted bit (1)) unaligned, /* TRUE if was used in previous bootload */ 6 52 2 sv_num fixed bin unal, /* this sv number */ 6 53 2 num_of_sv fixed bin unal, /* number of sv for this pv */ 6 54 2 sv_name char (2) aligned, 6 55 2 pvid bit (36), /* physical volume ID */ 6 56 2 pvname char (32); /* Physical volume name. */ 6 57 6 58 dcl 1 lve based (lvep) aligned, 6 59 2 lvid bit (36), /* logical volume ID */ 6 60 (2 used bit (1), /* TRUE if entry used */ 6 61 2 hv_mounted bit (1), /* TRUE if hvol is really OK */ 6 62 2 public bit (1), /* TRUE for public vol */ 6 63 2 mounting bit (1), /* TRUE if mhv is in progress */ 6 64 2 demounting bit (1), /* TRUE if dhv is in progress */ 6 65 2 good_candidate bit (1) unal, /* used for auto dhv */ 6 66 2 demounted_only bit (1) unal, /* lve here only to warm demounted pve's */ 6 67 2 pdirs_ok bit (1) unal, /* TRUE if process directory segments can be on this lv */ 6 68 2 prev_bootload bit (1) unal, /* TRUE if can auto-accept pvs */ 6 69 2 vacate_pdirs bit (1) unal, /* if TRUE we will demand move all perprocess segs */ 6 70 2 pad bit (26)) unal, 6 71 2 lvname char (32), /* Logical volume name */ 6 72 2 min_access_class bit (72), /* Security stuff */ 6 73 2 max_access_class bit (72); /* .. */ 6 74 6 75 /* END INCLUDE FILE ...disk_table.incl.pl1 */ 733 734 /* BEGIN INCLUDE FILE query_info.incl.pl1 TAC June 1, 1973 */ 7 2 /* Renamed to query_info.incl.pl1 and cp_escape_control added, 08/10/78 WOS */ 7 3 /* version number changed to 4, 08/10/78 WOS */ 7 4 /* Version 5 adds explanation_(ptr len) 05/08/81 S. Herbst */ 7 5 /* Version 6 adds literal_sw, prompt_after_explanation switch 12/15/82 S. Herbst */ 7 6 7 7 dcl 1 query_info aligned, /* argument structure for command_query_ call */ 7 8 2 version fixed bin, /* version of this structure - must be set, see below */ 7 9 2 switches aligned, /* various bit switch values */ 7 10 3 yes_or_no_sw bit (1) unaligned init ("0"b), /* not a yes-or-no question, by default */ 7 11 3 suppress_name_sw bit (1) unaligned init ("0"b), /* do not suppress command name */ 7 12 3 cp_escape_control bit (2) unaligned init ("00"b), /* obey static default value */ 7 13 /* "01" -> invalid, "10" -> don't allow, "11" -> allow */ 7 14 3 suppress_spacing bit (1) unaligned init ("0"b), /* whether to print extra spacing */ 7 15 3 literal_sw bit (1) unaligned init ("0"b), /* ON => do not strip leading/trailing white space */ 7 16 3 prompt_after_explanation bit (1) unaligned init ("0"b), /* ON => repeat question after explanation */ 7 17 3 padding bit (29) unaligned init (""b), /* pads it out to t word */ 7 18 2 status_code fixed bin (35) init (0), /* query not prompted by any error, by default */ 7 19 2 query_code fixed bin (35) init (0), /* currently has no meaning */ 7 20 7 21 /* Limit of data defined for version 2 */ 7 22 7 23 2 question_iocbp ptr init (null ()), /* IO switch to write question */ 7 24 2 answer_iocbp ptr init (null ()), /* IO switch to read answer */ 7 25 2 repeat_time fixed bin (71) init (0), /* repeat question every N seconds if no answer */ 7 26 /* minimum of 30 seconds required for repeat */ 7 27 /* otherwise, no repeat will occur */ 7 28 /* Limit of data defined for version 4 */ 7 29 7 30 2 explanation_ptr ptr init (null ()), /* explanation of question to be printed if */ 7 31 2 explanation_len fixed bin (21) init (0); /* user answers "?" (disabled if ptr=null or len=0) */ 7 32 7 33 dcl query_info_version_3 fixed bin int static options (constant) init (3); 7 34 dcl query_info_version_4 fixed bin int static options (constant) init (4); 7 35 dcl query_info_version_5 fixed bin int static options (constant) init (5); 7 36 dcl query_info_version_6 fixed bin int static options (constant) init (6); /* the current version number */ 7 37 7 38 /* END INCLUDE FILE query_info.incl.pl1 */ 734 735 /* BEGIN INCLUDE FILE ... fs_vol_label.incl.pl1 .. last modified January 1982 for new volume map format */ 8 2 8 3 /****^ HISTORY COMMENTS: 8 4* 1) change(86-04-10,Fawcett), approve(86-04-10,MCR7383), 8 5* audit(86-05-12,Coppola), install(86-07-18,MR12.0-1098): 8 6* Add the subvolume info. 8 7* 2) change(88-05-27,GWMay), approve(88-05-27,MCR7883), 8 8* audit(88-06-14,Beattie), install(88-07-19,MR12.2-1061): 8 9* Added inconsistent_dbm bit used to determine consistency of volume 8 10* dumper bit maps. 8 11* END HISTORY COMMENTS */ 8 12 8 13 /* This is the label at fixed location of each physical volume. Length 1 page */ 8 14 /* Note: fsout_vol clears pad fields before writing the label */ 8 15 8 16 dcl labelp ptr; 8 17 8 18 dcl 1 label based (labelp) aligned, 8 19 8 20 /* First comes data not used by Multics.. for compatibility with GCOS */ 8 21 8 22 2 gcos (5*64) fixed bin, 8 23 8 24 /* Now we have the Multics label */ 8 25 8 26 2 Multics char (32) init ("Multics Storage System Volume"), /* Identifier */ 8 27 2 version fixed bin, /* Version 1 */ 8 28 2 mfg_serial char (32), /* Manufacturer's serial number */ 8 29 2 pv_name char (32), /* Physical volume name. */ 8 30 2 lv_name char (32), /* Name of logical volume for pack */ 8 31 2 pvid bit (36), /* Unique ID of this pack */ 8 32 2 lvid bit (36), /* unique ID of its logical vol */ 8 33 2 root_pvid bit (36), /* unique ID of the pack containing the root. everybody must agree. */ 8 34 2 time_registered fixed bin (71), /* time imported to system */ 8 35 2 n_pv_in_lv fixed bin, /* # phys volumes in logical */ 8 36 2 vol_size fixed bin, /* total size of volume, in records */ 8 37 2 vtoc_size fixed bin, /* number of recs in fixed area + vtoc */ 8 38 2 not_used bit (1) unal, /* used to be multiple_class */ 8 39 2 private bit (1) unal, /* TRUE if was registered as private */ 8 40 2 inconsistent_dbm bit (1) unal, /* TRUE if ESD-less crash */ 8 41 2 flagpad bit (33) unal, 8 42 2 max_access_class bit (72), /* Maximum access class for stuff on volume */ 8 43 2 min_access_class bit (72), /* Minimum access class for stuff on volume */ 8 44 2 password bit (72), /* not yet used */ 8 45 2 number_of_sv fixed bin, /* if = 0 not a subvolume else the number of svs */ 8 46 2 this_sv fixed bin, /* what subvolume number it is */ 8 47 2 sub_vol_name char (1), /* what subvolume name (a b c d) it is */ 8 48 2 pad1 (13) fixed bin, 8 49 2 time_mounted fixed bin (71), /* time mounted */ 8 50 2 time_map_updated fixed bin (71), /* time vmap known good */ 8 51 8 52 /* The next two words overlay time_unmounted on pre-MR10 systems. This 8 53* forces a salvage if an MR10 pack is mounted on an earlier system. 8 54* */ 8 55 2 volmap_version fixed bin, /* version of volume map (currently 1) */ 8 56 2 pad6 fixed bin, 8 57 8 58 2 time_salvaged fixed bin (71), /* time salvaged */ 8 59 2 time_of_boot fixed bin (71), /* time of last bootload */ 8 60 2 time_unmounted fixed bin (71), /* time unmounted cleanly */ 8 61 2 last_pvtx fixed bin, /* pvtx in that PDMAP */ 8 62 2 pad1a (2) fixed bin, 8 63 2 err_hist_size fixed bin, /* size of pack error history */ 8 64 2 time_last_dmp (3) fixed bin (71), /* time last completed dump pass started */ 8 65 2 time_last_reloaded fixed bin (71), /* what it says */ 8 66 2 pad2 (40) fixed bin, 8 67 2 root, 8 68 3 here bit (1), /* TRUE if the root is on this pack */ 8 69 3 root_vtocx fixed bin (35), /* VTOC index of root, if it is here */ 8 70 3 shutdown_state fixed bin, /* Status of hierarchy */ 8 71 3 pad7 bit (1) aligned, 8 72 3 disk_table_vtocx fixed bin, /* VTOC index of disk table on RPV */ 8 73 3 disk_table_uid bit (36) aligned, /* UID of disk table */ 8 74 3 esd_state fixed bin, /* State of esd */ 8 75 2 volmap_record fixed bin, /* Begin record of volume map */ 8 76 2 size_of_volmap fixed bin, /* Number of records in volume map */ 8 77 2 vtoc_map_record fixed bin, /* Begin record of VTOC map */ 8 78 2 size_of_vtoc_map fixed bin, /* Number of records in VTOC map */ 8 79 2 volmap_unit_size fixed bin, /* Number of words per volume map section */ 8 80 2 vtoc_origin_record fixed bin, /* Begin record of VTOC */ 8 81 2 dumper_bit_map_record fixed bin, /* Begin record of dumper bit-map */ 8 82 2 vol_trouble_count fixed bin, /* Count of inconsistencies found since salvage */ 8 83 2 pad3 (52) fixed bin, 8 84 2 nparts fixed bin, /* Number of special partitions on pack */ 8 85 2 parts (47), 8 86 3 part char (4), /* Name of partition */ 8 87 3 frec fixed bin, /* First record */ 8 88 3 nrec fixed bin, /* Number of records */ 8 89 3 pad5 fixed bin, 8 90 2 pad4 (5*64) fixed bin; 8 91 8 92 dcl Multics_ID_String char (32) init ("Multics Storage System Volume") static; 8 93 8 94 /* END INCLUDE FILE fs_vol_label.incl.pl1 */ 735 736 /* BEGIN INCLUDE FILE ... vol_map.incl.pl1 */ 9 2 9 3 dcl vol_mapp ptr; 9 4 9 5 dcl 1 vol_map based (vol_mapp) aligned, 9 6 9 7 2 n_rec fixed bin(17), /* number of records represented in the map */ 9 8 2 base_add fixed bin(17), /* record number for first bit in bit map */ 9 9 2 n_free_rec fixed bin(17), /* number of free records */ 9 10 2 bit_map_n_words fixed bin(17), /* number of words of the bit map */ 9 11 2 pad (60) bit(36), /* pad to 64 words */ 9 12 2 bit_map (3*1024 - 64) bit(36) ; /* bit map - the entire vol map occupies 3 records */ 9 13 9 14 /* END INCLUDE ... vol_map */ 736 737 /* START OF: vtoc_map.incl.pl1 ... March 1982 ... * * * * * * * * * * * * * * * * */ 10 2 10 3 dcl vtoc_mapp ptr; 10 4 dcl bit_map_wordp ptr; 10 5 10 6 dcl 1 vtoc_map aligned based (vtoc_mapp), 10 7 2 n_vtoce fixed bin, /* Number of VTOCEs on the device */ 10 8 2 n_free_vtoce fixed bin, /* Number of free VTOCEs */ 10 9 2 bit_map_n_words fixed bin, /* Number of words in the bit map below */ 10 10 2 vtoc_last_recno fixed bin, /* Last record number in VTOC */ 10 11 2 pad (4) fixed bin, 10 12 2 bit_map (0:1024 - 9) bit (36); /* This structure consumes exactly 1 page */ 10 13 10 14 dcl 1 bit_map_word aligned based (bit_map_wordp), 10 15 2 pad1 bit (1) unal, 10 16 2 bits bit (32) unal, /* 32 VTOCES ON => free */ 10 17 2 pad2 bit (3) unal; 10 18 10 19 10 20 10 21 /* END OF: vtoc_map.incl.pl1 * * * * * * * * * * * * * * * * */ 737 738 739 740 end copy_disk_volume; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/23/92 1025.7 copy_disk_volume.pl1 >spec>install>1040>copy_disk_volume.pl1 729 1 07/16/87 1855.4 copy_disk_info.incl.pl1 >ldd>include>copy_disk_info.incl.pl1 730 2 10/30/86 2110.5 fs_dev_types.incl.pl1 >ldd>include>fs_dev_types.incl.pl1 2-142 3 07/24/86 2151.8 fs_dev_types_sector.incl.pl1 >ldd>include>fs_dev_types_sector.incl.pl1 731 4 05/23/83 1016.6 iox_dcls.incl.pl1 >ldd>include>iox_dcls.incl.pl1 732 5 02/02/78 1329.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 733 6 07/24/86 2151.9 disk_table.incl.pl1 >ldd>include>disk_table.incl.pl1 734 7 03/11/83 1304.3 query_info.incl.pl1 >ldd>include>query_info.incl.pl1 735 8 07/21/88 2136.0 fs_vol_label.incl.pl1 >ldd>include>fs_vol_label.incl.pl1 736 9 04/29/76 1150.5 vol_map.incl.pl1 >ldd>include>vol_map.incl.pl1 737 10 05/27/82 1625.9 vtoc_map.incl.pl1 >ldd>include>vtoc_map.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. CHARS_PER_WORD constant fixed bin(17,0) initial dcl 103 ref 159 GATE 000232 constant char(8) initial packed unaligned dcl 102 set ref 146* 148* MAX_IO_LENGTH constant fixed bin(17,0) initial dcl 101 ref 160 Multics 500 based char(32) initial level 2 dcl 8-18 set ref 172 206* 208 210* Multics_ID_String 000004 constant char(32) initial packed unaligned dcl 8-92 ref 172 208 Null_date_time 000000 constant char(16) initial packed unaligned dcl 441 ref 447 447 P_device_type parameter fixed bin(17,0) dcl 629 set ref 624 676* P_highest_record parameter fixed bin(18,0) dcl 458 set ref 455 490* 494* P_info based structure level 1 dcl 704 P_info_ptr parameter pointer dcl 703 ref 700 707 708 709 714 715 716 721 721 P_name parameter char packed unaligned dcl 627 ref 624 637 P_report parameter bit(1) dcl 686 ref 683 709 716 P_type parameter char packed unaligned dcl 628 set ref 624 648* Sequential_input constant fixed bin(17,0) initial dcl 5-15 set ref 153* 192* Sequential_update constant fixed bin(17,0) initial dcl 5-15 set ref 197* WHOAMI 000221 constant char(32) initial packed unaligned dcl 1-41 set ref 131* 133* 140* 148* 168* 173* 188* 201* 212* 214* 223* 224* 226* 245* 280* 286* 327* 337* 350* 357* 389* 397* 411* 469* 512* 528* 536* 540* 550* 558* 562* 571* 581* 588* 596* 603* 603* 614* 648* 659* 671* 692* 709* 716* addr builtin function dcl 107 ref 153 153 166 166 192 192 197 197 199 199 220 253 253 253 253 264 264 264 264 321 355 355 373 373 378 378 383 383 385 385 467 467 480 487 655 689 689 690 690 all_free_in_word_mask 007647 constant bit(32) initial packed unaligned dcl 463 ref 488 alt_mode 000420 automatic char(32) packed unaligned dcl 59 set ref 125* 153* 185* 192* 197* answer_iocbp 6 000472 automatic pointer initial level 2 dcl 7-7 set ref 7-7* arg based char packed unaligned dcl 507 set ref 518 518 519 520 521 521 522 522 523 523 524 528* 532 534* 546 550* 554 556* 567 568 568 571* 575 576 578 581* 587 588* 592 593 596* arg_count 000610 automatic fixed bin(17,0) dcl 503 set ref 510* 516 527 549 570 arg_idx 000611 automatic fixed bin(17,0) dcl 504 set ref 516* 517* 526* 526 527 531* 548* 548 549 553* 569* 569 570 574* arg_lth 000614 automatic fixed bin(21,0) dcl 506 set ref 517* 518 518 519 520 521 521 522 522 523 523 524 528 528 531* 532 534 534 546 550 550 553* 554 556 556 567 568 568 571 571 574* 575 576 578 581 581 587 588 588 592 593 596 596 arg_ptr 000612 automatic pointer dcl 505 set ref 517* 518 518 519 520 521 521 522 522 523 523 524 528 531* 532 534 546 550 553* 554 556 567 568 568 571 574* 575 576 578 581 587 588 592 593 596 array 10 based structure array level 2 dcl 6-23 set ref 655 ask_user 000363 automatic bit(1) dcl 37 set ref 121* 209* 222 attached 12 based bit(1) level 2 in structure "P_info" dcl 704 in procedure "close" ref 714 attached 12 based bit(1) level 2 in structure "p_info" dcl 305 in procedure "open" set ref 311 331* bad 000627 automatic bit(1) dcl 632 set ref 638* 639* 640* 641* 642* 644* 645* 647 base_add 1 based fixed bin(17,0) level 2 dcl 9-5 ref 490 494 bit_idx 000576 automatic fixed bin(17,0) dcl 459 set ref 478* 479 479* 481 481 bit_map 100 based bit(36) array level 2 dcl 9-5 set ref 480 486 487 bit_map_n_words 3 based fixed bin(17,0) level 2 dcl 9-5 ref 480 483 486 bit_map_word based structure level 1 dcl 10-14 bit_map_wordp 000514 automatic pointer dcl 10-4 set ref 480* 481 481 487* 488 492 bits 0(01) based bit(32) level 2 packed packed unaligned dcl 10-14 set ref 481 481 488 492* bounds 30 000232 automatic structure level 2 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 407* bounds 30 000100 automatic structure level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 407 bounds 30 based structure level 2 in structure "p_info" dcl 305 in procedure "open" set ref 355 355 brief_sw 000364 automatic bit(1) dcl 38 set ref 119* 166* 199* 245 253* 264* 266 275 278 467* 518* 521* char builtin function dcl 107 ref 587 chars_per_sector 33 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 159* check_gate_access_ 000022 constant entry external dcl 74 ref 146 check_sw 000365 automatic bit(1) dcl 39 set ref 119* 344 522* 523* cleanup 000456 stack reference condition dcl 105 ref 128 clock builtin function dcl 107 ref 242 280 code 000451 automatic fixed bin(35,0) dcl 63 set ref 131* 132 133* 138* 139 140* 146* 147 148* 166* 167 168* 186* 187 188* 199* 200 201* 253* 264* 272 325* 326 327* 335* 336 337* 348* 349 350* 355* 356 357* 467* 468 469* 510* 511 512* 534* 535 556* 557 708* 709 709* 715* 716 716* codeptr builtin function dcl 107 ref 325 325 com_err_ 000036 constant entry external dcl 81 ref 133 140 148 168 173 188 201 327 337 350 357 389 397 411 469 512 528 536 540 550 558 562 571 581 588 596 603 614 648 659 671 709 716 command_query_$yes_no 000034 constant entry external dcl 80 ref 212 224 copy_disk_copy_ 000024 constant entry external dcl 75 ref 253 264 copy_disk_info based structure level 1 dcl 1-14 copy_disk_io_$read 000026 constant entry external dcl 77 ref 166 199 467 copy_disk_io_$record_to_sector 000030 constant entry external dcl 78 ref 373 378 copy_disk_io_$sector_to_record 000032 constant entry external dcl 79 ref 383 385 copy_finished 000373 automatic bit(1) dcl 47 set ref 119* 273* 278 280 copy_started 000372 automatic bit(1) dcl 46 set ref 119* 251* 278 cp_escape_control 1(02) 000472 automatic bit(2) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* cu_$arg_count 000040 constant entry external dcl 82 ref 510 cu_$arg_ptr 000042 constant entry external dcl 83 ref 517 531 553 574 cv_dec_check_ 000044 constant entry external dcl 84 ref 534 556 cylinder_idx 000375 automatic fixed bin(17,0) dcl 49 set ref 253* 264* 280* date_time parameter fixed bin(71,0) dcl 437 set ref 434 443 446* date_time_ 000100 constant entry external dcl 440 ref 446 date_time_string 000100 automatic char(24) packed unaligned dcl 438 set ref 446* 447 449 deleted 2(13) based bit(1) level 2 packed packed unaligned dcl 6-35 ref 667 desc 46 based varying char(200) level 2 dcl 305 set ref 317* 318* 318 319* 319 320* 320 321* 321 323* 323 325 327* 337* device based char(32) level 2 in structure "P_info" packed packed unaligned dcl 704 in procedure "close" set ref 709* 716* device based char(32) level 2 in structure "p_info" packed packed unaligned dcl 305 in procedure "open" set ref 323 350* 357* device 000100 automatic char(32) level 2 in structure "source" packed packed unaligned dcl 34 in procedure "copy_disk_volume" set ref 114* 168* 173* 188* 206* 245* 286* 389* 397* 469* 576 592 592* 610* 613 614* device 000232 automatic char(32) level 2 in structure "target" packed packed unaligned dcl 35 in procedure "copy_disk_volume" set ref 201* 210* 212* 223* 245* 286* 389* 397* 578 593 593* 602 611* 613 device_names 000210 constant char(4) initial array dcl 2-66 set ref 206* 210* 318 device_type 10 000100 automatic fixed bin(17,0) level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 155 156 157 158 166 181 206 233 409 411* 467 467 467 610* device_type 10 based fixed bin(17,0) level 2 in structure "p_info" dcl 305 in procedure "open" ref 318 device_type 2 based fixed bin(8,0) level 2 in structure "dte" packed packed unaligned dcl 6-35 in procedure "copy_disk_volume" ref 676 device_type 10 000232 automatic fixed bin(17,0) level 2 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 199 210 409 411* 611* devx 000630 automatic fixed bin(17,0) dcl 633 set ref 654* 655* disk_name 000624 automatic varying char(8) dcl 631 set ref 637* 638 639 640 641 642 642 648* 656 659* 671* disk_parameters 32 000232 automatic structure level 2 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 196* disk_parameters 32 000100 automatic structure level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 196 divide builtin function dcl 107 ref 160 467 467 drive_name based char(8) level 2 dcl 6-35 ref 656 dt based structure level 1 dcl 6-23 dte based structure level 1 dcl 6-35 dtep 000470 automatic pointer dcl 6-17 set ref 655* 656 662 662 667 676 dtp 000466 automatic pointer dcl 6-17 set ref 136* 138* 654 655 entries_per_word 007646 constant fixed bin(17,0) initial dcl 464 ref 478 479 483 492 error_table_$bad_arg 000010 external static fixed bin(35,0) dcl 68 set ref 540* 562* error_table_$bad_conversion 000014 external static fixed bin(35,0) dcl 70 set ref 536* 558* error_table_$badopt 000012 external static fixed bin(35,0) dcl 69 set ref 528* 550* 571* 581* 588* error_table_$noarg 000016 external static fixed bin(35,0) dcl 71 set ref 603* error_table_$too_many_args 000020 external static fixed bin(35,0) dcl 72 set ref 596* errors 42 000232 automatic fixed bin(17,0) level 2 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 280 286 286 286* 286 errors 42 000100 automatic fixed bin(17,0) level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 280 286 286 286* 286 et_number 000376 automatic fixed bin(17,0) dcl 50 set ref 123* 250 556* 561 609 et_sw 000366 automatic bit(1) dcl 40 set ref 119* 547* explanation_len 14 000472 automatic fixed bin(21,0) initial level 2 dcl 7-7 set ref 7-7* explanation_ptr 12 000472 automatic pointer initial level 2 dcl 7-7 set ref 7-7* find_bit_$last_off 000102 constant entry external dcl 460 ref 481 492 first_record 000400 automatic fixed bin(18,0) dcl 52 set ref 122* 245* 373 373* 383* 389* first_sector 000556 automatic fixed bin(35,0) dcl 369 set ref 373* 376* 383* 388 388 389 404 float builtin function dcl 107 ref 280 280 frec 1005 based fixed bin(17,0) array level 3 dcl 8-18 ref 262 263 get_temp_segments_ 000046 constant entry external dcl 85 ref 131 high_bound 31 000232 automatic fixed bin(35,0) level 3 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 396 high_bound 31 000100 automatic fixed bin(35,0) level 3 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 262* 381 396 397 405* idx 000377 automatic fixed bin(17,0) dcl 51 set ref 258* 259 261 262 263 266* 424* 426* 486* 487* 492 index builtin function dcl 107 ref 532 554 575 ioa_ 000050 constant entry external dcl 86 ref 206 207 210 211 214 223 226 245 266 275 280 286 iocb 24 000100 automatic pointer level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 113* 186* iocb 24 based pointer level 2 in structure "P_info" dcl 704 in procedure "close" set ref 708* 715* 721 721* iocb 24 based pointer level 2 in structure "p_info" dcl 305 in procedure "open" set ref 315* 325* 335* 348* 355* iocb_name 14 based char(32) level 2 packed packed unaligned dcl 305 set ref 314* 315* 325* iox_$attach_name 000060 constant entry external dcl 4-8 ref 325 iox_$close 000062 constant entry external dcl 4-8 ref 186 708 iox_$control 000064 constant entry external dcl 4-8 ref 355 iox_$destroy_iocb 000066 constant entry external dcl 4-8 ref 721 iox_$detach_iocb 000070 constant entry external dcl 4-8 ref 715 iox_$find_iocb 000072 constant entry external dcl 4-8 ref 315 iox_$modes 000074 constant entry external dcl 4-8 ref 348 iox_$open 000076 constant entry external dcl 4-8 ref 335 iox_modes 000014 constant char(24) initial array dcl 5-6 set ref 337* label based structure level 1 dcl 8-18 labelp 000510 automatic pointer dcl 8-16 set ref 257* 258 258 259 261 262 263 266 last_record 000401 automatic fixed bin(18,0) dcl 53 set ref 122* 245* 378 378 385* 397* last_record_bit 000577 automatic fixed bin(24,0) dcl 461 set ref 481* 482 483 last_sector 000557 automatic fixed bin(35,0) dcl 370 set ref 378* 381* 385* 396 396 397 405 last_volmap_entry 000600 automatic fixed bin(17,0) dcl 462 set ref 483* 492* 494 lbound builtin function dcl 107 ref 486 length builtin function dcl 439 in procedure "cv_time" ref 447 length builtin function dcl 107 in procedure "copy_disk_volume" ref 638 642 literal_sw 1(05) 000472 automatic bit(1) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* low_bound 30 000100 automatic fixed bin(35,0) level 3 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 263* 376 388 389 404* low_bound 30 000232 automatic fixed bin(35,0) level 3 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 388 lve based structure level 1 dcl 6-58 mdc_$read_disk_table 000052 constant entry external dcl 87 ref 138 mod builtin function dcl 107 ref 478 mode 11 based fixed bin(17,0) level 2 dcl 305 set ref 334* 335* 337 msu0451devt constant fixed bin(4,0) initial dcl 2-43 ref 181 n_entries based fixed bin(17,0) level 2 dcl 6-23 ref 654 n_rec based fixed bin(17,0) level 2 dcl 9-5 ref 478 n_records 40 000100 automatic fixed bin(18,0) level 3 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 233* 235* 238 261* 262 n_records 40 000232 automatic fixed bin(18,0) level 3 in structure "target" dcl 35 in procedure "copy_disk_volume" set ref 238* nparts 1003 based fixed bin(17,0) level 2 dcl 8-18 ref 258 258 424 424 nrec 1006 based fixed bin(17,0) array level 3 dcl 8-18 ref 261 null builtin function dcl 107 ref 113 117 146 146 7-7 7-7 7-7 692 694 721 opened 13 based bit(1) level 2 in structure "P_info" dcl 704 in procedure "close" ref 707 opened 13 000100 automatic bit(1) level 2 in structure "source" dcl 34 in procedure "copy_disk_volume" set ref 191* opened 13 based bit(1) level 2 in structure "p_info" dcl 305 in procedure "open" set ref 342* p_info based structure level 1 dcl 305 p_info_ptr parameter pointer dcl 301 ref 298 311 314 315 315 317 318 318 318 319 319 320 320 321 321 321 323 323 323 325 325 325 327 331 334 335 335 337 337 342 348 350 355 355 355 357 p_mode parameter fixed bin(17,0) dcl 304 ref 298 334 p_partitions_used parameter bit(1) dcl 422 set ref 419 426* p_pv_name parameter char(32) packed unaligned dcl 303 ref 298 312 313 p_rdisk_modes parameter char(32) packed unaligned dcl 302 ref 298 309 padding 1(07) 000472 automatic bit(29) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* part 1004 based char(4) array level 3 dcl 8-18 set ref 259 266* 426 parts 1004 based structure array level 2 dcl 8-18 problem 000631 automatic varying char(70) dcl 634 set ref 662* 666* 667* 668* 670 671* prompt_after_explanation 1(06) 000472 automatic bit(1) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* pv_name 521 based char(32) level 2 in structure "label" dcl 8-18 in procedure "copy_disk_volume" set ref 206* 210* pv_name 000530 automatic char(32) packed unaligned dcl 306 in procedure "open" set ref 312* 313* 319 query_code 3 000472 automatic fixed bin(35,0) initial level 2 dcl 7-7 set ref 7-7* query_info 000472 automatic structure level 1 dcl 7-7 query_sw 000367 automatic bit(1) dcl 41 set ref 121* 166* 199* 253* 264* 467* 519* 520* question_iocbp 4 000472 automatic pointer initial level 2 dcl 7-7 set ref 7-7* rdisk_modes 000540 automatic char(32) packed unaligned dcl 307 set ref 309* 344* 344 346* 346 348* 350* rec_per_cyl 000165 constant fixed bin(17,0) initial array dcl 2-108 ref 157 rec_per_sv 000177 constant fixed bin(17,0) initial array dcl 2-90 ref 233 records_per_cylinder 36 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 157* release_temp_segments_ 000054 constant entry external dcl 88 ref 692 repeat_time 10 000472 automatic fixed bin(71,0) initial level 2 dcl 7-7 set ref 7-7* retry_sw 000374 automatic bit(1) dcl 48 set ref 119* 166* 199* 250* 253* 264* 467* rtrim builtin function dcl 107 ref 319 323 344 346 637 sect_per_cyl 000154 constant fixed bin(17,0) initial array dcl 3-15 ref 155 sect_per_rec 000143 constant fixed bin(17,0) initial array dcl 3-21 ref 156 166 199 467 sectors_per_cylinder 34 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 155* sectors_per_io 37 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 160* sectors_per_record 35 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 156* seek_command 000464 automatic bit(6) initial array packed unaligned dcl 2-84 set ref 2-84* 2-84* 2-84* 2-84* 2-84* 2-84* 2-84* 2-84* 2-84* size builtin function dcl 107 ref 467 467 source 000100 automatic structure level 1 dcl 34 set ref 112* 115 153 153 166 166 192 192 253 253 264 264 373 373 378 378 383 383 385 385 467 467 689 689 source_labelp 000404 automatic pointer dcl 55 set ref 165* 166* 172 206 206 207 233 257 424 424 426 source_pv_name 000431 automatic char(32) packed unaligned dcl 61 set ref 126* 153* 192* 576 576* 578 start_clock_time 000452 automatic fixed bin(71,0) dcl 65 set ref 242* 280 start_cpu_time 000454 automatic fixed bin(71,0) dcl 66 set ref 243* 280 status_code 2 000472 automatic fixed bin(35,0) initial level 2 dcl 7-7 set ref 7-7* storage_system 2(11) based bit(1) level 2 packed packed unaligned dcl 6-35 ref 662 substr builtin function dcl 439 in procedure "cv_time" ref 447 substr builtin function dcl 107 in procedure "copy_disk_volume" ref 481 481 639 640 641 642 suppress_name_sw 1(01) 000472 automatic bit(1) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* suppress_spacing 1(04) 000472 automatic bit(1) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* switches 1 000472 automatic structure level 2 dcl 7-7 target 000232 automatic structure level 1 dcl 35 set ref 115* 197 197 199 199 220 253 253 264 264 321 690 690 target_info_ptr 26 000100 automatic pointer level 2 dcl 34 set ref 220* target_labelp 000406 automatic pointer dcl 56 set ref 198* 199* 208 210 210 211 target_pv_name 000441 automatic char(32) packed unaligned dcl 62 set ref 126* 197* 578 578* temp_seg_ptr 000410 automatic pointer array dcl 57 set ref 117* 131* 136 165 198 466 692 692* 694* threshold 43 000100 automatic fixed bin(17,0) level 2 dcl 34 set ref 609* time_unmounted 612 based fixed bin(71,0) level 2 dcl 8-18 set ref 207* 211* trace_every_n 000402 automatic fixed bin(17,0) dcl 54 set ref 124* 534* 539 543 trace_parm 44 000100 automatic fixed bin(17,0) level 2 dcl 34 set ref 543* trace_sw 000370 automatic bit(1) dcl 42 set ref 119* 253* 264* 525* 567* unique_chars_ 000056 constant entry external dcl 89 ref 314 unspec builtin function dcl 107 set ref 112* use_alt_partition 000371 automatic bit(1) dcl 43 set ref 121* 182* 183* 184 used 2(09) based bit(1) level 2 packed packed unaligned dcl 6-35 ref 662 valid_sv_string 000176 constant char(3) initial packed unaligned dcl 2-96 ref 642 vclock builtin function dcl 107 ref 243 280 verify builtin function dcl 107 ref 641 642 vol_map based structure level 1 dcl 9-5 set ref 467 467 vol_mapp 000512 automatic pointer dcl 9-3 set ref 466* 467* 467 467 478 480 480 483 486 486 487 490 494 vol_trouble_count 716 based fixed bin(17,0) level 2 dcl 8-18 ref 233 words_per_sect 000132 constant fixed bin(17,0) initial array dcl 3-36 ref 158 467 467 words_per_sector 32 000100 automatic fixed bin(17,0) level 3 dcl 34 set ref 158* 159 160 yes_or_no_sw 1 000472 automatic bit(1) initial level 3 packed packed unaligned dcl 7-7 set ref 7-7* yes_sw 000430 automatic bit(1) packed unaligned dcl 60 set ref 212* 213 224* 225 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Direct_input internal static fixed bin(17,0) initial dcl 5-15 Direct_output internal static fixed bin(17,0) initial dcl 5-15 Direct_update internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 5-15 MODEL internal static fixed bin(17,0) initial array dcl 2-57 MODELN internal static fixed bin(17,0) initial array dcl 2-63 MODELX internal static fixed bin(17,0) initial array dcl 2-60 POSITION_ABSOLUTE internal static fixed bin(17,0) initial dcl 1-48 POSITION_BEGINNING internal static fixed bin(17,0) initial dcl 1-46 POSITION_RELATIVE internal static fixed bin(17,0) initial dcl 1-47 READ internal static fixed bin(17,0) initial dcl 1-43 Sequential_input_output internal static fixed bin(17,0) initial dcl 5-15 Sequential_output internal static fixed bin(17,0) initial dcl 5-15 Stream_input internal static fixed bin(17,0) initial dcl 5-15 Stream_input_output internal static fixed bin(17,0) initial dcl 5-15 Stream_output internal static fixed bin(17,0) initial dcl 5-15 WRITE internal static fixed bin(17,0) initial dcl 1-44 bulkdevt internal static fixed bin(4,0) initial dcl 2-43 cyl_per_dev internal static fixed bin(17,0) initial array dcl 2-102 cyl_per_sv internal static fixed bin(17,0) initial array dcl 2-105 dev_time internal static float bin(27) initial array dcl 2-139 dsu181devt internal static fixed bin(4,0) initial dcl 2-43 dsu190devt internal static fixed bin(4,0) initial dcl 2-43 dsu191devt internal static fixed bin(4,0) initial dcl 2-43 fips3380devt internal static fixed bin(4,0) initial dcl 2-43 fips3381devt internal static fixed bin(4,0) initial dcl 2-43 fips_type_disk internal static bit(1) initial array packed unaligned dcl 2-72 first_alt_sect_num internal static fixed bin(24,0) initial array dcl 2-130 first_dev_number internal static fixed bin(17,0) initial array dcl 2-69 first_rec_num internal static fixed bin(17,0) initial array dcl 2-115 first_sect_num internal static fixed bin(24,0) initial array dcl 2-124 iox_$attach_loud 000000 constant entry external dcl 4-8 iox_$attach_ptr 000000 constant entry external dcl 4-8 iox_$close_file 000000 constant entry external dcl 4-8 iox_$delete_record 000000 constant entry external dcl 4-8 iox_$detach 000000 constant entry external dcl 4-8 iox_$err_no_operation 000000 constant entry external dcl 4-8 iox_$err_not_attached 000000 constant entry external dcl 4-8 iox_$err_not_closed 000000 constant entry external dcl 4-8 iox_$err_not_open 000000 constant entry external dcl 4-8 iox_$error_output external static pointer dcl 4-41 iox_$find_iocb_n 000000 constant entry external dcl 4-8 iox_$get_chars 000000 constant entry external dcl 4-8 iox_$get_line 000000 constant entry external dcl 4-8 iox_$look_iocb 000000 constant entry external dcl 4-8 iox_$move_attach 000000 constant entry external dcl 4-8 iox_$open_file 000000 constant entry external dcl 4-8 iox_$position 000000 constant entry external dcl 4-8 iox_$propagate 000000 constant entry external dcl 4-8 iox_$put_chars 000000 constant entry external dcl 4-8 iox_$read_key 000000 constant entry external dcl 4-8 iox_$read_length 000000 constant entry external dcl 4-8 iox_$read_record 000000 constant entry external dcl 4-8 iox_$rewrite_record 000000 constant entry external dcl 4-8 iox_$seek_key 000000 constant entry external dcl 4-8 iox_$user_input external static pointer dcl 4-41 iox_$user_io external static pointer dcl 4-41 iox_$user_output external static pointer dcl 4-41 iox_$write_record 000000 constant entry external dcl 4-8 last_alt_sect_num internal static fixed bin(24,0) initial array dcl 2-133 last_physical_sect_num internal static fixed bin(24,0) initial array dcl 2-136 last_rec_num internal static fixed bin(18,0) initial array dcl 2-118 last_sect_num internal static fixed bin(24,0) initial array dcl 2-127 last_sv_rec_num internal static fixed bin(18,0) initial array dcl 2-121 lvep automatic pointer dcl 6-17 maxdevt internal static fixed bin(4,0) initial dcl 2-43 media_removable internal static bit(1) initial array packed unaligned dcl 2-75 msu0400devt internal static fixed bin(4,0) initial dcl 2-43 msu0450devt internal static fixed bin(4,0) initial dcl 2-43 msu0500devt internal static fixed bin(4,0) initial dcl 2-43 msu0501devt internal static fixed bin(4,0) initial dcl 2-43 needs_alt_part internal static bit(1) initial array packed unaligned dcl 2-81 number_of_sv internal static fixed bin(17,0) initial array dcl 2-93 query_info_version_3 internal static fixed bin(17,0) initial dcl 7-33 query_info_version_4 internal static fixed bin(17,0) initial dcl 7-34 query_info_version_5 internal static fixed bin(17,0) initial dcl 7-35 query_info_version_6 internal static fixed bin(17,0) initial dcl 7-36 rec_per_dev internal static fixed bin(21,0) initial array dcl 2-87 sect_per_sv internal static fixed bin(24,0) initial array dcl 3-18 sect_per_track internal static fixed bin(17,0) initial array dcl 3-33 sect_per_vtoc internal static fixed bin(17,0) initial array dcl 3-26 shared_spindle internal static bit(1) initial array packed unaligned dcl 2-78 short_iox_modes internal static char(4) initial array dcl 5-12 tracks_per_cyl internal static fixed bin(17,0) initial array dcl 2-111 valid_sv_array internal static char(1) initial array packed unaligned dcl 2-99 vtoc_map based structure level 1 dcl 10-6 vtoc_mapp automatic pointer dcl 10-3 vtoc_per_rec internal static fixed bin(17,0) initial array dcl 3-29 NAMES DECLARED BY EXPLICIT CONTEXT. FOUND_THE_DISK 007004 constant label dcl 662 ref 656 GOT_ONE 005411 constant label dcl 518 ref 532 554 575 MAIN_RETURN 003314 constant label dcl 278 ref 134 141 169 174 189 328 339 352 358 393 401 412 470 513 529 537 541 551 559 563 572 582 589 598 606 615 651 660 673 check_compatibility 004465 constant entry internal dcl 366 ref 240 check_disk 006544 constant entry internal dcl 624 ref 610 611 check_for_alt_partition 004773 constant entry internal dcl 419 ref 183 clean_up 007111 constant entry internal dcl 683 ref 128 149 215 227 293 close 007163 constant entry internal dcl 700 ref 689 690 copy_disk_volume 001420 constant entry external dcl 24 ref 325 325 cv_time 005026 constant entry internal dcl 434 ref 207 211 found_last 005302 constant label dcl 492 ref 488 get_highest_record 005106 constant entry internal dcl 455 ref 235 open 003516 constant entry internal dcl 298 ref 153 192 197 process_arguments 005332 constant entry internal dcl 500 ref 144 set_last_volmap_record 005325 constant label dcl 494 ref 484 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 10242 10346 7653 10252 Length 11050 7653 104 465 366 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME copy_disk_volume 902 external procedure is an external procedure. on unit on line 128 72 on unit open internal procedure shares stack frame of external procedure copy_disk_volume. check_compatibility internal procedure shares stack frame of external procedure copy_disk_volume. check_for_alt_partition internal procedure shares stack frame of external procedure copy_disk_volume. cv_time 80 internal procedure uses returns(char(*)) or returns(bit(*)). get_highest_record internal procedure shares stack frame of external procedure copy_disk_volume. process_arguments internal procedure shares stack frame of external procedure copy_disk_volume. check_disk internal procedure shares stack frame of external procedure copy_disk_volume. clean_up 113 internal procedure is called by several nonquick procedures. close internal procedure shares stack frame of internal procedure clean_up. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME copy_disk_volume 000100 source copy_disk_volume 000232 target copy_disk_volume 000363 ask_user copy_disk_volume 000364 brief_sw copy_disk_volume 000365 check_sw copy_disk_volume 000366 et_sw copy_disk_volume 000367 query_sw copy_disk_volume 000370 trace_sw copy_disk_volume 000371 use_alt_partition copy_disk_volume 000372 copy_started copy_disk_volume 000373 copy_finished copy_disk_volume 000374 retry_sw copy_disk_volume 000375 cylinder_idx copy_disk_volume 000376 et_number copy_disk_volume 000377 idx copy_disk_volume 000400 first_record copy_disk_volume 000401 last_record copy_disk_volume 000402 trace_every_n copy_disk_volume 000404 source_labelp copy_disk_volume 000406 target_labelp copy_disk_volume 000410 temp_seg_ptr copy_disk_volume 000420 alt_mode copy_disk_volume 000430 yes_sw copy_disk_volume 000431 source_pv_name copy_disk_volume 000441 target_pv_name copy_disk_volume 000451 code copy_disk_volume 000452 start_clock_time copy_disk_volume 000454 start_cpu_time copy_disk_volume 000464 seek_command copy_disk_volume 000466 dtp copy_disk_volume 000470 dtep copy_disk_volume 000472 query_info copy_disk_volume 000510 labelp copy_disk_volume 000512 vol_mapp copy_disk_volume 000514 bit_map_wordp copy_disk_volume 000530 pv_name open 000540 rdisk_modes open 000556 first_sector check_compatibility 000557 last_sector check_compatibility 000576 bit_idx get_highest_record 000577 last_record_bit get_highest_record 000600 last_volmap_entry get_highest_record 000610 arg_count process_arguments 000611 arg_idx process_arguments 000612 arg_ptr process_arguments 000614 arg_lth process_arguments 000624 disk_name check_disk 000627 bad check_disk 000630 devx check_disk 000631 problem check_disk cv_time 000100 date_time_string cv_time THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_g_a r_e_as r_ne_as alloc_char_temp alloc_bit_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other return_mac mdfx1 enable_op shorten_stack ext_entry int_entry int_entry_desc return_chars_eis clock_mac vclock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. check_gate_access_ com_err_ command_query_$yes_no copy_disk_copy_ copy_disk_io_$read copy_disk_io_$record_to_sector copy_disk_io_$sector_to_record cu_$arg_count cu_$arg_ptr cv_dec_check_ date_time_ find_bit_$last_off get_temp_segments_ ioa_ iox_$attach_name iox_$close iox_$control iox_$destroy_iocb iox_$detach_iocb iox_$find_iocb iox_$modes iox_$open mdc_$read_disk_table release_temp_segments_ unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$bad_conversion error_table_$badopt error_table_$noarg error_table_$too_many_args CONSTANTS 007344 aa 000002000000 007345 aa 000000000000 007346 aa 600000000041 007347 aa 000106000000 007350 aa 777 777 777 777 ÿÿÿÿ 007351 aa 777 777 777 777 ÿÿÿÿ 007352 aa 777 777 777 777 ÿÿÿÿ 007353 aa 777 777 777 777 ÿÿÿÿ 007354 aa 777 777 777 777 ÿÿÿÿ 007355 aa 777 777 777 777 ÿÿÿÿ 007356 aa 777 777 777 777 ÿÿÿÿ 007357 aa 777 777 777 777 ÿÿÿÿ 007360 aa 777 777 777 777 ÿÿÿÿ 007361 aa 777 777 777 777 ÿÿÿÿ 007362 aa 777 777 777 777 ÿÿÿÿ 007363 aa 777 777 777 777 ÿÿÿÿ 007364 aa 000 000 000 000 007365 aa 000 000 000 000 007366 aa 000 000 777 777 ÿÿ 007367 aa 777 777 777 777 ÿÿÿÿ 007370 aa 777 777 777 777 ÿÿÿÿ 007371 aa 777 777 777 777 ÿÿÿÿ 007372 aa 777 777 777 777 ÿÿÿÿ 007373 aa 777 777 777 777 ÿÿÿÿ 007374 aa 777 777 777 777 ÿÿÿÿ 007375 aa 777 777 777 777 ÿÿÿÿ 007376 aa 777 777 777 777 ÿÿÿÿ 007377 aa 777 777 777 777 ÿÿÿÿ 007400 aa 777 777 777 777 ÿÿÿÿ 007401 aa 777 777 777 777 ÿÿÿÿ 007402 aa 777 777 777 777 ÿÿÿÿ 007403 aa 777 777 777 777 ÿÿÿÿ 007404 aa 777 777 777 777 ÿÿÿÿ 007405 aa 777 777 777 777 ÿÿÿÿ 007406 aa 777 777 777 777 ÿÿÿÿ 007407 aa 777 777 777 777 ÿÿÿÿ 007410 aa 777 777 777 777 ÿÿÿÿ 007411 aa 777 777 777 777 ÿÿÿÿ 007412 aa 777 777 777 777 ÿÿÿÿ 007413 aa 777 777 777 777 ÿÿÿÿ 007414 aa 777 777 777 777 ÿÿÿÿ 007415 aa 777 777 777 777 ÿÿÿÿ 007416 aa 777 777 777 777 ÿÿÿÿ 007417 aa 777 777 777 777 ÿÿÿÿ 007420 aa 777 777 777 777 ÿÿÿÿ 007421 aa 777 777 777 777 ÿÿÿÿ 007422 aa 777 777 777 777 ÿÿÿÿ 007423 aa 777 777 777 777 ÿÿÿÿ 007424 aa 777 777 777 777 ÿÿÿÿ 007425 aa 777 777 777 777 ÿÿÿÿ 007426 aa 777 777 777 777 ÿÿÿÿ 007427 aa 777 777 777 777 ÿÿÿÿ 007430 aa 777 777 777 777 ÿÿÿÿ 007431 aa 777 777 777 777 ÿÿÿÿ 007432 aa 777 777 777 777 ÿÿÿÿ 007433 aa 777 777 777 777 ÿÿÿÿ 007434 aa 777 777 777 777 ÿÿÿÿ 007435 aa 777 777 777 777 ÿÿÿÿ 007436 aa 777 777 777 777 ÿÿÿÿ 007437 aa 777 777 777 777 ÿÿÿÿ 007440 aa 777 777 777 777 ÿÿÿÿ 007441 aa 777 777 777 777 ÿÿÿÿ 007442 aa 777 777 777 777 ÿÿÿÿ 007443 aa 777 777 777 777 ÿÿÿÿ 007444 aa 777 777 777 777 ÿÿÿÿ 007445 aa 777 777 777 777 ÿÿÿÿ 007446 aa 777 777 777 777 ÿÿÿÿ 007447 aa 777 777 777 777 ÿÿÿÿ 007450 aa 777 777 777 777 ÿÿÿÿ 007451 aa 777 777 777 777 ÿÿÿÿ 007452 aa 777 777 777 777 ÿÿÿÿ 007453 aa 777 777 777 777 ÿÿÿÿ 007454 aa 777 777 777 777 ÿÿÿÿ 007455 aa 777 777 777 777 ÿÿÿÿ 007456 aa 777 777 777 777 ÿÿÿÿ 007457 aa 777 777 777 777 ÿÿÿÿ 007460 aa 777 777 777 777 ÿÿÿÿ 007461 aa 777 777 777 777 ÿÿÿÿ 007462 aa 777 777 777 777 ÿÿÿÿ 007463 aa 777 777 777 777 ÿÿÿÿ 007464 aa 777 777 777 777 ÿÿÿÿ 007465 aa 777 777 777 777 ÿÿÿÿ 007466 aa 777 777 777 777 ÿÿÿÿ 007467 aa 777 777 777 777 ÿÿÿÿ 007470 aa 777 777 777 777 ÿÿÿÿ 007471 aa 777 777 777 777 ÿÿÿÿ 007472 aa 777 777 777 777 ÿÿÿÿ 007473 aa 777 777 777 777 ÿÿÿÿ 007474 aa 777 777 777 777 ÿÿÿÿ 007475 aa 777 777 777 777 ÿÿÿÿ 007476 aa 777 777 777 777 ÿÿÿÿ 007477 aa 777 777 777 777 ÿÿÿÿ 007500 aa 777 777 777 777 ÿÿÿÿ 007501 aa 777 777 777 777 ÿÿÿÿ 007502 aa 777 777 777 777 ÿÿÿÿ 007503 aa 777 777 777 777 ÿÿÿÿ 007504 aa 777 777 777 777 ÿÿÿÿ 007505 aa 777 777 777 777 ÿÿÿÿ 007506 aa 777 777 777 777 ÿÿÿÿ 007507 aa 777 777 777 777 ÿÿÿÿ 007510 aa 777 777 777 777 ÿÿÿÿ 007511 aa 777 777 777 777 ÿÿÿÿ 007512 aa 777 777 777 777 ÿÿÿÿ 007513 aa 777 777 777 777 ÿÿÿÿ 007514 aa 777 777 777 777 ÿÿÿÿ 007515 aa 777 777 777 777 ÿÿÿÿ 007516 aa 777 777 777 777 ÿÿÿÿ 007517 aa 777 777 777 777 ÿÿÿÿ 007520 aa 777 777 777 777 ÿÿÿÿ 007521 aa 777 777 777 777 ÿÿÿÿ 007522 aa 777 777 777 777 ÿÿÿÿ 007523 aa 777 777 777 777 ÿÿÿÿ 007524 aa 777 777 777 777 ÿÿÿÿ 007525 aa 777 777 777 777 ÿÿÿÿ 007526 aa 777 777 777 777 ÿÿÿÿ 007527 aa 777 777 777 777 ÿÿÿÿ 007530 aa 777 777 777 777 ÿÿÿÿ 007531 aa 777 777 777 777 ÿÿÿÿ 007532 aa 777 777 777 777 ÿÿÿÿ 007533 aa 777 777 777 777 ÿÿÿÿ 007534 aa 777 777 777 777 ÿÿÿÿ 007535 aa 777 777 777 777 ÿÿÿÿ 007536 aa 777 777 777 777 ÿÿÿÿ 007537 aa 777 777 777 777 ÿÿÿÿ 007540 aa 777 777 777 777 ÿÿÿÿ 007541 aa 777 777 777 777 ÿÿÿÿ 007542 aa 777 777 777 777 ÿÿÿÿ 007543 aa 777 777 777 777 ÿÿÿÿ 007544 aa 777 777 777 777 ÿÿÿÿ 007545 aa 777 777 777 777 ÿÿÿÿ 007546 aa 777 777 777 777 ÿÿÿÿ 007547 aa 777 777 777 777 ÿÿÿÿ 007550 aa 000006000000 007551 aa 000006000000 007552 aa 600000000041 007553 aa 000232000000 007554 aa 600000000041 007555 aa 001534000000 007556 aa 600000000041 007557 aa 000242000000 007560 ta 000332000000 007561 aa 000000000000 007562 ta 000243000000 007563 aa 000000000000 007564 ta 000300000000 007565 aa 000000000000 007566 aa 000006000000 007567 aa 000006000000 007570 aa 600000000041 007571 aa 000100000000 007572 aa 600000000041 007573 aa 001534000000 007574 aa 600000000041 007575 aa 000110000000 007576 ta 000332000000 007577 aa 000000000000 007600 ta 000243000000 007601 aa 000000000000 007602 ta 000300000000 007603 aa 000000000000 007604 aa 000002000000 007605 aa 000000000000 007606 aa 600000000041 007607 aa 000140000000 007610 aa 000010000000 007611 aa 000000000000 007612 aa 600000000041 007613 aa 000712000000 007614 aa 600000000041 007615 aa 000420000000 007616 aa 600000000041 007617 aa 000441000000 007620 ta 000273000000 007621 aa 000000000000 007622 aa 000002000000 007623 aa 000000000000 007624 aa 600000000041 007625 aa 000371000000 007626 aa 000010000000 007627 aa 000000000000 007630 aa 600000000041 007631 aa 000712000000 007632 aa 600000000041 007633 aa 000420000000 007634 aa 600000000041 007635 aa 000431000000 007636 ta 000333000000 007637 aa 000000000000 007640 aa 773777777777 007641 aa 767777777777 007642 aa 757777777777 007643 aa 637777777777 007644 aa 577777777777 007645 aa 377777777777 007647 aa 777777777760 000000 aa 060 061 057 060 01/0 000001 aa 061 057 060 061 1/01 000002 aa 040 040 060 060 00 000003 aa 060 060 056 060 00.0 000004 aa 115 165 154 164 Mult 000005 aa 151 143 163 040 ics 000006 aa 123 164 157 162 Stor 000007 aa 141 147 145 040 age 000010 aa 123 171 163 164 Syst 000011 aa 145 155 040 126 em V 000012 aa 157 154 165 155 olum 000013 aa 145 040 040 040 e 000014 aa 163 164 162 145 stre 000015 aa 141 155 137 151 am_i 000016 aa 156 160 165 164 nput 000017 aa 040 040 040 040 000020 aa 040 040 040 040 000021 aa 040 040 040 040 000022 aa 163 164 162 145 stre 000023 aa 141 155 137 157 am_o 000024 aa 165 164 160 165 utpu 000025 aa 164 040 040 040 t 000026 aa 040 040 040 040 000027 aa 040 040 040 040 000030 aa 163 164 162 145 stre 000031 aa 141 155 137 151 am_i 000032 aa 156 160 165 164 nput 000033 aa 137 157 165 164 _out 000034 aa 160 165 164 040 put 000035 aa 040 040 040 040 000036 aa 163 145 161 165 sequ 000037 aa 145 156 164 151 enti 000040 aa 141 154 137 151 al_i 000041 aa 156 160 165 164 nput 000042 aa 040 040 040 040 000043 aa 040 040 040 040 000044 aa 163 145 161 165 sequ 000045 aa 145 156 164 151 enti 000046 aa 141 154 137 157 al_o 000047 aa 165 164 160 165 utpu 000050 aa 164 040 040 040 t 000051 aa 040 040 040 040 000052 aa 163 145 161 165 sequ 000053 aa 145 156 164 151 enti 000054 aa 141 154 137 151 al_i 000055 aa 156 160 165 164 nput 000056 aa 137 157 165 164 _out 000057 aa 160 165 164 040 put 000060 aa 163 145 161 165 sequ 000061 aa 145 156 164 151 enti 000062 aa 141 154 137 165 al_u 000063 aa 160 144 141 164 pdat 000064 aa 145 040 040 040 e 000065 aa 040 040 040 040 000066 aa 153 145 171 145 keye 000067 aa 144 137 163 145 d_se 000070 aa 161 165 145 156 quen 000071 aa 164 151 141 154 tial 000072 aa 137 151 156 160 _inp 000073 aa 165 164 040 040 ut 000074 aa 153 145 171 145 keye 000075 aa 144 137 163 145 d_se 000076 aa 161 165 145 156 quen 000077 aa 164 151 141 154 tial 000100 aa 137 157 165 164 _out 000101 aa 160 165 164 040 put 000102 aa 153 145 171 145 keye 000103 aa 144 137 163 145 d_se 000104 aa 161 165 145 156 quen 000105 aa 164 151 141 154 tial 000106 aa 137 165 160 144 _upd 000107 aa 141 164 145 040 ate 000110 aa 144 151 162 145 dire 000111 aa 143 164 137 151 ct_i 000112 aa 156 160 165 164 nput 000113 aa 040 040 040 040 000114 aa 040 040 040 040 000115 aa 040 040 040 040 000116 aa 144 151 162 145 dire 000117 aa 143 164 137 157 ct_o 000120 aa 165 164 160 165 utpu 000121 aa 164 040 040 040 t 000122 aa 040 040 040 040 000123 aa 040 040 040 040 000124 aa 144 151 162 145 dire 000125 aa 143 164 137 165 ct_u 000126 aa 160 144 141 164 pdat 000127 aa 145 040 040 040 e 000130 aa 040 040 040 040 000131 aa 040 040 040 040 000132 aa 000000000000 000133 aa 000000000100 000134 aa 000000000100 000135 aa 000000000100 000136 aa 000000000100 000137 aa 000000000100 000140 aa 000000000100 000141 aa 000000001000 000142 aa 000000001000 000143 aa 000000000000 000144 aa 000000000020 000145 aa 000000000020 000146 aa 000000000020 000147 aa 000000000020 000150 aa 000000000020 000151 aa 000000000020 000152 aa 000000000002 000153 aa 000000000002 000154 aa 000000000000 000155 aa 000000001370 000156 aa 000000001370 000157 aa 000000001370 000160 aa 000000001115 000161 aa 000000000550 000162 aa 000000002400 000163 aa 000000000377 000164 aa 000000000377 000165 aa 000000000000 000166 aa 000000000057 000167 aa 000000000057 000170 aa 000000000057 000171 aa 000000000044 000172 aa 000000000026 000173 aa 000000000120 000174 aa 000000000177 000175 aa 000000000177 000176 aa 141 142 143 000 abc 000177 aa 000000000000 000200 aa 000000112562 000201 aa 000000112562 000202 aa 000000045506 000203 aa 000000034650 000204 aa 000000010534 000205 aa 000000203200 000206 aa 000000155506 000207 aa 000000222262 000210 aa 142 165 154 153 bulk 000211 aa 144 065 060 060 d500 000212 aa 144 064 065 061 d451 000213 aa 144 064 060 060 d400 000214 aa 144 061 071 060 d190 000215 aa 144 061 070 061 d181 000216 aa 144 065 060 061 d501 000217 aa 063 063 070 060 3380 000220 aa 063 063 070 061 3381 000221 aa 143 157 160 171 copy 000222 aa 137 144 151 163 _dis 000223 aa 153 137 166 157 k_vo 000224 aa 154 165 155 145 lume 000225 aa 040 040 040 040 000226 aa 040 040 040 040 000227 aa 040 040 040 040 000230 aa 040 040 040 040 000232 aa 162 143 160 137 rcp_ 000233 aa 163 171 163 137 sys_ 000234 aa 524000000026 000235 aa 530000000106 000236 aa 524000000047 000237 aa 530000000010 000240 aa 524000000061 000241 aa 144 163 153 000 dsk 000242 aa 524000000031 000243 aa 524000000006 000244 aa 524000000045 000245 aa 524000000002 000246 aa 055 160 166 000 -pv 000247 aa 524000000063 000250 aa 524000000051 000251 aa 055 156 143 153 -nck 000252 aa 055 143 153 000 -ck 000253 aa 055 154 147 000 -lg 000254 aa 055 142 146 000 -bf 000255 aa 516000000040 000256 aa 524000000057 000257 aa 404000000030 000260 aa 526000000030 000261 aa 526000000000 000262 aa 526077777777 000263 aa 524000000075 000264 aa 524000000037 000265 aa 524000000011 000266 aa 524000000044 000267 aa 524000000021 000270 aa 530000000310 000271 aa 524000000014 000272 aa 524000000000 000273 aa 000000000007 007646 aa 000000000040 007650 aa 040 000 000 000 000274 aa 514000000000 007651 aa 300000000000 007652 aa 340000000000 000275 aa 524000000131 000276 aa 420000000077 000277 aa 050750220000 000300 aa 404000000021 000301 aa 514000000001 000302 aa 524000000147 000303 aa 524000000005 000304 aa 524000000027 000305 aa 141 154 164 000 alt 000306 aa 524000000060 000307 aa 524000000122 000310 aa 524000000022 000311 aa 524000000220 000312 aa 524000000132 000313 aa 516000000001 000314 aa 410000000107 000315 aa 524000000016 000316 aa 524000000004 000317 aa 524000000040 000320 aa 524000000064 000321 aa 524000000024 000322 aa 524000000101 000323 aa 404000000005 000324 aa 524000000055 000325 aa 524000000052 000326 aa 464000000000 000327 aa 526000000010 000330 aa 524000000030 000331 aa 524000000032 000332 aa 526000000040 000333 aa 000000000004 000334 aa 526000000017 000335 aa 404000000022 000336 aa 404000000043 000340 aa 164 141 162 147 targ 000341 aa 145 164 000 000 et 000342 aa 163 157 165 162 sour 000343 aa 143 145 000 000 ce 000344 aa 055 160 166 137 -pv_ 000345 aa 156 141 155 145 name 000346 aa 055 164 162 141 -tra 000347 aa 143 145 000 000 ce 000350 aa 055 143 150 145 -che 000351 aa 143 153 000 000 ck 000352 aa 055 154 157 156 -lon 000353 aa 147 000 000 000 g 000354 aa 055 161 165 145 -que 000355 aa 162 171 000 000 ry 000356 aa 055 142 162 151 -bri 000357 aa 145 146 000 000 ef 000360 aa 055 144 145 166 -dev 000361 aa 151 143 145 040 ice 000362 aa 055 167 162 151 -wri 000363 aa 164 145 040 000 te 000364 aa 162 144 151 163 rdis 000365 aa 153 137 040 000 k_ 000366 aa 163 143 162 141 scra 000367 aa 164 143 150 000 tch 000370 aa 000000000000 000371 aa 000000000000 000372 aa 104 157 156 145 Done 000373 aa 056 000 000 000 . 000374 aa 141 154 164 164 altt 000375 aa 162 153 054 000 rk, 000376 aa 077777000043 000377 aa 000001000000 000400 aa 143 154 145 141 clea 000401 aa 156 165 160 000 nup 000402 aa 060 061 062 063 0123 000403 aa 064 065 066 067 4567 000404 aa 070 071 000 000 89 000405 aa 055 156 157 137 -no_ 000406 aa 164 162 141 143 trac 000407 aa 145 000 000 000 e 000410 aa 055 156 157 137 -no_ 000411 aa 143 150 145 143 chec 000412 aa 153 000 000 000 k 000413 aa 055 156 157 137 -no_ 000414 aa 161 165 145 162 quer 000415 aa 171 000 000 000 y 000416 aa 147 145 164 142 getb 000417 aa 157 165 156 144 ound 000420 aa 163 000 000 000 s 000421 aa 141 164 164 141 atta 000422 aa 143 150 151 156 chin 000423 aa 147 040 136 141 g ^a 000424 aa 040 055 163 171 -sy 000425 aa 163 164 145 155 stem 000426 aa 040 000 000 000 000427 aa 055 145 162 162 -err 000430 aa 157 162 137 164 or_t 000431 aa 150 162 145 163 hres 000432 aa 150 157 154 144 hold 000433 aa 136 154 141 142 ^lab 000434 aa 145 154 054 136 el,^ 000435 aa 167 162 164 143 wrtc 000436 aa 155 160 000 000 mp 000437 aa 136 154 141 142 ^lab 000440 aa 145 154 054 167 el,w 000441 aa 162 164 143 155 rtcm 000442 aa 160 000 000 000 p 000443 aa 143 157 160 171 copy 000444 aa 137 144 151 163 _dis 000445 aa 153 137 166 157 k_vo 000446 aa 154 056 000 000 l. 000447 aa 104 151 163 155 Dism 000450 aa 157 165 156 164 ount 000451 aa 145 144 136 055 ed^- 000452 aa 136 141 000 000 ^a 000453 aa 464100000000 000454 aa 000000000001 000455 aa 000000000004 000456 aa 000000000002 000457 aa 111 156 166 141 Inva 000460 aa 154 151 144 040 lid 000461 aa 165 163 145 040 use 000462 aa 157 146 040 136 of ^ 000463 aa 141 056 000 000 a. 000464 aa 157 160 145 156 open 000465 aa 151 156 147 040 ing 000466 aa 136 141 040 146 ^a f 000467 aa 157 162 040 136 or ^ 000470 aa 141 000 000 000 a 000471 aa 136 141 072 040 ^a: 000472 aa 164 145 162 155 term 000473 aa 151 156 141 164 inat 000474 aa 151 156 147 056 ing. 000475 aa 056 056 000 000 .. 000476 aa 105 162 162 157 Erro 000477 aa 162 040 151 156 r in 000500 aa 040 143 154 157 clo 000501 aa 163 151 156 147 sing 000502 aa 040 136 141 056 ^a. 000503 aa 104 145 164 141 Deta 000504 aa 143 150 151 156 chin 000505 aa 147 040 163 164 g st 000506 aa 162 145 141 155 ream 000507 aa 040 146 157 162 for 000510 aa 040 136 141 056 ^a. 000511 aa 103 154 157 163 Clos 000512 aa 151 156 147 040 ing 000513 aa 163 164 162 145 stre 000514 aa 141 155 040 146 am f 000515 aa 157 162 040 136 or ^ 000516 aa 141 056 000 000 a. 000517 aa 103 141 156 156 Cann 000520 aa 157 164 040 141 ot a 000521 aa 143 143 145 163 cces 000522 aa 163 040 136 141 s ^a 000523 aa 072 040 151 164 : it 000524 aa 040 136 141 056 ^a. 000525 aa 162 145 164 165 retu 000526 aa 162 156 137 143 rn_c 000527 aa 157 156 166 145 onve 000530 aa 162 163 151 157 rsio 000531 aa 156 137 145 162 n_er 000532 aa 162 157 162 000 ror 000533 aa 120 141 162 164 Part 000534 aa 151 164 151 157 itio 000535 aa 156 040 136 141 n ^a 000536 aa 040 160 162 157 pro 000537 aa 143 145 163 163 cess 000540 aa 145 144 056 000 ed. 000541 aa 104 157 040 171 Do y 000542 aa 157 165 040 167 ou w 000543 aa 151 163 150 040 ish 000544 aa 164 157 040 143 to c 000545 aa 157 156 164 151 onti 000546 aa 156 165 145 077 nue? 000547 aa 143 141 156 156 cann 000550 aa 157 164 040 143 ot c 000551 aa 157 160 171 040 opy 000552 aa 144 151 163 153 disk 000553 aa 137 164 141 142 _tab 000554 aa 154 145 137 056 le_. 000555 aa 150 141 163 040 has 000556 aa 142 145 145 156 been 000557 aa 040 144 145 154 del 000560 aa 145 164 145 144 eted 000561 aa 040 167 151 164 wit 000562 aa 150 040 144 145 h de 000563 aa 154 144 145 166 ldev 000564 aa 103 141 156 156 Cann 000565 aa 157 164 040 143 ot c 000566 aa 157 160 171 040 opy 000567 aa 136 141 040 164 ^a t 000570 aa 157 040 151 164 o it 000571 aa 163 145 154 146 self 000572 aa 056 000 000 000 . 000573 aa 107 145 164 164 Gett 000574 aa 151 156 147 040 ing 000575 aa 164 145 155 160 temp 000576 aa 157 162 141 162 orar 000577 aa 171 040 163 145 y se 000600 aa 147 155 145 156 gmen 000601 aa 164 163 000 000 ts 000602 aa 150 141 163 040 has 000603 aa 156 157 164 040 not 000604 aa 142 145 145 156 been 000605 aa 040 163 144 165 sdu 000606 aa 047 144 040 146 'd f 000607 aa 157 162 040 111 or I 000610 aa 057 117 040 165 /O u 000611 aa 163 141 147 145 sage 000612 aa 151 163 040 151 is i 000613 aa 156 040 165 163 n us 000614 aa 145 040 142 171 e by 000615 aa 040 164 150 145 the 000616 aa 040 163 164 157 sto 000617 aa 162 141 147 145 rage 000620 aa 040 163 171 163 sys 000621 aa 164 145 155 000 tem 000622 aa 115 151 163 163 Miss 000623 aa 151 156 147 040 ing 000624 aa 160 141 162 141 para 000625 aa 155 145 164 145 mete 000626 aa 162 040 146 157 r fo 000627 aa 154 154 157 167 llow 000630 aa 151 156 147 040 ing 000631 aa 136 141 056 000 ^a. 000632 aa 141 164 164 145 atte 000633 aa 155 160 164 151 mpti 000634 aa 156 147 040 164 ng t 000635 aa 157 040 147 145 o ge 000636 aa 164 040 142 157 t bo 000637 aa 165 156 144 163 unds 000640 aa 040 146 157 162 for 000641 aa 040 136 141 000 ^a 000642 aa 141 164 164 145 atte 000643 aa 155 160 164 151 mpti 000644 aa 156 147 040 164 ng t 000645 aa 157 040 163 145 o se 000646 aa 164 040 155 157 t mo 000647 aa 144 145 163 040 des 000650 aa 146 157 162 040 for 000651 aa 136 141 040 164 ^a t 000652 aa 157 040 136 141 o ^a 000653 aa 104 151 163 153 Disk 000654 aa 040 144 162 151 dri 000655 aa 166 145 040 136 ve ^ 000656 aa 141 040 156 157 a no 000657 aa 164 040 146 157 t fo 000660 aa 165 156 144 040 und 000661 aa 151 156 040 144 in d 000662 aa 151 163 153 137 isk_ 000663 aa 164 141 142 154 tabl 000664 aa 145 137 056 000 e_. 000665 aa 136 057 125 163 ^/Us 000666 aa 141 147 145 072 age: 000667 aa 136 055 136 141 ^-^a 000670 aa 040 040 106 162 Fr 000671 aa 157 155 104 151 omDi 000672 aa 163 153 040 040 sk 000673 aa 124 157 104 151 ToDi 000674 aa 163 153 040 040 sk 000675 aa 173 055 142 146 {-bf 000676 aa 175 000 000 000 } 000677 aa 124 157 157 040 Too 000700 aa 155 141 156 171 many 000701 aa 040 144 151 163 dis 000702 aa 153 040 156 141 k na 000703 aa 155 145 163 073 mes; 000704 aa 040 155 141 170 max 000705 aa 151 155 165 155 imum 000706 aa 040 151 163 040 is 000707 aa 062 056 040 136 2. ^ 000710 aa 141 000 000 000 a 000711 aa 126 141 154 165 Valu 000712 aa 145 040 157 146 e of 000713 aa 040 164 162 141 tra 000714 aa 143 145 040 160 ce p 000715 aa 141 162 141 155 aram 000716 aa 145 164 145 162 eter 000717 aa 040 155 165 163 mus 000720 aa 164 040 142 145 t be 000721 aa 040 160 157 163 pos 000722 aa 151 164 151 166 itiv 000723 aa 145 056 000 000 e. 000724 aa 126 141 154 165 Valu 000725 aa 145 040 157 146 e of 000726 aa 040 164 162 141 tra 000727 aa 143 145 040 160 ce p 000730 aa 141 162 141 155 aram 000731 aa 145 164 145 162 eter 000732 aa 040 155 165 163 mus 000733 aa 164 040 142 145 t be 000734 aa 040 156 165 155 num 000735 aa 145 162 151 143 eric 000736 aa 056 000 000 000 . 000737 aa 125 163 145 040 Use 000740 aa 157 146 040 164 of t 000741 aa 150 151 163 040 his 000742 aa 143 157 155 155 comm 000743 aa 141 156 144 040 and 000744 aa 162 145 161 165 requ 000745 aa 151 162 145 163 ires 000746 aa 040 141 143 143 acc 000747 aa 145 163 163 040 ess 000750 aa 164 157 040 136 to ^ 000751 aa 141 056 000 000 a. 000752 aa 125 156 162 145 Unre 000753 aa 143 157 166 145 cove 000754 aa 162 141 142 154 rabl 000755 aa 145 040 145 162 e er 000756 aa 162 157 162 040 ror 000757 aa 162 145 141 144 read 000760 aa 151 156 147 040 ing 000761 aa 166 157 154 137 vol_ 000762 aa 155 141 160 040 map 000763 aa 157 146 040 144 of d 000764 aa 151 163 153 040 isk 000765 aa 136 141 056 000 ^a. 000766 aa 136 141 072 040 ^a: 000767 aa 142 145 147 151 begi 000770 aa 156 040 143 157 n co 000771 aa 160 171 040 157 py o 000772 aa 146 040 136 141 f ^a 000773 aa 040 157 156 164 ont 000774 aa 157 040 136 141 o ^a 000775 aa 054 040 162 145 , re 000776 aa 143 157 162 144 cord 000777 aa 163 040 136 144 s ^d 001000 aa 056 040 164 157 . to 001001 aa 040 136 144 056 ^d. 001002 aa 136 057 124 141 ^/Ta 001003 aa 162 147 145 164 rget 001004 aa 040 144 151 163 dis 001005 aa 153 040 151 163 k is 001006 aa 040 136 141 040 ^a 001007 aa 136 141 040 157 ^a o 001010 aa 156 040 144 145 n de 001011 aa 166 151 143 145 vice 001012 aa 040 136 141 054 ^a, 001013 aa 040 164 171 160 typ 001014 aa 145 040 136 141 e ^a 001015 aa 056 000 000 000 . 001016 aa 136 057 123 157 ^/So 001017 aa 165 162 143 145 urce 001020 aa 040 144 151 163 dis 001021 aa 153 040 151 163 k is 001022 aa 040 136 141 040 ^a 001023 aa 136 141 040 157 ^a o 001024 aa 156 040 144 145 n de 001025 aa 166 151 143 145 vice 001026 aa 040 136 141 054 ^a, 001027 aa 040 164 171 160 typ 001030 aa 145 040 136 141 e ^a 001031 aa 056 000 000 000 . 001032 aa 125 156 162 145 Unre 001033 aa 143 157 166 145 cove 001034 aa 162 141 142 154 rabl 001035 aa 145 040 145 162 e er 001036 aa 162 157 162 040 ror 001037 aa 162 145 141 144 read 001040 aa 151 156 147 040 ing 001041 aa 154 141 142 145 labe 001042 aa 154 040 157 146 l of 001043 aa 040 144 151 163 dis 001044 aa 153 040 136 141 k ^a 001045 aa 056 000 000 000 . 001046 aa 111 156 166 141 Inva 001047 aa 154 151 144 040 lid 001050 aa 156 141 155 145 name 001051 aa 040 146 157 162 for 001052 aa 040 136 141 040 ^a 001053 aa 144 151 163 153 disk 001054 aa 072 040 042 136 : "^ 001055 aa 141 042 056 040 a". 001056 aa 115 165 163 164 Must 001057 aa 040 142 145 040 be 001060 aa 144 163 153 130 dskX 001061 aa 137 116 116 130 _NNX 001062 aa 056 000 000 000 . 001063 aa 126 141 154 165 Valu 001064 aa 145 040 157 146 e of 001065 aa 040 145 162 162 err 001066 aa 157 162 137 164 or_t 001067 aa 150 162 145 163 hres 001070 aa 150 157 154 144 hold 001071 aa 040 160 141 162 par 001072 aa 141 155 145 164 amet 001073 aa 145 162 040 155 er m 001074 aa 165 163 164 040 ust 001075 aa 142 145 040 156 be n 001076 aa 165 155 145 162 umer 001077 aa 151 143 056 000 ic. 001100 aa 125 156 162 145 Unre 001101 aa 143 157 166 145 cove 001102 aa 162 141 142 154 rabl 001103 aa 145 040 145 162 e er 001104 aa 162 157 162 040 ror 001105 aa 162 145 141 144 read 001106 aa 151 156 147 040 ing 001107 aa 154 141 142 145 labe 001110 aa 154 040 157 146 l of 001111 aa 040 164 141 162 tar 001112 aa 147 145 164 040 get 001113 aa 144 151 163 153 disk 001114 aa 040 136 141 056 ^a. 001115 aa 163 157 165 162 sour 001116 aa 143 145 040 151 ce i 001117 aa 163 040 136 141 s ^a 001120 aa 054 040 164 141 , ta 001121 aa 162 147 145 164 rget 001122 aa 040 151 163 040 is 001123 aa 136 141 072 040 ^a: 001124 aa 155 145 144 151 medi 001125 aa 141 040 146 157 a fo 001126 aa 162 155 141 164 rmat 001127 aa 163 040 141 162 s ar 001130 aa 145 040 156 157 e no 001131 aa 164 040 143 157 t co 001132 aa 155 160 141 164 mpat 001133 aa 151 142 154 145 ible 001134 aa 056 000 000 000 . 001135 aa 154 141 163 164 last 001136 aa 040 162 145 143 rec 001137 aa 157 162 144 040 ord 001140 aa 050 136 144 051 (^d) 001141 aa 040 151 163 040 is 001142 aa 142 145 171 157 beyo 001143 aa 156 144 040 164 nd t 001144 aa 150 145 040 150 he h 001145 aa 151 147 150 040 igh 001146 aa 142 157 165 156 boun 001147 aa 144 040 146 157 d fo 001150 aa 162 040 136 133 r ^[ 001151 aa 136 141 136 163 ^a^s 001152 aa 136 073 136 163 ^;^s 001153 aa 136 141 136 135 ^a^] 001154 aa 056 000 000 000 . 001155 aa 146 151 162 163 firs 001156 aa 164 040 162 145 t re 001157 aa 143 157 162 144 cord 001160 aa 040 050 136 144 (^d 001161 aa 051 040 151 163 ) is 001162 aa 040 142 145 171 bey 001163 aa 157 156 144 040 ond 001164 aa 164 150 145 040 the 001165 aa 154 157 167 040 low 001166 aa 142 157 165 156 boun 001167 aa 144 040 146 157 d fo 001170 aa 162 040 136 133 r ^[ 001171 aa 136 141 136 163 ^a^s 001172 aa 136 073 136 163 ^;^s 001173 aa 136 141 136 135 ^a^] 001174 aa 056 000 000 000 . 001175 aa 126 157 154 165 Volu 001176 aa 155 145 040 155 me m 001177 aa 157 165 156 164 ount 001200 aa 145 144 040 157 ed o 001201 aa 156 040 144 151 n di 001202 aa 163 153 040 136 sk ^ 001203 aa 141 040 151 163 a is 001204 aa 040 156 157 164 not 001205 aa 040 141 040 115 a M 001206 aa 165 154 164 151 ulti 001207 aa 143 163 040 123 cs S 001210 aa 171 163 164 145 yste 001211 aa 155 040 123 164 m St 001212 aa 157 162 141 147 orag 001213 aa 145 040 126 157 e Vo 001214 aa 154 165 155 145 lume 001215 aa 056 000 000 000 . 001216 aa 136 141 072 040 ^a: 001217 aa 143 157 160 171 copy 001220 aa 151 156 147 040 ing 001221 aa 164 150 145 040 the 001222 aa 163 157 165 162 sour 001223 aa 143 145 040 167 ce w 001224 aa 151 154 154 040 ill 001225 aa 144 145 163 164 dest 001226 aa 162 157 171 040 roy 001227 aa 141 154 154 040 all 001230 aa 144 141 164 141 data 001231 aa 040 157 156 040 on 001232 aa 164 150 145 040 the 001233 aa 166 157 154 165 volu 001234 aa 155 145 040 155 me m 001235 aa 157 165 156 164 ount 001236 aa 145 144 040 157 ed o 001237 aa 156 040 144 145 n de 001240 aa 166 151 143 145 vice 001241 aa 040 136 141 040 ^a 001242 aa 041 040 000 000 ! 001243 aa 136 141 072 040 ^a: 001244 aa 136 133 156 157 ^[no 001245 aa 136 163 136 073 ^s^; 001246 aa 136 144 136 135 ^d^] 001247 aa 040 145 162 162 err 001250 aa 157 162 136 133 or^[ 001251 aa 163 136 135 040 s^] 001252 aa 157 156 040 163 on s 001253 aa 157 165 162 143 ourc 001254 aa 145 040 144 151 e di 001255 aa 163 153 040 136 sk ^ 001256 aa 141 054 040 136 a, ^ 001257 aa 133 156 157 136 [no^ 001260 aa 163 136 073 136 s^;^ 001261 aa 144 136 135 040 d^] 001262 aa 145 162 162 157 erro 001263 aa 162 136 133 163 r^[s 001264 aa 136 135 040 157 ^] o 001265 aa 156 040 164 141 n ta 001266 aa 162 147 145 164 rget 001267 aa 040 144 151 163 dis 001270 aa 153 040 136 141 k ^a 001271 aa 056 000 000 000 . 001272 aa 124 141 162 147 Targ 001273 aa 145 164 040 166 et v 001274 aa 157 154 165 155 olum 001275 aa 145 040 151 163 e is 001276 aa 040 141 040 115 a M 001277 aa 165 154 164 151 ulti 001300 aa 143 163 040 123 cs S 001301 aa 171 163 164 145 yste 001302 aa 155 040 123 164 m St 001303 aa 157 162 141 147 orag 001304 aa 145 040 126 157 e Vo 001305 aa 154 165 155 145 lume 001306 aa 056 040 136 057 . ^/ 001307 aa 104 157 040 171 Do y 001310 aa 157 165 040 163 ou s 001311 aa 164 151 154 154 till 001312 aa 040 167 151 163 wis 001313 aa 150 040 164 157 h to 001314 aa 040 143 157 160 cop 001315 aa 171 040 144 141 y da 001316 aa 164 141 040 164 ta t 001317 aa 157 040 151 164 o it 001320 aa 077 040 000 000 ? 001321 aa 136 141 072 040 ^a: 001322 aa 136 133 141 142 ^[ab 001323 aa 156 157 162 155 norm 001324 aa 141 154 040 164 al t 001325 aa 145 162 155 151 ermi 001326 aa 156 141 164 151 nati 001327 aa 157 156 040 141 on a 001330 aa 164 040 143 171 t cy 001331 aa 154 151 156 144 lind 001332 aa 145 162 040 136 er ^ 001333 aa 144 040 141 146 d af 001334 aa 164 145 162 136 ter^ 001335 aa 073 143 157 160 ;cop 001336 aa 171 040 164 157 y to 001337 aa 157 153 136 163 ok^s 001340 aa 136 135 040 136 ^] ^ 001341 aa 056 062 146 040 .2f 001342 aa 163 145 143 157 seco 001343 aa 156 144 163 054 nds, 001344 aa 040 136 056 062 ^.2 001345 aa 146 040 166 143 f vc 001346 aa 160 165 056 136 pu.^ 001347 aa 133 040 040 156 [ n 001350 aa 157 040 145 162 o er 001351 aa 162 157 162 163 rors 001352 aa 056 136 135 000 .^] 001353 aa 136 057 124 141 ^/Ta 001354 aa 162 147 145 164 rget 001355 aa 040 166 157 154 vol 001356 aa 165 155 145 040 ume 001357 aa 155 157 165 156 moun 001360 aa 164 145 144 040 ted 001361 aa 157 156 040 136 on ^ 001362 aa 141 040 151 163 a is 001363 aa 040 141 040 115 a M 001364 aa 165 154 164 151 ulti 001365 aa 143 163 040 123 cs S 001366 aa 171 163 164 145 yste 001367 aa 155 040 123 164 m St 001370 aa 157 162 141 147 orag 001371 aa 145 040 126 157 e Vo 001372 aa 154 165 155 145 lume 001373 aa 056 040 136 057 . ^/ 001374 aa 103 157 160 171 Copy 001375 aa 040 144 151 163 dis 001376 aa 153 040 167 151 k wi 001377 aa 154 154 040 144 ll d 001400 aa 145 163 164 162 estr 001401 aa 157 171 040 141 oy a 001402 aa 154 154 040 144 ll d 001403 aa 141 164 141 040 ata 001404 aa 157 156 040 164 on t 001405 aa 150 151 163 040 his 001406 aa 166 157 154 165 volu 001407 aa 155 145 041 041 me!! 001410 aa 041 040 136 057 ! ^/ 001411 aa 104 157 040 171 Do y 001412 aa 157 165 040 167 ou w 001413 aa 151 163 150 040 ish 001414 aa 164 157 040 143 to c 001415 aa 157 156 164 151 onti 001416 aa 156 165 145 077 nue? BEGIN PROCEDURE copy_disk_volume ENTRY TO copy_disk_volume STATEMENT 1 ON LINE 24 copy_disk_volume: procedure () options (variable); 001417 da 000341240000 001420 aa 001620 6270 00 eax7 912 001421 aa 7 00034 3521 20 epp2 pr7|28,* 001422 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 001423 aa 000000000000 001424 aa 000000000000 STATEMENT 1 ON LINE 84 OF FILE 2 001425 aa 6 00516 4501 00 stz pr6|334 001426 aa 6 00516 0541 00 aos pr6|334 001427 aa 6 00516 2361 00 ldq pr6|334 001430 aa 000006 4020 07 mpy 6,dl 001431 aa 003 106 060 400 csl (),(pr,ql),fill(0),bool(move) 001432 aa 000000 00 0000 descb 0,0 001433 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001434 aa 6 00516 0541 00 aos pr6|334 001435 aa 6 00516 2361 00 ldq pr6|334 001436 aa 000006 4020 07 mpy 6,dl 001437 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001440 aa 006213 00 0006 descb 3211,6 007652 = 340000000000 001441 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001442 aa 6 00516 0541 00 aos pr6|334 001443 aa 6 00516 2361 00 ldq pr6|334 001444 aa 000006 4020 07 mpy 6,dl 001445 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001446 aa 006205 00 0006 descb 3205,6 007652 = 340000000000 001447 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001450 aa 6 00516 0541 00 aos pr6|334 001451 aa 6 00516 2361 00 ldq pr6|334 001452 aa 000006 4020 07 mpy 6,dl 001453 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001454 aa 006177 00 0006 descb 3199,6 007652 = 340000000000 001455 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001456 aa 6 00516 0541 00 aos pr6|334 001457 aa 6 00516 2361 00 ldq pr6|334 001460 aa 000006 4020 07 mpy 6,dl 001461 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001462 aa 006171 00 0006 descb 3193,6 007652 = 340000000000 001463 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001464 aa 6 00516 0541 00 aos pr6|334 001465 aa 6 00516 2361 00 ldq pr6|334 001466 aa 000006 4020 07 mpy 6,dl 001467 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001470 aa 006163 00 0006 descb 3187,6 007652 = 340000000000 001471 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001472 aa 6 00516 0541 00 aos pr6|334 001473 aa 6 00516 2361 00 ldq pr6|334 001474 aa 000006 4020 07 mpy 6,dl 001475 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001476 aa 006155 00 0006 descb 3181,6 007652 = 340000000000 001477 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001500 aa 6 00516 0541 00 aos pr6|334 001501 aa 6 00516 2361 00 ldq pr6|334 001502 aa 000006 4020 07 mpy 6,dl 001503 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001504 aa 006146 00 0006 descb 3174,6 007651 = 300000000000 001505 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command 001506 aa 6 00516 0541 00 aos pr6|334 001507 aa 6 00516 2361 00 ldq pr6|334 001510 aa 000006 4020 07 mpy 6,dl 001511 aa 003 106 060 404 csl (ic),(pr,ql),fill(0),bool(move) 001512 aa 006140 00 0006 descb 3168,6 007651 = 300000000000 001513 aa 6 00463 63 0006 descb pr6|307(30),6 seek_command STATEMENT 1 ON LINE 7 OF FILE 7 001514 aa 6 00474 4501 00 stz pr6|316 query_info.status_code 001515 aa 6 00475 4501 00 stz pr6|317 query_info.query_code 001516 aa 776660 2370 04 ldaq -592,ic 000376 = 077777000043 000001000000 001517 aa 6 00476 7571 00 staq pr6|318 query_info.question_iocbp 001520 aa 6 00500 7571 00 staq pr6|320 query_info.answer_iocbp 001521 aa 776647 2370 04 ldaq -601,ic 000370 = 000000000000 000000000000 001522 aa 6 00502 7571 00 staq pr6|322 query_info.repeat_time 001523 aa 776653 2370 04 ldaq -597,ic 000376 = 077777000043 000001000000 001524 aa 6 00504 7571 00 staq pr6|324 query_info.explanation_ptr 001525 aa 6 00506 4501 00 stz pr6|326 query_info.explanation_len 001526 aa 006117 2350 04 lda 3151,ic 007645 = 377777777777 001527 aa 6 00473 3551 00 ansa pr6|315 query_info.yes_or_no_sw 001530 aa 006114 2350 04 lda 3148,ic 007644 = 577777777777 001531 aa 6 00473 3551 00 ansa pr6|315 query_info.suppress_name_sw 001532 aa 006111 2350 04 lda 3145,ic 007643 = 637777777777 001533 aa 6 00473 3551 00 ansa pr6|315 query_info.cp_escape_control 001534 aa 006106 2350 04 lda 3142,ic 007642 = 757777777777 001535 aa 6 00473 3551 00 ansa pr6|315 query_info.suppress_spacing 001536 aa 006103 2350 04 lda 3139,ic 007641 = 767777777777 001537 aa 6 00473 3551 00 ansa pr6|315 query_info.literal_sw 001540 aa 006100 2350 04 lda 3136,ic 007640 = 773777777777 001541 aa 6 00473 3551 00 ansa pr6|315 query_info.prompt_after_explanation 001542 aa 774000 2350 03 lda 260096,du 001543 aa 6 00473 3551 00 ansa pr6|315 query_info.padding STATEMENT 1 ON LINE 112 unspec (source) = ""b; 001544 aa 000 100 100 400 mlr (),(pr),fill(000) 001545 aa 000000 00 0000 desc9a 0,0 001546 aa 6 00100 00 0544 desc9a pr6|64,356 STATEMENT 1 ON LINE 113 source.iocb = null (); 001547 aa 776627 2370 04 ldaq -617,ic 000376 = 077777000043 000001000000 001550 aa 6 00124 7571 00 staq pr6|84 source.iocb STATEMENT 1 ON LINE 114 source.device = ""; 001551 aa 040 100 100 400 mlr (),(pr),fill(040) 001552 aa 000000 00 0000 desc9a 0,0 001553 aa 6 00100 00 0040 desc9a pr6|64,32 source.device STATEMENT 1 ON LINE 115 target = source; 001554 aa 000 100 100 500 mlr (pr),(pr),fill(000) 001555 aa 6 00100 00 0544 desc9a pr6|64,356 source 001556 aa 6 00232 00 0544 desc9a pr6|154,356 target STATEMENT 1 ON LINE 117 temp_seg_ptr = null (); 001557 aa 000001 2360 07 ldq 1,dl 001560 aa 6 00517 7561 00 stq pr6|335 001561 aa 000000 0110 03 nop 0,du 001562 aa 6 00517 2361 00 ldq pr6|335 001563 aa 000001 7360 00 qls 1 001564 aa 000000 6270 06 eax7 0,ql 001565 aa 776611 2370 04 ldaq -631,ic 000376 = 077777000043 000001000000 001566 aa 6 00406 7571 17 staq pr6|262,7 temp_seg_ptr 001567 aa 6 00517 2361 00 ldq pr6|335 001570 aa 6 00517 0541 00 aos pr6|335 001571 aa 000004 1160 07 cmpq 4,dl 001572 aa 777770 6040 04 tmi -8,ic 001562 STATEMENT 1 ON LINE 119 brief_sw, check_sw, et_sw, trace_sw, copy_started, copy_finished, retry_sw = "0"b; 001573 aa 6 00364 4501 00 stz pr6|244 brief_sw 001574 aa 6 00365 4501 00 stz pr6|245 check_sw 001575 aa 6 00366 4501 00 stz pr6|246 et_sw 001576 aa 6 00370 4501 00 stz pr6|248 trace_sw 001577 aa 6 00372 4501 00 stz pr6|250 copy_started 001600 aa 6 00373 4501 00 stz pr6|251 copy_finished 001601 aa 6 00374 4501 00 stz pr6|252 retry_sw STATEMENT 1 ON LINE 121 query_sw, use_alt_partition, ask_user = "1"b; 001602 aa 400000 2350 03 lda 131072,du 001603 aa 6 00367 7551 00 sta pr6|247 query_sw 001604 aa 6 00371 7551 00 sta pr6|249 use_alt_partition 001605 aa 6 00363 7551 00 sta pr6|243 ask_user STATEMENT 1 ON LINE 122 first_record, last_record = -1; 001606 aa 000001 3360 07 lcq 1,dl 001607 aa 6 00400 7561 00 stq pr6|256 first_record 001610 aa 6 00401 7561 00 stq pr6|257 last_record STATEMENT 1 ON LINE 123 et_number = 10; 001611 aa 000012 2360 07 ldq 10,dl 001612 aa 6 00376 7561 00 stq pr6|254 et_number STATEMENT 1 ON LINE 124 trace_every_n = 1; 001613 aa 000001 2360 07 ldq 1,dl 001614 aa 6 00402 7561 00 stq pr6|258 trace_every_n STATEMENT 1 ON LINE 125 alt_mode = "alttrk,"; 001615 aa 040 100 100 404 mlr (ic),(pr),fill(040) 001616 aa 776557 00 0007 desc9a -657,7 000374 = 141154164164 001617 aa 6 00420 00 0040 desc9a pr6|272,32 alt_mode STATEMENT 1 ON LINE 126 source_pv_name, target_pv_name = ""; 001620 aa 040 100 100 400 mlr (),(pr),fill(040) 001621 aa 000000 00 0000 desc9a 0,0 001622 aa 6 00431 00 0040 desc9a pr6|281,32 source_pv_name 001623 aa 040 100 100 400 mlr (),(pr),fill(040) 001624 aa 000000 00 0000 desc9a 0,0 001625 aa 6 00441 00 0040 desc9a pr6|289,32 target_pv_name STATEMENT 1 ON LINE 128 on condition (cleanup) call clean_up ("0"b); 001626 aa 000007 7260 07 lxl6 7,dl 001627 aa 776551 3520 04 epp2 -663,ic 000400 = 143154145141 001630 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 001631 aa 000004 7100 04 tra 4,ic 001635 001632 aa 000456000000 001633 aa 000021 7100 04 tra 17,ic 001654 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 128 on condition (cleanup) call clean_up ("0"b); 001634 da 000347200000 001635 aa 000120 6270 00 eax7 80 001636 aa 7 00034 3521 20 epp2 pr7|28,* 001637 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 001640 aa 000000000000 001641 aa 000000000000 001642 aa 000000 2350 07 lda 0,dl 001643 aa 6 00100 7551 00 sta pr6|64 001644 aa 6 00100 3521 00 epp2 pr6|64 001645 aa 6 00104 2521 00 spri2 pr6|68 001646 aa 000001 7270 07 lxl7 1,dl 001647 aa 6 00102 6211 00 eax1 pr6|66 001650 aa 004000 4310 07 fld 2048,dl 001651 aa 005240 3520 04 epp2 2720,ic 007111 = 000200627000 001652 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 001653 aa 0 00631 7101 00 tra pr0|409 return_mac END CONDITION cleanup.1 STATEMENT 1 ON LINE 131 call get_temp_segments_ (WHOAMI, temp_seg_ptr, code); 001654 aa 776345 3520 04 epp2 -795,ic 000221 = 143157160171 001655 aa 6 00660 2521 00 spri2 pr6|432 001656 aa 6 00410 3521 00 epp2 pr6|264 temp_seg_ptr 001657 aa 6 00662 2521 00 spri2 pr6|434 001660 aa 6 00451 3521 00 epp2 pr6|297 code 001661 aa 6 00664 2521 00 spri2 pr6|436 001662 aa 776450 3520 04 epp2 -728,ic 000332 = 526000000040 001663 aa 6 00666 2521 00 spri2 pr6|438 001664 aa 776567 3520 04 epp2 -649,ic 000453 = 464100000000 001665 aa 6 00670 2521 00 spri2 pr6|440 001666 aa 776450 3520 04 epp2 -728,ic 000336 = 404000000043 001667 aa 6 00672 2521 00 spri2 pr6|442 001670 aa 6 00656 6211 00 eax1 pr6|430 001671 aa 014000 4310 07 fld 6144,dl 001672 aa 6 00044 3701 20 epp4 pr6|36,* 001673 la 4 00046 3521 20 epp2 pr4|38,* get_temp_segments_ 001674 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 132 if (code ^= 0) then do; 001675 aa 6 00451 2361 00 ldq pr6|297 code 001676 aa 000026 6000 04 tze 22,ic 001724 STATEMENT 1 ON LINE 133 call com_err_ (code, WHOAMI, "Getting temporary segments"); 001677 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001700 aa 776674 00 0034 desc9a -580,28 000573 = 107145164164 001701 aa 6 00656 00 0034 desc9a pr6|430,28 001702 aa 6 00451 3521 00 epp2 pr6|297 code 001703 aa 6 00676 2521 00 spri2 pr6|446 001704 aa 776315 3520 04 epp2 -819,ic 000221 = 143157160171 001705 aa 6 00700 2521 00 spri2 pr6|448 001706 aa 6 00656 3521 00 epp2 pr6|430 001707 aa 6 00702 2521 00 spri2 pr6|450 001710 aa 776426 3520 04 epp2 -746,ic 000336 = 404000000043 001711 aa 6 00704 2521 00 spri2 pr6|452 001712 aa 776420 3520 04 epp2 -752,ic 000332 = 526000000040 001713 aa 6 00706 2521 00 spri2 pr6|454 001714 aa 776415 3520 04 epp2 -755,ic 000331 = 524000000032 001715 aa 6 00710 2521 00 spri2 pr6|456 001716 aa 6 00674 6211 00 eax1 pr6|444 001717 aa 014000 4310 07 fld 6144,dl 001720 aa 6 00044 3701 20 epp4 pr6|36,* 001721 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 001722 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 134 goto MAIN_RETURN; 001723 aa 001371 7100 04 tra 761,ic 003314 STATEMENT 1 ON LINE 135 end; STATEMENT 1 ON LINE 136 dtp = temp_seg_ptr (1); 001724 aa 6 00410 3735 20 epp7 pr6|264,* temp_seg_ptr 001725 aa 6 00466 6535 00 spri7 pr6|310 dtp STATEMENT 1 ON LINE 138 call mdc_$read_disk_table (dtp, code); 001726 aa 6 00466 3521 00 epp2 pr6|310 dtp 001727 aa 6 00676 2521 00 spri2 pr6|446 001730 aa 6 00451 3521 00 epp2 pr6|297 code 001731 aa 6 00700 2521 00 spri2 pr6|448 001732 aa 6 00674 6211 00 eax1 pr6|444 001733 aa 010000 4310 07 fld 4096,dl 001734 aa 6 00044 3701 20 epp4 pr6|36,* 001735 la 4 00052 3521 20 epp2 pr4|42,* mdc_$read_disk_table 001736 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 139 if (code ^= 0) then do; 001737 aa 6 00451 2361 00 ldq pr6|297 code 001740 aa 000026 6000 04 tze 22,ic 001766 STATEMENT 1 ON LINE 140 call com_err_ (code, WHOAMI, "cannot copy disk_table_."); 001741 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001742 aa 776606 00 0030 desc9a -634,24 000547 = 143141156156 001743 aa 6 00656 00 0030 desc9a pr6|430,24 001744 aa 6 00451 3521 00 epp2 pr6|297 code 001745 aa 6 00676 2521 00 spri2 pr6|446 001746 aa 776253 3520 04 epp2 -853,ic 000221 = 143157160171 001747 aa 6 00700 2521 00 spri2 pr6|448 001750 aa 6 00656 3521 00 epp2 pr6|430 001751 aa 6 00702 2521 00 spri2 pr6|450 001752 aa 776364 3520 04 epp2 -780,ic 000336 = 404000000043 001753 aa 6 00704 2521 00 spri2 pr6|452 001754 aa 776356 3520 04 epp2 -786,ic 000332 = 526000000040 001755 aa 6 00706 2521 00 spri2 pr6|454 001756 aa 776352 3520 04 epp2 -790,ic 000330 = 524000000030 001757 aa 6 00710 2521 00 spri2 pr6|456 001760 aa 6 00674 6211 00 eax1 pr6|444 001761 aa 014000 4310 07 fld 6144,dl 001762 aa 6 00044 3701 20 epp4 pr6|36,* 001763 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 001764 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 141 goto MAIN_RETURN; 001765 aa 001327 7100 04 tra 727,ic 003314 STATEMENT 1 ON LINE 142 end; STATEMENT 1 ON LINE 144 call process_arguments (); 001766 aa 003344 6700 04 tsp4 1764,ic 005332 STATEMENT 1 ON LINE 146 call check_gate_access_ (GATE, null, code); 001767 aa 776407 3734 24 epp7 -761,ic* 001770 aa 6 00712 6535 00 spri7 pr6|458 001771 aa 776241 3520 04 epp2 -863,ic 000232 = 162143160137 001772 aa 6 00676 2521 00 spri2 pr6|446 001773 aa 6 00712 3521 00 epp2 pr6|458 001774 aa 6 00700 2521 00 spri2 pr6|448 001775 aa 6 00451 3521 00 epp2 pr6|297 code 001776 aa 6 00702 2521 00 spri2 pr6|450 001777 aa 776330 3520 04 epp2 -808,ic 000327 = 526000000010 002000 aa 6 00704 2521 00 spri2 pr6|452 002001 aa 776325 3520 04 epp2 -811,ic 000326 = 464000000000 002002 aa 6 00706 2521 00 spri2 pr6|454 002003 aa 776333 3520 04 epp2 -805,ic 000336 = 404000000043 002004 aa 6 00710 2521 00 spri2 pr6|456 002005 aa 6 00674 6211 00 eax1 pr6|444 002006 aa 014000 4310 07 fld 6144,dl 002007 aa 6 00044 3701 20 epp4 pr6|36,* 002010 la 4 00022 3521 20 epp2 pr4|18,* check_gate_access_ 002011 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 147 if code ^= 0 then do; 002012 aa 6 00451 2361 00 ldq pr6|297 code 002013 aa 000042 6000 04 tze 34,ic 002055 STATEMENT 1 ON LINE 148 call com_err_ (code, WHOAMI, "Use of this command requires access to ^a.", GATE); 002014 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002015 aa 776723 00 0054 desc9a -557,44 000737 = 125163145040 002016 aa 6 00656 00 0054 desc9a pr6|430,44 002017 aa 6 00451 3521 00 epp2 pr6|297 code 002020 aa 6 00716 2521 00 spri2 pr6|462 002021 aa 776200 3520 04 epp2 -896,ic 000221 = 143157160171 002022 aa 6 00720 2521 00 spri2 pr6|464 002023 aa 6 00656 3521 00 epp2 pr6|430 002024 aa 6 00722 2521 00 spri2 pr6|466 002025 aa 776205 3520 04 epp2 -891,ic 000232 = 162143160137 002026 aa 6 00724 2521 00 spri2 pr6|468 002027 aa 776307 3520 04 epp2 -825,ic 000336 = 404000000043 002030 aa 6 00726 2521 00 spri2 pr6|470 002031 aa 776301 3520 04 epp2 -831,ic 000332 = 526000000040 002032 aa 6 00730 2521 00 spri2 pr6|472 002033 aa 776272 3520 04 epp2 -838,ic 000325 = 524000000052 002034 aa 6 00732 2521 00 spri2 pr6|474 002035 aa 776272 3520 04 epp2 -838,ic 000327 = 526000000010 002036 aa 6 00734 2521 00 spri2 pr6|476 002037 aa 6 00714 6211 00 eax1 pr6|460 002040 aa 020000 4310 07 fld 8192,dl 002041 aa 6 00044 3701 20 epp4 pr6|36,* 002042 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 002043 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 149 call clean_up ("0"b); 002044 aa 000000 2350 07 lda 0,dl 002045 aa 6 00655 7551 00 sta pr6|429 002046 aa 6 00655 3521 00 epp2 pr6|429 002047 aa 6 00676 2521 00 spri2 pr6|446 002050 aa 6 00674 6211 00 eax1 pr6|444 002051 aa 004000 4310 07 fld 2048,dl 002052 aa 005037 3520 04 epp2 2591,ic 007111 = 000200627000 002053 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 150 return; 002054 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 151 end; STATEMENT 1 ON LINE 153 call open (addr (source), alt_mode, source_pv_name, Sequential_input); 002055 aa 6 00100 3735 00 epp7 pr6|64 source 002056 aa 6 00712 6535 00 spri7 pr6|458 002057 aa 005547 3520 04 epp2 2919,ic 007626 = 000010000000 002060 aa 001436 6700 04 tsp4 798,ic 003516 STATEMENT 1 ON LINE 155 source.sectors_per_cylinder = sect_per_cyl (source.device_type); 002061 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002062 ta 000153 2360 17 ldq 107,7 002063 aa 6 00134 7561 00 stq pr6|92 source.sectors_per_cylinder STATEMENT 1 ON LINE 156 source.sectors_per_record = sect_per_rec (source.device_type); 002064 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002065 ta 000142 2360 17 ldq 98,7 002066 aa 6 00135 7561 00 stq pr6|93 source.sectors_per_record STATEMENT 1 ON LINE 157 source.records_per_cylinder = rec_per_cyl (source.device_type); 002067 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002070 ta 000164 2360 17 ldq 116,7 002071 aa 6 00136 7561 00 stq pr6|94 source.records_per_cylinder STATEMENT 1 ON LINE 158 source.words_per_sector = words_per_sect (source.device_type); 002072 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002073 ta 000131 2360 17 ldq 89,7 002074 aa 6 00132 7561 00 stq pr6|90 source.words_per_sector STATEMENT 1 ON LINE 159 source.chars_per_sector = CHARS_PER_WORD * source.words_per_sector; 002075 aa 000002 7360 00 qls 2 002076 aa 6 00133 7561 00 stq pr6|91 source.chars_per_sector STATEMENT 1 ON LINE 160 source.sectors_per_io = divide (MAX_IO_LENGTH, source.words_per_sector, 17, 0); 002077 aa 127000 2360 07 ldq 44544,dl 002100 aa 6 00132 5061 00 div pr6|90 source.words_per_sector 002101 aa 6 00137 7561 00 stq pr6|95 source.sectors_per_io STATEMENT 1 ON LINE 165 source_labelp = temp_seg_ptr(2); 002102 aa 6 00412 3735 20 epp7 pr6|266,* temp_seg_ptr 002103 aa 6 00404 6535 00 spri7 pr6|260 source_labelp STATEMENT 1 ON LINE 166 call copy_disk_io_$read (addr(source), brief_sw, query_sw, source_labelp, 0, (sect_per_rec (source.device_type)), retry_sw, code); 002104 aa 6 00100 3715 00 epp5 pr6|64 source 002105 aa 6 00712 6515 00 spri5 pr6|458 002106 aa 6 00655 4501 00 stz pr6|429 002107 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002110 ta 000142 2360 17 ldq 98,7 002111 aa 6 00736 7561 00 stq pr6|478 002112 aa 6 00712 3521 00 epp2 pr6|458 002113 aa 6 00716 2521 00 spri2 pr6|462 002114 aa 6 00364 3521 00 epp2 pr6|244 brief_sw 002115 aa 6 00720 2521 00 spri2 pr6|464 002116 aa 6 00367 3521 00 epp2 pr6|247 query_sw 002117 aa 6 00722 2521 00 spri2 pr6|466 002120 aa 6 00404 3521 00 epp2 pr6|260 source_labelp 002121 aa 6 00724 2521 00 spri2 pr6|468 002122 aa 6 00655 3521 00 epp2 pr6|429 002123 aa 6 00726 2521 00 spri2 pr6|470 002124 aa 6 00736 3521 00 epp2 pr6|478 002125 aa 6 00730 2521 00 spri2 pr6|472 002126 aa 6 00374 3521 00 epp2 pr6|252 retry_sw 002127 aa 6 00732 2521 00 spri2 pr6|474 002130 aa 6 00451 3521 00 epp2 pr6|297 code 002131 aa 6 00734 2521 00 spri2 pr6|476 002132 aa 6 00714 6211 00 eax1 pr6|460 002133 aa 040000 4310 07 fld 16384,dl 002134 aa 6 00044 3701 20 epp4 pr6|36,* 002135 la 4 00026 3521 20 epp2 pr4|22,* copy_disk_io_$read 002136 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 167 if code ^= 0 then do; 002137 aa 6 00451 2361 00 ldq pr6|297 code 002140 aa 000031 6000 04 tze 25,ic 002171 STATEMENT 1 ON LINE 168 call com_err_ (code, WHOAMI, "Unrecoverable error reading label of disk ^a.", source.device); 002141 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002142 aa 776671 00 0060 desc9a -583,48 001032 = 125156162145 002143 aa 6 00656 00 0060 desc9a pr6|430,48 002144 aa 6 00451 3521 00 epp2 pr6|297 code 002145 aa 6 00716 2521 00 spri2 pr6|462 002146 aa 776053 3520 04 epp2 -981,ic 000221 = 143157160171 002147 aa 6 00720 2521 00 spri2 pr6|464 002150 aa 6 00656 3521 00 epp2 pr6|430 002151 aa 6 00722 2521 00 spri2 pr6|466 002152 aa 6 00100 3521 00 epp2 pr6|64 source.device 002153 aa 6 00724 2521 00 spri2 pr6|468 002154 aa 776162 3520 04 epp2 -910,ic 000336 = 404000000043 002155 aa 6 00726 2521 00 spri2 pr6|470 002156 aa 776154 3520 04 epp2 -916,ic 000332 = 526000000040 002157 aa 6 00730 2521 00 spri2 pr6|472 002160 aa 6 00734 2521 00 spri2 pr6|476 002161 aa 776143 3520 04 epp2 -925,ic 000324 = 524000000055 002162 aa 6 00732 2521 00 spri2 pr6|474 002163 aa 6 00714 6211 00 eax1 pr6|460 002164 aa 020000 4310 07 fld 8192,dl 002165 aa 6 00044 3701 20 epp4 pr6|36,* 002166 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 002167 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 169 goto MAIN_RETURN; 002170 aa 001124 7100 04 tra 596,ic 003314 STATEMENT 1 ON LINE 170 end; STATEMENT 1 ON LINE 172 if source_labelp -> label.Multics ^= Multics_ID_String then do; 002171 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 002172 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 002173 aa 7 00500 00 0040 desc9a pr7|320,32 label.Multics 002174 aa 775612 00 0040 desc9a -1142,32 000004 = 115165154164 002175 aa 000032 6000 04 tze 26,ic 002227 STATEMENT 1 ON LINE 173 call com_err_ ((0), WHOAMI, "Volume mounted on disk ^a is not a Multics System Storage Volume.", source.device); 002176 aa 6 00736 4501 00 stz pr6|478 002177 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002200 aa 776776 00 0104 desc9a -514,68 001175 = 126157154165 002201 aa 6 00714 00 0104 desc9a pr6|460,68 002202 aa 6 00736 3521 00 epp2 pr6|478 002203 aa 6 00742 2521 00 spri2 pr6|482 002204 aa 776015 3520 04 epp2 -1011,ic 000221 = 143157160171 002205 aa 6 00744 2521 00 spri2 pr6|484 002206 aa 6 00714 3521 00 epp2 pr6|460 002207 aa 6 00746 2521 00 spri2 pr6|486 002210 aa 6 00100 3521 00 epp2 pr6|64 source.device 002211 aa 6 00750 2521 00 spri2 pr6|488 002212 aa 776111 3520 04 epp2 -951,ic 000323 = 404000000005 002213 aa 6 00752 2521 00 spri2 pr6|490 002214 aa 776116 3520 04 epp2 -946,ic 000332 = 526000000040 002215 aa 6 00754 2521 00 spri2 pr6|492 002216 aa 6 00760 2521 00 spri2 pr6|496 002217 aa 776103 3520 04 epp2 -957,ic 000322 = 524000000101 002220 aa 6 00756 2521 00 spri2 pr6|494 002221 aa 6 00740 6211 00 eax1 pr6|480 002222 aa 020000 4310 07 fld 8192,dl 002223 aa 6 00044 3701 20 epp4 pr6|36,* 002224 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 002225 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 174 goto MAIN_RETURN; 002226 aa 001066 7100 04 tra 566,ic 003314 STATEMENT 1 ON LINE 175 end; STATEMENT 1 ON LINE 181 if source.device_type = msu0451devt then do; 002227 aa 6 00110 2361 00 ldq pr6|72 source.device_type 002230 aa 000003 1160 07 cmpq 3,dl 002231 aa 000065 6010 04 tnz 53,ic 002316 STATEMENT 1 ON LINE 182 use_alt_partition = "0"b; 002232 aa 6 00371 4501 00 stz pr6|249 use_alt_partition STATEMENT 1 ON LINE 183 call check_for_alt_partition (use_alt_partition); 002233 aa 005367 3520 04 epp2 2807,ic 007622 = 000002000000 002234 aa 002537 6700 04 tsp4 1375,ic 004773 STATEMENT 1 ON LINE 184 if ^use_alt_partition then do; 002235 aa 6 00371 2351 00 lda pr6|249 use_alt_partition 002236 aa 400000 3150 03 cana 131072,du 002237 aa 000057 6010 04 tnz 47,ic 002316 STATEMENT 1 ON LINE 185 alt_mode = ""; 002240 aa 040 100 100 400 mlr (),(pr),fill(040) 002241 aa 000000 00 0000 desc9a 0,0 002242 aa 6 00420 00 0040 desc9a pr6|272,32 alt_mode STATEMENT 1 ON LINE 186 call iox_$close (source.iocb, code); 002243 aa 6 00124 3521 00 epp2 pr6|84 source.iocb 002244 aa 6 00676 2521 00 spri2 pr6|446 002245 aa 6 00451 3521 00 epp2 pr6|297 code 002246 aa 6 00700 2521 00 spri2 pr6|448 002247 aa 6 00674 6211 00 eax1 pr6|444 002250 aa 010000 4310 07 fld 4096,dl 002251 aa 6 00044 3701 20 epp4 pr6|36,* 002252 la 4 00062 3521 20 epp2 pr4|50,* iox_$close 002253 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 187 if code ^= 0 then do; 002254 aa 6 00451 2361 00 ldq pr6|297 code 002255 aa 000034 6000 04 tze 28,ic 002311 STATEMENT 1 ON LINE 188 call com_err_ (code, WHOAMI, "Error in closing ^a.", source.device); 002256 aa 776220 2370 04 ldaq -880,ic 000476 = 105162162157 162040151156 002257 aa 6 00656 7571 00 staq pr6|430 002260 aa 776220 2370 04 ldaq -880,ic 000500 = 040143154157 163151156147 002261 aa 6 00660 7571 00 staq pr6|432 002262 aa 776220 2350 04 lda -880,ic 000502 = 040136141056 002263 aa 6 00662 7551 00 sta pr6|434 002264 aa 6 00451 3521 00 epp2 pr6|297 code 002265 aa 6 00742 2521 00 spri2 pr6|482 002266 aa 775733 3520 04 epp2 -1061,ic 000221 = 143157160171 002267 aa 6 00744 2521 00 spri2 pr6|484 002270 aa 6 00656 3521 00 epp2 pr6|430 002271 aa 6 00746 2521 00 spri2 pr6|486 002272 aa 6 00100 3521 00 epp2 pr6|64 source.device 002273 aa 6 00750 2521 00 spri2 pr6|488 002274 aa 776042 3520 04 epp2 -990,ic 000336 = 404000000043 002275 aa 6 00752 2521 00 spri2 pr6|490 002276 aa 776034 3520 04 epp2 -996,ic 000332 = 526000000040 002277 aa 6 00754 2521 00 spri2 pr6|492 002300 aa 6 00760 2521 00 spri2 pr6|496 002301 aa 776020 3520 04 epp2 -1008,ic 000321 = 524000000024 002302 aa 6 00756 2521 00 spri2 pr6|494 002303 aa 6 00740 6211 00 eax1 pr6|480 002304 aa 020000 4310 07 fld 8192,dl 002305 aa 6 00044 3701 20 epp4 pr6|36,* 002306 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 002307 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 189 goto MAIN_RETURN; 002310 aa 001004 7100 04 tra 516,ic 003314 STATEMENT 1 ON LINE 190 end; STATEMENT 1 ON LINE 191 source.opened = "0"b; 002311 aa 6 00113 4501 00 stz pr6|75 source.opened STATEMENT 1 ON LINE 192 call open (addr(source), alt_mode, source_pv_name, Sequential_input); 002312 aa 6 00100 3735 00 epp7 pr6|64 source 002313 aa 6 00712 6535 00 spri7 pr6|458 002314 aa 005312 3520 04 epp2 2762,ic 007626 = 000010000000 002315 aa 001201 6700 04 tsp4 641,ic 003516 STATEMENT 1 ON LINE 193 end; STATEMENT 1 ON LINE 194 end; STATEMENT 1 ON LINE 196 target.disk_parameters = source.disk_parameters; 002316 aa 000 100 100 500 mlr (pr),(pr),fill(000) 002317 aa 6 00132 00 0040 desc9a pr6|90,32 source.disk_parameters 002320 aa 6 00264 00 0040 desc9a pr6|180,32 target.disk_parameters STATEMENT 1 ON LINE 197 call open (addr (target), alt_mode, target_pv_name, Sequential_update); 002321 aa 6 00232 3735 00 epp7 pr6|154 target 002322 aa 6 00712 6535 00 spri7 pr6|458 002323 aa 005265 3520 04 epp2 2741,ic 007610 = 000010000000 002324 aa 001172 6700 04 tsp4 634,ic 003516 STATEMENT 1 ON LINE 198 target_labelp = temp_seg_ptr (3); 002325 aa 6 00414 3735 20 epp7 pr6|268,* temp_seg_ptr 002326 aa 6 00406 6535 00 spri7 pr6|262 target_labelp STATEMENT 1 ON LINE 199 call copy_disk_io_$read (addr(target), brief_sw, query_sw, target_labelp, 0, (sect_per_rec (target.device_type)), retry_sw, code); 002327 aa 6 00232 3715 00 epp5 pr6|154 target 002330 aa 6 00712 6515 00 spri5 pr6|458 002331 aa 6 00736 4501 00 stz pr6|478 002332 aa 6 00242 7271 00 lxl7 pr6|162 target.device_type 002333 ta 000142 2360 17 ldq 98,7 002334 aa 6 00737 7561 00 stq pr6|479 002335 aa 6 00712 3521 00 epp2 pr6|458 002336 aa 6 00716 2521 00 spri2 pr6|462 002337 aa 6 00364 3521 00 epp2 pr6|244 brief_sw 002340 aa 6 00720 2521 00 spri2 pr6|464 002341 aa 6 00367 3521 00 epp2 pr6|247 query_sw 002342 aa 6 00722 2521 00 spri2 pr6|466 002343 aa 6 00406 3521 00 epp2 pr6|262 target_labelp 002344 aa 6 00724 2521 00 spri2 pr6|468 002345 aa 6 00736 3521 00 epp2 pr6|478 002346 aa 6 00726 2521 00 spri2 pr6|470 002347 aa 6 00737 3521 00 epp2 pr6|479 002350 aa 6 00730 2521 00 spri2 pr6|472 002351 aa 6 00374 3521 00 epp2 pr6|252 retry_sw 002352 aa 6 00732 2521 00 spri2 pr6|474 002353 aa 6 00451 3521 00 epp2 pr6|297 code 002354 aa 6 00734 2521 00 spri2 pr6|476 002355 aa 6 00714 6211 00 eax1 pr6|460 002356 aa 040000 4310 07 fld 16384,dl 002357 aa 6 00044 3701 20 epp4 pr6|36,* 002360 la 4 00026 3521 20 epp2 pr4|22,* copy_disk_io_$read 002361 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 200 if code ^= 0 then do; 002362 aa 6 00451 2361 00 ldq pr6|297 code 002363 aa 000031 6000 04 tze 25,ic 002414 STATEMENT 1 ON LINE 201 call com_err_ (code, WHOAMI, "Unrecoverable error reading label of target disk ^a.", target.device); 002364 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002365 aa 776514 00 0064 desc9a -692,52 001100 = 125156162145 002366 aa 6 00674 00 0064 desc9a pr6|444,52 002367 aa 6 00451 3521 00 epp2 pr6|297 code 002370 aa 6 00742 2521 00 spri2 pr6|482 002371 aa 775630 3520 04 epp2 -1128,ic 000221 = 143157160171 002372 aa 6 00744 2521 00 spri2 pr6|484 002373 aa 6 00674 3521 00 epp2 pr6|444 002374 aa 6 00746 2521 00 spri2 pr6|486 002375 aa 6 00232 3521 00 epp2 pr6|154 target.device 002376 aa 6 00750 2521 00 spri2 pr6|488 002377 aa 775737 3520 04 epp2 -1057,ic 000336 = 404000000043 002400 aa 6 00752 2521 00 spri2 pr6|490 002401 aa 775731 3520 04 epp2 -1063,ic 000332 = 526000000040 002402 aa 6 00754 2521 00 spri2 pr6|492 002403 aa 6 00760 2521 00 spri2 pr6|496 002404 aa 775714 3520 04 epp2 -1076,ic 000320 = 524000000064 002405 aa 6 00756 2521 00 spri2 pr6|494 002406 aa 6 00740 6211 00 eax1 pr6|480 002407 aa 020000 4310 07 fld 8192,dl 002410 aa 6 00044 3701 20 epp4 pr6|36,* 002411 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 002412 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 202 return; 002413 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 203 end; STATEMENT 1 ON LINE 206 call ioa_ ("^/Source disk is ^a ^a on device ^a, type ^a.", source_labelp -> label.Multics, source_labelp -> label.pv_name, source.device, device_names (source.device_type)); 002414 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002415 aa 776402 00 0060 desc9a -766,48 001016 = 136057123157 002416 aa 6 00656 00 0060 desc9a pr6|430,48 002417 aa 6 00656 3521 00 epp2 pr6|430 002420 aa 6 00764 2521 00 spri2 pr6|500 002421 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 002422 aa 7 00500 3521 00 epp2 pr7|320 label.Multics 002423 aa 6 00766 2521 00 spri2 pr6|502 002424 aa 7 00521 3521 00 epp2 pr7|337 label.pv_name 002425 aa 6 00770 2521 00 spri2 pr6|504 002426 aa 6 00100 3521 00 epp2 pr6|64 source.device 002427 aa 6 00772 2521 00 spri2 pr6|506 002430 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 002431 ta 000207 3520 17 epp2 135,7 002432 aa 6 00774 2521 00 spri2 pr6|508 002433 aa 775671 3520 04 epp2 -1095,ic 000324 = 524000000055 002434 aa 6 00776 2521 00 spri2 pr6|510 002435 aa 775662 3520 04 epp2 -1102,ic 000317 = 524000000040 002436 aa 6 01000 2521 00 spri2 pr6|512 002437 aa 6 01002 2521 00 spri2 pr6|514 002440 aa 775672 3520 04 epp2 -1094,ic 000332 = 526000000040 002441 aa 6 01004 2521 00 spri2 pr6|516 002442 aa 775654 3520 04 epp2 -1108,ic 000316 = 524000000004 002443 aa 6 01006 2521 00 spri2 pr6|518 002444 aa 6 00762 6211 00 eax1 pr6|498 002445 aa 024000 4310 07 fld 10240,dl 002446 aa 6 00044 3701 20 epp4 pr6|36,* 002447 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002450 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 207 call ioa_ ("Dismounted^-^a", cv_time (source_labelp -> label.time_unmounted)); 002451 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 002452 aa 7 00612 3521 00 epp2 pr7|394 label.time_unmounted 002453 aa 6 00676 2521 00 spri2 pr6|446 002454 aa 6 00712 3521 00 epp2 pr6|458 002455 aa 6 00700 2521 00 spri2 pr6|448 002456 aa 775636 3520 04 epp2 -1122,ic 000314 = 410000000107 002457 aa 6 00704 2521 00 spri2 pr6|452 002460 aa 6 00737 3521 00 epp2 pr6|479 002461 aa 6 00706 2521 00 spri2 pr6|454 002462 aa 6 00674 6211 00 eax1 pr6|444 002463 aa 010000 4310 07 fld 4096,dl 002464 aa 002342 3520 04 epp2 1250,ic 005026 = 000120627000 002465 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002466 aa 775761 2350 04 lda -1039,ic 000447 = 104151163155 002467 aa 775761 2360 04 ldq -1039,ic 000450 = 157165156164 002470 aa 6 00656 7571 00 staq pr6|430 002471 aa 775760 2350 04 lda -1040,ic 000451 = 145144136055 002472 aa 136141 2360 03 ldq 48225,du 002473 aa 6 00660 7571 00 staq pr6|432 002474 aa 6 00656 3521 00 epp2 pr6|430 002475 aa 6 00676 2521 00 spri2 pr6|446 002476 aa 6 00712 3521 20 epp2 pr6|458,* 002477 aa 6 00700 2521 00 spri2 pr6|448 002500 aa 775615 3520 04 epp2 -1139,ic 000315 = 524000000016 002501 aa 6 00702 2521 00 spri2 pr6|450 002502 aa 6 00737 3521 00 epp2 pr6|479 002503 aa 6 00704 2521 00 spri2 pr6|452 002504 aa 6 00674 6211 00 eax1 pr6|444 002505 aa 010000 4310 07 fld 4096,dl 002506 aa 6 00044 3701 20 epp4 pr6|36,* 002507 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002510 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 208 if target_labelp -> label.Multics = Multics_ID_String then do; 002511 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002512 aa 6 00406 3735 20 epp7 pr6|262,* target_labelp 002513 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 002514 aa 7 00500 00 0040 desc9a pr7|320,32 label.Multics 002515 aa 775271 00 0040 desc9a -1351,32 000004 = 115165154164 002516 aa 000176 6010 04 tnz 126,ic 002714 STATEMENT 1 ON LINE 209 ask_user = "0"b; 002517 aa 6 00363 4501 00 stz pr6|243 ask_user STATEMENT 1 ON LINE 210 call ioa_ ("^/Target disk is ^a ^a on device ^a, type ^a.", target_labelp -> label.Multics, target_labelp -> label.pv_name, target.device, device_names (target.device_type)); 002520 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002521 aa 776262 00 0060 desc9a -846,48 001002 = 136057124141 002522 aa 6 00674 00 0060 desc9a pr6|444,48 002523 aa 6 00674 3521 00 epp2 pr6|444 002524 aa 6 00764 2521 00 spri2 pr6|500 002525 aa 7 00500 3521 00 epp2 pr7|320 label.Multics 002526 aa 6 00766 2521 00 spri2 pr6|502 002527 aa 7 00521 3521 00 epp2 pr7|337 label.pv_name 002530 aa 6 00770 2521 00 spri2 pr6|504 002531 aa 6 00232 3521 00 epp2 pr6|154 target.device 002532 aa 6 00772 2521 00 spri2 pr6|506 002533 aa 6 00242 7271 00 lxl7 pr6|162 target.device_type 002534 ta 000207 3520 17 epp2 135,7 002535 aa 6 00774 2521 00 spri2 pr6|508 002536 aa 775566 3520 04 epp2 -1162,ic 000324 = 524000000055 002537 aa 6 00776 2521 00 spri2 pr6|510 002540 aa 775557 3520 04 epp2 -1169,ic 000317 = 524000000040 002541 aa 6 01000 2521 00 spri2 pr6|512 002542 aa 6 01002 2521 00 spri2 pr6|514 002543 aa 775567 3520 04 epp2 -1161,ic 000332 = 526000000040 002544 aa 6 01004 2521 00 spri2 pr6|516 002545 aa 775551 3520 04 epp2 -1175,ic 000316 = 524000000004 002546 aa 6 01006 2521 00 spri2 pr6|518 002547 aa 6 00762 6211 00 eax1 pr6|498 002550 aa 024000 4310 07 fld 10240,dl 002551 aa 6 00044 3701 20 epp4 pr6|36,* 002552 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002553 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 211 call ioa_ ("Dismounted^-^a", cv_time (target_labelp -> label.time_unmounted)); 002554 aa 6 00406 3735 20 epp7 pr6|262,* target_labelp 002555 aa 7 00612 3521 00 epp2 pr7|394 label.time_unmounted 002556 aa 6 00660 2521 00 spri2 pr6|432 002557 aa 6 00712 3521 00 epp2 pr6|458 002560 aa 6 00662 2521 00 spri2 pr6|434 002561 aa 775533 3520 04 epp2 -1189,ic 000314 = 410000000107 002562 aa 6 00666 2521 00 spri2 pr6|438 002563 aa 6 00737 3521 00 epp2 pr6|479 002564 aa 6 00670 2521 00 spri2 pr6|440 002565 aa 6 00656 6211 00 eax1 pr6|430 002566 aa 010000 4310 07 fld 4096,dl 002567 aa 002237 3520 04 epp2 1183,ic 005026 = 000120627000 002570 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002571 aa 775656 2350 04 lda -1106,ic 000447 = 104151163155 002572 aa 775656 2360 04 ldq -1106,ic 000450 = 157165156164 002573 aa 6 00674 7571 00 staq pr6|444 002574 aa 775655 2350 04 lda -1107,ic 000451 = 145144136055 002575 aa 136141 2360 03 ldq 48225,du 002576 aa 6 00676 7571 00 staq pr6|446 002577 aa 6 00674 3521 00 epp2 pr6|444 002600 aa 6 00660 2521 00 spri2 pr6|432 002601 aa 6 00712 3521 20 epp2 pr6|458,* 002602 aa 6 00662 2521 00 spri2 pr6|434 002603 aa 775512 3520 04 epp2 -1206,ic 000315 = 524000000016 002604 aa 6 00664 2521 00 spri2 pr6|436 002605 aa 6 00737 3521 00 epp2 pr6|479 002606 aa 6 00666 2521 00 spri2 pr6|438 002607 aa 6 00656 6211 00 eax1 pr6|430 002610 aa 010000 4310 07 fld 4096,dl 002611 aa 6 00044 3701 20 epp4 pr6|36,* 002612 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002613 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 212 call command_query_$yes_no (yes_sw, (0), WHOAMI, "Target volume is a Multics System Storage Volume. ^/Do you still wish to copy data to it? ", "^/Target volume mounted on ^a is a Multics System Storage Volume. ^/Copy disk will destroy all data on this volume!!! ^/Do you wish to continue?", target.device); 002614 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002615 aa 6 00737 4501 00 stz pr6|479 002616 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002617 aa 776454 00 0134 desc9a -724,92 001272 = 124141162147 002620 aa 6 01010 00 0134 desc9a pr6|520,92 002621 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002622 aa 776532 00 0220 desc9a -678,144 001353 = 136057124141 002623 aa 6 01040 00 0220 desc9a pr6|544,144 002624 aa 6 00430 3521 00 epp2 pr6|280 yes_sw 002625 aa 6 01106 2521 00 spri2 pr6|582 002626 aa 6 00737 3521 00 epp2 pr6|479 002627 aa 6 01110 2521 00 spri2 pr6|584 002630 aa 775371 3520 04 epp2 -1287,ic 000221 = 143157160171 002631 aa 6 01112 2521 00 spri2 pr6|586 002632 aa 6 01010 3521 00 epp2 pr6|520 002633 aa 6 01114 2521 00 spri2 pr6|588 002634 aa 6 01040 3521 00 epp2 pr6|544 002635 aa 6 01116 2521 00 spri2 pr6|590 002636 aa 6 00232 3521 00 epp2 pr6|154 target.device 002637 aa 6 01120 2521 00 spri2 pr6|592 002640 aa 775453 3520 04 epp2 -1237,ic 000313 = 516000000001 002641 aa 6 01122 2521 00 spri2 pr6|594 002642 aa 775461 3520 04 epp2 -1231,ic 000323 = 404000000005 002643 aa 6 01124 2521 00 spri2 pr6|596 002644 aa 775466 3520 04 epp2 -1226,ic 000332 = 526000000040 002645 aa 6 01126 2521 00 spri2 pr6|598 002646 aa 6 01134 2521 00 spri2 pr6|604 002647 aa 775443 3520 04 epp2 -1245,ic 000312 = 524000000132 002650 aa 6 01130 2521 00 spri2 pr6|600 002651 aa 775440 3520 04 epp2 -1248,ic 000311 = 524000000220 002652 aa 6 01132 2521 00 spri2 pr6|602 002653 aa 6 01104 6211 00 eax1 pr6|580 002654 aa 030000 4310 07 fld 12288,dl 002655 aa 6 00044 3701 20 epp4 pr6|36,* 002656 la 4 00034 3521 20 epp2 pr4|28,* command_query_$yes_no 002657 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 213 if ^yes_sw then do; 002660 aa 6 00430 2351 00 lda pr6|280 yes_sw 002661 aa 400000 3150 03 cana 131072,du 002662 aa 000032 6010 04 tnz 26,ic 002714 STATEMENT 1 ON LINE 214 call ioa_ ("^a: terminating...", WHOAMI); 002663 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002664 aa 775606 00 0024 desc9a -1146,20 000471 = 136141072040 002665 aa 6 00656 00 0024 desc9a pr6|430,20 002666 aa 6 00656 3521 00 epp2 pr6|430 002667 aa 6 00676 2521 00 spri2 pr6|446 002670 aa 775331 3520 04 epp2 -1319,ic 000221 = 143157160171 002671 aa 6 00700 2521 00 spri2 pr6|448 002672 aa 775416 3520 04 epp2 -1266,ic 000310 = 524000000022 002673 aa 6 00702 2521 00 spri2 pr6|450 002674 aa 775436 3520 04 epp2 -1250,ic 000332 = 526000000040 002675 aa 6 00704 2521 00 spri2 pr6|452 002676 aa 6 00674 6211 00 eax1 pr6|444 002677 aa 010000 4310 07 fld 4096,dl 002700 aa 6 00044 3701 20 epp4 pr6|36,* 002701 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002702 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 215 call clean_up ("1"b); 002703 aa 400000 2350 03 lda 131072,du 002704 aa 6 00737 7551 00 sta pr6|479 002705 aa 6 00737 3521 00 epp2 pr6|479 002706 aa 6 00676 2521 00 spri2 pr6|446 002707 aa 6 00674 6211 00 eax1 pr6|444 002710 aa 004000 4310 07 fld 2048,dl 002711 aa 004200 3520 04 epp2 2176,ic 007111 = 000200627000 002712 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 216 return; 002713 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 217 end; STATEMENT 1 ON LINE 218 end; STATEMENT 1 ON LINE 220 source.target_info_ptr = addr(target); 002714 aa 6 00232 3735 00 epp7 pr6|154 target 002715 aa 6 00126 6535 00 spri7 pr6|86 source.target_info_ptr STATEMENT 1 ON LINE 222 if ask_user then do; 002716 aa 6 00363 2351 00 lda pr6|243 ask_user 002717 aa 000120 6000 04 tze 80,ic 003037 STATEMENT 1 ON LINE 223 call ioa_ ("^a: copying the source will destroy all data on the volume mounted on device ^a ! ", WHOAMI, target.device); 002720 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002721 aa 776276 00 0124 desc9a -834,84 001216 = 136141072040 002722 aa 6 00762 00 0124 desc9a pr6|498,84 002723 aa 6 00762 3521 00 epp2 pr6|498 002724 aa 6 00660 2521 00 spri2 pr6|432 002725 aa 775274 3520 04 epp2 -1348,ic 000221 = 143157160171 002726 aa 6 00662 2521 00 spri2 pr6|434 002727 aa 6 00232 3521 00 epp2 pr6|154 target.device 002730 aa 6 00664 2521 00 spri2 pr6|436 002731 aa 775356 3520 04 epp2 -1298,ic 000307 = 524000000122 002732 aa 6 00666 2521 00 spri2 pr6|438 002733 aa 775377 3520 04 epp2 -1281,ic 000332 = 526000000040 002734 aa 6 00670 2521 00 spri2 pr6|440 002735 aa 6 00672 2521 00 spri2 pr6|442 002736 aa 6 00656 6211 00 eax1 pr6|430 002737 aa 014000 4310 07 fld 6144,dl 002740 aa 6 00044 3701 20 epp4 pr6|36,* 002741 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 002742 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 224 call command_query_$yes_no (yes_sw, (0), WHOAMI, "Target volume is a Multics System Storage Volume. ^/Do you still wish to copy data to it? ", "Do you wish to continue?"); 002743 aa 6 00737 4501 00 stz pr6|479 002744 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002745 aa 776326 00 0134 desc9a -810,92 001272 = 124141162147 002746 aa 6 01010 00 0134 desc9a pr6|520,92 002747 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002750 aa 775572 00 0030 desc9a -1158,24 000541 = 104157040171 002751 aa 6 00674 00 0030 desc9a pr6|444,24 002752 aa 6 00430 3521 00 epp2 pr6|280 yes_sw 002753 aa 6 00764 2521 00 spri2 pr6|500 002754 aa 6 00737 3521 00 epp2 pr6|479 002755 aa 6 00766 2521 00 spri2 pr6|502 002756 aa 775243 3520 04 epp2 -1373,ic 000221 = 143157160171 002757 aa 6 00770 2521 00 spri2 pr6|504 002760 aa 6 01010 3521 00 epp2 pr6|520 002761 aa 6 00772 2521 00 spri2 pr6|506 002762 aa 6 00674 3521 00 epp2 pr6|444 002763 aa 6 00774 2521 00 spri2 pr6|508 002764 aa 775327 3520 04 epp2 -1321,ic 000313 = 516000000001 002765 aa 6 00776 2521 00 spri2 pr6|510 002766 aa 775335 3520 04 epp2 -1315,ic 000323 = 404000000005 002767 aa 6 01000 2521 00 spri2 pr6|512 002770 aa 775342 3520 04 epp2 -1310,ic 000332 = 526000000040 002771 aa 6 01002 2521 00 spri2 pr6|514 002772 aa 775320 3520 04 epp2 -1328,ic 000312 = 524000000132 002773 aa 6 01004 2521 00 spri2 pr6|516 002774 aa 775334 3520 04 epp2 -1316,ic 000330 = 524000000030 002775 aa 6 01006 2521 00 spri2 pr6|518 002776 aa 6 00762 6211 00 eax1 pr6|498 002777 aa 024000 4310 07 fld 10240,dl 003000 aa 6 00044 3701 20 epp4 pr6|36,* 003001 la 4 00034 3521 20 epp2 pr4|28,* command_query_$yes_no 003002 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 225 if ^yes_sw then do; 003003 aa 6 00430 2351 00 lda pr6|280 yes_sw 003004 aa 400000 3150 03 cana 131072,du 003005 aa 000032 6010 04 tnz 26,ic 003037 STATEMENT 1 ON LINE 226 call ioa_ ("^a: terminating...", WHOAMI); 003006 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003007 aa 775463 00 0024 desc9a -1229,20 000471 = 136141072040 003010 aa 6 00656 00 0024 desc9a pr6|430,20 003011 aa 6 00656 3521 00 epp2 pr6|430 003012 aa 6 00676 2521 00 spri2 pr6|446 003013 aa 775206 3520 04 epp2 -1402,ic 000221 = 143157160171 003014 aa 6 00700 2521 00 spri2 pr6|448 003015 aa 775273 3520 04 epp2 -1349,ic 000310 = 524000000022 003016 aa 6 00702 2521 00 spri2 pr6|450 003017 aa 775313 3520 04 epp2 -1333,ic 000332 = 526000000040 003020 aa 6 00704 2521 00 spri2 pr6|452 003021 aa 6 00674 6211 00 eax1 pr6|444 003022 aa 010000 4310 07 fld 4096,dl 003023 aa 6 00044 3701 20 epp4 pr6|36,* 003024 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003025 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 227 call clean_up ("1"b); 003026 aa 400000 2350 03 lda 131072,du 003027 aa 6 00737 7551 00 sta pr6|479 003030 aa 6 00737 3521 00 epp2 pr6|479 003031 aa 6 00676 2521 00 spri2 pr6|446 003032 aa 6 00674 6211 00 eax1 pr6|444 003033 aa 004000 4310 07 fld 2048,dl 003034 aa 004055 3520 04 epp2 2093,ic 007111 = 000200627000 003035 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 228 return; 003036 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 229 end; STATEMENT 1 ON LINE 230 end; STATEMENT 1 ON LINE 233 if source_labelp -> label.vol_trouble_count > 0 then source.n_records = rec_per_sv (source.device_type); 003037 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 003040 aa 7 00716 2361 00 ldq pr7|462 label.vol_trouble_count 003041 aa 000005 6044 04 tmoz 5,ic 003046 003042 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 003043 ta 000176 2360 17 ldq 126,7 003044 aa 6 00140 7561 00 stq pr6|96 source.n_records 003045 aa 000003 7100 04 tra 3,ic 003050 STATEMENT 1 ON LINE 235 else call get_highest_record (source.n_records); 003046 aa 004536 3520 04 epp2 2398,ic 007604 = 000002000000 003047 aa 002037 6700 04 tsp4 1055,ic 005106 STATEMENT 1 ON LINE 238 target.n_records = source.n_records; 003050 aa 6 00140 2361 00 ldq pr6|96 source.n_records 003051 aa 6 00272 7561 00 stq pr6|186 target.n_records STATEMENT 1 ON LINE 240 call check_compatibility (); 003052 aa 001413 6700 04 tsp4 779,ic 004465 STATEMENT 1 ON LINE 242 start_clock_time = clock (); 003053 aa 0 01435 7001 00 tsx0 pr0|797 clock_mac 003054 aa 6 00452 7571 00 staq pr6|298 start_clock_time STATEMENT 1 ON LINE 243 start_cpu_time = vclock (); 003055 aa 0 01436 7001 00 tsx0 pr0|798 vclock_mac 003056 aa 6 00454 7571 00 staq pr6|300 start_cpu_time STATEMENT 1 ON LINE 245 if ^brief_sw then call ioa_ ("^a: begin copy of ^a onto ^a, records ^d. to ^d.", WHOAMI, source.device, target.device, first_record, last_record); 003057 aa 6 00364 2351 00 lda pr6|244 brief_sw 003060 aa 400000 3150 03 cana 131072,du 003061 aa 000036 6010 04 tnz 30,ic 003117 003062 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003063 aa 775704 00 0060 desc9a -1084,48 000766 = 136141072040 003064 aa 6 00656 00 0060 desc9a pr6|430,48 003065 aa 6 00656 3521 00 epp2 pr6|430 003066 aa 6 01106 2521 00 spri2 pr6|582 003067 aa 775132 3520 04 epp2 -1446,ic 000221 = 143157160171 003070 aa 6 01110 2521 00 spri2 pr6|584 003071 aa 6 00100 3521 00 epp2 pr6|64 source.device 003072 aa 6 01112 2521 00 spri2 pr6|586 003073 aa 6 00232 3521 00 epp2 pr6|154 target.device 003074 aa 6 01114 2521 00 spri2 pr6|588 003075 aa 6 00400 3521 00 epp2 pr6|256 first_record 003076 aa 6 01116 2521 00 spri2 pr6|590 003077 aa 6 00401 3521 00 epp2 pr6|257 last_record 003100 aa 6 01120 2521 00 spri2 pr6|592 003101 aa 775205 3520 04 epp2 -1403,ic 000306 = 524000000060 003102 aa 6 01122 2521 00 spri2 pr6|594 003103 aa 775227 3520 04 epp2 -1385,ic 000332 = 526000000040 003104 aa 6 01124 2521 00 spri2 pr6|596 003105 aa 6 01126 2521 00 spri2 pr6|598 003106 aa 6 01130 2521 00 spri2 pr6|600 003107 aa 775226 3520 04 epp2 -1386,ic 000335 = 404000000022 003110 aa 6 01132 2521 00 spri2 pr6|602 003111 aa 6 01134 2521 00 spri2 pr6|604 003112 aa 6 01104 6211 00 eax1 pr6|580 003113 aa 030000 4310 07 fld 12288,dl 003114 aa 6 00044 3701 20 epp4 pr6|36,* 003115 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003116 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 250 if et_number > 0 then retry_sw = "1"b; 003117 aa 6 00376 2361 00 ldq pr6|254 et_number 003120 aa 000003 6044 04 tmoz 3,ic 003123 003121 aa 400000 2350 03 lda 131072,du 003122 aa 6 00374 7551 00 sta pr6|252 retry_sw STATEMENT 1 ON LINE 251 copy_started = "1"b; 003123 aa 400000 2350 03 lda 131072,du 003124 aa 6 00372 7551 00 sta pr6|250 copy_started STATEMENT 1 ON LINE 253 call copy_disk_copy_ (addr (source), addr (target), brief_sw, query_sw, trace_sw, retry_sw, cylinder_idx, code); 003125 aa 6 00100 3735 00 epp7 pr6|64 source 003126 aa 6 00712 6535 00 spri7 pr6|458 003127 aa 6 00232 3715 00 epp5 pr6|154 target 003130 aa 6 01136 6515 00 spri5 pr6|606 003131 aa 6 00712 3521 00 epp2 pr6|458 003132 aa 6 00716 2521 00 spri2 pr6|462 003133 aa 6 01136 3521 00 epp2 pr6|606 003134 aa 6 00720 2521 00 spri2 pr6|464 003135 aa 6 00364 3521 00 epp2 pr6|244 brief_sw 003136 aa 6 00722 2521 00 spri2 pr6|466 003137 aa 6 00367 3521 00 epp2 pr6|247 query_sw 003140 aa 6 00724 2521 00 spri2 pr6|468 003141 aa 6 00370 3521 00 epp2 pr6|248 trace_sw 003142 aa 6 00726 2521 00 spri2 pr6|470 003143 aa 6 00374 3521 00 epp2 pr6|252 retry_sw 003144 aa 6 00730 2521 00 spri2 pr6|472 003145 aa 6 00375 3521 00 epp2 pr6|253 cylinder_idx 003146 aa 6 00732 2521 00 spri2 pr6|474 003147 aa 6 00451 3521 00 epp2 pr6|297 code 003150 aa 6 00734 2521 00 spri2 pr6|476 003151 aa 6 00714 6211 00 eax1 pr6|460 003152 aa 040000 4310 07 fld 16384,dl 003153 aa 6 00044 3701 20 epp4 pr6|36,* 003154 la 4 00024 3521 20 epp2 pr4|20,* copy_disk_copy_ 003155 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 257 labelp = source_labelp; 003156 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 003157 aa 6 00510 6535 00 spri7 pr6|328 labelp STATEMENT 1 ON LINE 258 if label.nparts > 0 then do idx = 1 to label.nparts; 003160 aa 6 00510 3715 20 epp5 pr6|328,* labelp 003161 aa 5 01003 2361 00 ldq pr5|515 label.nparts 003162 aa 000110 6044 04 tmoz 72,ic 003272 003163 aa 6 00520 7561 00 stq pr6|336 003164 aa 000001 2360 07 ldq 1,dl 003165 aa 6 00377 7561 00 stq pr6|255 idx 003166 aa 6 00377 2361 00 ldq pr6|255 idx 003167 aa 6 00520 1161 00 cmpq pr6|336 003170 aa 000102 6054 04 tpnz 66,ic 003272 STATEMENT 1 ON LINE 259 if label.parts(idx).part = "alt" then; 003171 aa 000002 7360 00 qls 2 003172 aa 000000 6270 06 eax7 0,ql 003173 aa 775112 2350 04 lda -1462,ic 000305 = 141154164000 003174 aa 0 00446 2771 00 oraq pr0|294 = 000000000040 040040040040 003175 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 003176 aa 6 00510 3735 20 epp7 pr6|328,* labelp 003177 aa 7 01000 1151 17 cmpa pr7|512,7 label.part 003200 aa 6 00737 7471 00 stx7 pr6|479 003201 aa 000002 6010 04 tnz 2,ic 003203 003202 aa 000066 7100 04 tra 54,ic 003270 STATEMENT 1 ON LINE 260 else do; STATEMENT 1 ON LINE 261 source.n_records = label.parts(idx).nrec; 003203 aa 7 01002 2361 17 ldq pr7|514,7 label.nrec 003204 aa 6 00140 7561 00 stq pr6|96 source.n_records STATEMENT 1 ON LINE 262 source.high_bound = source.n_records + label.parts(idx).frec; 003205 aa 7 01001 0761 17 adq pr7|513,7 label.frec 003206 aa 6 00131 7561 00 stq pr6|89 source.high_bound STATEMENT 1 ON LINE 263 source.low_bound = label.parts(idx).frec; 003207 aa 7 01001 2361 17 ldq pr7|513,7 label.frec 003210 aa 6 00130 7561 00 stq pr6|88 source.low_bound STATEMENT 1 ON LINE 264 call copy_disk_copy_ (addr(source), addr (target), brief_sw, query_sw, retry_sw, trace_sw, cylinder_idx, code); 003211 aa 6 00100 3715 00 epp5 pr6|64 source 003212 aa 6 01136 6515 00 spri5 pr6|606 003213 aa 6 00232 3535 00 epp3 pr6|154 target 003214 aa 6 00712 2535 00 spri3 pr6|458 003215 aa 6 01136 3521 00 epp2 pr6|606 003216 aa 6 00742 2521 00 spri2 pr6|482 003217 aa 6 00712 3521 00 epp2 pr6|458 003220 aa 6 00744 2521 00 spri2 pr6|484 003221 aa 6 00364 3521 00 epp2 pr6|244 brief_sw 003222 aa 6 00746 2521 00 spri2 pr6|486 003223 aa 6 00367 3521 00 epp2 pr6|247 query_sw 003224 aa 6 00750 2521 00 spri2 pr6|488 003225 aa 6 00374 3521 00 epp2 pr6|252 retry_sw 003226 aa 6 00752 2521 00 spri2 pr6|490 003227 aa 6 00370 3521 00 epp2 pr6|248 trace_sw 003230 aa 6 00754 2521 00 spri2 pr6|492 003231 aa 6 00375 3521 00 epp2 pr6|253 cylinder_idx 003232 aa 6 00756 2521 00 spri2 pr6|494 003233 aa 6 00451 3521 00 epp2 pr6|297 code 003234 aa 6 00760 2521 00 spri2 pr6|496 003235 aa 6 00740 6211 00 eax1 pr6|480 003236 aa 040000 4310 07 fld 16384,dl 003237 aa 6 00044 3701 20 epp4 pr6|36,* 003240 la 4 00024 3521 20 epp2 pr4|20,* copy_disk_copy_ 003241 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 266 if ^brief_sw then call ioa_ ("Partition ^a processed.", label.parts(idx).part); 003242 aa 6 00364 2351 00 lda pr6|244 brief_sw 003243 aa 400000 3150 03 cana 131072,du 003244 aa 000024 6010 04 tnz 20,ic 003270 003245 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003246 aa 775266 00 0030 desc9a -1354,24 000533 = 120141162164 003247 aa 6 00674 00 0030 desc9a pr6|444,24 003250 aa 6 00377 2361 00 ldq pr6|255 idx 003251 aa 000002 7360 00 qls 2 003252 aa 6 00674 3521 00 epp2 pr6|444 003253 aa 6 00660 2521 00 spri2 pr6|432 003254 aa 6 00510 3735 20 epp7 pr6|328,* labelp 003255 aa 7 01000 3521 06 epp2 pr7|512,ql label.part 003256 aa 6 00662 2521 00 spri2 pr6|434 003257 aa 775025 3520 04 epp2 -1515,ic 000304 = 524000000027 003260 aa 6 00664 2521 00 spri2 pr6|436 003261 aa 775035 3520 04 epp2 -1507,ic 000316 = 524000000004 003262 aa 6 00666 2521 00 spri2 pr6|438 003263 aa 6 00656 6211 00 eax1 pr6|430 003264 aa 010000 4310 07 fld 4096,dl 003265 aa 6 00044 3701 20 epp4 pr6|36,* 003266 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003267 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 268 end; STATEMENT 1 ON LINE 269 end; 003270 aa 6 00377 0541 00 aos pr6|255 idx 003271 aa 777675 7100 04 tra -67,ic 003166 STATEMENT 1 ON LINE 272 if (code = 0) then do; 003272 aa 6 00451 2361 00 ldq pr6|297 code 003273 aa 000021 6010 04 tnz 17,ic 003314 STATEMENT 1 ON LINE 273 copy_finished = "1"b; 003274 aa 400000 2350 03 lda 131072,du 003275 aa 6 00373 7551 00 sta pr6|251 copy_finished STATEMENT 1 ON LINE 275 if ^brief_sw then call ioa_ ("Done."); 003276 aa 6 00364 2351 00 lda pr6|244 brief_sw 003277 aa 400000 3150 03 cana 131072,du 003300 aa 000014 6010 04 tnz 12,ic 003314 003301 aa 775071 2370 04 ldaq -1479,ic 000372 = 104157156145 056000000000 003302 aa 6 00712 7571 00 staq pr6|458 003303 aa 6 00712 3521 00 epp2 pr6|458 003304 aa 6 00660 2521 00 spri2 pr6|432 003305 aa 774776 3520 04 epp2 -1538,ic 000303 = 524000000005 003306 aa 6 00662 2521 00 spri2 pr6|434 003307 aa 6 00656 6211 00 eax1 pr6|430 003310 aa 004000 4310 07 fld 2048,dl 003311 aa 6 00044 3701 20 epp4 pr6|36,* 003312 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003313 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 276 end; STATEMENT 1 ON LINE 278 MAIN_RETURN: if copy_started & (copy_finished | (^brief_sw)) then do; 003314 aa 6 00372 2351 00 lda pr6|250 copy_started 003315 aa 000170 6000 04 tze 120,ic 003505 003316 aa 6 00373 2351 00 lda pr6|251 copy_finished 003317 aa 000004 6010 04 tnz 4,ic 003323 003320 aa 6 00364 2351 00 lda pr6|244 brief_sw 003321 aa 400000 3150 03 cana 131072,du 003322 aa 000163 6010 04 tnz 115,ic 003505 STATEMENT 1 ON LINE 280 call ioa_ ("^a: ^[abnormal termination at cylinder ^d after^;copy took^s^] ^.2f seconds, ^.2f vcpu.^[ no errors.^]", WHOAMI, (^copy_finished), cylinder_idx, (float (clock () - start_clock_time) / 1.0e6), (float (vclock () - start_cpu_time) / 1.0e6), ((source.errors + target.errors) = 0)); 003323 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003324 aa 775776 00 0150 desc9a -1026,104 001321 = 136141072040 003325 aa 6 01104 00 0150 desc9a pr6|580,104 003326 aa 6 00373 2351 00 lda pr6|251 copy_finished 003327 aa 0 00002 6751 00 era pr0|2 = 400000000000 003330 aa 6 00737 7551 00 sta pr6|479 003331 aa 774746 4310 04 fld -1562,ic 000277 = 050750220000 003332 aa 6 00712 4571 00 dfst pr6|458 003333 aa 0 01435 7001 00 tsx0 pr0|797 clock_mac 003334 aa 6 00452 1771 00 sbaq pr6|298 start_clock_time 003335 aa 216000 4110 03 lde 72704,du 003336 aa 400000 4750 03 fad 131072,du 003337 aa 6 00712 5671 00 dfdv pr6|458 003340 aa 6 00712 4571 00 dfst pr6|458 003341 aa 774736 4310 04 fld -1570,ic 000277 = 050750220000 003342 aa 6 01136 4571 00 dfst pr6|606 003343 aa 0 01436 7001 00 tsx0 pr0|798 vclock_mac 003344 aa 6 00454 1771 00 sbaq pr6|300 start_cpu_time 003345 aa 216000 4110 03 lde 72704,du 003346 aa 400000 4750 03 fad 131072,du 003347 aa 6 01136 5671 00 dfdv pr6|606 003350 aa 6 01136 4571 00 dfst pr6|606 003351 aa 6 00142 2361 00 ldq pr6|98 source.errors 003352 aa 6 00274 0761 00 adq pr6|188 target.errors 003353 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003354 aa 6 01037 7551 00 sta pr6|543 003355 aa 6 01104 3521 00 epp2 pr6|580 003356 aa 6 01042 2521 00 spri2 pr6|546 003357 aa 774642 3520 04 epp2 -1630,ic 000221 = 143157160171 003360 aa 6 01044 2521 00 spri2 pr6|548 003361 aa 6 00737 3521 00 epp2 pr6|479 003362 aa 6 01046 2521 00 spri2 pr6|550 003363 aa 6 00375 3521 00 epp2 pr6|253 cylinder_idx 003364 aa 6 01050 2521 00 spri2 pr6|552 003365 aa 6 00712 3521 00 epp2 pr6|458 003366 aa 6 01052 2521 00 spri2 pr6|554 003367 aa 6 01136 3521 00 epp2 pr6|606 003370 aa 6 01054 2521 00 spri2 pr6|556 003371 aa 6 01037 3521 00 epp2 pr6|543 003372 aa 6 01056 2521 00 spri2 pr6|558 003373 aa 774707 3520 04 epp2 -1593,ic 000302 = 524000000147 003374 aa 6 01060 2521 00 spri2 pr6|560 003375 aa 774735 3520 04 epp2 -1571,ic 000332 = 526000000040 003376 aa 6 01062 2521 00 spri2 pr6|562 003377 aa 774702 3520 04 epp2 -1598,ic 000301 = 514000000001 003400 aa 6 01064 2521 00 spri2 pr6|564 003401 aa 6 01074 2521 00 spri2 pr6|572 003402 aa 774676 3520 04 epp2 -1602,ic 000300 = 404000000021 003403 aa 6 01066 2521 00 spri2 pr6|566 003404 aa 774672 3520 04 epp2 -1606,ic 000276 = 420000000077 003405 aa 6 01070 2521 00 spri2 pr6|568 003406 aa 6 01072 2521 00 spri2 pr6|570 003407 aa 6 01040 6211 00 eax1 pr6|544 003410 aa 034000 4310 07 fld 14336,dl 003411 aa 6 00044 3701 20 epp4 pr6|36,* 003412 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003413 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 286 if ((source.errors + target.errors) > 0) then call ioa_ ("^a: ^[no^s^;^d^] error^[s^] on source disk ^a, ^[no^s^;^d^] error^[s^] on target disk ^a.", WHOAMI, (source.errors = 0), source.errors, (source.errors ^= 1), source.device, (target.errors = 0), target.errors, (target.errors ^= 1), target.device); 003414 aa 6 00142 2361 00 ldq pr6|98 source.errors 003415 aa 6 00274 0761 00 adq pr6|188 target.errors 003416 aa 000067 6044 04 tmoz 55,ic 003505 003417 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003420 aa 775624 00 0134 desc9a -1132,92 001243 = 136141072040 003421 aa 6 01010 00 0134 desc9a pr6|520,92 003422 aa 6 00142 2361 00 ldq pr6|98 source.errors 003423 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003424 aa 6 01037 7551 00 sta pr6|543 003425 aa 000001 1160 07 cmpq 1,dl 003426 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 003427 aa 6 00737 7551 00 sta pr6|479 003430 aa 6 00274 2361 00 ldq pr6|188 target.errors 003431 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003432 aa 6 00736 7551 00 sta pr6|478 003433 aa 000001 1160 07 cmpq 1,dl 003434 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 003435 aa 6 00655 7551 00 sta pr6|429 003436 aa 6 01010 3521 00 epp2 pr6|520 003437 aa 6 01142 2521 00 spri2 pr6|610 003440 aa 774561 3520 04 epp2 -1679,ic 000221 = 143157160171 003441 aa 6 01144 2521 00 spri2 pr6|612 003442 aa 6 01037 3521 00 epp2 pr6|543 003443 aa 6 01146 2521 00 spri2 pr6|614 003444 aa 6 00142 3521 00 epp2 pr6|98 source.errors 003445 aa 6 01150 2521 00 spri2 pr6|616 003446 aa 6 00737 3521 00 epp2 pr6|479 003447 aa 6 01152 2521 00 spri2 pr6|618 003450 aa 6 00100 3521 00 epp2 pr6|64 source.device 003451 aa 6 01154 2521 00 spri2 pr6|620 003452 aa 6 00736 3521 00 epp2 pr6|478 003453 aa 6 01156 2521 00 spri2 pr6|622 003454 aa 6 00274 3521 00 epp2 pr6|188 target.errors 003455 aa 6 01160 2521 00 spri2 pr6|624 003456 aa 6 00655 3521 00 epp2 pr6|429 003457 aa 6 01162 2521 00 spri2 pr6|626 003460 aa 6 00232 3521 00 epp2 pr6|154 target.device 003461 aa 6 01164 2521 00 spri2 pr6|628 003462 aa 774613 3520 04 epp2 -1653,ic 000275 = 524000000131 003463 aa 6 01166 2521 00 spri2 pr6|630 003464 aa 774646 3520 04 epp2 -1626,ic 000332 = 526000000040 003465 aa 6 01170 2521 00 spri2 pr6|632 003466 aa 6 01200 2521 00 spri2 pr6|640 003467 aa 6 01210 2521 00 spri2 pr6|648 003470 aa 774611 3520 04 epp2 -1655,ic 000301 = 514000000001 003471 aa 6 01172 2521 00 spri2 pr6|634 003472 aa 6 01176 2521 00 spri2 pr6|638 003473 aa 6 01202 2521 00 spri2 pr6|642 003474 aa 6 01206 2521 00 spri2 pr6|646 003475 aa 774603 3520 04 epp2 -1661,ic 000300 = 404000000021 003476 aa 6 01174 2521 00 spri2 pr6|636 003477 aa 6 01204 2521 00 spri2 pr6|644 003500 aa 6 01140 6211 00 eax1 pr6|608 003501 aa 050000 4310 07 fld 20480,dl 003502 aa 6 00044 3701 20 epp4 pr6|36,* 003503 la 4 00050 3521 20 epp2 pr4|40,* ioa_ 003504 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 291 end; STATEMENT 1 ON LINE 293 call clean_up ("1"b); 003505 aa 400000 2350 03 lda 131072,du 003506 aa 6 00655 7551 00 sta pr6|429 003507 aa 6 00655 3521 00 epp2 pr6|429 003510 aa 6 00676 2521 00 spri2 pr6|446 003511 aa 6 00674 6211 00 eax1 pr6|444 003512 aa 004000 4310 07 fld 2048,dl 003513 aa 003376 3520 04 epp2 1790,ic 007111 = 000200627000 003514 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 294 return; 003515 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 740 end copy_disk_volume; BEGIN PROCEDURE open ENTRY TO open STATEMENT 1 ON LINE 298 open: procedure (p_info_ptr, p_rdisk_modes, p_pv_name, p_mode); 003516 aa 6 00522 6501 00 spri4 pr6|338 003517 aa 6 00524 2521 00 spri2 pr6|340 STATEMENT 1 ON LINE 309 rdisk_modes = p_rdisk_modes; 003520 aa 2 00004 3735 20 epp7 pr2|4,* 003521 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003522 aa 7 00000 00 0040 desc9a pr7|0,32 p_rdisk_modes 003523 aa 6 00540 00 0040 desc9a pr6|352,32 rdisk_modes STATEMENT 1 ON LINE 311 if ^p_info.attached then do; 003524 aa 2 00002 3715 20 epp5 pr2|2,* p_info_ptr 003525 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 003526 aa 5 00012 2351 00 lda pr5|10 p_info.attached 003527 aa 000377 6010 04 tnz 255,ic 004126 STATEMENT 1 ON LINE 312 if p_pv_name = "" then pv_name = "scratch"; 003530 aa 2 00006 3535 20 epp3 pr2|6,* 003531 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 003532 aa 3 00000 00 0040 desc9a pr3|0,32 p_pv_name 003533 aa 004117 00 0000 desc9a 2127,0 007650 = 040000000000 003534 aa 000005 6010 04 tnz 5,ic 003541 003535 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003536 aa 774631 00 0007 desc9a -1639,7 000366 = 163143162141 003537 aa 6 00530 00 0040 desc9a pr6|344,32 pv_name 003540 aa 000004 7100 04 tra 4,ic 003544 STATEMENT 1 ON LINE 313 else pv_name = p_pv_name; 003541 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003542 aa 3 00000 00 0040 desc9a pr3|0,32 p_pv_name 003543 aa 6 00530 00 0040 desc9a pr6|344,32 pv_name STATEMENT 1 ON LINE 314 p_info.iocb_name = "copy_disk_vol." || unique_chars_ (""b); 003544 aa 6 01212 3521 00 epp2 pr6|650 003545 aa 6 01222 2521 00 spri2 pr6|658 003546 aa 6 01214 3521 00 epp2 pr6|652 003547 aa 6 01224 2521 00 spri2 pr6|660 003550 aa 774524 3520 04 epp2 -1708,ic 000274 = 514000000000 003551 aa 6 01226 2521 00 spri2 pr6|662 003552 aa 774562 3520 04 epp2 -1678,ic 000334 = 526000000017 003553 aa 6 01230 2521 00 spri2 pr6|664 003554 aa 6 01220 6211 00 eax1 pr6|656 003555 aa 010000 4310 07 fld 4096,dl 003556 aa 6 00044 3701 20 epp4 pr6|36,* 003557 la 4 00056 3521 20 epp2 pr4|46,* unique_chars_ 003560 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003561 aa 000035 2360 07 ldq 29,dl 003562 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003563 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003564 aa 774660 00 0016 desc9a -1616,14 000443 = 143157160171 003565 aa 2 00000 00 0016 desc9a pr2|0,14 003566 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003567 aa 6 01214 00 0017 desc9a pr6|652,15 003570 aa 2 00003 40 0017 desc9a pr2|3(2),15 003571 aa 6 00524 3735 20 epp7 pr6|340,* 003572 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 003573 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 003574 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003575 aa 2 00000 00 0035 desc9a pr2|0,29 003576 aa 5 00014 00 0040 desc9a pr5|12,32 p_info.iocb_name STATEMENT 1 ON LINE 315 call iox_$find_iocb (p_info.iocb_name, p_info.iocb, (0)); 003577 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003600 aa 6 01212 4501 00 stz pr6|650 003601 aa 5 00014 3521 00 epp2 pr5|12 p_info.iocb_name 003602 aa 6 01234 2521 00 spri2 pr6|668 003603 aa 5 00024 3521 00 epp2 pr5|20 p_info.iocb 003604 aa 6 01236 2521 00 spri2 pr6|670 003605 aa 6 01212 3521 00 epp2 pr6|650 003606 aa 6 01240 2521 00 spri2 pr6|672 003607 aa 774523 3520 04 epp2 -1709,ic 000332 = 526000000040 003610 aa 6 01242 2521 00 spri2 pr6|674 003611 aa 774515 3520 04 epp2 -1715,ic 000326 = 464000000000 003612 aa 6 01244 2521 00 spri2 pr6|676 003613 aa 774523 3520 04 epp2 -1709,ic 000336 = 404000000043 003614 aa 6 01246 2521 00 spri2 pr6|678 003615 aa 6 01232 6211 00 eax1 pr6|666 003616 aa 014000 4310 07 fld 6144,dl 003617 aa 6 00044 3701 20 epp4 pr6|36,* 003620 la 4 00072 3521 20 epp2 pr4|58,* iox_$find_iocb 003621 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 317 p_info.desc = "rdisk_ "; 003622 aa 774542 2370 04 ldaq -1694,ic 000364 = 162144151163 153137040000 003623 aa 6 00524 3735 20 epp7 pr6|340,* 003624 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 003625 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 003626 aa 5 00047 7551 00 sta pr5|39 p_info.desc 003627 aa 5 00050 7561 00 stq pr5|40 p_info.desc 003630 aa 000007 2360 07 ldq 7,dl 003631 aa 5 00046 7561 00 stq pr5|38 p_info.desc STATEMENT 1 ON LINE 318 p_info.desc = p_info.desc || device_names (p_info.device_type); 003632 aa 5 00010 7271 00 lxl7 pr5|8 p_info.device_type 003633 ta 000207 3534 17 epp3 135,7 003634 aa 000310 2360 07 ldq 200,dl 003635 aa 5 00046 1761 00 sbq pr5|38 p_info.desc 003636 aa 000004 1160 07 cmpq 4,dl 003637 aa 000002 6040 04 tmi 2,ic 003641 003640 aa 000004 2360 07 ldq 4,dl 003641 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003642 aa 5 00046 0561 00 asq pr5|38 p_info.desc 003643 aa 040 156 100 540 mlr (pr,rl),(pr,rl,x6),fill(040) 003644 aa 3 00000 00 0006 desc9a pr3|0,ql device_names 003645 aa 5 00047 00 0006 desc9a pr5|39,ql p_info.desc STATEMENT 1 ON LINE 319 p_info.desc = p_info.desc || " " || rtrim (pv_name); 003646 aa 000 000 165 500 tctr (pr) 003647 aa 6 00530 00 0040 desc9a pr6|344,32 pv_name 003650 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003651 aa 6 00056 0001 00 arg pr6|46 003652 aa 6 00056 2361 00 ldq pr6|46 003653 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003654 aa 6 01212 7561 00 stq pr6|650 003655 aa 000040 2360 07 ldq 32,dl 003656 aa 6 01212 1761 00 sbq pr6|650 003657 aa 6 01212 7561 00 stq pr6|650 003660 aa 5 00046 2361 00 ldq pr5|38 p_info.desc 003661 aa 000001 0760 07 adq 1,dl 003662 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003663 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003664 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003665 aa 5 00047 00 0016 desc9a pr5|39,x6 p_info.desc 003666 aa 2 00000 00 0016 desc9a pr2|0,x6 003667 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003670 aa 040 116 100 404 mlr (ic),(pr,x6),fill(040) 003671 aa 003760 00 0001 desc9a 2032,1 007650 = 040000000000 003672 aa 2 00000 00 0001 desc9a pr2|0,1 003673 aa 6 01213 7561 00 stq pr6|651 003674 aa 6 01212 0761 00 adq pr6|650 003675 aa 6 01250 7561 00 stq pr6|680 003676 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 003677 aa 6 01213 2351 00 lda pr6|651 003700 aa 6 01212 2361 00 ldq pr6|650 003701 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 003702 aa 6 00530 00 0006 desc9a pr6|344,ql pv_name 003703 aa 2 00000 00 0006 desc9a pr2|0,ql 003704 aa 6 01250 2361 00 ldq pr6|680 003705 aa 000310 1160 07 cmpq 200,dl 003706 aa 000002 6040 04 tmi 2,ic 003710 003707 aa 000310 2360 07 ldq 200,dl 003710 aa 5 00046 7561 00 stq pr5|38 p_info.desc 003711 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003712 aa 2 00000 00 0006 desc9a pr2|0,ql 003713 aa 5 00047 00 0006 desc9a pr5|39,ql p_info.desc STATEMENT 1 ON LINE 320 p_info.desc = p_info.desc || " -system "; 003714 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003715 aa 000310 2360 07 ldq 200,dl 003716 aa 5 00046 1761 00 sbq pr5|38 p_info.desc 003717 aa 000011 1160 07 cmpq 9,dl 003720 aa 000002 6040 04 tmi 2,ic 003722 003721 aa 000011 2360 07 ldq 9,dl 003722 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003723 aa 5 00046 0561 00 asq pr5|38 p_info.desc 003724 aa 040 156 100 444 mlr (rl,ic),(pr,rl,x6),fill(040) 003725 aa 774500 00 0006 desc9a -1728,ql 000424 = 040055163171 003726 aa 5 00047 00 0006 desc9a pr5|39,ql p_info.desc STATEMENT 1 ON LINE 321 if p_info_ptr = addr(target) then p_info.desc = p_info.desc || "-write "; 003727 aa 6 00232 3515 00 epp1 pr6|154 target 003730 aa 6 01252 2515 00 spri1 pr6|682 003731 aa 6 01252 2371 00 ldaq pr6|682 003732 aa 7 00002 6771 20 eraq pr7|2,* p_info_ptr 003733 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003734 aa 000013 6010 04 tnz 11,ic 003747 003735 aa 000310 2360 07 ldq 200,dl 003736 aa 5 00046 1761 00 sbq pr5|38 p_info.desc 003737 aa 000007 1160 07 cmpq 7,dl 003740 aa 000002 6040 04 tmi 2,ic 003742 003741 aa 000007 2360 07 ldq 7,dl 003742 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003743 aa 5 00046 0561 00 asq pr5|38 p_info.desc 003744 aa 040 156 100 444 mlr (rl,ic),(pr,rl,x6),fill(040) 003745 aa 774416 00 0006 desc9a -1778,ql 000362 = 055167162151 003746 aa 5 00047 00 0006 desc9a pr5|39,ql p_info.desc STATEMENT 1 ON LINE 323 p_info.desc = p_info.desc || "-device " || rtrim (p_info.device); 003747 aa 000 000 165 500 tctr (pr) 003750 aa 5 00000 00 0040 desc9a pr5|0,32 p_info.device 003751 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003752 aa 6 00056 0001 00 arg pr6|46 003753 aa 6 00056 2361 00 ldq pr6|46 003754 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003755 aa 6 01251 7561 00 stq pr6|681 003756 aa 000040 2360 07 ldq 32,dl 003757 aa 6 01251 1761 00 sbq pr6|681 003760 aa 6 01251 7561 00 stq pr6|681 003761 aa 5 00046 2361 00 ldq pr5|38 p_info.desc 003762 aa 000010 0760 07 adq 8,dl 003763 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003764 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003765 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003766 aa 5 00047 00 0016 desc9a pr5|39,x6 p_info.desc 003767 aa 2 00000 00 0016 desc9a pr2|0,x6 003770 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 003771 aa 040 116 100 404 mlr (ic),(pr,x6),fill(040) 003772 aa 774367 00 0010 desc9a -1801,8 000360 = 055144145166 003773 aa 2 00000 00 0010 desc9a pr2|0,8 003774 aa 6 01250 7561 00 stq pr6|680 003775 aa 6 01251 0761 00 adq pr6|681 003776 aa 6 01213 7561 00 stq pr6|651 003777 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004000 aa 6 01250 2351 00 lda pr6|680 004001 aa 6 01251 2361 00 ldq pr6|681 004002 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 004003 aa 5 00000 00 0006 desc9a pr5|0,ql p_info.device 004004 aa 2 00000 00 0006 desc9a pr2|0,ql 004005 aa 6 01213 2361 00 ldq pr6|651 004006 aa 000310 1160 07 cmpq 200,dl 004007 aa 000002 6040 04 tmi 2,ic 004011 004010 aa 000310 2360 07 ldq 200,dl 004011 aa 5 00046 7561 00 stq pr5|38 p_info.desc 004012 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004013 aa 2 00000 00 0006 desc9a pr2|0,ql 004014 aa 5 00047 00 0006 desc9a pr5|39,ql p_info.desc STATEMENT 1 ON LINE 325 call iox_$attach_name (p_info.iocb_name, p_info.iocb, (p_info.desc), codeptr (copy_disk_volume), code); 004015 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 004016 aa 5 00046 2361 00 ldq pr5|38 p_info.desc 004017 aa 524000 2760 03 orq 174080,du 004020 aa 6 01213 7561 00 stq pr6|651 004021 aa 5 00046 2361 00 ldq pr5|38 p_info.desc 004022 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004023 aa 6 01266 2521 00 spri2 pr6|694 004024 aa 5 00046 7261 00 lxl6 pr5|38 p_info.desc 004025 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004026 aa 5 00047 00 0016 desc9a pr5|39,x6 p_info.desc 004027 aa 2 00000 00 0006 desc9a pr2|0,ql 004030 aa 775370 3514 04 epp1 -1288,ic 001420 = 001620627000 004031 aa 6 01256 2515 00 spri1 pr6|686 004032 aa 5 00014 3521 00 epp2 pr5|12 p_info.iocb_name 004033 aa 6 01262 2521 00 spri2 pr6|690 004034 aa 5 00024 3521 00 epp2 pr5|20 p_info.iocb 004035 aa 6 01264 2521 00 spri2 pr6|692 004036 aa 6 01256 3521 00 epp2 pr6|686 004037 aa 6 01270 2521 00 spri2 pr6|696 004040 aa 6 00451 3521 00 epp2 pr6|297 code 004041 aa 6 01272 2521 00 spri2 pr6|698 004042 aa 774270 3520 04 epp2 -1864,ic 000332 = 526000000040 004043 aa 6 01274 2521 00 spri2 pr6|700 004044 aa 774262 3520 04 epp2 -1870,ic 000326 = 464000000000 004045 aa 6 01276 2521 00 spri2 pr6|702 004046 aa 6 01302 2521 00 spri2 pr6|706 004047 aa 6 01213 3521 00 epp2 pr6|651 004050 aa 6 01300 2521 00 spri2 pr6|704 004051 aa 774265 3520 04 epp2 -1867,ic 000336 = 404000000043 004052 aa 6 01304 2521 00 spri2 pr6|708 004053 aa 6 01260 6211 00 eax1 pr6|688 004054 aa 024000 4310 07 fld 10240,dl 004055 aa 6 00044 3701 20 epp4 pr6|36,* 004056 la 4 00060 3521 20 epp2 pr4|48,* iox_$attach_name 004057 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 326 if (code ^= 0) then do; 004060 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 004061 aa 6 00451 2361 00 ldq pr6|297 code 004062 aa 000037 6000 04 tze 31,ic 004121 STATEMENT 1 ON LINE 327 call com_err_ (code, WHOAMI, "attaching ^a", p_info.desc); 004063 aa 774336 2350 04 lda -1826,ic 000421 = 141164164141 004064 aa 774336 2360 04 ldq -1826,ic 000422 = 143150151156 004065 aa 6 01214 7571 00 staq pr6|652 004066 aa 774335 2350 04 lda -1827,ic 000423 = 147040136141 004067 aa 6 01216 7551 00 sta pr6|654 004070 aa 6 00451 3521 00 epp2 pr6|297 code 004071 aa 6 01262 2521 00 spri2 pr6|690 004072 aa 774127 3520 04 epp2 -1961,ic 000221 = 143157160171 004073 aa 6 01264 2521 00 spri2 pr6|692 004074 aa 6 01214 3521 00 epp2 pr6|652 004075 aa 6 01266 2521 00 spri2 pr6|694 004076 aa 6 00524 3735 20 epp7 pr6|340,* 004077 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004100 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004101 aa 5 00047 3521 00 epp2 pr5|39 p_info.desc 004102 aa 6 01270 2521 00 spri2 pr6|696 004103 aa 774233 3520 04 epp2 -1893,ic 000336 = 404000000043 004104 aa 6 01272 2521 00 spri2 pr6|698 004105 aa 774225 3520 04 epp2 -1899,ic 000332 = 526000000040 004106 aa 6 01274 2521 00 spri2 pr6|700 004107 aa 774162 3520 04 epp2 -1934,ic 000271 = 524000000014 004110 aa 6 01276 2521 00 spri2 pr6|702 004111 aa 774157 3520 04 epp2 -1937,ic 000270 = 530000000310 004112 aa 6 01300 2521 00 spri2 pr6|704 004113 aa 6 01260 6211 00 eax1 pr6|688 004114 aa 020000 4310 07 fld 8192,dl 004115 aa 6 00044 3701 20 epp4 pr6|36,* 004116 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004117 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 328 goto MAIN_RETURN; 004120 aa 777174 7100 04 tra -388,ic 003314 STATEMENT 1 ON LINE 329 end; STATEMENT 1 ON LINE 331 p_info.attached = "1"b; 004121 aa 400000 2350 03 lda 131072,du 004122 aa 6 00524 3735 20 epp7 pr6|340,* 004123 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004124 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004125 aa 5 00012 7551 00 sta pr5|10 p_info.attached STATEMENT 1 ON LINE 332 end; STATEMENT 1 ON LINE 334 p_info.mode = p_mode; 004126 aa 6 00524 3735 20 epp7 pr6|340,* 004127 aa 7 00010 2361 20 ldq pr7|8,* p_mode 004130 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004131 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004132 aa 5 00011 7561 00 stq pr5|9 p_info.mode STATEMENT 1 ON LINE 335 call iox_$open (p_info.iocb, p_info.mode, "0"b, code); 004133 aa 000000 2350 07 lda 0,dl 004134 aa 6 01213 7551 00 sta pr6|651 004135 aa 5 00024 3521 00 epp2 pr5|20 p_info.iocb 004136 aa 6 01222 2521 00 spri2 pr6|658 004137 aa 5 00011 3521 00 epp2 pr5|9 p_info.mode 004140 aa 6 01224 2521 00 spri2 pr6|660 004141 aa 6 01213 3521 00 epp2 pr6|651 004142 aa 6 01226 2521 00 spri2 pr6|662 004143 aa 6 00451 3521 00 epp2 pr6|297 code 004144 aa 6 01230 2521 00 spri2 pr6|664 004145 aa 6 01220 6211 00 eax1 pr6|656 004146 aa 020000 4310 07 fld 8192,dl 004147 aa 6 00044 3701 20 epp4 pr6|36,* 004150 la 4 00076 3521 20 epp2 pr4|62,* iox_$open 004151 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 336 if (code ^= 0) then do; 004152 aa 6 00451 2361 00 ldq pr6|297 code 004153 aa 000046 6000 04 tze 38,ic 004221 STATEMENT 1 ON LINE 337 call com_err_ (code, WHOAMI, "opening ^a for ^a", p_info.desc, iox_modes (p_info.mode)); 004154 aa 774310 2370 04 ldaq -1848,ic 000464 = 157160145156 151156147040 004155 aa 6 01220 7571 00 staq pr6|656 004156 aa 774310 2370 04 ldaq -1848,ic 000466 = 136141040146 157162040136 004157 aa 6 01222 7571 00 staq pr6|658 004160 aa 141000 2350 03 lda 49664,du 004161 aa 6 01224 7551 00 sta pr6|660 004162 aa 6 00524 3735 20 epp7 pr6|340,* 004163 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004164 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004165 aa 5 00011 2361 00 ldq pr5|9 p_info.mode 004166 aa 000006 4020 07 mpy 6,dl 004167 aa 6 00451 3521 00 epp2 pr6|297 code 004170 aa 6 01262 2521 00 spri2 pr6|690 004171 aa 774030 3520 04 epp2 -2024,ic 000221 = 143157160171 004172 aa 6 01264 2521 00 spri2 pr6|692 004173 aa 6 01220 3521 00 epp2 pr6|656 004174 aa 6 01266 2521 00 spri2 pr6|694 004175 aa 5 00047 3521 00 epp2 pr5|39 p_info.desc 004176 aa 6 01270 2521 00 spri2 pr6|696 004177 ta 000006 3520 06 epp2 6,ql 004200 aa 6 01272 2521 00 spri2 pr6|698 004201 aa 774135 3520 04 epp2 -1955,ic 000336 = 404000000043 004202 aa 6 01274 2521 00 spri2 pr6|700 004203 aa 774127 3520 04 epp2 -1961,ic 000332 = 526000000040 004204 aa 6 01276 2521 00 spri2 pr6|702 004205 aa 774062 3520 04 epp2 -1998,ic 000267 = 524000000021 004206 aa 6 01300 2521 00 spri2 pr6|704 004207 aa 774061 3520 04 epp2 -1999,ic 000270 = 530000000310 004210 aa 6 01302 2521 00 spri2 pr6|706 004211 aa 774117 3520 04 epp2 -1969,ic 000330 = 524000000030 004212 aa 6 01304 2521 00 spri2 pr6|708 004213 aa 6 01260 6211 00 eax1 pr6|688 004214 aa 024000 4310 07 fld 10240,dl 004215 aa 6 00044 3701 20 epp4 pr6|36,* 004216 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004217 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 339 goto MAIN_RETURN; 004220 aa 777074 7100 04 tra -452,ic 003314 STATEMENT 1 ON LINE 340 end; STATEMENT 1 ON LINE 342 p_info.opened = "1"b; 004221 aa 400000 2350 03 lda 131072,du 004222 aa 6 00524 3735 20 epp7 pr6|340,* 004223 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004224 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004225 aa 5 00013 7551 00 sta pr5|11 p_info.opened STATEMENT 1 ON LINE 344 if check_sw then rdisk_modes = rtrim(rdisk_modes) || "^label,wrtcmp"; 004226 aa 6 00365 2351 00 lda pr6|245 check_sw 004227 aa 000030 6000 04 tze 24,ic 004257 004230 aa 000 000 165 500 tctr (pr) 004231 aa 6 00540 00 0040 desc9a pr6|352,32 rdisk_modes 004232 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 004233 aa 6 00056 0001 00 arg pr6|46 004234 aa 6 00056 2361 00 ldq pr6|46 004235 aa 0 00242 3761 00 anq pr0|162 = 000777777777 004236 aa 6 01213 7561 00 stq pr6|651 004237 aa 000040 2360 07 ldq 32,dl 004240 aa 6 01213 1761 00 sbq pr6|651 004241 aa 6 01213 7561 00 stq pr6|651 004242 aa 000015 0760 07 adq 13,dl 004243 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004244 aa 6 01213 2351 00 lda pr6|651 004245 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004246 aa 6 00540 00 0005 desc9a pr6|352,al rdisk_modes 004247 aa 2 00000 00 0005 desc9a pr2|0,al 004250 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004251 aa 774167 00 0015 desc9a -1929,13 000437 = 136154141142 004252 aa 2 00000 00 0015 desc9a pr2|0,13 004253 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 004254 aa 2 00000 00 0006 desc9a pr2|0,ql 004255 aa 6 00540 00 0040 desc9a pr6|352,32 rdisk_modes 004256 aa 000030 7100 04 tra 24,ic 004306 STATEMENT 1 ON LINE 346 else rdisk_modes = rtrim(rdisk_modes) || "^label,^wrtcmp"; 004257 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 004260 aa 000 000 165 500 tctr (pr) 004261 aa 6 00540 00 0040 desc9a pr6|352,32 rdisk_modes 004262 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 004263 aa 6 00056 0001 00 arg pr6|46 004264 aa 6 00056 2361 00 ldq pr6|46 004265 aa 0 00242 3761 00 anq pr0|162 = 000777777777 004266 aa 6 01213 7561 00 stq pr6|651 004267 aa 000040 2360 07 ldq 32,dl 004270 aa 6 01213 1761 00 sbq pr6|651 004271 aa 6 01213 7561 00 stq pr6|651 004272 aa 000016 0760 07 adq 14,dl 004273 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004274 aa 6 01213 2351 00 lda pr6|651 004275 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004276 aa 6 00540 00 0005 desc9a pr6|352,al rdisk_modes 004277 aa 2 00000 00 0005 desc9a pr2|0,al 004300 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004301 aa 774133 00 0016 desc9a -1957,14 000433 = 136154141142 004302 aa 2 00000 00 0016 desc9a pr2|0,14 004303 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 004304 aa 2 00000 00 0006 desc9a pr2|0,ql 004305 aa 6 00540 00 0040 desc9a pr6|352,32 rdisk_modes STATEMENT 1 ON LINE 348 call iox_$modes (p_info.iocb, rdisk_modes, (""), code); 004306 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 004307 aa 5 00024 3521 00 epp2 pr5|20 p_info.iocb 004310 aa 6 01262 2521 00 spri2 pr6|690 004311 aa 6 00540 3521 00 epp2 pr6|352 rdisk_modes 004312 aa 6 01264 2521 00 spri2 pr6|692 004313 aa 6 01213 3521 00 epp2 pr6|651 004314 aa 6 01266 2521 00 spri2 pr6|694 004315 aa 6 00451 3521 00 epp2 pr6|297 code 004316 aa 6 01270 2521 00 spri2 pr6|696 004317 aa 774007 3520 04 epp2 -2041,ic 000326 = 464000000000 004320 aa 6 01272 2521 00 spri2 pr6|698 004321 aa 774011 3520 04 epp2 -2039,ic 000332 = 526000000040 004322 aa 6 01274 2521 00 spri2 pr6|700 004323 aa 773747 3520 04 epp2 -2073,ic 000272 = 524000000000 004324 aa 6 01276 2521 00 spri2 pr6|702 004325 aa 774011 3520 04 epp2 -2039,ic 000336 = 404000000043 004326 aa 6 01300 2521 00 spri2 pr6|704 004327 aa 6 01260 6211 00 eax1 pr6|688 004330 aa 020000 4310 07 fld 8192,dl 004331 aa 6 00044 3701 20 epp4 pr6|36,* 004332 la 4 00074 3521 20 epp2 pr4|60,* iox_$modes 004333 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 349 if (code ^= 0) then do; 004334 aa 6 00451 2361 00 ldq pr6|297 code 004335 aa 000036 6000 04 tze 30,ic 004373 STATEMENT 1 ON LINE 350 call com_err_ (code, WHOAMI, "attempting to set modes for ^a to ^a", p_info.device, rdisk_modes); 004336 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004337 aa 774304 00 0044 desc9a -1852,36 000642 = 141164164145 004340 aa 6 01220 00 0044 desc9a pr6|656,36 004341 aa 6 00451 3521 00 epp2 pr6|297 code 004342 aa 6 01262 2521 00 spri2 pr6|690 004343 aa 773656 3520 04 epp2 -2130,ic 000221 = 143157160171 004344 aa 6 01264 2521 00 spri2 pr6|692 004345 aa 6 01220 3521 00 epp2 pr6|656 004346 aa 6 01266 2521 00 spri2 pr6|694 004347 aa 6 00524 3735 20 epp7 pr6|340,* 004350 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004351 aa 5 00000 3521 20 epp2 pr5|0,* p_info.device 004352 aa 6 01270 2521 00 spri2 pr6|696 004353 aa 6 00540 3521 00 epp2 pr6|352 rdisk_modes 004354 aa 6 01272 2521 00 spri2 pr6|698 004355 aa 773761 3520 04 epp2 -2063,ic 000336 = 404000000043 004356 aa 6 01274 2521 00 spri2 pr6|700 004357 aa 773753 3520 04 epp2 -2069,ic 000332 = 526000000040 004360 aa 6 01276 2521 00 spri2 pr6|702 004361 aa 6 01302 2521 00 spri2 pr6|706 004362 aa 6 01304 2521 00 spri2 pr6|708 004363 aa 773703 3520 04 epp2 -2109,ic 000266 = 524000000044 004364 aa 6 01300 2521 00 spri2 pr6|704 004365 aa 6 01260 6211 00 eax1 pr6|688 004366 aa 024000 4310 07 fld 10240,dl 004367 aa 6 00044 3701 20 epp4 pr6|36,* 004370 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004371 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 352 goto MAIN_RETURN; 004372 aa 776722 7100 04 tra -558,ic 003314 STATEMENT 1 ON LINE 353 end; STATEMENT 1 ON LINE 355 call iox_$control (p_info.iocb, "getbounds", addr (p_info.bounds), code); 004373 aa 774023 2370 04 ldaq -2029,ic 000416 = 147145164142 157165156144 004374 aa 6 01214 7571 00 staq pr6|652 004375 aa 163000 2350 03 lda 58880,du 004376 aa 6 01216 7551 00 sta pr6|654 004377 aa 6 00524 3735 20 epp7 pr6|340,* 004400 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004401 aa 5 00000 3715 20 epp5 pr5|0,* p_info_ptr 004402 aa 5 00030 3535 00 epp3 pr5|24 p_info.bounds 004403 aa 6 01256 2535 00 spri3 pr6|686 004404 aa 5 00024 3521 00 epp2 pr5|20 p_info.iocb 004405 aa 6 01262 2521 00 spri2 pr6|690 004406 aa 6 01214 3521 00 epp2 pr6|652 004407 aa 6 01264 2521 00 spri2 pr6|692 004410 aa 6 01256 3521 00 epp2 pr6|686 004411 aa 6 01266 2521 00 spri2 pr6|694 004412 aa 6 00451 3521 00 epp2 pr6|297 code 004413 aa 6 01270 2521 00 spri2 pr6|696 004414 aa 773712 3520 04 epp2 -2102,ic 000326 = 464000000000 004415 aa 6 01272 2521 00 spri2 pr6|698 004416 aa 6 01276 2521 00 spri2 pr6|702 004417 aa 773646 3520 04 epp2 -2138,ic 000265 = 524000000011 004420 aa 6 01274 2521 00 spri2 pr6|700 004421 aa 773715 3520 04 epp2 -2099,ic 000336 = 404000000043 004422 aa 6 01300 2521 00 spri2 pr6|704 004423 aa 6 01260 6211 00 eax1 pr6|688 004424 aa 020000 4310 07 fld 8192,dl 004425 aa 6 00044 3701 20 epp4 pr6|36,* 004426 la 4 00064 3521 20 epp2 pr4|52,* iox_$control 004427 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 356 if (code ^= 0) then do; 004430 aa 6 00451 2361 00 ldq pr6|297 code 004431 aa 000033 6000 04 tze 27,ic 004464 STATEMENT 1 ON LINE 357 call com_err_ (code, WHOAMI, "attempting to get bounds for ^a", p_info.device); 004432 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004433 aa 774200 00 0040 desc9a -1920,32 000632 = 141164164145 004434 aa 6 01220 00 0040 desc9a pr6|656,32 004435 aa 6 00451 3521 00 epp2 pr6|297 code 004436 aa 6 01262 2521 00 spri2 pr6|690 004437 aa 773562 3520 04 epp2 -2190,ic 000221 = 143157160171 004440 aa 6 01264 2521 00 spri2 pr6|692 004441 aa 6 01220 3521 00 epp2 pr6|656 004442 aa 6 01266 2521 00 spri2 pr6|694 004443 aa 6 00524 3735 20 epp7 pr6|340,* 004444 aa 7 00002 3715 20 epp5 pr7|2,* p_info_ptr 004445 aa 5 00000 3521 20 epp2 pr5|0,* p_info.device 004446 aa 6 01270 2521 00 spri2 pr6|696 004447 aa 773667 3520 04 epp2 -2121,ic 000336 = 404000000043 004450 aa 6 01272 2521 00 spri2 pr6|698 004451 aa 773661 3520 04 epp2 -2127,ic 000332 = 526000000040 004452 aa 6 01274 2521 00 spri2 pr6|700 004453 aa 6 01300 2521 00 spri2 pr6|704 004454 aa 773610 3520 04 epp2 -2168,ic 000264 = 524000000037 004455 aa 6 01276 2521 00 spri2 pr6|702 004456 aa 6 01260 6211 00 eax1 pr6|688 004457 aa 020000 4310 07 fld 8192,dl 004460 aa 6 00044 3701 20 epp4 pr6|36,* 004461 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004462 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 358 goto MAIN_RETURN; 004463 aa 776631 7100 04 tra -615,ic 003314 STATEMENT 1 ON LINE 359 end; STATEMENT 1 ON LINE 361 return; 004464 aa 6 00522 6101 00 rtcd pr6|338 STATEMENT 1 ON LINE 362 end open; END PROCEDURE open BEGIN PROCEDURE check_compatibility ENTRY TO check_compatibility STATEMENT 1 ON LINE 366 check_compatibility: procedure (); 004465 aa 6 00550 6501 00 spri4 pr6|360 STATEMENT 1 ON LINE 373 if (first_record >= 0) then first_sector = copy_disk_io_$record_to_sector (addr (source), first_record); 004466 aa 6 00400 2361 00 ldq pr6|256 first_record 004467 aa 000017 6040 04 tmi 15,ic 004506 004470 aa 6 00100 3735 00 epp7 pr6|64 source 004471 aa 6 01306 6535 00 spri7 pr6|710 004472 aa 6 01306 3521 00 epp2 pr6|710 004473 aa 6 01312 2521 00 spri2 pr6|714 004474 aa 6 00400 3521 00 epp2 pr6|256 first_record 004475 aa 6 01314 2521 00 spri2 pr6|716 004476 aa 6 00556 3521 00 epp2 pr6|366 first_sector 004477 aa 6 01316 2521 00 spri2 pr6|718 004500 aa 6 01310 6211 00 eax1 pr6|712 004501 aa 014000 4310 07 fld 6144,dl 004502 aa 6 00044 3701 20 epp4 pr6|36,* 004503 la 4 00030 3521 20 epp2 pr4|24,* copy_disk_io_$record_to_sector 004504 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 004505 aa 000003 7100 04 tra 3,ic 004510 STATEMENT 1 ON LINE 376 else first_sector = source.low_bound; 004506 aa 6 00130 2361 00 ldq pr6|88 source.low_bound 004507 aa 6 00556 7561 00 stq pr6|366 first_sector STATEMENT 1 ON LINE 378 if (last_record >= 0) then last_sector = copy_disk_io_$record_to_sector (addr (source), (last_record + 1)) - 1; 004510 aa 6 00401 2361 00 ldq pr6|257 last_record 004511 aa 000027 6040 04 tmi 23,ic 004540 004512 aa 6 00100 3735 00 epp7 pr6|64 source 004513 aa 6 01306 6535 00 spri7 pr6|710 004514 aa 000001 0760 07 adq 1,dl 004515 aa 6 01320 7561 00 stq pr6|720 004516 aa 6 01306 3521 00 epp2 pr6|710 004517 aa 6 01312 2521 00 spri2 pr6|714 004520 aa 6 01320 3521 00 epp2 pr6|720 004521 aa 6 01314 2521 00 spri2 pr6|716 004522 aa 6 01321 3521 00 epp2 pr6|721 004523 aa 6 01316 2521 00 spri2 pr6|718 004524 aa 6 01310 6211 00 eax1 pr6|712 004525 aa 014000 4310 07 fld 6144,dl 004526 aa 6 00044 3701 20 epp4 pr6|36,* 004527 la 4 00030 3521 20 epp2 pr4|24,* copy_disk_io_$record_to_sector 004530 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 004531 aa 6 01321 3361 00 lcq pr6|721 004532 aa 000044 7770 00 llr 36 004533 aa 000044 7330 00 lrs 36 004534 aa 000001 0330 07 adl 1,dl 004535 aa 000000 5330 00 negl 0 004536 aa 6 00557 7561 00 stq pr6|367 last_sector 004537 aa 000003 7100 04 tra 3,ic 004542 STATEMENT 1 ON LINE 381 else last_sector = source.high_bound; 004540 aa 6 00131 2361 00 ldq pr6|89 source.high_bound 004541 aa 6 00557 7561 00 stq pr6|367 last_sector STATEMENT 1 ON LINE 383 first_record = /* reset them to the real values */ copy_disk_io_$sector_to_record (addr (source), first_sector); 004542 aa 6 00100 3735 00 epp7 pr6|64 source 004543 aa 6 01306 6535 00 spri7 pr6|710 004544 aa 6 01306 3521 00 epp2 pr6|710 004545 aa 6 01312 2521 00 spri2 pr6|714 004546 aa 6 00556 3521 00 epp2 pr6|366 first_sector 004547 aa 6 01314 2521 00 spri2 pr6|716 004550 aa 6 00400 3521 00 epp2 pr6|256 first_record 004551 aa 6 01316 2521 00 spri2 pr6|718 004552 aa 6 01310 6211 00 eax1 pr6|712 004553 aa 014000 4310 07 fld 6144,dl 004554 aa 6 00044 3701 20 epp4 pr6|36,* 004555 la 4 00032 3521 20 epp2 pr4|26,* copy_disk_io_$sector_to_record 004556 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 385 last_record = copy_disk_io_$sector_to_record (addr (source), last_sector); 004557 aa 6 00100 3735 00 epp7 pr6|64 source 004560 aa 6 01306 6535 00 spri7 pr6|710 004561 aa 6 01306 3521 00 epp2 pr6|710 004562 aa 6 01312 2521 00 spri2 pr6|714 004563 aa 6 00557 3521 00 epp2 pr6|367 last_sector 004564 aa 6 01314 2521 00 spri2 pr6|716 004565 aa 6 00401 3521 00 epp2 pr6|257 last_record 004566 aa 6 01316 2521 00 spri2 pr6|718 004567 aa 6 01310 6211 00 eax1 pr6|712 004570 aa 014000 4310 07 fld 6144,dl 004571 aa 6 00044 3701 20 epp4 pr6|36,* 004572 la 4 00032 3521 20 epp2 pr4|26,* copy_disk_io_$sector_to_record 004573 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 388 if (first_sector < source.low_bound) | (first_sector < target.low_bound) then do; 004574 aa 6 00556 2361 00 ldq pr6|366 first_sector 004575 aa 6 00130 1161 00 cmpq pr6|88 source.low_bound 004576 aa 000003 6040 04 tmi 3,ic 004601 004577 aa 6 00262 1161 00 cmpq pr6|178 target.low_bound 004600 aa 000050 6050 04 tpl 40,ic 004650 STATEMENT 1 ON LINE 389 call com_err_ (0, WHOAMI, "first record (^d) is beyond the low bound for ^[^a^s^;^s^a^].", first_record, (first_sector < source.low_bound), source.device, target.device); 004601 aa 6 01321 4501 00 stz pr6|721 004602 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004603 aa 774353 00 0100 desc9a -1813,64 001155 = 146151162163 004604 aa 6 01322 00 0100 desc9a pr6|722,64 004605 aa 6 00130 1161 00 cmpq pr6|88 source.low_bound 004606 aa 0 00474 7001 00 tsx0 pr0|316 r_l_a 004607 aa 6 01320 7551 00 sta pr6|720 004610 aa 6 01321 3521 00 epp2 pr6|721 004611 aa 6 01344 2521 00 spri2 pr6|740 004612 aa 773407 3520 04 epp2 -2297,ic 000221 = 143157160171 004613 aa 6 01346 2521 00 spri2 pr6|742 004614 aa 6 01322 3521 00 epp2 pr6|722 004615 aa 6 01350 2521 00 spri2 pr6|744 004616 aa 6 00400 3521 00 epp2 pr6|256 first_record 004617 aa 6 01352 2521 00 spri2 pr6|746 004620 aa 6 01320 3521 00 epp2 pr6|720 004621 aa 6 01354 2521 00 spri2 pr6|748 004622 aa 6 00100 3521 00 epp2 pr6|64 source.device 004623 aa 6 01356 2521 00 spri2 pr6|750 004624 aa 6 00232 3521 00 epp2 pr6|154 target.device 004625 aa 6 01360 2521 00 spri2 pr6|752 004626 aa 773475 3520 04 epp2 -2243,ic 000323 = 404000000005 004627 aa 6 01362 2521 00 spri2 pr6|754 004630 aa 773502 3520 04 epp2 -2238,ic 000332 = 526000000040 004631 aa 6 01364 2521 00 spri2 pr6|756 004632 aa 6 01374 2521 00 spri2 pr6|764 004633 aa 6 01376 2521 00 spri2 pr6|766 004634 aa 773427 3520 04 epp2 -2281,ic 000263 = 524000000075 004635 aa 6 01366 2521 00 spri2 pr6|758 004636 aa 773477 3520 04 epp2 -2241,ic 000335 = 404000000022 004637 aa 6 01370 2521 00 spri2 pr6|760 004640 aa 773441 3520 04 epp2 -2271,ic 000301 = 514000000001 004641 aa 6 01372 2521 00 spri2 pr6|762 004642 aa 6 01342 6211 00 eax1 pr6|738 004643 aa 034000 4310 07 fld 14336,dl 004644 aa 6 00044 3701 20 epp4 pr6|36,* 004645 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004646 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 393 goto MAIN_RETURN; 004647 aa 776445 7100 04 tra -731,ic 003314 STATEMENT 1 ON LINE 394 end; STATEMENT 1 ON LINE 396 if (last_sector > source.high_bound) | (last_sector > target.high_bound) then do; 004650 aa 6 00557 2361 00 ldq pr6|367 last_sector 004651 aa 6 00131 1161 00 cmpq pr6|89 source.high_bound 004652 aa 000003 6054 04 tpnz 3,ic 004655 004653 aa 6 00263 1161 00 cmpq pr6|179 target.high_bound 004654 aa 000050 6044 04 tmoz 40,ic 004724 STATEMENT 1 ON LINE 397 call com_err_ (0, WHOAMI, "last record (^d) is beyond the high bound for ^[^a^s^;^s^a^].", last_record, (last_sector > source.high_bound), source.device, target.device); 004655 aa 6 01320 4501 00 stz pr6|720 004656 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004657 aa 774257 00 0100 desc9a -1873,64 001135 = 154141163164 004660 aa 6 01322 00 0100 desc9a pr6|722,64 004661 aa 6 00131 1161 00 cmpq pr6|89 source.high_bound 004662 aa 0 00503 7001 00 tsx0 pr0|323 r_g_a 004663 aa 6 01321 7551 00 sta pr6|721 004664 aa 6 01320 3521 00 epp2 pr6|720 004665 aa 6 01344 2521 00 spri2 pr6|740 004666 aa 773333 3520 04 epp2 -2341,ic 000221 = 143157160171 004667 aa 6 01346 2521 00 spri2 pr6|742 004670 aa 6 01322 3521 00 epp2 pr6|722 004671 aa 6 01350 2521 00 spri2 pr6|744 004672 aa 6 00401 3521 00 epp2 pr6|257 last_record 004673 aa 6 01352 2521 00 spri2 pr6|746 004674 aa 6 01321 3521 00 epp2 pr6|721 004675 aa 6 01354 2521 00 spri2 pr6|748 004676 aa 6 00100 3521 00 epp2 pr6|64 source.device 004677 aa 6 01356 2521 00 spri2 pr6|750 004700 aa 6 00232 3521 00 epp2 pr6|154 target.device 004701 aa 6 01360 2521 00 spri2 pr6|752 004702 aa 773421 3520 04 epp2 -2287,ic 000323 = 404000000005 004703 aa 6 01362 2521 00 spri2 pr6|754 004704 aa 773426 3520 04 epp2 -2282,ic 000332 = 526000000040 004705 aa 6 01364 2521 00 spri2 pr6|756 004706 aa 6 01374 2521 00 spri2 pr6|764 004707 aa 6 01376 2521 00 spri2 pr6|766 004710 aa 773353 3520 04 epp2 -2325,ic 000263 = 524000000075 004711 aa 6 01366 2521 00 spri2 pr6|758 004712 aa 773423 3520 04 epp2 -2285,ic 000335 = 404000000022 004713 aa 6 01370 2521 00 spri2 pr6|760 004714 aa 773365 3520 04 epp2 -2315,ic 000301 = 514000000001 004715 aa 6 01372 2521 00 spri2 pr6|762 004716 aa 6 01342 6211 00 eax1 pr6|738 004717 aa 034000 4310 07 fld 14336,dl 004720 aa 6 00044 3701 20 epp4 pr6|36,* 004721 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004722 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 401 goto MAIN_RETURN; 004723 aa 776371 7100 04 tra -775,ic 003314 STATEMENT 1 ON LINE 402 end; STATEMENT 1 ON LINE 404 source.low_bound = first_sector; 004724 aa 6 00556 2361 00 ldq pr6|366 first_sector 004725 aa 6 00130 7561 00 stq pr6|88 source.low_bound STATEMENT 1 ON LINE 405 source.high_bound = last_sector; 004726 aa 6 00557 2361 00 ldq pr6|367 last_sector 004727 aa 6 00131 7561 00 stq pr6|89 source.high_bound STATEMENT 1 ON LINE 407 target.bounds = source.bounds; 004730 aa 6 00130 2371 00 ldaq pr6|88 source.bounds 004731 aa 6 00262 7571 00 staq pr6|178 target.bounds STATEMENT 1 ON LINE 409 if (source.device_type = target.device_type) then return; 004732 aa 6 00110 2361 00 ldq pr6|72 source.device_type 004733 aa 6 00242 1161 00 cmpq pr6|162 target.device_type 004734 aa 000002 6010 04 tnz 2,ic 004736 004735 aa 6 00550 6101 00 rtcd pr6|360 STATEMENT 1 ON LINE 410 else do; STATEMENT 1 ON LINE 411 call com_err_ (0, WHOAMI, "source is ^a, target is ^a: media formats are not compatible.", source.device_type, target.device_type); 004736 aa 6 01321 4501 00 stz pr6|721 004737 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004740 aa 774156 00 0100 desc9a -1938,64 001115 = 163157165162 004741 aa 6 01322 00 0100 desc9a pr6|722,64 004742 aa 6 01321 3521 00 epp2 pr6|721 004743 aa 6 01344 2521 00 spri2 pr6|740 004744 aa 773255 3520 04 epp2 -2387,ic 000221 = 143157160171 004745 aa 6 01346 2521 00 spri2 pr6|742 004746 aa 6 01322 3521 00 epp2 pr6|722 004747 aa 6 01350 2521 00 spri2 pr6|744 004750 aa 6 00110 3521 00 epp2 pr6|72 source.device_type 004751 aa 6 01352 2521 00 spri2 pr6|746 004752 aa 6 00242 3521 00 epp2 pr6|162 target.device_type 004753 aa 6 01354 2521 00 spri2 pr6|748 004754 aa 773347 3520 04 epp2 -2329,ic 000323 = 404000000005 004755 aa 6 01356 2521 00 spri2 pr6|750 004756 aa 773354 3520 04 epp2 -2324,ic 000332 = 526000000040 004757 aa 6 01360 2521 00 spri2 pr6|752 004760 aa 773303 3520 04 epp2 -2365,ic 000263 = 524000000075 004761 aa 6 01362 2521 00 spri2 pr6|754 004762 aa 773316 3520 04 epp2 -2354,ic 000300 = 404000000021 004763 aa 6 01364 2521 00 spri2 pr6|756 004764 aa 6 01366 2521 00 spri2 pr6|758 004765 aa 6 01342 6211 00 eax1 pr6|738 004766 aa 024000 4310 07 fld 10240,dl 004767 aa 6 00044 3701 20 epp4 pr6|36,* 004770 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 004771 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 412 goto MAIN_RETURN; 004772 aa 776322 7100 04 tra -814,ic 003314 STATEMENT 1 ON LINE 413 end; STATEMENT 1 ON LINE 415 end check_compatibility; END PROCEDURE check_compatibility BEGIN PROCEDURE check_for_alt_partition ENTRY TO check_for_alt_partition STATEMENT 1 ON LINE 419 check_for_alt_partition: procedure (p_partitions_used); 004773 aa 6 00560 6501 00 spri4 pr6|368 004774 aa 6 00562 2521 00 spri2 pr6|370 STATEMENT 1 ON LINE 424 if source_labelp -> label.nparts > 0 then do idx = 1 to source_labelp -> label.nparts; 004775 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 004776 aa 7 01003 2361 00 ldq pr7|515 label.nparts 004777 aa 000025 6044 04 tmoz 21,ic 005024 005000 aa 6 00566 7561 00 stq pr6|374 005001 aa 000001 2360 07 ldq 1,dl 005002 aa 6 00377 7561 00 stq pr6|255 idx 005003 aa 000000 0110 03 nop 0,du 005004 aa 6 00377 2361 00 ldq pr6|255 idx 005005 aa 6 00566 1161 00 cmpq pr6|374 005006 aa 000016 6054 04 tpnz 14,ic 005024 STATEMENT 1 ON LINE 426 if source_labelp -> label.parts(idx).part = "alt" then p_partitions_used = "1"b; 005007 aa 000002 7360 00 qls 2 005010 aa 000000 6270 06 eax7 0,ql 005011 aa 773274 2350 04 lda -2372,ic 000305 = 141154164000 005012 aa 0 00446 2771 00 oraq pr0|294 = 000000000040 040040040040 005013 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 005014 aa 6 00404 3735 20 epp7 pr6|260,* source_labelp 005015 aa 7 01000 1151 17 cmpa pr7|512,7 label.part 005016 aa 000004 6010 04 tnz 4,ic 005022 005017 aa 400000 2350 03 lda 131072,du 005020 aa 6 00562 3715 20 epp5 pr6|370,* 005021 aa 5 00002 7551 20 sta pr5|2,* p_partitions_used STATEMENT 1 ON LINE 428 end; 005022 aa 6 00377 0541 00 aos pr6|255 idx 005023 aa 777761 7100 04 tra -15,ic 005004 STATEMENT 1 ON LINE 429 return; 005024 aa 6 00560 6101 00 rtcd pr6|368 STATEMENT 1 ON LINE 430 end check_for_alt_partition; END PROCEDURE check_for_alt_partition BEGIN PROCEDURE cv_time ENTRY TO cv_time STATEMENT 1 ON LINE 434 cv_time: proc (date_time) returns (char (*)); 005025 da 000354220000 005026 aa 000120 6270 00 eax7 80 005027 aa 7 00034 3521 20 epp2 pr7|28,* 005030 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 005031 aa 000004000000 005032 aa 000000000000 STATEMENT 1 ON LINE 443 if date_time = 0 then return (""); 005033 aa 6 00032 3735 20 epp7 pr6|26,* 005034 aa 7 00002 2371 20 ldaq pr7|2,* date_time 005035 aa 000011 6010 04 tnz 9,ic 005046 005036 aa 000000 2360 07 ldq 0,dl 005037 aa 6 00042 3715 20 epp5 pr6|34,* 005040 aa 526000 2760 03 orq 175104,du 005041 aa 5 00002 7561 20 stq pr5|2,* 005042 aa 000000 2360 07 ldq 0,dl 005043 aa 000000 7200 07 lxl0 0,dl 005044 aa 002604 3520 04 epp2 1412,ic 007650 = 040000000000 005045 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 445 else do; STATEMENT 1 ON LINE 446 call date_time_ (date_time, date_time_string); 005046 aa 7 00002 3521 20 epp2 pr7|2,* date_time 005047 aa 6 00110 2521 00 spri2 pr6|72 005050 aa 6 00100 3521 00 epp2 pr6|64 date_time_string 005051 aa 6 00112 2521 00 spri2 pr6|74 005052 aa 773242 3520 04 epp2 -2398,ic 000314 = 410000000107 005053 aa 6 00114 2521 00 spri2 pr6|76 005054 aa 773204 3520 04 epp2 -2428,ic 000260 = 526000000030 005055 aa 6 00116 2521 00 spri2 pr6|78 005056 aa 6 00106 6211 00 eax1 pr6|70 005057 aa 010000 4310 07 fld 4096,dl 005060 la 4 00100 3521 20 epp2 pr4|64,* date_time_ 005061 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 447 if substr (date_time_string, 1, length (Null_date_time)) = Null_date_time then return (""); 005062 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 005063 aa 6 00100 00 0020 desc9a pr6|64,16 date_time_string 005064 aa 772716 00 0020 desc9a -2610,16 000000 = 060061057060 005065 aa 000011 6010 04 tnz 9,ic 005076 005066 aa 000000 2360 07 ldq 0,dl 005067 aa 6 00042 3735 20 epp7 pr6|34,* 005070 aa 526000 2760 03 orq 175104,du 005071 aa 7 00002 7561 20 stq pr7|2,* 005072 aa 000000 2360 07 ldq 0,dl 005073 aa 000000 7200 07 lxl0 0,dl 005074 aa 002554 3520 04 epp2 1388,ic 007650 = 040000000000 005075 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 449 else return (date_time_string); 005076 aa 000030 2360 07 ldq 24,dl 005077 aa 6 00042 3735 20 epp7 pr6|34,* 005100 aa 526000 2760 03 orq 175104,du 005101 aa 7 00002 7561 20 stq pr7|2,* 005102 aa 000030 2360 07 ldq 24,dl 005103 aa 000000 7200 07 lxl0 0,dl 005104 aa 6 00100 3521 00 epp2 pr6|64 date_time_string 005105 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 450 end; END PROCEDURE cv_time BEGIN PROCEDURE get_highest_record ENTRY TO get_highest_record STATEMENT 1 ON LINE 455 get_highest_record: procedure (P_highest_record) ; 005106 aa 6 00570 6501 00 spri4 pr6|376 005107 aa 6 00572 2521 00 spri2 pr6|378 STATEMENT 1 ON LINE 466 vol_mapp = temp_seg_ptr(4); 005110 aa 6 00416 3735 20 epp7 pr6|270,* temp_seg_ptr 005111 aa 6 00512 6535 00 spri7 pr6|330 vol_mapp STATEMENT 1 ON LINE 467 call copy_disk_io_$read (addr(source), brief_sw, query_sw, vol_mapp, (sect_per_rec (source.device_type)), divide (size(vol_map),words_per_sect(source.device_type),17,0), retry_sw, code); 005112 aa 6 00100 3715 00 epp5 pr6|64 source 005113 aa 6 01402 6515 00 spri5 pr6|770 005114 aa 6 00110 7271 00 lxl7 pr6|72 source.device_type 005115 ta 000142 2360 17 ldq 98,7 005116 aa 6 01401 7561 00 stq pr6|769 005117 aa 006000 2360 07 ldq 3072,dl 005120 ta 000131 5060 17 div 89,7 005121 aa 6 01404 7561 00 stq pr6|772 005122 aa 6 01402 3521 00 epp2 pr6|770 005123 aa 6 01410 2521 00 spri2 pr6|776 005124 aa 6 00364 3521 00 epp2 pr6|244 brief_sw 005125 aa 6 01412 2521 00 spri2 pr6|778 005126 aa 6 00367 3521 00 epp2 pr6|247 query_sw 005127 aa 6 01414 2521 00 spri2 pr6|780 005130 aa 6 00512 3521 00 epp2 pr6|330 vol_mapp 005131 aa 6 01416 2521 00 spri2 pr6|782 005132 aa 6 01401 3521 00 epp2 pr6|769 005133 aa 6 01420 2521 00 spri2 pr6|784 005134 aa 6 01404 3521 00 epp2 pr6|772 005135 aa 6 01422 2521 00 spri2 pr6|786 005136 aa 6 00374 3521 00 epp2 pr6|252 retry_sw 005137 aa 6 01424 2521 00 spri2 pr6|788 005140 aa 6 00451 3521 00 epp2 pr6|297 code 005141 aa 6 01426 2521 00 spri2 pr6|790 005142 aa 6 01406 6211 00 eax1 pr6|774 005143 aa 040000 4310 07 fld 16384,dl 005144 aa 6 00044 3701 20 epp4 pr6|36,* 005145 la 4 00026 3521 20 epp2 pr4|22,* copy_disk_io_$read 005146 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 468 if code ^= 0 then do; 005147 aa 6 00451 2361 00 ldq pr6|297 code 005150 aa 000031 6000 04 tze 25,ic 005201 STATEMENT 1 ON LINE 469 call com_err_ (code, WHOAMI, "Unrecoverable error reading vol_map of disk ^a.", source.device); 005151 aa 000 100 100 404 mlr (ic),(pr),fill(000) 005152 aa 773601 00 0060 desc9a -2175,48 000752 = 125156162145 005153 aa 6 01406 00 0060 desc9a pr6|774,48 005154 aa 6 00451 3521 00 epp2 pr6|297 code 005155 aa 6 01432 2521 00 spri2 pr6|794 005156 aa 773043 3520 04 epp2 -2525,ic 000221 = 143157160171 005157 aa 6 01434 2521 00 spri2 pr6|796 005160 aa 6 01406 3521 00 epp2 pr6|774 005161 aa 6 01436 2521 00 spri2 pr6|798 005162 aa 6 00100 3521 00 epp2 pr6|64 source.device 005163 aa 6 01440 2521 00 spri2 pr6|800 005164 aa 773152 3520 04 epp2 -2454,ic 000336 = 404000000043 005165 aa 6 01442 2521 00 spri2 pr6|802 005166 aa 773144 3520 04 epp2 -2460,ic 000332 = 526000000040 005167 aa 6 01444 2521 00 spri2 pr6|804 005170 aa 6 01450 2521 00 spri2 pr6|808 005171 aa 773065 3520 04 epp2 -2507,ic 000256 = 524000000057 005172 aa 6 01446 2521 00 spri2 pr6|806 005173 aa 6 01430 6211 00 eax1 pr6|792 005174 aa 020000 4310 07 fld 8192,dl 005175 aa 6 00044 3701 20 epp4 pr6|36,* 005176 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005177 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 470 goto MAIN_RETURN; 005200 aa 776114 7100 04 tra -948,ic 003314 STATEMENT 1 ON LINE 471 end; STATEMENT 1 ON LINE 478 bit_idx = mod (vol_map.n_rec, entries_per_word); 005201 aa 6 00512 2361 20 ldq pr6|330,* vol_map.n_rec 005202 aa 002444 3520 04 epp2 1316,ic 007646 = 000000000040 005203 aa 0 00704 7001 00 tsx0 pr0|452 mdfx1 005204 aa 6 00576 7561 00 stq pr6|382 bit_idx STATEMENT 1 ON LINE 479 if bit_idx = 0 then bit_idx = entries_per_word; 005205 aa 000003 6010 04 tnz 3,ic 005210 005206 aa 2 00000 2361 00 ldq pr2|0 entries_per_word 005207 aa 6 00576 7561 00 stq pr6|382 bit_idx STATEMENT 1 ON LINE 480 bit_map_wordp = addr (vol_map.bit_map (vol_map.bit_map_n_words - 1)); 005210 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005211 aa 7 00003 7271 00 lxl7 pr7|3 vol_map.bit_map_n_words 005212 aa 7 00076 3735 17 epp7 pr7|62,7 vol_map.bit_map 005213 aa 6 00514 6535 00 spri7 pr6|332 bit_map_wordp STATEMENT 1 ON LINE 481 last_record_bit = find_bit_$last_off (substr (bit_map_word.bits, 1, bit_idx)); 005214 aa 514000 2760 03 orq 169984,du 005215 aa 6 01404 7561 00 stq pr6|772 005216 aa 6 00576 2361 00 ldq pr6|382 bit_idx 005217 aa 0 00552 7001 00 tsx0 pr0|362 alloc_bit_temp 005220 aa 6 01432 2521 00 spri2 pr6|794 005221 aa 003 140 060 540 csl (pr,rl),(pr,rl),fill(0),bool(move) 005222 aa 7 00000 01 0006 descb pr7|0(1),ql bit_map_word.bits 005223 aa 2 00000 00 0006 descb pr2|0,ql 005224 aa 6 00577 3521 00 epp2 pr6|383 last_record_bit 005225 aa 6 01434 2521 00 spri2 pr6|796 005226 aa 6 01404 3521 00 epp2 pr6|772 005227 aa 6 01436 2521 00 spri2 pr6|798 005230 aa 773027 3520 04 epp2 -2537,ic 000257 = 404000000030 005231 aa 6 01440 2521 00 spri2 pr6|800 005232 aa 6 01430 6211 00 eax1 pr6|792 005233 aa 010000 4310 07 fld 4096,dl 005234 aa 6 00044 3701 20 epp4 pr6|36,* 005235 la 4 00102 3521 20 epp2 pr4|66,* find_bit_$last_off 005236 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 482 if last_record_bit > 0 then do; 005237 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 005240 aa 6 00577 2361 00 ldq pr6|383 last_record_bit 005241 aa 000011 6044 04 tmoz 9,ic 005252 STATEMENT 1 ON LINE 483 last_volmap_entry = ((vol_map.bit_map_n_words * entries_per_word) + last_record_bit); 005242 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005243 aa 7 00003 2361 00 ldq pr7|3 vol_map.bit_map_n_words 005244 aa 000005 7360 00 qls 5 005245 aa 000044 7770 00 llr 36 005246 aa 000044 7330 00 lrs 36 005247 aa 6 00577 0331 00 adl pr6|383 last_record_bit 005250 aa 6 00600 7561 00 stq pr6|384 last_volmap_entry STATEMENT 1 ON LINE 484 goto set_last_volmap_record; 005251 aa 000054 7100 04 tra 44,ic 005325 STATEMENT 1 ON LINE 485 end; STATEMENT 1 ON LINE 486 do idx = vol_map.bit_map_n_words - 1 by -1 to lbound (vol_map.bit_map, 1); 005252 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005253 aa 7 00003 2361 00 ldq pr7|3 vol_map.bit_map_n_words 005254 aa 000001 1760 07 sbq 1,dl 005255 aa 6 00377 7561 00 stq pr6|255 idx 005256 aa 6 00377 2361 00 ldq pr6|255 idx 005257 aa 000001 1160 07 cmpq 1,dl 005260 aa 000015 6040 04 tmi 13,ic 005275 STATEMENT 1 ON LINE 487 bit_map_wordp = addr (vol_map.bit_map (idx)); 005261 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005262 aa 7 00077 3735 06 epp7 pr7|63,ql vol_map.bit_map 005263 aa 6 00514 6535 00 spri7 pr6|332 bit_map_wordp STATEMENT 1 ON LINE 488 if bit_map_word.bits ^= all_free_in_word_mask then goto found_last; 005264 aa 7 00000 2351 00 lda pr7|0 bit_map_word.bits 005265 aa 000001 7350 00 als 1 005266 aa 0 00100 3771 00 anaq pr0|64 = 777777777760 000000000000 005267 aa 6 01404 7551 00 sta pr6|772 bit_map_word.bits 005270 aa 002357 1150 04 cmpa 1263,ic 007647 = 777777777760 005271 aa 000011 6010 04 tnz 9,ic 005302 STATEMENT 1 ON LINE 489 end; 005272 aa 000001 3360 07 lcq 1,dl 005273 aa 6 00377 0561 00 asq pr6|255 idx 005274 aa 777762 7100 04 tra -14,ic 005256 STATEMENT 1 ON LINE 490 P_highest_record = (vol_map.base_add); 005275 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005276 aa 7 00001 2361 00 ldq pr7|1 vol_map.base_add 005277 aa 6 00572 3715 20 epp5 pr6|378,* 005300 aa 5 00002 7561 20 stq pr5|2,* P_highest_record STATEMENT 1 ON LINE 491 return; 005301 aa 6 00570 6101 00 rtcd pr6|376 STATEMENT 1 ON LINE 492 found_last: last_volmap_entry = (idx * entries_per_word) + find_bit_$last_off (bit_map_word.bits); 005302 aa 6 01404 3521 00 epp2 pr6|772 bit_map_word.bits 005303 aa 6 01410 2521 00 spri2 pr6|776 005304 aa 6 01401 3521 00 epp2 pr6|769 005305 aa 6 01412 2521 00 spri2 pr6|778 005306 aa 772747 3520 04 epp2 -2585,ic 000255 = 516000000040 005307 aa 6 01414 2521 00 spri2 pr6|780 005310 aa 772747 3520 04 epp2 -2585,ic 000257 = 404000000030 005311 aa 6 01416 2521 00 spri2 pr6|782 005312 aa 6 01406 6211 00 eax1 pr6|774 005313 aa 010000 4310 07 fld 4096,dl 005314 aa 6 00044 3701 20 epp4 pr6|36,* 005315 la 4 00102 3521 20 epp2 pr4|66,* find_bit_$last_off 005316 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 005317 aa 6 00377 2361 00 ldq pr6|255 idx 005320 aa 000005 7360 00 qls 5 005321 aa 000044 7770 00 llr 36 005322 aa 000044 7330 00 lrs 36 005323 aa 6 01401 0331 00 adl pr6|769 005324 aa 6 00600 7561 00 stq pr6|384 last_volmap_entry STATEMENT 1 ON LINE 494 set_last_volmap_record: P_highest_record = vol_map.base_add + last_volmap_entry; 005325 aa 6 00512 3735 20 epp7 pr6|330,* vol_mapp 005326 aa 7 00001 0761 00 adq pr7|1 vol_map.base_add 005327 aa 6 00572 3715 20 epp5 pr6|378,* 005330 aa 5 00002 7561 20 stq pr5|2,* P_highest_record STATEMENT 1 ON LINE 496 return; 005331 aa 6 00570 6101 00 rtcd pr6|376 STATEMENT 1 ON LINE 497 end get_highest_record; END PROCEDURE get_highest_record BEGIN PROCEDURE process_arguments ENTRY TO process_arguments STATEMENT 1 ON LINE 500 process_arguments: procedure (); 005332 aa 6 00602 6501 00 spri4 pr6|386 STATEMENT 1 ON LINE 510 call cu_$arg_count (arg_count, code); 005333 aa 6 00610 3521 00 epp2 pr6|392 arg_count 005334 aa 6 01454 2521 00 spri2 pr6|812 005335 aa 6 00451 3521 00 epp2 pr6|297 code 005336 aa 6 01456 2521 00 spri2 pr6|814 005337 aa 6 01452 6211 00 eax1 pr6|810 005340 aa 010000 4310 07 fld 4096,dl 005341 aa 6 00044 3701 20 epp4 pr6|36,* 005342 la 4 00040 3521 20 epp2 pr4|32,* cu_$arg_count 005343 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 511 if (code ^= 0) then do; 005344 aa 6 00451 2361 00 ldq pr6|297 code 005345 aa 000017 6000 04 tze 15,ic 005364 STATEMENT 1 ON LINE 512 call com_err_ (code, WHOAMI); 005346 aa 6 00451 3521 00 epp2 pr6|297 code 005347 aa 6 01462 2521 00 spri2 pr6|818 005350 aa 772651 3520 04 epp2 -2647,ic 000221 = 143157160171 005351 aa 6 01464 2521 00 spri2 pr6|820 005352 aa 772764 3520 04 epp2 -2572,ic 000336 = 404000000043 005353 aa 6 01466 2521 00 spri2 pr6|822 005354 aa 772756 3520 04 epp2 -2578,ic 000332 = 526000000040 005355 aa 6 01470 2521 00 spri2 pr6|824 005356 aa 6 01460 6211 00 eax1 pr6|816 005357 aa 010000 4310 07 fld 4096,dl 005360 aa 6 00044 3701 20 epp4 pr6|36,* 005361 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005362 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 513 goto MAIN_RETURN; 005363 aa 775731 7100 04 tra -1063,ic 003314 STATEMENT 1 ON LINE 514 end; STATEMENT 1 ON LINE 516 do arg_idx = 1 to arg_count; 005364 aa 6 00610 2361 00 ldq pr6|392 arg_count 005365 aa 6 00615 7561 00 stq pr6|397 005366 aa 000001 2360 07 ldq 1,dl 005367 aa 6 00611 7561 00 stq pr6|393 arg_idx 005370 aa 6 00611 2361 00 ldq pr6|393 arg_idx 005371 aa 6 00615 1161 00 cmpq pr6|397 005372 aa 001044 6054 04 tpnz 548,ic 006436 STATEMENT 1 ON LINE 517 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 005373 aa 6 01472 4501 00 stz pr6|826 005374 aa 6 00611 3521 00 epp2 pr6|393 arg_idx 005375 aa 6 01462 2521 00 spri2 pr6|818 005376 aa 6 00612 3521 00 epp2 pr6|394 arg_ptr 005377 aa 6 01464 2521 00 spri2 pr6|820 005400 aa 6 00614 3521 00 epp2 pr6|396 arg_lth 005401 aa 6 01466 2521 00 spri2 pr6|822 005402 aa 6 01472 3521 00 epp2 pr6|826 005403 aa 6 01470 2521 00 spri2 pr6|824 005404 aa 6 01460 6211 00 eax1 pr6|816 005405 aa 020000 4310 07 fld 8192,dl 005406 aa 6 00044 3701 20 epp4 pr6|36,* 005407 la 4 00042 3521 20 epp2 pr4|34,* cu_$arg_ptr 005410 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 518 GOT_ONE: if (arg = "-brief") | (arg = "-bf") then brief_sw = "1"b; 005411 aa 6 00612 3735 20 epp7 pr6|394,* arg_ptr 005412 aa 6 00614 2351 00 lda pr6|396 arg_lth 005413 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005414 aa 7 00000 00 0005 desc9a pr7|0,al arg 005415 aa 772743 00 0006 desc9a -2589,6 000356 = 055142162151 005416 aa 000005 6000 04 tze 5,ic 005423 005417 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005420 aa 7 00000 00 0005 desc9a pr7|0,al arg 005421 aa 772635 00 0003 desc9a -2659,3 000254 = 055142146000 005422 aa 000004 6010 04 tnz 4,ic 005426 005423 aa 400000 2350 03 lda 131072,du 005424 aa 6 00364 7551 00 sta pr6|244 brief_sw 005425 aa 001007 7100 04 tra 519,ic 006434 STATEMENT 1 ON LINE 519 else if (arg = "-query") then query_sw = "1"b; 005426 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005427 aa 7 00000 00 0005 desc9a pr7|0,al arg 005430 aa 772726 00 0006 desc9a -2602,6 000354 = 055161165145 005431 aa 000004 6010 04 tnz 4,ic 005435 005432 aa 400000 2350 03 lda 131072,du 005433 aa 6 00367 7551 00 sta pr6|247 query_sw 005434 aa 001000 7100 04 tra 512,ic 006434 STATEMENT 1 ON LINE 520 else if (arg = "-no_query") then query_sw = "0"b; 005435 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005436 aa 7 00000 00 0005 desc9a pr7|0,al arg 005437 aa 772756 00 0011 desc9a -2578,9 000413 = 055156157137 005440 aa 000003 6010 04 tnz 3,ic 005443 005441 aa 6 00367 4501 00 stz pr6|247 query_sw 005442 aa 000772 7100 04 tra 506,ic 006434 STATEMENT 1 ON LINE 521 else if (arg = "-long") | (arg = "-lg") then brief_sw = "0"b; 005443 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005444 aa 7 00000 00 0005 desc9a pr7|0,al arg 005445 aa 772707 00 0005 desc9a -2617,5 000352 = 055154157156 005446 aa 000005 6000 04 tze 5,ic 005453 005447 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005450 aa 7 00000 00 0005 desc9a pr7|0,al arg 005451 aa 772604 00 0003 desc9a -2684,3 000253 = 055154147000 005452 aa 000003 6010 04 tnz 3,ic 005455 005453 aa 6 00364 4501 00 stz pr6|244 brief_sw 005454 aa 000760 7100 04 tra 496,ic 006434 STATEMENT 1 ON LINE 522 else if (arg = "-check") | (arg = "-ck") then check_sw = "1"b; 005455 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005456 aa 7 00000 00 0005 desc9a pr7|0,al arg 005457 aa 772673 00 0006 desc9a -2629,6 000350 = 055143150145 005460 aa 000005 6000 04 tze 5,ic 005465 005461 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005462 aa 7 00000 00 0005 desc9a pr7|0,al arg 005463 aa 772571 00 0003 desc9a -2695,3 000252 = 055143153000 005464 aa 000004 6010 04 tnz 4,ic 005470 005465 aa 400000 2350 03 lda 131072,du 005466 aa 6 00365 7551 00 sta pr6|245 check_sw 005467 aa 000745 7100 04 tra 485,ic 006434 STATEMENT 1 ON LINE 523 else if (arg = "-no_check") | (arg = "-nck") then check_sw = "0"b; 005470 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005471 aa 7 00000 00 0005 desc9a pr7|0,al arg 005472 aa 772720 00 0011 desc9a -2608,9 000410 = 055156157137 005473 aa 000005 6000 04 tze 5,ic 005500 005474 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005475 aa 7 00000 00 0005 desc9a pr7|0,al arg 005476 aa 772555 00 0004 desc9a -2707,4 000251 = 055156143153 005477 aa 000003 6010 04 tnz 3,ic 005502 005500 aa 6 00365 4501 00 stz pr6|245 check_sw 005501 aa 000733 7100 04 tra 475,ic 006434 STATEMENT 1 ON LINE 524 else if (arg = "-trace") then do; 005502 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005503 aa 7 00000 00 0005 desc9a pr7|0,al arg 005504 aa 772644 00 0006 desc9a -2652,6 000346 = 055164162141 005505 aa 000202 6010 04 tnz 130,ic 005707 STATEMENT 1 ON LINE 525 trace_sw = "1"b; 005506 aa 400000 2350 03 lda 131072,du 005507 aa 6 00370 7551 00 sta pr6|248 trace_sw STATEMENT 1 ON LINE 526 arg_idx = arg_idx +1; 005510 aa 6 00611 0541 00 aos pr6|393 arg_idx STATEMENT 1 ON LINE 527 if arg_idx > arg_count then do; 005511 aa 6 00611 2361 00 ldq pr6|393 arg_idx 005512 aa 6 00610 1161 00 cmpq pr6|392 arg_count 005513 aa 000035 6044 04 tmoz 29,ic 005550 STATEMENT 1 ON LINE 528 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 005514 aa 6 00614 2361 00 ldq pr6|396 arg_lth 005515 aa 526000 2760 03 orq 175104,du 005516 aa 6 01472 7561 00 stq pr6|826 005517 aa 000 100 100 404 mlr (ic),(pr),fill(000) 005520 aa 773103 00 0040 desc9a -2493,32 000622 = 115151163163 005521 aa 6 01460 00 0040 desc9a pr6|816,32 005522 aa 6 00044 3701 20 epp4 pr6|36,* 005523 la 4 00012 3521 20 epp2 pr4|10,* error_table_$badopt 005524 aa 6 01476 2521 00 spri2 pr6|830 005525 aa 772474 3520 04 epp2 -2756,ic 000221 = 143157160171 005526 aa 6 01500 2521 00 spri2 pr6|832 005527 aa 6 01460 3521 00 epp2 pr6|816 005530 aa 6 01502 2521 00 spri2 pr6|834 005531 aa 7 00000 3521 00 epp2 pr7|0 arg 005532 aa 6 01504 2521 00 spri2 pr6|836 005533 aa 772603 3520 04 epp2 -2685,ic 000336 = 404000000043 005534 aa 6 01506 2521 00 spri2 pr6|838 005535 aa 772575 3520 04 epp2 -2691,ic 000332 = 526000000040 005536 aa 6 01510 2521 00 spri2 pr6|840 005537 aa 772525 3520 04 epp2 -2731,ic 000264 = 524000000037 005540 aa 6 01512 2521 00 spri2 pr6|842 005541 aa 6 01472 3521 00 epp2 pr6|826 005542 aa 6 01514 2521 00 spri2 pr6|844 005543 aa 6 01474 6211 00 eax1 pr6|828 005544 aa 020000 4310 07 fld 8192,dl 005545 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005546 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 529 goto MAIN_RETURN; 005547 aa 775545 7100 04 tra -1179,ic 003314 STATEMENT 1 ON LINE 530 end; STATEMENT 1 ON LINE 531 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 005550 aa 6 01472 4501 00 stz pr6|826 005551 aa 6 00611 3521 00 epp2 pr6|393 arg_idx 005552 aa 6 01462 2521 00 spri2 pr6|818 005553 aa 6 00612 3521 00 epp2 pr6|394 arg_ptr 005554 aa 6 01464 2521 00 spri2 pr6|820 005555 aa 6 00614 3521 00 epp2 pr6|396 arg_lth 005556 aa 6 01466 2521 00 spri2 pr6|822 005557 aa 6 01472 3521 00 epp2 pr6|826 005560 aa 6 01470 2521 00 spri2 pr6|824 005561 aa 6 01460 6211 00 eax1 pr6|816 005562 aa 020000 4310 07 fld 8192,dl 005563 aa 6 00044 3701 20 epp4 pr6|36,* 005564 la 4 00042 3521 20 epp2 pr4|34,* cu_$arg_ptr 005565 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 532 if index (arg, "-") = 1 then goto GOT_ONE; 005566 aa 6 00612 3735 20 epp7 pr6|394,* arg_ptr 005567 aa 6 00614 2351 00 lda pr6|396 arg_lth 005570 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 005571 aa 7 00000 00 0005 desc9a pr7|0,al arg 005572 aa 055000 00 0001 desc9a 23040,1 005573 aa 6 00056 0001 00 arg pr6|46 005574 aa 6 00056 2361 00 ldq pr6|46 005575 aa 000002 6070 04 ttf 2,ic 005577 005576 aa 000001 3360 07 lcq 1,dl 005577 aa 000001 0760 07 adq 1,dl 005600 aa 000001 1160 07 cmpq 1,dl 005601 aa 777610 6000 04 tze -120,ic 005411 STATEMENT 1 ON LINE 533 else do; STATEMENT 1 ON LINE 534 trace_every_n = cv_dec_check_ (arg, code); 005602 aa 6 00614 2361 00 ldq pr6|396 arg_lth 005603 aa 526000 2760 03 orq 175104,du 005604 aa 6 01472 7561 00 stq pr6|826 005605 aa 7 00000 3521 00 epp2 pr7|0 arg 005606 aa 6 01476 2521 00 spri2 pr6|830 005607 aa 6 00451 3521 00 epp2 pr6|297 code 005610 aa 6 01500 2521 00 spri2 pr6|832 005611 aa 6 01473 3521 00 epp2 pr6|827 005612 aa 6 01502 2521 00 spri2 pr6|834 005613 aa 6 01472 3521 00 epp2 pr6|826 005614 aa 6 01504 2521 00 spri2 pr6|836 005615 aa 772521 3520 04 epp2 -2735,ic 000336 = 404000000043 005616 aa 6 01506 2521 00 spri2 pr6|838 005617 aa 6 01510 2521 00 spri2 pr6|840 005620 aa 6 01474 6211 00 eax1 pr6|828 005621 aa 014000 4310 07 fld 6144,dl 005622 aa 6 00044 3701 20 epp4 pr6|36,* 005623 la 4 00044 3521 20 epp2 pr4|36,* cv_dec_check_ 005624 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 005625 aa 6 01473 2361 00 ldq pr6|827 005626 aa 6 00402 7561 00 stq pr6|258 trace_every_n STATEMENT 1 ON LINE 535 if code ^= 0 then do; 005627 aa 6 00451 2361 00 ldq pr6|297 code 005630 aa 000026 6000 04 tze 22,ic 005656 STATEMENT 1 ON LINE 536 call com_err_ (error_table_$bad_conversion, WHOAMI, "Value of trace parameter must be numeric."); 005631 aa 000 100 100 404 mlr (ic),(pr),fill(000) 005632 aa 773073 00 0054 desc9a -2501,44 000724 = 126141154165 005633 aa 6 01474 00 0054 desc9a pr6|828,44 005634 aa 6 00044 3701 20 epp4 pr6|36,* 005635 la 4 00014 3521 20 epp2 pr4|12,* error_table_$bad_conversion 005636 aa 6 01520 2521 00 spri2 pr6|848 005637 aa 772362 3520 04 epp2 -2830,ic 000221 = 143157160171 005640 aa 6 01522 2521 00 spri2 pr6|850 005641 aa 6 01474 3521 00 epp2 pr6|828 005642 aa 6 01524 2521 00 spri2 pr6|852 005643 aa 772473 3520 04 epp2 -2757,ic 000336 = 404000000043 005644 aa 6 01526 2521 00 spri2 pr6|854 005645 aa 772465 3520 04 epp2 -2763,ic 000332 = 526000000040 005646 aa 6 01530 2521 00 spri2 pr6|856 005647 aa 772401 3520 04 epp2 -2815,ic 000250 = 524000000051 005650 aa 6 01532 2521 00 spri2 pr6|858 005651 aa 6 01516 6211 00 eax1 pr6|846 005652 aa 014000 4310 07 fld 6144,dl 005653 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005654 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 537 goto MAIN_RETURN; 005655 aa 775437 7100 04 tra -1249,ic 003314 STATEMENT 1 ON LINE 538 end; STATEMENT 1 ON LINE 539 if trace_every_n < 0 then do; 005656 aa 6 00402 2361 00 ldq pr6|258 trace_every_n 005657 aa 000026 6050 04 tpl 22,ic 005705 STATEMENT 1 ON LINE 540 call com_err_ (error_table_$bad_arg, WHOAMI, "Value of trace parameter must be positive."); 005660 aa 000 100 100 404 mlr (ic),(pr),fill(000) 005661 aa 773031 00 0054 desc9a -2535,44 000711 = 126141154165 005662 aa 6 01516 00 0054 desc9a pr6|846,44 005663 aa 6 00044 3701 20 epp4 pr6|36,* 005664 la 4 00010 3521 20 epp2 pr4|8,* error_table_$bad_arg 005665 aa 6 01476 2521 00 spri2 pr6|830 005666 aa 772333 3520 04 epp2 -2853,ic 000221 = 143157160171 005667 aa 6 01500 2521 00 spri2 pr6|832 005670 aa 6 01516 3521 00 epp2 pr6|846 005671 aa 6 01502 2521 00 spri2 pr6|834 005672 aa 772444 3520 04 epp2 -2780,ic 000336 = 404000000043 005673 aa 6 01504 2521 00 spri2 pr6|836 005674 aa 772436 3520 04 epp2 -2786,ic 000332 = 526000000040 005675 aa 6 01506 2521 00 spri2 pr6|838 005676 aa 772427 3520 04 epp2 -2793,ic 000325 = 524000000052 005677 aa 6 01510 2521 00 spri2 pr6|840 005700 aa 6 01474 6211 00 eax1 pr6|828 005701 aa 014000 4310 07 fld 6144,dl 005702 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005703 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 541 goto MAIN_RETURN; 005704 aa 775410 7100 04 tra -1272,ic 003314 STATEMENT 1 ON LINE 542 end; STATEMENT 1 ON LINE 543 else source.trace_parm = trace_every_n; 005705 aa 6 00144 7561 00 stq pr6|100 source.trace_parm STATEMENT 1 ON LINE 544 end; STATEMENT 1 ON LINE 545 end; 005706 aa 000526 7100 04 tra 342,ic 006434 STATEMENT 1 ON LINE 546 else if (arg = "-error_threshold") then do; 005707 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 005710 aa 7 00000 00 0005 desc9a pr7|0,al arg 005711 aa 772520 00 0020 desc9a -2736,16 000427 = 055145162162 005712 aa 000201 6010 04 tnz 129,ic 006113 STATEMENT 1 ON LINE 547 et_sw = "1"b; 005713 aa 400000 2350 03 lda 131072,du 005714 aa 6 00366 7551 00 sta pr6|246 et_sw STATEMENT 1 ON LINE 548 arg_idx = arg_idx +1; 005715 aa 6 00611 0541 00 aos pr6|393 arg_idx STATEMENT 1 ON LINE 549 if arg_idx > arg_count then do; 005716 aa 6 00611 2361 00 ldq pr6|393 arg_idx 005717 aa 6 00610 1161 00 cmpq pr6|392 arg_count 005720 aa 000035 6044 04 tmoz 29,ic 005755 STATEMENT 1 ON LINE 550 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 005721 aa 6 00614 2361 00 ldq pr6|396 arg_lth 005722 aa 526000 2760 03 orq 175104,du 005723 aa 6 01472 7561 00 stq pr6|826 005724 aa 000 100 100 404 mlr (ic),(pr),fill(000) 005725 aa 772676 00 0040 desc9a -2626,32 000622 = 115151163163 005726 aa 6 01460 00 0040 desc9a pr6|816,32 005727 aa 6 00044 3701 20 epp4 pr6|36,* 005730 la 4 00012 3521 20 epp2 pr4|10,* error_table_$badopt 005731 aa 6 01476 2521 00 spri2 pr6|830 005732 aa 772267 3520 04 epp2 -2889,ic 000221 = 143157160171 005733 aa 6 01500 2521 00 spri2 pr6|832 005734 aa 6 01460 3521 00 epp2 pr6|816 005735 aa 6 01502 2521 00 spri2 pr6|834 005736 aa 7 00000 3521 00 epp2 pr7|0 arg 005737 aa 6 01504 2521 00 spri2 pr6|836 005740 aa 772376 3520 04 epp2 -2818,ic 000336 = 404000000043 005741 aa 6 01506 2521 00 spri2 pr6|838 005742 aa 772370 3520 04 epp2 -2824,ic 000332 = 526000000040 005743 aa 6 01510 2521 00 spri2 pr6|840 005744 aa 772320 3520 04 epp2 -2864,ic 000264 = 524000000037 005745 aa 6 01512 2521 00 spri2 pr6|842 005746 aa 6 01472 3521 00 epp2 pr6|826 005747 aa 6 01514 2521 00 spri2 pr6|844 005750 aa 6 01474 6211 00 eax1 pr6|828 005751 aa 020000 4310 07 fld 8192,dl 005752 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 005753 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 551 goto MAIN_RETURN; 005754 aa 775340 7100 04 tra -1312,ic 003314 STATEMENT 1 ON LINE 552 end; STATEMENT 1 ON LINE 553 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 005755 aa 6 01472 4501 00 stz pr6|826 005756 aa 6 00611 3521 00 epp2 pr6|393 arg_idx 005757 aa 6 01462 2521 00 spri2 pr6|818 005760 aa 6 00612 3521 00 epp2 pr6|394 arg_ptr 005761 aa 6 01464 2521 00 spri2 pr6|820 005762 aa 6 00614 3521 00 epp2 pr6|396 arg_lth 005763 aa 6 01466 2521 00 spri2 pr6|822 005764 aa 6 01472 3521 00 epp2 pr6|826 005765 aa 6 01470 2521 00 spri2 pr6|824 005766 aa 6 01460 6211 00 eax1 pr6|816 005767 aa 020000 4310 07 fld 8192,dl 005770 aa 6 00044 3701 20 epp4 pr6|36,* 005771 la 4 00042 3521 20 epp2 pr4|34,* cu_$arg_ptr 005772 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 554 if index (arg, "-") = 1 then goto GOT_ONE; 005773 aa 6 00612 3735 20 epp7 pr6|394,* arg_ptr 005774 aa 6 00614 2351 00 lda pr6|396 arg_lth 005775 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 005776 aa 7 00000 00 0005 desc9a pr7|0,al arg 005777 aa 055000 00 0001 desc9a 23040,1 006000 aa 6 00056 0001 00 arg pr6|46 006001 aa 6 00056 2361 00 ldq pr6|46 006002 aa 000002 6070 04 ttf 2,ic 006004 006003 aa 000001 3360 07 lcq 1,dl 006004 aa 000001 0760 07 adq 1,dl 006005 aa 000001 1160 07 cmpq 1,dl 006006 aa 777403 6000 04 tze -253,ic 005411 STATEMENT 1 ON LINE 555 else do; STATEMENT 1 ON LINE 556 et_number = cv_dec_check_ (arg, code); 006007 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006010 aa 526000 2760 03 orq 175104,du 006011 aa 6 01472 7561 00 stq pr6|826 006012 aa 7 00000 3521 00 epp2 pr7|0 arg 006013 aa 6 01520 2521 00 spri2 pr6|848 006014 aa 6 00451 3521 00 epp2 pr6|297 code 006015 aa 6 01522 2521 00 spri2 pr6|850 006016 aa 6 01473 3521 00 epp2 pr6|827 006017 aa 6 01524 2521 00 spri2 pr6|852 006020 aa 6 01472 3521 00 epp2 pr6|826 006021 aa 6 01526 2521 00 spri2 pr6|854 006022 aa 772314 3520 04 epp2 -2868,ic 000336 = 404000000043 006023 aa 6 01530 2521 00 spri2 pr6|856 006024 aa 6 01532 2521 00 spri2 pr6|858 006025 aa 6 01516 6211 00 eax1 pr6|846 006026 aa 014000 4310 07 fld 6144,dl 006027 aa 6 00044 3701 20 epp4 pr6|36,* 006030 la 4 00044 3521 20 epp2 pr4|36,* cv_dec_check_ 006031 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 006032 aa 6 01473 2361 00 ldq pr6|827 006033 aa 6 00376 7561 00 stq pr6|254 et_number STATEMENT 1 ON LINE 557 if code ^= 0 then do; 006034 aa 6 00451 2361 00 ldq pr6|297 code 006035 aa 000026 6000 04 tze 22,ic 006063 STATEMENT 1 ON LINE 558 call com_err_ (error_table_$bad_conversion, WHOAMI, "Value of error_threshold parameter must be numeric."); 006036 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006037 aa 773025 00 0064 desc9a -2539,52 001063 = 126141154165 006040 aa 6 01516 00 0064 desc9a pr6|846,52 006041 aa 6 00044 3701 20 epp4 pr6|36,* 006042 la 4 00014 3521 20 epp2 pr4|12,* error_table_$bad_conversion 006043 aa 6 01476 2521 00 spri2 pr6|830 006044 aa 772155 3520 04 epp2 -2963,ic 000221 = 143157160171 006045 aa 6 01500 2521 00 spri2 pr6|832 006046 aa 6 01516 3521 00 epp2 pr6|846 006047 aa 6 01502 2521 00 spri2 pr6|834 006050 aa 772266 3520 04 epp2 -2890,ic 000336 = 404000000043 006051 aa 6 01504 2521 00 spri2 pr6|836 006052 aa 772260 3520 04 epp2 -2896,ic 000332 = 526000000040 006053 aa 6 01506 2521 00 spri2 pr6|838 006054 aa 772173 3520 04 epp2 -2949,ic 000247 = 524000000063 006055 aa 6 01510 2521 00 spri2 pr6|840 006056 aa 6 01474 6211 00 eax1 pr6|828 006057 aa 014000 4310 07 fld 6144,dl 006060 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006061 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 559 goto MAIN_RETURN; 006062 aa 775232 7100 04 tra -1382,ic 003314 STATEMENT 1 ON LINE 560 end; STATEMENT 1 ON LINE 561 if et_number < 0 then do; 006063 aa 6 00376 2361 00 ldq pr6|254 et_number 006064 aa 000350 6050 04 tpl 232,ic 006434 STATEMENT 1 ON LINE 562 call com_err_ (error_table_$bad_arg, WHOAMI, "Value of trace parameter must be positive."); 006065 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006066 aa 772624 00 0054 desc9a -2668,44 000711 = 126141154165 006067 aa 6 01516 00 0054 desc9a pr6|846,44 006070 aa 6 00044 3701 20 epp4 pr6|36,* 006071 la 4 00010 3521 20 epp2 pr4|8,* error_table_$bad_arg 006072 aa 6 01476 2521 00 spri2 pr6|830 006073 aa 772126 3520 04 epp2 -2986,ic 000221 = 143157160171 006074 aa 6 01500 2521 00 spri2 pr6|832 006075 aa 6 01516 3521 00 epp2 pr6|846 006076 aa 6 01502 2521 00 spri2 pr6|834 006077 aa 772237 3520 04 epp2 -2913,ic 000336 = 404000000043 006100 aa 6 01504 2521 00 spri2 pr6|836 006101 aa 772231 3520 04 epp2 -2919,ic 000332 = 526000000040 006102 aa 6 01506 2521 00 spri2 pr6|838 006103 aa 772222 3520 04 epp2 -2926,ic 000325 = 524000000052 006104 aa 6 01510 2521 00 spri2 pr6|840 006105 aa 6 01474 6211 00 eax1 pr6|828 006106 aa 014000 4310 07 fld 6144,dl 006107 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006110 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 563 goto MAIN_RETURN; 006111 aa 775203 7100 04 tra -1405,ic 003314 STATEMENT 1 ON LINE 564 end; STATEMENT 1 ON LINE 565 end; STATEMENT 1 ON LINE 566 end; 006112 aa 000322 7100 04 tra 210,ic 006434 STATEMENT 1 ON LINE 567 else if (arg = "-no_trace") then trace_sw = "0"b; 006113 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 006114 aa 7 00000 00 0005 desc9a pr7|0,al arg 006115 aa 772272 00 0011 desc9a -2886,9 000405 = 055156157137 006116 aa 000003 6010 04 tnz 3,ic 006121 006117 aa 6 00370 4501 00 stz pr6|248 trace_sw 006120 aa 000314 7100 04 tra 204,ic 006434 STATEMENT 1 ON LINE 568 else if (arg = "-pv_name") | (arg = "-pv") then do; 006121 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 006122 aa 7 00000 00 0005 desc9a pr7|0,al arg 006123 aa 772223 00 0010 desc9a -2925,8 000344 = 055160166137 006124 aa 000005 6000 04 tze 5,ic 006131 006125 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 006126 aa 7 00000 00 0005 desc9a pr7|0,al arg 006127 aa 772121 00 0003 desc9a -2991,3 000246 = 055160166000 006130 aa 000164 6010 04 tnz 116,ic 006314 STATEMENT 1 ON LINE 569 arg_idx = arg_idx + 1; 006131 aa 6 00611 0541 00 aos pr6|393 arg_idx STATEMENT 1 ON LINE 570 if arg_idx > arg_count then do; 006132 aa 6 00611 2361 00 ldq pr6|393 arg_idx 006133 aa 6 00610 1161 00 cmpq pr6|392 arg_count 006134 aa 000035 6044 04 tmoz 29,ic 006171 STATEMENT 1 ON LINE 571 call com_err_ (error_table_$badopt, WHOAMI, "Missing parameter following ^a.", arg); 006135 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006136 aa 526000 2760 03 orq 175104,du 006137 aa 6 01472 7561 00 stq pr6|826 006140 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006141 aa 772462 00 0040 desc9a -2766,32 000622 = 115151163163 006142 aa 6 01460 00 0040 desc9a pr6|816,32 006143 aa 6 00044 3701 20 epp4 pr6|36,* 006144 la 4 00012 3521 20 epp2 pr4|10,* error_table_$badopt 006145 aa 6 01476 2521 00 spri2 pr6|830 006146 aa 772053 3520 04 epp2 -3029,ic 000221 = 143157160171 006147 aa 6 01500 2521 00 spri2 pr6|832 006150 aa 6 01460 3521 00 epp2 pr6|816 006151 aa 6 01502 2521 00 spri2 pr6|834 006152 aa 7 00000 3521 00 epp2 pr7|0 arg 006153 aa 6 01504 2521 00 spri2 pr6|836 006154 aa 772162 3520 04 epp2 -2958,ic 000336 = 404000000043 006155 aa 6 01506 2521 00 spri2 pr6|838 006156 aa 772154 3520 04 epp2 -2964,ic 000332 = 526000000040 006157 aa 6 01510 2521 00 spri2 pr6|840 006160 aa 772104 3520 04 epp2 -3004,ic 000264 = 524000000037 006161 aa 6 01512 2521 00 spri2 pr6|842 006162 aa 6 01472 3521 00 epp2 pr6|826 006163 aa 6 01514 2521 00 spri2 pr6|844 006164 aa 6 01474 6211 00 eax1 pr6|828 006165 aa 020000 4310 07 fld 8192,dl 006166 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006167 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 572 goto MAIN_RETURN; 006170 aa 775124 7100 04 tra -1452,ic 003314 STATEMENT 1 ON LINE 573 end; STATEMENT 1 ON LINE 574 call cu_$arg_ptr (arg_idx, arg_ptr, arg_lth, (0)); 006171 aa 6 01472 4501 00 stz pr6|826 006172 aa 6 00611 3521 00 epp2 pr6|393 arg_idx 006173 aa 6 01462 2521 00 spri2 pr6|818 006174 aa 6 00612 3521 00 epp2 pr6|394 arg_ptr 006175 aa 6 01464 2521 00 spri2 pr6|820 006176 aa 6 00614 3521 00 epp2 pr6|396 arg_lth 006177 aa 6 01466 2521 00 spri2 pr6|822 006200 aa 6 01472 3521 00 epp2 pr6|826 006201 aa 6 01470 2521 00 spri2 pr6|824 006202 aa 6 01460 6211 00 eax1 pr6|816 006203 aa 020000 4310 07 fld 8192,dl 006204 aa 6 00044 3701 20 epp4 pr6|36,* 006205 la 4 00042 3521 20 epp2 pr4|34,* cu_$arg_ptr 006206 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 575 if index (arg, "-") = 1 then goto GOT_ONE; 006207 aa 6 00612 3735 20 epp7 pr6|394,* arg_ptr 006210 aa 6 00614 2351 00 lda pr6|396 arg_lth 006211 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 006212 aa 7 00000 00 0005 desc9a pr7|0,al arg 006213 aa 055000 00 0001 desc9a 23040,1 006214 aa 6 00056 0001 00 arg pr6|46 006215 aa 6 00056 2361 00 ldq pr6|46 006216 aa 000002 6070 04 ttf 2,ic 006220 006217 aa 000001 3360 07 lcq 1,dl 006220 aa 000001 0760 07 adq 1,dl 006221 aa 000001 1160 07 cmpq 1,dl 006222 aa 777167 6000 04 tze -393,ic 005411 STATEMENT 1 ON LINE 576 else if source_pv_name = "" & source.device ^= "" then source_pv_name = arg; 006223 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006224 aa 6 00431 00 0040 desc9a pr6|281,32 source_pv_name 006225 aa 001425 00 0000 desc9a 789,0 007650 = 040000000000 006226 aa 000011 6010 04 tnz 9,ic 006237 006227 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006230 aa 6 00100 00 0040 desc9a pr6|64,32 source.device 006231 aa 001421 00 0000 desc9a 785,0 007650 = 040000000000 006232 aa 000005 6000 04 tze 5,ic 006237 006233 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 006234 aa 7 00000 00 0005 desc9a pr7|0,al arg 006235 aa 6 00431 00 0040 desc9a pr6|281,32 source_pv_name 006236 aa 000176 7100 04 tra 126,ic 006434 STATEMENT 1 ON LINE 578 else if source_pv_name ^= "" & target_pv_name = "" & target.device ^= "" then target_pv_name = arg; 006237 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006240 aa 6 00431 00 0040 desc9a pr6|281,32 source_pv_name 006241 aa 001411 00 0000 desc9a 777,0 007650 = 040000000000 006242 aa 000015 6000 04 tze 13,ic 006257 006243 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006244 aa 6 00441 00 0040 desc9a pr6|289,32 target_pv_name 006245 aa 001405 00 0000 desc9a 773,0 007650 = 040000000000 006246 aa 000011 6010 04 tnz 9,ic 006257 006247 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006250 aa 6 00232 00 0040 desc9a pr6|154,32 target.device 006251 aa 001401 00 0000 desc9a 769,0 007650 = 040000000000 006252 aa 000005 6000 04 tze 5,ic 006257 006253 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 006254 aa 7 00000 00 0005 desc9a pr7|0,al arg 006255 aa 6 00441 00 0040 desc9a pr6|289,32 target_pv_name 006256 aa 000156 7100 04 tra 110,ic 006434 STATEMENT 1 ON LINE 580 else do; STATEMENT 1 ON LINE 581 call com_err_ (error_table_$badopt, WHOAMI, "Invalid use of ^a.", arg); 006257 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006260 aa 526000 2760 03 orq 175104,du 006261 aa 6 01472 7561 00 stq pr6|826 006262 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006263 aa 772175 00 0024 desc9a -2947,20 000457 = 111156166141 006264 aa 6 01452 00 0024 desc9a pr6|810,20 006265 aa 6 00044 3701 20 epp4 pr6|36,* 006266 la 4 00012 3521 20 epp2 pr4|10,* error_table_$badopt 006267 aa 6 01476 2521 00 spri2 pr6|830 006270 aa 771731 3520 04 epp2 -3111,ic 000221 = 143157160171 006271 aa 6 01500 2521 00 spri2 pr6|832 006272 aa 6 01452 3521 00 epp2 pr6|810 006273 aa 6 01502 2521 00 spri2 pr6|834 006274 aa 7 00000 3521 00 epp2 pr7|0 arg 006275 aa 6 01504 2521 00 spri2 pr6|836 006276 aa 772040 3520 04 epp2 -3040,ic 000336 = 404000000043 006277 aa 6 01506 2521 00 spri2 pr6|838 006300 aa 772032 3520 04 epp2 -3046,ic 000332 = 526000000040 006301 aa 6 01510 2521 00 spri2 pr6|840 006302 aa 772006 3520 04 epp2 -3066,ic 000310 = 524000000022 006303 aa 6 01512 2521 00 spri2 pr6|842 006304 aa 6 01472 3521 00 epp2 pr6|826 006305 aa 6 01514 2521 00 spri2 pr6|844 006306 aa 6 01474 6211 00 eax1 pr6|828 006307 aa 020000 4310 07 fld 8192,dl 006310 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006311 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 582 goto MAIN_RETURN; 006312 aa 775002 7100 04 tra -1534,ic 003314 STATEMENT 1 ON LINE 583 end; STATEMENT 1 ON LINE 584 end; 006313 aa 000121 7100 04 tra 81,ic 006434 STATEMENT 1 ON LINE 587 else if (char (arg, 1) = "-") then do; 006314 aa 6 01472 4501 00 stz pr6|826 006315 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 006316 aa 7 00000 00 0005 desc9a pr7|0,al arg 006317 aa 6 01472 00 0001 desc9a pr6|826,1 006320 aa 6 01472 2351 00 lda pr6|826 006321 aa 055000 1150 03 cmpa 23040,du 006322 aa 000034 6010 04 tnz 28,ic 006356 STATEMENT 1 ON LINE 588 call com_err_ (error_table_$badopt, WHOAMI, "^a", arg); 006323 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006324 aa 526000 2760 03 orq 175104,du 006325 aa 6 01472 7561 00 stq pr6|826 006326 aa 136141 2350 03 lda 48225,du 006327 aa 6 01473 7551 00 sta pr6|827 006330 aa 6 00044 3701 20 epp4 pr6|36,* 006331 la 4 00012 3521 20 epp2 pr4|10,* error_table_$badopt 006332 aa 6 01476 2521 00 spri2 pr6|830 006333 aa 771666 3520 04 epp2 -3146,ic 000221 = 143157160171 006334 aa 6 01500 2521 00 spri2 pr6|832 006335 aa 6 01473 3521 00 epp2 pr6|827 006336 aa 6 01502 2521 00 spri2 pr6|834 006337 aa 7 00000 3521 00 epp2 pr7|0 arg 006340 aa 6 01504 2521 00 spri2 pr6|836 006341 aa 771775 3520 04 epp2 -3075,ic 000336 = 404000000043 006342 aa 6 01506 2521 00 spri2 pr6|838 006343 aa 771767 3520 04 epp2 -3081,ic 000332 = 526000000040 006344 aa 6 01510 2521 00 spri2 pr6|840 006345 aa 771700 3520 04 epp2 -3136,ic 000245 = 524000000002 006346 aa 6 01512 2521 00 spri2 pr6|842 006347 aa 6 01472 3521 00 epp2 pr6|826 006350 aa 6 01514 2521 00 spri2 pr6|844 006351 aa 6 01474 6211 00 eax1 pr6|828 006352 aa 020000 4310 07 fld 8192,dl 006353 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006354 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 589 goto MAIN_RETURN; 006355 aa 774737 7100 04 tra -1569,ic 003314 STATEMENT 1 ON LINE 590 end; STATEMENT 1 ON LINE 592 else if (source.device = "") then source.device = arg; 006356 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006357 aa 6 00100 00 0040 desc9a pr6|64,32 source.device 006360 aa 001272 00 0000 desc9a 698,0 007650 = 040000000000 006361 aa 000006 6010 04 tnz 6,ic 006367 006362 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006363 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 006364 aa 7 00000 00 0006 desc9a pr7|0,ql arg 006365 aa 6 00100 00 0040 desc9a pr6|64,32 source.device 006366 aa 000046 7100 04 tra 38,ic 006434 STATEMENT 1 ON LINE 593 else if (target.device = "") then target.device = arg; 006367 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006370 aa 6 00232 00 0040 desc9a pr6|154,32 target.device 006371 aa 001261 00 0000 desc9a 689,0 007650 = 040000000000 006372 aa 000006 6010 04 tnz 6,ic 006400 006373 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006374 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 006375 aa 7 00000 00 0006 desc9a pr7|0,ql arg 006376 aa 6 00232 00 0040 desc9a pr6|154,32 target.device 006377 aa 000035 7100 04 tra 29,ic 006434 STATEMENT 1 ON LINE 595 else do; STATEMENT 1 ON LINE 596 call com_err_ (error_table_$too_many_args, WHOAMI, "Too many disk names; maximum is 2. ^a", arg); 006400 aa 6 00614 2361 00 ldq pr6|396 arg_lth 006401 aa 526000 2760 03 orq 175104,du 006402 aa 6 01472 7561 00 stq pr6|826 006403 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006404 aa 772274 00 0050 desc9a -2884,40 000677 = 124157157040 006405 aa 6 01460 00 0050 desc9a pr6|816,40 006406 aa 6 00044 3701 20 epp4 pr6|36,* 006407 la 4 00020 3521 20 epp2 pr4|16,* error_table_$too_many_args 006410 aa 6 01476 2521 00 spri2 pr6|830 006411 aa 771610 3520 04 epp2 -3192,ic 000221 = 143157160171 006412 aa 6 01500 2521 00 spri2 pr6|832 006413 aa 6 01460 3521 00 epp2 pr6|816 006414 aa 6 01502 2521 00 spri2 pr6|834 006415 aa 7 00000 3521 00 epp2 pr7|0 arg 006416 aa 6 01504 2521 00 spri2 pr6|836 006417 aa 771717 3520 04 epp2 -3121,ic 000336 = 404000000043 006420 aa 6 01506 2521 00 spri2 pr6|838 006421 aa 771711 3520 04 epp2 -3127,ic 000332 = 526000000040 006422 aa 6 01510 2521 00 spri2 pr6|840 006423 aa 771621 3520 04 epp2 -3183,ic 000244 = 524000000045 006424 aa 6 01512 2521 00 spri2 pr6|842 006425 aa 6 01472 3521 00 epp2 pr6|826 006426 aa 6 01514 2521 00 spri2 pr6|844 006427 aa 6 01474 6211 00 eax1 pr6|828 006430 aa 020000 4310 07 fld 8192,dl 006431 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006432 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 598 goto MAIN_RETURN; 006433 aa 774661 7100 04 tra -1615,ic 003314 STATEMENT 1 ON LINE 599 end; STATEMENT 1 ON LINE 600 end; 006434 aa 6 00611 0541 00 aos pr6|393 arg_idx 006435 aa 776733 7100 04 tra -549,ic 005370 STATEMENT 1 ON LINE 602 if (target.device = "") then do; 006436 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 006437 aa 6 00232 00 0040 desc9a pr6|154,32 target.device 006440 aa 001212 00 0000 desc9a 650,0 007650 = 040000000000 006441 aa 000031 6010 04 tnz 25,ic 006472 STATEMENT 1 ON LINE 603 call com_err_ (error_table_$noarg, WHOAMI, "^/Usage:^-^a FromDisk ToDisk {-bf}", WHOAMI); 006442 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006443 aa 772223 00 0050 desc9a -2925,40 000665 = 136057125163 006444 aa 6 01460 00 0050 desc9a pr6|816,40 006445 aa 6 00044 3701 20 epp4 pr6|36,* 006446 la 4 00016 3521 20 epp2 pr4|14,* error_table_$noarg 006447 aa 6 01476 2521 00 spri2 pr6|830 006450 aa 771551 3520 04 epp2 -3223,ic 000221 = 143157160171 006451 aa 6 01500 2521 00 spri2 pr6|832 006452 aa 6 01460 3521 00 epp2 pr6|816 006453 aa 6 01502 2521 00 spri2 pr6|834 006454 aa 771545 3520 04 epp2 -3227,ic 000221 = 143157160171 006455 aa 6 01504 2521 00 spri2 pr6|836 006456 aa 771660 3520 04 epp2 -3152,ic 000336 = 404000000043 006457 aa 6 01506 2521 00 spri2 pr6|838 006460 aa 771652 3520 04 epp2 -3158,ic 000332 = 526000000040 006461 aa 6 01510 2521 00 spri2 pr6|840 006462 aa 6 01514 2521 00 spri2 pr6|844 006463 aa 771561 3520 04 epp2 -3215,ic 000244 = 524000000045 006464 aa 6 01512 2521 00 spri2 pr6|842 006465 aa 6 01474 6211 00 eax1 pr6|828 006466 aa 020000 4310 07 fld 8192,dl 006467 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006470 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 606 goto MAIN_RETURN; 006471 aa 774623 7100 04 tra -1645,ic 003314 STATEMENT 1 ON LINE 607 end; STATEMENT 1 ON LINE 609 source.threshold = et_number; 006472 aa 6 00376 2361 00 ldq pr6|254 et_number 006473 aa 6 00143 7561 00 stq pr6|99 source.threshold STATEMENT 1 ON LINE 610 call check_disk (source.device, "source", source.device_type); 006474 aa 771646 2370 04 ldaq -3162,ic 000342 = 163157165162 143145000000 006475 aa 6 01534 7571 00 staq pr6|860 006476 aa 001070 3520 04 epp2 568,ic 007566 = 000006000000 006477 aa 2 00000 2351 00 lda pr2|0 006500 aa 000044 6700 04 tsp4 36,ic 006544 STATEMENT 1 ON LINE 611 call check_disk (target.device, "target", target.device_type); 006501 aa 771637 2370 04 ldaq -3169,ic 000340 = 164141162147 145164000000 006502 aa 6 01534 7571 00 staq pr6|860 006503 aa 001045 3520 04 epp2 549,ic 007550 = 000006000000 006504 aa 2 00000 2351 00 lda pr2|0 006505 aa 000037 6700 04 tsp4 31,ic 006544 STATEMENT 1 ON LINE 613 if (source.device = target.device) then do; 006506 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 006507 aa 6 00100 00 0040 desc9a pr6|64,32 source.device 006510 aa 6 00232 00 0040 desc9a pr6|154,32 target.device 006511 aa 000032 6010 04 tnz 26,ic 006543 STATEMENT 1 ON LINE 614 call com_err_ (0, WHOAMI, "Cannot copy ^a to itself.", source.device); 006512 aa 6 01472 4501 00 stz pr6|826 006513 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006514 aa 772051 00 0034 desc9a -3031,28 000564 = 103141156156 006515 aa 6 01460 00 0034 desc9a pr6|816,28 006516 aa 6 01472 3521 00 epp2 pr6|826 006517 aa 6 01476 2521 00 spri2 pr6|830 006520 aa 771501 3520 04 epp2 -3263,ic 000221 = 143157160171 006521 aa 6 01500 2521 00 spri2 pr6|832 006522 aa 6 01460 3521 00 epp2 pr6|816 006523 aa 6 01502 2521 00 spri2 pr6|834 006524 aa 6 00100 3521 00 epp2 pr6|64 source.device 006525 aa 6 01504 2521 00 spri2 pr6|836 006526 aa 771575 3520 04 epp2 -3203,ic 000323 = 404000000005 006527 aa 6 01506 2521 00 spri2 pr6|838 006530 aa 771602 3520 04 epp2 -3198,ic 000332 = 526000000040 006531 aa 6 01510 2521 00 spri2 pr6|840 006532 aa 6 01514 2521 00 spri2 pr6|844 006533 aa 771507 3520 04 epp2 -3257,ic 000242 = 524000000031 006534 aa 6 01512 2521 00 spri2 pr6|842 006535 aa 6 01474 6211 00 eax1 pr6|828 006536 aa 020000 4310 07 fld 8192,dl 006537 aa 6 00044 3701 20 epp4 pr6|36,* 006540 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006541 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 615 goto MAIN_RETURN; 006542 aa 774552 7100 04 tra -1686,ic 003314 STATEMENT 1 ON LINE 616 end; STATEMENT 1 ON LINE 618 return; 006543 aa 6 00602 6101 00 rtcd pr6|386 STATEMENT 1 ON LINE 620 end process_arguments; END PROCEDURE process_arguments BEGIN PROCEDURE check_disk ENTRY TO check_disk STATEMENT 1 ON LINE 624 check_disk: procedure (P_name, P_type, P_device_type); 006544 aa 6 00616 6501 00 spri4 pr6|398 006545 aa 6 00620 2521 00 spri2 pr6|400 006546 aa 2 00002 3521 01 epp2 pr2|2,au 006547 aa 6 00622 2521 00 spri2 pr6|402 006550 aa 2 00000 2361 20 ldq pr2|0,* 006551 aa 000002 6040 04 tmi 2,ic 006553 006552 aa 777777 3760 07 anq 262143,dl 006553 aa 0 00250 3761 00 anq pr0|168 = 000077777777 006554 aa 6 01536 7561 00 stq pr6|862 006555 aa 2 00002 2361 20 ldq pr2|2,* 006556 aa 000002 6040 04 tmi 2,ic 006560 006557 aa 777777 3760 07 anq 262143,dl 006560 aa 0 00250 3761 00 anq pr0|168 = 000077777777 006561 aa 6 01537 7561 00 stq pr6|863 STATEMENT 1 ON LINE 637 disk_name = rtrim (P_name); 006562 aa 6 00620 3735 20 epp7 pr6|400,* 006563 aa 7 00002 3715 20 epp5 pr7|2,* 006564 aa 6 01536 2351 00 lda pr6|862 006565 aa 000 000 165 540 tctr (pr,rl) 006566 aa 5 00000 00 0005 desc9a pr5|0,al P_name 006567 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 006570 aa 6 00056 0001 00 arg pr6|46 006571 aa 6 00056 2361 00 ldq pr6|46 006572 aa 0 00242 3761 00 anq pr0|162 = 000777777777 006573 aa 6 01540 7561 00 stq pr6|864 006574 aa 6 01536 2361 00 ldq pr6|862 006575 aa 6 01540 1761 00 sbq pr6|864 006576 aa 000010 1160 07 cmpq 8,dl 006577 aa 000002 6040 04 tmi 2,ic 006601 006600 aa 000010 2360 07 ldq 8,dl 006601 aa 6 00624 7561 00 stq pr6|404 disk_name 006602 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 006603 aa 5 00000 00 0006 desc9a pr5|0,ql P_name 006604 aa 6 00625 00 0006 desc9a pr6|405,ql disk_name STATEMENT 1 ON LINE 638 if (length (disk_name) < 7) then bad = "1"b; 006605 aa 6 00624 2361 00 ldq pr6|404 disk_name 006606 aa 000007 1160 07 cmpq 7,dl 006607 aa 000004 6050 04 tpl 4,ic 006613 006610 aa 400000 2350 03 lda 131072,du 006611 aa 6 00627 7551 00 sta pr6|407 bad 006612 aa 000055 7100 04 tra 45,ic 006667 STATEMENT 1 ON LINE 639 else if (substr (disk_name, 1, 3) ^= "dsk") then bad = "1"b; 006613 aa 6 00625 2351 00 lda pr6|405 disk_name 006614 aa 0 00066 3771 00 anaq pr0|54 = 777777777000 000000000000 006615 aa 771424 1150 04 cmpa -3308,ic 000241 = 144163153000 006616 aa 000004 6000 04 tze 4,ic 006622 006617 aa 400000 2350 03 lda 131072,du 006620 aa 6 00627 7551 00 sta pr6|407 bad 006621 aa 000046 7100 04 tra 38,ic 006667 STATEMENT 1 ON LINE 640 else if (substr (disk_name, 5, 1) ^= "_") then bad = "1"b; 006622 aa 6 00626 2351 00 lda pr6|406 disk_name 006623 aa 0 00022 3771 00 anaq pr0|18 = 777000000000 000000000000 006624 aa 137000 1150 03 cmpa 48640,du 006625 aa 000004 6000 04 tze 4,ic 006631 006626 aa 400000 2350 03 lda 131072,du 006627 aa 6 00627 7551 00 sta pr6|407 bad 006630 aa 000037 7100 04 tra 31,ic 006667 STATEMENT 1 ON LINE 641 else if (verify (substr (disk_name, 6, 2), "0123456789") ^= 0) then bad = "1"b; 006631 aa 000 000 164 500 tct (pr) 006632 aa 6 00626 20 0002 desc9a pr6|406(1),2 disk_name 006633 aa 000517 0000 04 arg 335,ic 007350 = 777777777777 006634 aa 6 00056 0001 00 arg pr6|46 006635 aa 6 00056 2361 00 ldq pr6|46 006636 aa 0 00242 3761 00 anq pr0|162 = 000777777777 006637 aa 000002 6070 04 ttf 2,ic 006641 006640 aa 000001 3360 07 lcq 1,dl 006641 aa 000001 0760 07 adq 1,dl 006642 aa 000004 6000 04 tze 4,ic 006646 006643 aa 400000 2350 03 lda 131072,du 006644 aa 6 00627 7551 00 sta pr6|407 bad 006645 aa 000022 7100 04 tra 18,ic 006667 STATEMENT 1 ON LINE 642 else if (length (disk_name) > 7) then if (verify (substr (disk_name, 8, 1), valid_sv_string) ^= 0) then bad = "1"b; 006646 aa 6 00624 2361 00 ldq pr6|404 disk_name 006647 aa 000007 1160 07 cmpq 7,dl 006650 aa 000016 6044 04 tmoz 14,ic 006666 006651 aa 000 100 124 404 scm (ic),(pr),mask(000) 006652 aa 771325 00 0003 desc9a -3371,3 000176 = 141142143000 006653 aa 6 00626 60 0001 desc9a pr6|406(3),1 disk_name 006654 aa 6 00056 0001 00 arg pr6|46 006655 aa 000001 2360 07 ldq 1,dl 006656 aa 000002 6064 04 ttn 2,ic 006660 006657 aa 000000 2360 07 ldq 0,dl 006660 aa 000004 6000 04 tze 4,ic 006664 006661 aa 400000 2350 03 lda 131072,du 006662 aa 6 00627 7551 00 sta pr6|407 bad 006663 aa 000004 7100 04 tra 4,ic 006667 STATEMENT 1 ON LINE 644 else bad = "0"b; 006664 aa 6 00627 4501 00 stz pr6|407 bad 006665 aa 000002 7100 04 tra 2,ic 006667 STATEMENT 1 ON LINE 645 else bad = "0"b; 006666 aa 6 00627 4501 00 stz pr6|407 bad STATEMENT 1 ON LINE 647 if bad then do; 006667 aa 6 00627 2351 00 lda pr6|407 bad 006670 aa 000040 6000 04 tze 32,ic 006730 STATEMENT 1 ON LINE 648 call com_err_ (0, WHOAMI, "Invalid name for ^a disk: ""^a"". Must be dskX_NNX.", P_type, disk_name); 006671 aa 6 01540 4501 00 stz pr6|864 006672 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006673 aa 772154 00 0064 desc9a -2964,52 001046 = 111156166141 006674 aa 6 01542 00 0064 desc9a pr6|866,52 006675 aa 6 01540 3521 00 epp2 pr6|864 006676 aa 6 01562 2521 00 spri2 pr6|882 006677 aa 771322 3520 04 epp2 -3374,ic 000221 = 143157160171 006700 aa 6 01564 2521 00 spri2 pr6|884 006701 aa 6 01542 3521 00 epp2 pr6|866 006702 aa 6 01566 2521 00 spri2 pr6|886 006703 aa 7 00004 3521 20 epp2 pr7|4,* P_type 006704 aa 6 01570 2521 00 spri2 pr6|888 006705 aa 6 00625 3521 00 epp2 pr6|405 disk_name 006706 aa 6 01572 2521 00 spri2 pr6|890 006707 aa 771414 3520 04 epp2 -3316,ic 000323 = 404000000005 006710 aa 6 01574 2521 00 spri2 pr6|892 006711 aa 771421 3520 04 epp2 -3311,ic 000332 = 526000000040 006712 aa 6 01576 2521 00 spri2 pr6|894 006713 aa 771325 3520 04 epp2 -3371,ic 000240 = 524000000061 006714 aa 6 01600 2521 00 spri2 pr6|896 006715 aa 6 00622 3535 20 epp3 pr6|402,* 006716 aa 3 00002 3521 20 epp2 pr3|2,* 006717 aa 6 01602 2521 00 spri2 pr6|898 006720 aa 771317 3520 04 epp2 -3377,ic 000237 = 530000000010 006721 aa 6 01604 2521 00 spri2 pr6|900 006722 aa 6 01560 6211 00 eax1 pr6|880 006723 aa 024000 4310 07 fld 10240,dl 006724 aa 6 00044 3701 20 epp4 pr6|36,* 006725 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 006726 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 651 goto MAIN_RETURN; 006727 aa 774365 7100 04 tra -1803,ic 003314 STATEMENT 1 ON LINE 652 end; STATEMENT 1 ON LINE 654 do devx = 1 to dt.n_entries; 006730 aa 6 00466 2361 20 ldq pr6|310,* dt.n_entries 006731 aa 6 00654 7561 00 stq pr6|428 006732 aa 000001 2360 07 ldq 1,dl 006733 aa 6 00630 7561 00 stq pr6|408 devx 006734 aa 6 00630 2361 00 ldq pr6|408 devx 006735 aa 6 00654 1161 00 cmpq pr6|428 006736 aa 000014 6054 04 tpnz 12,ic 006752 STATEMENT 1 ON LINE 655 dtep = addr (dt.array (devx)); 006737 aa 000016 4020 07 mpy 14,dl 006740 aa 6 00466 3735 20 epp7 pr6|310,* dtp 006741 aa 7 77772 3735 06 epp7 pr7|-6,ql dt.array 006742 aa 6 00470 6535 00 spri7 pr6|312 dtep STATEMENT 1 ON LINE 656 if (dte.drive_name = disk_name) then goto FOUND_THE_DISK; 006743 aa 6 00624 7271 00 lxl7 pr6|404 disk_name 006744 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 006745 aa 7 00000 00 0010 desc9a pr7|0,8 dte.drive_name 006746 aa 6 00625 00 0017 desc9a pr6|405,x7 disk_name 006747 aa 000035 6000 04 tze 29,ic 007004 STATEMENT 1 ON LINE 657 end; 006750 aa 6 00630 0541 00 aos pr6|408 devx 006751 aa 777763 7100 04 tra -13,ic 006734 STATEMENT 1 ON LINE 659 call com_err_ (0, WHOAMI, "Disk drive ^a not found in disk_table_.", disk_name); 006752 aa 6 01540 4501 00 stz pr6|864 006753 aa 000 100 100 404 mlr (ic),(pr),fill(000) 006754 aa 771700 00 0050 desc9a -3136,40 000653 = 104151163153 006755 aa 6 01542 00 0050 desc9a pr6|866,40 006756 aa 6 01540 3521 00 epp2 pr6|864 006757 aa 6 01562 2521 00 spri2 pr6|882 006760 aa 771241 3520 04 epp2 -3423,ic 000221 = 143157160171 006761 aa 6 01564 2521 00 spri2 pr6|884 006762 aa 6 01542 3521 00 epp2 pr6|866 006763 aa 6 01566 2521 00 spri2 pr6|886 006764 aa 6 00625 3521 00 epp2 pr6|405 disk_name 006765 aa 6 01570 2521 00 spri2 pr6|888 006766 aa 771335 3520 04 epp2 -3363,ic 000323 = 404000000005 006767 aa 6 01572 2521 00 spri2 pr6|890 006770 aa 771342 3520 04 epp2 -3358,ic 000332 = 526000000040 006771 aa 6 01574 2521 00 spri2 pr6|892 006772 aa 771244 3520 04 epp2 -3420,ic 000236 = 524000000047 006773 aa 6 01576 2521 00 spri2 pr6|894 006774 aa 771243 3520 04 epp2 -3421,ic 000237 = 530000000010 006775 aa 6 01600 2521 00 spri2 pr6|896 006776 aa 6 01560 6211 00 eax1 pr6|880 006777 aa 020000 4310 07 fld 8192,dl 007000 aa 6 00044 3701 20 epp4 pr6|36,* 007001 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 007002 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 660 goto MAIN_RETURN; 007003 aa 774311 7100 04 tra -1847,ic 003314 STATEMENT 1 ON LINE 662 FOUND_THE_DISK: if dte.storage_system then if dte.used then problem = "is in use by the storage system"; 007004 aa 7 00002 2351 00 lda pr7|2 dte.storage_system 007005 aa 000100 3150 03 cana 64,du 007006 aa 000020 6000 04 tze 16,ic 007026 007007 aa 7 00002 2351 00 lda pr7|2 dte.used 007010 aa 000400 3150 03 cana 256,du 007011 aa 000007 6000 04 tze 7,ic 007020 007012 aa 000037 2360 07 ldq 31,dl 007013 aa 6 00631 7561 00 stq pr6|409 problem 007014 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 007015 aa 771576 00 0006 desc9a -3202,ql 000612 = 151163040151 007016 aa 6 00632 00 0006 desc9a pr6|410,ql problem 007017 aa 000021 7100 04 tra 17,ic 007040 STATEMENT 1 ON LINE 666 else problem = "has not been sdu'd for I/O usage"; 007020 aa 000040 2360 07 ldq 32,dl 007021 aa 6 00631 7561 00 stq pr6|409 problem 007022 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 007023 aa 771560 00 0006 desc9a -3216,ql 000602 = 150141163040 007024 aa 6 00632 00 0006 desc9a pr6|410,ql problem 007025 aa 000013 7100 04 tra 11,ic 007040 STATEMENT 1 ON LINE 667 else if dte.deleted then problem = "has been deleted with deldev"; 007026 aa 7 00002 2351 00 lda pr7|2 dte.deleted 007027 aa 000020 3150 03 cana 16,du 007030 aa 000007 6000 04 tze 7,ic 007037 007031 aa 000034 2360 07 ldq 28,dl 007032 aa 6 00631 7561 00 stq pr6|409 problem 007033 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 007034 aa 771522 00 0006 desc9a -3246,ql 000555 = 150141163040 007035 aa 6 00632 00 0006 desc9a pr6|410,ql problem 007036 aa 000002 7100 04 tra 2,ic 007040 STATEMENT 1 ON LINE 668 else problem = ""; 007037 aa 6 00631 4501 00 stz pr6|409 problem STATEMENT 1 ON LINE 670 if (problem ^= "") then do; 007040 aa 6 00631 7271 00 lxl7 pr6|409 problem 007041 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 007042 aa 6 00632 00 0017 desc9a pr6|410,x7 problem 007043 aa 000607 00 0000 desc9a 391,0 007650 = 040000000000 007044 aa 000037 6000 04 tze 31,ic 007103 STATEMENT 1 ON LINE 671 call com_err_ (0, WHOAMI, "Cannot access ^a: it ^a.", disk_name, problem); 007045 aa 6 01540 4501 00 stz pr6|864 007046 aa 000 100 100 404 mlr (ic),(pr),fill(000) 007047 aa 771451 00 0030 desc9a -3287,24 000517 = 103141156156 007050 aa 6 01542 00 0030 desc9a pr6|866,24 007051 aa 6 01540 3521 00 epp2 pr6|864 007052 aa 6 01562 2521 00 spri2 pr6|882 007053 aa 771146 3520 04 epp2 -3482,ic 000221 = 143157160171 007054 aa 6 01564 2521 00 spri2 pr6|884 007055 aa 6 01542 3521 00 epp2 pr6|866 007056 aa 6 01566 2521 00 spri2 pr6|886 007057 aa 6 00625 3521 00 epp2 pr6|405 disk_name 007060 aa 6 01570 2521 00 spri2 pr6|888 007061 aa 6 00632 3521 00 epp2 pr6|410 problem 007062 aa 6 01572 2521 00 spri2 pr6|890 007063 aa 771240 3520 04 epp2 -3424,ic 000323 = 404000000005 007064 aa 6 01574 2521 00 spri2 pr6|892 007065 aa 771245 3520 04 epp2 -3419,ic 000332 = 526000000040 007066 aa 6 01576 2521 00 spri2 pr6|894 007067 aa 771241 3520 04 epp2 -3423,ic 000330 = 524000000030 007070 aa 6 01600 2521 00 spri2 pr6|896 007071 aa 771146 3520 04 epp2 -3482,ic 000237 = 530000000010 007072 aa 6 01602 2521 00 spri2 pr6|898 007073 aa 771142 3520 04 epp2 -3486,ic 000235 = 530000000106 007074 aa 6 01604 2521 00 spri2 pr6|900 007075 aa 6 01560 6211 00 eax1 pr6|880 007076 aa 024000 4310 07 fld 10240,dl 007077 aa 6 00044 3701 20 epp4 pr6|36,* 007100 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 007101 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 673 goto MAIN_RETURN; 007102 aa 774212 7100 04 tra -1910,ic 003314 STATEMENT 1 ON LINE 674 end; STATEMENT 1 ON LINE 676 P_device_type = dte.device_type; 007103 aa 7 00002 2351 00 lda pr7|2 dte.device_type 007104 aa 000077 7330 00 lrs 63 007105 aa 6 00620 3715 20 epp5 pr6|400,* 007106 aa 5 00006 7561 20 stq pr5|6,* P_device_type STATEMENT 1 ON LINE 678 return; 007107 aa 6 00616 6101 00 rtcd pr6|398 STATEMENT 1 ON LINE 679 end check_disk; END PROCEDURE check_disk BEGIN PROCEDURE clean_up ENTRY TO clean_up STATEMENT 1 ON LINE 683 clean_up: procedure (P_report); 007110 da 000362200000 007111 aa 000200 6270 00 eax7 128 007112 aa 7 00034 3521 20 epp2 pr7|28,* 007113 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 007114 aa 000002000000 007115 aa 000000000000 STATEMENT 1 ON LINE 689 call close (addr (source)); 007116 aa 6 00040 3735 20 epp7 pr6|32,* 007117 aa 7 00100 3735 00 epp7 pr7|64 source 007120 aa 6 00106 6535 00 spri7 pr6|70 007121 aa 000223 3520 04 epp2 147,ic 007344 = 000002000000 007122 aa 000041 6700 04 tsp4 33,ic 007163 STATEMENT 1 ON LINE 690 call close (addr (target)); 007123 aa 6 00040 3735 20 epp7 pr6|32,* 007124 aa 7 00232 3735 00 epp7 pr7|154 target 007125 aa 6 00106 6535 00 spri7 pr6|70 007126 aa 000216 3520 04 epp2 142,ic 007344 = 000002000000 007127 aa 000034 6700 04 tsp4 28,ic 007163 STATEMENT 1 ON LINE 692 if (temp_seg_ptr (1) ^= null ()) then call release_temp_segments_ (WHOAMI, temp_seg_ptr, (0)); 007130 aa 6 00040 3735 20 epp7 pr6|32,* 007131 aa 7 00410 2371 00 ldaq pr7|264 temp_seg_ptr 007132 aa 771244 6770 04 eraq -3420,ic 000376 = 077777000043 000001000000 007133 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 007134 aa 000023 6000 04 tze 19,ic 007157 007135 aa 6 00110 4501 00 stz pr6|72 007136 aa 771063 3520 04 epp2 -3533,ic 000221 = 143157160171 007137 aa 6 00114 2521 00 spri2 pr6|76 007140 aa 7 00410 3521 00 epp2 pr7|264 temp_seg_ptr 007141 aa 6 00116 2521 00 spri2 pr6|78 007142 aa 6 00110 3521 00 epp2 pr6|72 007143 aa 6 00120 2521 00 spri2 pr6|80 007144 aa 771166 3520 04 epp2 -3466,ic 000332 = 526000000040 007145 aa 6 00122 2521 00 spri2 pr6|82 007146 aa 771305 3520 04 epp2 -3387,ic 000453 = 464100000000 007147 aa 6 00124 2521 00 spri2 pr6|84 007150 aa 771166 3520 04 epp2 -3466,ic 000336 = 404000000043 007151 aa 6 00126 2521 00 spri2 pr6|86 007152 aa 6 00112 6211 00 eax1 pr6|74 007153 aa 014000 4310 07 fld 6144,dl 007154 aa 6 00044 3701 20 epp4 pr6|36,* 007155 la 4 00054 3521 20 epp2 pr4|44,* release_temp_segments_ 007156 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 694 temp_seg_ptr (1) = null; 007157 aa 771217 2370 04 ldaq -3441,ic 000376 = 077777000043 000001000000 007160 aa 6 00040 3735 20 epp7 pr6|32,* 007161 aa 7 00410 7571 00 staq pr7|264 temp_seg_ptr STATEMENT 1 ON LINE 696 return; 007162 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 727 end clean_up; BEGIN PROCEDURE close ENTRY TO close STATEMENT 1 ON LINE 700 close: procedure (P_info_ptr); 007163 aa 6 00100 6501 00 spri4 pr6|64 007164 aa 6 00102 2521 00 spri2 pr6|66 STATEMENT 1 ON LINE 707 if P_info.opened then do; 007165 aa 2 00002 3735 20 epp7 pr2|2,* P_info_ptr 007166 aa 7 00000 3735 20 epp7 pr7|0,* P_info_ptr 007167 aa 7 00013 2351 00 lda pr7|11 P_info.opened 007170 aa 000053 6000 04 tze 43,ic 007243 STATEMENT 1 ON LINE 708 call iox_$close (P_info.iocb, code); 007171 aa 7 00024 3521 00 epp2 pr7|20 P_info.iocb 007172 aa 6 00132 2521 00 spri2 pr6|90 007173 aa 6 00040 3715 20 epp5 pr6|32,* 007174 aa 5 00451 3521 00 epp2 pr5|297 code 007175 aa 6 00134 2521 00 spri2 pr6|92 007176 aa 6 00130 6211 00 eax1 pr6|88 007177 aa 010000 4310 07 fld 4096,dl 007200 aa 6 00044 3701 20 epp4 pr6|36,* 007201 la 4 00062 3521 20 epp2 pr4|50,* iox_$close 007202 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 709 if P_report & (code ^= 0) then call com_err_ (code, WHOAMI, "Closing stream for ^a.", P_info.device); 007203 aa 6 00032 3735 20 epp7 pr6|26,* 007204 aa 7 00002 2351 20 lda pr7|2,* P_report 007205 aa 400000 3150 03 cana 131072,du 007206 aa 000035 6000 04 tze 29,ic 007243 007207 aa 6 00040 3715 20 epp5 pr6|32,* 007210 aa 5 00451 2361 00 ldq pr5|297 code 007211 aa 000032 6000 04 tze 26,ic 007243 007212 aa 000 100 100 404 mlr (ic),(pr),fill(000) 007213 aa 771277 00 0030 desc9a -3393,24 000511 = 103154157163 007214 aa 6 00130 00 0030 desc9a pr6|88,24 007215 aa 5 00451 3521 00 epp2 pr5|297 code 007216 aa 6 00140 2521 00 spri2 pr6|96 007217 aa 771002 3520 04 epp2 -3582,ic 000221 = 143157160171 007220 aa 6 00142 2521 00 spri2 pr6|98 007221 aa 6 00130 3521 00 epp2 pr6|88 007222 aa 6 00144 2521 00 spri2 pr6|100 007223 aa 6 00102 3535 20 epp3 pr6|66,* 007224 aa 3 00002 3515 20 epp1 pr3|2,* P_info_ptr 007225 aa 1 00000 3521 20 epp2 pr1|0,* P_info.device 007226 aa 6 00146 2521 00 spri2 pr6|102 007227 aa 771107 3520 04 epp2 -3513,ic 000336 = 404000000043 007230 aa 6 00150 2521 00 spri2 pr6|104 007231 aa 771101 3520 04 epp2 -3519,ic 000332 = 526000000040 007232 aa 6 00152 2521 00 spri2 pr6|106 007233 aa 6 00156 2521 00 spri2 pr6|110 007234 aa 771000 3520 04 epp2 -3584,ic 000234 = 524000000026 007235 aa 6 00154 2521 00 spri2 pr6|108 007236 aa 6 00136 6211 00 eax1 pr6|94 007237 aa 020000 4310 07 fld 8192,dl 007240 aa 6 00044 3701 20 epp4 pr6|36,* 007241 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 007242 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 712 end; STATEMENT 1 ON LINE 714 if P_info.attached then do; 007243 aa 6 00102 3735 20 epp7 pr6|66,* 007244 aa 7 00002 3715 20 epp5 pr7|2,* P_info_ptr 007245 aa 5 00000 3715 20 epp5 pr5|0,* P_info_ptr 007246 aa 5 00012 2351 00 lda pr5|10 P_info.attached 007247 aa 000053 6000 04 tze 43,ic 007322 STATEMENT 1 ON LINE 715 call iox_$detach_iocb (P_info.iocb, code); 007250 aa 5 00024 3521 00 epp2 pr5|20 P_info.iocb 007251 aa 6 00132 2521 00 spri2 pr6|90 007252 aa 6 00040 3535 20 epp3 pr6|32,* 007253 aa 3 00451 3521 00 epp2 pr3|297 code 007254 aa 6 00134 2521 00 spri2 pr6|92 007255 aa 6 00130 6211 00 eax1 pr6|88 007256 aa 010000 4310 07 fld 4096,dl 007257 aa 6 00044 3701 20 epp4 pr6|36,* 007260 la 4 00070 3521 20 epp2 pr4|56,* iox_$detach_iocb 007261 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 716 if P_report & (code ^= 0) then call com_err_ (code, WHOAMI, "Detaching stream for ^a.", P_info.device); 007262 aa 6 00032 3735 20 epp7 pr6|26,* 007263 aa 7 00002 2351 20 lda pr7|2,* P_report 007264 aa 400000 3150 03 cana 131072,du 007265 aa 000035 6000 04 tze 29,ic 007322 007266 aa 6 00040 3715 20 epp5 pr6|32,* 007267 aa 5 00451 2361 00 ldq pr5|297 code 007270 aa 000032 6000 04 tze 26,ic 007322 007271 aa 000 100 100 404 mlr (ic),(pr),fill(000) 007272 aa 771212 00 0030 desc9a -3446,24 000503 = 104145164141 007273 aa 6 00130 00 0030 desc9a pr6|88,24 007274 aa 5 00451 3521 00 epp2 pr5|297 code 007275 aa 6 00140 2521 00 spri2 pr6|96 007276 aa 770723 3520 04 epp2 -3629,ic 000221 = 143157160171 007277 aa 6 00142 2521 00 spri2 pr6|98 007300 aa 6 00130 3521 00 epp2 pr6|88 007301 aa 6 00144 2521 00 spri2 pr6|100 007302 aa 6 00102 3535 20 epp3 pr6|66,* 007303 aa 3 00002 3515 20 epp1 pr3|2,* P_info_ptr 007304 aa 1 00000 3521 20 epp2 pr1|0,* P_info.device 007305 aa 6 00146 2521 00 spri2 pr6|102 007306 aa 771030 3520 04 epp2 -3560,ic 000336 = 404000000043 007307 aa 6 00150 2521 00 spri2 pr6|104 007310 aa 771022 3520 04 epp2 -3566,ic 000332 = 526000000040 007311 aa 6 00152 2521 00 spri2 pr6|106 007312 aa 6 00156 2521 00 spri2 pr6|110 007313 aa 771015 3520 04 epp2 -3571,ic 000330 = 524000000030 007314 aa 6 00154 2521 00 spri2 pr6|108 007315 aa 6 00136 6211 00 eax1 pr6|94 007316 aa 020000 4310 07 fld 8192,dl 007317 aa 6 00044 3701 20 epp4 pr6|36,* 007320 la 4 00036 3521 20 epp2 pr4|30,* com_err_ 007321 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 719 end; STATEMENT 1 ON LINE 721 if (P_info.iocb ^= null ()) then call iox_$destroy_iocb (P_info.iocb, (0)); 007322 aa 6 00102 3735 20 epp7 pr6|66,* 007323 aa 7 00002 3715 20 epp5 pr7|2,* P_info_ptr 007324 aa 5 00000 3715 20 epp5 pr5|0,* P_info_ptr 007325 aa 5 00024 2371 00 ldaq pr5|20 P_info.iocb 007326 aa 771050 6770 04 eraq -3544,ic 000376 = 077777000043 000001000000 007327 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 007330 aa 000013 6000 04 tze 11,ic 007343 007331 aa 6 00160 4501 00 stz pr6|112 007332 aa 5 00024 3521 00 epp2 pr5|20 P_info.iocb 007333 aa 6 00132 2521 00 spri2 pr6|90 007334 aa 6 00160 3521 00 epp2 pr6|112 007335 aa 6 00134 2521 00 spri2 pr6|92 007336 aa 6 00130 6211 00 eax1 pr6|88 007337 aa 010000 4310 07 fld 4096,dl 007340 aa 6 00044 3701 20 epp4 pr6|36,* 007341 la 4 00066 3521 20 epp2 pr4|54,* iox_$destroy_iocb 007342 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 724 return; 007343 aa 6 00100 6101 00 rtcd pr6|64 STATEMENT 1 ON LINE 725 end close; END PROCEDURE close END PROCEDURE clean_up END PROCEDURE copy_disk_volume