COMPILATION LISTING OF SEGMENT trace_parameters_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 10/23/84 1244.6 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* 7* This program stores and fetches trace parameters and global parameters. 8* 9* Written: May 1984 by Jeffrey D. Ives. 10**/ 11 /* format: style2,ifthendo,^indnoniterdo,thendo,^inditerdo,indproc,ind2,dclind5,idind32 */ 12 13 14 trace_parameters_: 15 procedure (); 16 signal error; 17 18 19 /* INITIALIZE */ 20 21 initialize: 22 entry (); 23 24 25 trace_catch_$global_parameters = INITIAL_GLOBAL_PARAMETERS; 26 trace_catch_$global_parameters.osw = trace_$cv_stream_name_to_osw (INITIAL_GLOBAL_PARAMETERS.osw.stream_name); 27 trace_catch_$global_parameters.spp = 28 trace_$cv_entry_name_to_spp (INITIAL_GLOBAL_PARAMETERS.spp.entry_name, codeptr (trace_parameters_)); 29 trace_catch_$global_parameters.trace_routine = trace_print_$trace; 30 trace_catch_$global_parameters.stop_routine = trace_print_$stop; 31 32 trace_$global_parameters.version = ""; 33 34 allocate parameters in (trace_storage); 35 parameters = INITIAL_PARAMETERS; 36 call ASSIGN_PTR (trace_catch_$parameters_ptr, parameters_ptr); 37 call ASSIGN_PTR (trace_$parameters_ptr, parameters_ptr); 38 39 trace_catch_$global_parameters.calibrate = "1"b; 40 41 call trace_calibrate_ ("recurse", trace_catch_$global_parameters.comps (COMPENSATION_FROM_ENTRY_TO_ENTRY), 42 trace_catch_$global_parameters.comps (COMPENSATION_FROM_RETURN_TO_RETURN)); 43 44 call trace_calibrate_ ("repeat", trace_catch_$global_parameters.comps (COMPENSATION_FROM_ENTRY_TO_RETURN), 45 trace_catch_$global_parameters.comps (COMPENSATION_FROM_RETURN_TO_ENTRY)); 46 47 trace_catch_$global_parameters.calibrate = "0"b; 48 49 50 return; 51 52 /* TRANSACTIONS */ 53 54 transaction_begin: 55 entry (transaction_id_i); 56 if trace_catch_$global_parameters.version ^= GLOBAL_PARAMETERS_VERSION_3 57 then signal error; 58 if trace_$global_parameters.version ^= "" 59 then signal error; 60 if trace_catch_$parameters_ptr -> parameters.version ^= PARAMETERS_VERSION_3 61 then signal error; 62 if trace_$parameters_ptr ^= trace_catch_$parameters_ptr 63 then signal error; 64 return; 65 66 67 transaction_begin_force: 68 transaction_end: 69 entry (transaction_id_i); 70 trace_$global_parameters.version = ""; /* This will show that they are not modified yet. */ 71 call ASSIGN_PTR (trace_$parameters_ptr, trace_catch_$parameters_ptr); 72 return; 73 74 75 /* UPDATES */ 76 77 update_default_parms: 78 entry () returns (bit aligned); 79 if OBJECTS_ARE_EQUAL (trace_catch_$parameters_ptr, trace_$parameters_ptr) 80 then return ("0"b); 81 call ASSIGN_PTR (trace_catch_$parameters_ptr, trace_$parameters_ptr); 82 return ("1"b); 83 84 85 update_global_parms: 86 entry () returns (bit aligned); 87 if trace_$global_parameters.version = "" 88 then return ("0"b); 89 if trace_$global_parameters.version ^= GLOBAL_PARAMETERS_VERSION_3 90 then signal error; 91 if unspec (trace_$global_parameters) = unspec (trace_catch_$global_parameters) 92 then return ("0"b); 93 if trace_$global_parameters.osw.iocb_ptr ^= trace_catch_$global_parameters.osw.iocb_ptr 94 then call trace_print_$copy_osw (trace_$global_parameters.osw, trace_catch_$global_parameters.osw); 95 if trace_$global_parameters.buffer_ptr ^= trace_catch_$global_parameters.buffer_ptr 96 then call trace_print_$copy_buffer_ptr (trace_$global_parameters.buffer_ptr, 97 trace_catch_$global_parameters.buffer_ptr); 98 trace_catch_$global_parameters = trace_$global_parameters; 99 return ("1"b); 100 101 102 free_parameters: 103 entry (parms_ptr_io); 104 call FREE_OBJECT (parms_ptr_io); 105 return; 106 107 108 parms_specified: 109 entry () returns (bit aligned); 110 if OBJECTS_ARE_EQUAL (trace_catch_$parameters_ptr, trace_$parameters_ptr) 111 then return ("0"b); 112 else return ("1"b); 113 114 115 update_parameters: 116 entry (parms_ptr_io) returns (bit aligned); 117 if parms_ptr_io = trace_$parameters_ptr /* Optimization. */ 118 then return ("0"b); 119 if OBJECTS_ARE_EQUAL (parms_ptr_io, trace_$parameters_ptr) 120 then return ("0"b); 121 call ASSIGN_PTR (parms_ptr_io, trace_$parameters_ptr); 122 return ("1"b); 123 124 /* TRACE PARAMETERS */ 125 126 127 arguments: 128 entry (tt_idx_i) returns (bit (2) aligned); 129 tt_idx = tt_idx_i; 130 if tt_idx < 0 131 then parameters_ptr = trace_catch_$parameters_ptr; 132 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 133 return (parameters.arguments); 134 135 136 set_arguments: 137 entry (inout_i); 138 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 139 parameters.arguments = inout_i; 140 return; 141 142 143 call: 144 entry (tt_idx_i) returns (char (256) var); 145 tt_idx = tt_idx_i; 146 if tt_idx < 0 147 then parameters_ptr = trace_catch_$parameters_ptr; 148 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 149 allocated_string_ptr = parameters.call_ptr; 150 if allocated_string_ptr = null () 151 then return (""); 152 else return (allocated_string.value); 153 154 155 set_call: 156 entry (char256var_i); 157 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 158 allocated_string_value_length = length (char256var_i); 159 if allocated_string_value_length > 256 160 then signal error; 161 allocate allocated_string in (trace_storage); 162 allocated_string.version = ALLOCATED_STRING_VERSION_3; 163 allocated_string.reference_count = 0; 164 allocated_string.value = char256var_i; 165 call ASSIGN_PTR (parameters.call_ptr, allocated_string_ptr); 166 return; 167 168 169 every: 170 entry (tt_idx_i) returns (fixed bin (34)); 171 tt_idx = tt_idx_i; 172 if tt_idx < 0 173 then parameters_ptr = trace_catch_$parameters_ptr; 174 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 175 return (parameters.every); 176 177 178 set_every: 179 entry (number_i); 180 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 181 parameters.every = number_i; 182 return; 183 184 185 first: 186 entry (tt_idx_i) returns (fixed bin (34)); 187 tt_idx = tt_idx_i; 188 if tt_idx < 0 189 then parameters_ptr = trace_catch_$parameters_ptr; 190 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 191 return (parameters.first); 192 193 194 set_first: 195 entry (number_i); 196 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 197 parameters.first = number_i; 198 return; 199 200 201 high: 202 entry (tt_idx_i) returns (fixed bin (34)); 203 tt_idx = tt_idx_i; 204 if tt_idx < 0 205 then parameters_ptr = trace_catch_$parameters_ptr; 206 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 207 return (parameters.high); 208 209 210 set_high: 211 entry (number_i); 212 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 213 parameters.high = number_i; 214 return; 215 216 217 last: 218 entry (tt_idx_i) returns (fixed bin (34)); 219 tt_idx = tt_idx_i; 220 if tt_idx < 0 221 then parameters_ptr = trace_catch_$parameters_ptr; 222 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 223 return (parameters.last); 224 225 226 set_last: 227 entry (number_i); 228 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 229 parameters.last = number_i; 230 return; 231 232 233 low: 234 entry (tt_idx_i) returns (fixed bin (34)); 235 tt_idx = tt_idx_i; 236 if tt_idx < 0 237 then parameters_ptr = trace_catch_$parameters_ptr; 238 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 239 return (parameters.low); 240 241 242 set_low: 243 entry (number_i); 244 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 245 parameters.low = number_i; 246 return; 247 248 249 new_high: 250 entry (tt_idx_i) returns (bit aligned); 251 tt_idx = tt_idx_i; 252 if tt_idx < 0 253 then parameters_ptr = trace_catch_$parameters_ptr; 254 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 255 return (parameters.new_high); 256 257 258 set_new_high: 259 entry (onoff_i); 260 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 261 parameters.new_high = onoff_i; 262 return; 263 264 265 parms_string: 266 entry (tt_idx_i, just_differences_i) returns (char (256) var); 267 tt_idx = tt_idx_i; 268 if tt_idx < 0 269 then parameters_ptr = trace_catch_$parameters_ptr; 270 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 271 return (MAKE_PARAMETERS_STRING (parameters_ptr, trace_catch_$parameters_ptr, just_differences_i)); 272 273 274 stop: 275 entry (tt_idx_i) returns (bit (2) aligned); 276 tt_idx = tt_idx_i; 277 if tt_idx < 0 278 then parameters_ptr = trace_catch_$parameters_ptr; 279 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 280 return (parameters.stop); 281 282 283 set_stop: 284 entry (inout_i); 285 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 286 parameters.stop = inout_i; 287 return; 288 289 290 stop_every: 291 entry (tt_idx_i) returns (fixed bin (34)); 292 tt_idx = tt_idx_i; 293 if tt_idx < 0 294 then parameters_ptr = trace_catch_$parameters_ptr; 295 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 296 return (parameters.stop_every); 297 298 299 set_stop_every: 300 entry (number_i); 301 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 302 parameters.stop_every = number_i; 303 return; 304 305 306 stop_low: 307 entry (tt_idx_i) returns (fixed bin (34)); 308 tt_idx = tt_idx_i; 309 if tt_idx < 0 310 then parameters_ptr = trace_catch_$parameters_ptr; 311 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 312 return (parameters.stop_low); 313 314 315 set_stop_low: 316 entry (number_i); 317 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 318 parameters.stop_low = number_i; 319 return; 320 321 322 trace: 323 entry (tt_idx_i) returns (bit (2) aligned); 324 tt_idx = tt_idx_i; 325 if tt_idx < 0 326 then parameters_ptr = trace_catch_$parameters_ptr; 327 else parameters_ptr = trace_tables_$parameters_ptr (tt_idx); 328 return (parameters.trace); 329 330 331 set_trace: 332 entry (inout_i); 333 parameters_ptr = MODIFIED_PARAMETERS_PTR (); 334 parameters.trace = inout_i; 335 return; 336 337 /* GLOBAL PARAMETERS */ 338 339 alm: 340 entry () returns (bit aligned); 341 return (trace_catch_$global_parameters.alm); 342 343 344 set_alm: 345 entry (onoff_i); 346 if trace_$global_parameters.version = "" 347 then trace_$global_parameters = trace_catch_$global_parameters; 348 trace_$global_parameters.alm = onoff_i; 349 return; 350 351 352 automatic: 353 entry () returns (bit aligned); 354 return (trace_catch_$global_parameters.automatic); 355 356 357 set_automatic: 358 entry (onoff_i); 359 if trace_$global_parameters.version = "" 360 then trace_$global_parameters = trace_catch_$global_parameters; 361 trace_$global_parameters.automatic = onoff_i; 362 return; 363 364 365 buffer: 366 entry () returns (bit aligned); 367 return (trace_catch_$global_parameters.buffer_ptr ^= null ()); 368 369 370 buffer_ptr: 371 entry () returns (ptr unal); 372 return (trace_catch_$global_parameters.buffer_ptr); 373 374 375 set_buffer: 376 entry (onoff_i); 377 if trace_$global_parameters.version = "" 378 then trace_$global_parameters = trace_catch_$global_parameters; 379 if onoff_i = "1"b 380 then call trace_print_$allocate_buffer (trace_$global_parameters.buffer_ptr); 381 else trace_$global_parameters.buffer_ptr = null (); 382 return; 383 384 385 calibrate: 386 entry () returns (bit aligned); 387 return (trace_catch_$global_parameters.calibrate); 388 389 390 set_calibrate: 391 entry (onoff_i); 392 if trace_$global_parameters.version = "" 393 then trace_$global_parameters = trace_catch_$global_parameters; 394 trace_$global_parameters.calibrate = onoff_i; 395 return; 396 397 398 compensation: 399 entry (compensation_idx_i) returns (1 aligned like compensation); 400 compensation_idx = compensation_idx_i; 401 if compensation_idx < lbound (trace_catch_$global_parameters.comps, 1) 402 | compensation_idx > hbound (trace_catch_$global_parameters.comps, 1) 403 then signal error; 404 return (trace_catch_$global_parameters.comps (compensation_idx)); 405 406 407 set_compensation: 408 entry (compensation_idx_i, compensation_i); 409 compensation_idx = compensation_idx_i; 410 if trace_$global_parameters.version = "" 411 then trace_$global_parameters = trace_catch_$global_parameters; 412 if compensation_idx < lbound (trace_$global_parameters.comps, 1) 413 | compensation_idx > hbound (trace_$global_parameters.comps, 1) 414 then signal error; 415 trace_$global_parameters.comps (compensation_idx) = compensation_i; 416 return; 417 418 419 enabled: 420 entry () returns (bit aligned); 421 return (trace_catch_$global_parameters.enabled); 422 423 424 set_enabled: 425 entry (onoff_i); 426 if trace_$global_parameters.version = "" 427 then trace_$global_parameters = trace_catch_$global_parameters; 428 trace_$global_parameters.enabled = onoff_i; 429 return; 430 431 432 global_parms_changed: 433 entry () returns (bit aligned); 434 if trace_$global_parameters.version = GLOBAL_PARAMETERS_VERSION_3 435 then return ("1"b); 436 else return ("0"b); 437 438 439 global_parms_string: 440 entry () returns (char (256) var); 441 return (MAKE_GLOBAL_PARAMETERS_STRING (trace_catch_$global_parameters)); 442 443 444 long: 445 entry () returns (bit aligned); 446 return (trace_catch_$global_parameters.long); 447 448 449 set_long: 450 entry (onoff_i); 451 if trace_$global_parameters.version = "" 452 then trace_$global_parameters = trace_catch_$global_parameters; 453 trace_$global_parameters.long = onoff_i; 454 return; 455 456 457 loud: 458 entry () returns (bit aligned); 459 return (trace_catch_$global_parameters.loud); 460 461 462 set_loud: 463 entry (onoff_i); 464 if trace_$global_parameters.version = "" 465 then trace_$global_parameters = trace_catch_$global_parameters; 466 trace_$global_parameters.loud = onoff_i; 467 return; 468 469 470 meter: 471 entry () returns (bit aligned); 472 return (trace_catch_$global_parameters.meter); 473 474 475 set_meter: 476 entry (onoff_i); 477 if trace_$global_parameters.version = "" 478 then trace_$global_parameters = trace_catch_$global_parameters; 479 trace_$global_parameters.meter = onoff_i; 480 return; 481 482 483 output_switch: 484 entry () returns (1 like output_switch); 485 return (trace_catch_$global_parameters.osw); 486 487 488 set_output_switch: 489 entry (output_switch_i); 490 if trace_$global_parameters.version = "" 491 then trace_$global_parameters = trace_catch_$global_parameters; 492 trace_$global_parameters.osw = output_switch_i; 493 if trace_$global_parameters.osw.iocb_ptr = null () 494 then trace_$global_parameters.osw = trace_$cv_stream_name_to_osw (INITIAL_GLOBAL_PARAMETERS.osw.stream_name); 495 return; 496 497 498 signals: 499 entry () returns (bit aligned); 500 return (trace_catch_$global_parameters.signals); 501 502 503 set_signals: 504 entry (onoff_i); 505 if trace_$global_parameters.version = "" 506 then trace_$global_parameters = trace_catch_$global_parameters; 507 trace_$global_parameters.signals = onoff_i; 508 return; 509 510 511 stop_proc: 512 entry () returns (1 like stop_proc aligned); 513 return (trace_catch_$global_parameters.spp); 514 515 516 set_stop_proc: 517 entry (stop_proc_i); 518 if trace_$global_parameters.version = "" 519 then trace_$global_parameters = trace_catch_$global_parameters; 520 trace_$global_parameters.spp = stop_proc_i; 521 if codeptr (trace_$global_parameters.spp.entry_value) = null () 522 then trace_$global_parameters.spp = 523 trace_$cv_entry_name_to_spp (INITIAL_GLOBAL_PARAMETERS.spp.entry_name, codeptr (trace_parameters_)); 524 return; 525 526 527 trace_routine: 528 entry () returns (entry); 529 return (trace_catch_$global_parameters.trace_routine); 530 531 532 set_trace_routine: 533 entry (entrypoint_i); 534 if trace_$global_parameters.version = "" 535 then trace_$global_parameters = trace_catch_$global_parameters; 536 trace_$global_parameters.trace_routine = entrypoint_i; 537 return; 538 539 540 stop_routine: 541 entry () returns (entry); 542 return (trace_catch_$global_parameters.stop_routine); 543 544 545 set_stop_routine: 546 entry (entrypoint_i); 547 if trace_$global_parameters.version = "" 548 then trace_$global_parameters = trace_catch_$global_parameters; 549 trace_$global_parameters.stop_routine = entrypoint_i; 550 return; 551 552 /* SUBROUTINES */ 553 554 555 ASSIGN_PTR: 556 proc (destination_ptr_io, source_ptr_i); 557 dcl (destination_ptr_io, source_ptr_i) 558 ptr unal parm; 559 dcl goner_ptr ptr unal; 560 561 if destination_ptr_io = source_ptr_i 562 then return; 563 goner_ptr = destination_ptr_io; 564 if source_ptr_i ^= null () 565 then source_ptr_i -> allocated_string.reference_count = source_ptr_i -> allocated_string.reference_count + 1; 566 destination_ptr_io = source_ptr_i; 567 call FREE_OBJECT (goner_ptr); 568 end ASSIGN_PTR; 569 570 571 MODIFIED_PARAMETERS_PTR: 572 proc () returns (ptr unal); 573 dcl p ptr unal; 574 if trace_$parameters_ptr = trace_catch_$parameters_ptr 575 then do; 576 allocate parameters in (trace_storage) set (p); 577 p -> parameters = trace_catch_$parameters_ptr -> parameters; 578 p -> parameters.reference_count = 0; 579 p -> parameters.call_ptr = null (); 580 call ASSIGN_PTR (p -> parameters.call_ptr, trace_catch_$parameters_ptr -> parameters.call_ptr); 581 call ASSIGN_PTR (trace_$parameters_ptr, p); 582 end; 583 return (trace_$parameters_ptr); 584 end MODIFIED_PARAMETERS_PTR; 585 586 587 FREE_OBJECT: 588 proc (object_ptr_io); 589 dcl object_ptr_io ptr unal parm; 590 dcl object_ptr ptr unal; 591 592 object_ptr = object_ptr_io; 593 if object_ptr = null () 594 then return; 595 object_ptr_io = null (); 596 object_ptr -> allocated_string.reference_count = object_ptr -> allocated_string.reference_count - 1; 597 if object_ptr -> allocated_string.reference_count > 0 598 then return; 599 if object_ptr -> allocated_string.reference_count < 0 600 then signal error; 601 if object_ptr -> allocated_string.version = ALLOCATED_STRING_VERSION_3 602 then ; 603 else if object_ptr -> allocated_string.version = PARAMETERS_VERSION_3 604 then call FREE_OBJECT (object_ptr -> parameters.call_ptr); 605 else signal error; 606 free object_ptr -> allocated_string; 607 return; 608 end FREE_OBJECT; 609 610 611 OBJECTS_ARE_EQUAL: 612 proc (A_ptr_io, B_ptr_io) returns (bit aligned); 613 dcl (A_ptr_io, B_ptr_io) ptr unal parm; 614 615 if A_ptr_io = B_ptr_io 616 then return ("1"b); 617 if A_ptr_io = null () | B_ptr_io = null () 618 then return ("0"b); 619 if A_ptr_io -> allocated_string.version ^= B_ptr_io -> allocated_string.version 620 then signal error; 621 if A_ptr_io -> allocated_string.version = ALLOCATED_STRING_VERSION_3 622 then do; 623 if A_ptr_io -> allocated_string.value_length ^= B_ptr_io -> allocated_string.value_length 624 then return ("0"b); 625 if A_ptr_io -> allocated_string.value ^= B_ptr_io -> allocated_string.value 626 then return ("0"b); 627 end; 628 else if A_ptr_io -> allocated_string.version = PARAMETERS_VERSION_3 629 then do; 630 if ^OBJECTS_ARE_EQUAL (A_ptr_io -> parameters.call_ptr, B_ptr_io -> parameters.call_ptr) 631 then return ("0"b); 632 if unspec (A_ptr_io -> parameters) ^= unspec (B_ptr_io -> parameters) 633 then return ("0"b); 634 end; 635 else signal error; /* Combine them. */ 636 if A_ptr_io -> allocated_string.reference_count <= B_ptr_io -> allocated_string.reference_count 637 then call ASSIGN_PTR (A_ptr_io, B_ptr_io); 638 else call ASSIGN_PTR (B_ptr_io, A_ptr_io); 639 return ("1"b); 640 end OBJECTS_ARE_EQUAL; 641 642 MAKE_PARAMETERS_STRING: 643 proc (A_parms_ptr_i, B_parms_ptr_i, just_differences_i) returns (char (256) var); 644 if A_parms_ptr_i = null () 645 then return ("no parms"); 646 if A_parms_i.version ^= PARAMETERS_VERSION_3 | B_parms_i.version ^= PARAMETERS_VERSION_3 647 then signal error; 648 just_differences = just_differences_i; 649 many_parm_string = ""; 650 651 call APPEND_INOUT_PARAMETER (A_parms_i.trace, B_parms_i.trace, "trace"); 652 call APPEND_N_PARAMETER (A_parms_i.every, B_parms_i.every, "every"); 653 call APPEND_N_PARAMETER (A_parms_i.first, B_parms_i.first, "first"); 654 call APPEND_N_PARAMETER (A_parms_i.last, B_parms_i.last, "last"); 655 call APPEND_N_PARAMETER (A_parms_i.low, B_parms_i.low, "low"); 656 call APPEND_N_PARAMETER (A_parms_i.high, B_parms_i.high, "high"); 657 call APPEND_ONOFF_PARAMETER (A_parms_i.new_high, B_parms_i.new_high, "new_high"); 658 659 call APPEND_INOUT_PARAMETER (A_parms_i.stop, B_parms_i.stop, "stop"); 660 call APPEND_N_PARAMETER (A_parms_i.stop_every, B_parms_i.stop_every, "stop_every"); 661 call APPEND_N_PARAMETER (A_parms_i.stop_low, B_parms_i.stop_low, "stop_low"); 662 663 call APPEND_INOUT_PARAMETER (A_parms_i.arguments, B_parms_i.arguments, "arguments"); 664 if A_parms_i.call_ptr = null () 665 then A_as_ptr = addr (NULL_ALLOCATED_STRING); 666 else A_as_ptr = A_parms_i.call_ptr; 667 if B_parms_i.call_ptr = null () 668 then B_as_ptr = addr (NULL_ALLOCATED_STRING); 669 else B_as_ptr = B_parms_i.call_ptr; 670 call APPEND_CHAR_PARAMETER ((A_as_ptr -> allocated_string.value), (B_as_ptr -> allocated_string.value), "call"); 671 672 return (many_parm_string); 673 674 675 MAKE_GLOBAL_PARAMETERS_STRING: 676 entry (global_parms_i) returns (char (256) var); 677 if global_parms_i.version ^= GLOBAL_PARAMETERS_VERSION_3 678 then signal error; 679 many_parm_string = ""; 680 just_differences = "0"b; 681 call APPEND_ONOFF_PARAMETER (global_parms_i.alm, "0"b, "alm"); 682 call APPEND_ONOFF_PARAMETER (global_parms_i.automatic, "0"b, "automatic"); 683 call APPEND_ONOFF_PARAMETER (global_parms_i.buffer_ptr ^= null (), "0"b, "buffer"); 684 call APPEND_ONOFF_PARAMETER (global_parms_i.meter, "0"b, "meter"); 685 call APPEND_ONOFF_PARAMETER (global_parms_i.signals, "0"b, "signals"); 686 call APPEND_ONOFF_ALT_PARAMETER (global_parms_i.enabled, "0"b, "disable", "enable"); 687 call APPEND_ONOFF_ALT_PARAMETER (global_parms_i.long, "0"b, "brief", "long"); 688 call APPEND_ONOFF_ALT_PARAMETER (global_parms_i.loud, "0"b, "quiet", "loud"); 689 if global_parms_i.osw.file_path = "" 690 then call APPEND_CHAR_PARAMETER ((global_parms_i.osw.stream_name), "", "output_switch"); 691 else call APPEND_CHAR_PARAMETER (global_parms_i.osw.file_path, "", "output_file"); 692 call APPEND_CHAR_PARAMETER (global_parms_i.spp.entry_name, "", "stop_proc"); 693 694 return (many_parm_string); 695 696 /* declarations */ 697 dcl A_parms_ptr_i ptr unal parm; 698 dcl 1 A_parms_i like parameters aligned based (A_parms_ptr_i); 699 dcl B_parms_ptr_i ptr unal parm; 700 dcl 1 B_parms_i like parameters aligned based (B_parms_ptr_i); 701 dcl 1 global_parms_i like trace_catch_$global_parameters aligned parm; 702 dcl just_differences_i bit aligned parm; 703 dcl A_as_ptr ptr; 704 dcl B_as_ptr ptr; 705 dcl just_differences bit aligned; 706 dcl many_parm_string char (256) var; 707 708 APPEND_N_PARAMETER: 709 proc (A_n_i, B_n_i, control_arg_name_i); 710 dcl A_n_i fixed bin (34) parm; 711 dcl B_n_i fixed bin (34) parm; 712 if just_differences & A_n_i = B_n_i 713 then return; 714 if A_n_i = 0 715 then one_parm_string = "-no_" || control_arg_name_i; 716 else call ioa_$rsnnl ("-^a ^d", one_parm_string, one_parm_length, control_arg_name_i, A_n_i); 717 go to APPEND_STRING; 718 719 APPEND_ONOFF_PARAMETER: 720 entry (A_onoff_i, B_onoff_i, control_arg_name_i); 721 dcl A_onoff_i bit aligned parm; 722 dcl B_onoff_i bit aligned parm; 723 if just_differences & A_onoff_i = B_onoff_i 724 then return; 725 if A_onoff_i = "0"b 726 then one_parm_string = "-" || control_arg_name_i || " off"; 727 else one_parm_string = "-" || control_arg_name_i || " on"; 728 go to APPEND_STRING; 729 730 APPEND_ONOFF_ALT_PARAMETER: 731 entry (A_onoff_i, B_onoff_i, control_arg_name_i, alt_control_arg_name_i); 732 if just_differences & A_onoff_i = B_onoff_i 733 then return; 734 if A_onoff_i = "0"b 735 then one_parm_string = "-" || control_arg_name_i; 736 else one_parm_string = "-" || alt_control_arg_name_i; 737 go to APPEND_STRING; 738 739 APPEND_INOUT_PARAMETER: 740 entry (A_inout_i, B_inout_i, control_arg_name_i); 741 dcl A_inout_i bit (2) aligned parm; 742 dcl B_inout_i bit (2) aligned parm; 743 if just_differences & A_inout_i = B_inout_i 744 then return; 745 call ioa_$rsnnl ("-^a ^a", one_parm_string, one_parm_length, control_arg_name_i, 746 trace_$cv_bits_to_inout (A_inout_i)); 747 go to APPEND_STRING; 748 749 APPEND_CHAR_PARAMETER: 750 entry (A_char256var_i, B_char256var_i, control_arg_name_i); 751 dcl A_char256var_i char (256) var parm; 752 dcl B_char256var_i char (256) var parm; 753 if just_differences & A_char256var_i = B_char256var_i 754 then return; 755 if length (A_char256var_i) = 0 756 then one_parm_string = "-no_" || control_arg_name_i; 757 else if search (A_char256var_i, " ") = 0 758 then call ioa_$rsnnl ("-^a ^a", one_parm_string, one_parm_length, control_arg_name_i, A_char256var_i); 759 else call ioa_$rsnnl ("-^a ""^a""", one_parm_string, one_parm_length, control_arg_name_i, A_char256var_i); 760 go to APPEND_STRING; 761 762 APPEND_STRING: 763 if length (many_parm_string) > 0 764 then 765 (nostrz): 766 many_parm_string = many_parm_string || " "; 767 (nostrz): 768 many_parm_string = many_parm_string || one_parm_string; 769 return; 770 771 dcl control_arg_name_i char (16) var parm; 772 dcl alt_control_arg_name_i char (16) var parm; 773 dcl one_parm_length fixed bin (21); 774 dcl one_parm_string char (256) var; 775 end APPEND_N_PARAMETER; 776 end MAKE_PARAMETERS_STRING; 777 778 /* START OF DECLARATIONS */ 779 /* format: ^insnl,^delnl */ 780 781 /* Parameters */ 782 783 dcl char256var_i char (256) var parm; 784 dcl compensation_idx_i fixed bin parm; 785 dcl entrypoint_i entry parm; 786 dcl inout_i bit (2) aligned parm; 787 dcl just_differences_i bit aligned parm; 788 dcl number_i fixed bin (34) parm; 789 dcl onoff_i bit aligned parm; 790 dcl parms_ptr_io ptr unal parm; 791 dcl transaction_id_i fixed bin (71) parm; 792 dcl tt_idx_i fixed bin parm; 793 dcl 1 compensation_i aligned like compensation; 794 dcl 1 output_switch_i like output_switch aligned parm; 795 dcl 1 stop_proc_i like stop_proc aligned parm; 796 797 798 /* Automatic */ 799 800 dcl compensation_idx fixed bin; 801 dcl tt_idx fixed bin; 802 803 804 /* Static */ 805 806 dcl ZERO fixed bin (35) static options (constant) init (0); 807 808 dcl 1 NULL_ALLOCATED_STRING aligned static options (constant), 809 2 version char (8) init ("TraceAS3"), 810 2 reference_count fixed bin init (0), 811 2 value_length fixed bin init (0), 812 2 value char (0) unal; 813 814 dcl 1 INITIAL_GLOBAL_PARAMETERS aligned static options (constant), 815 2 version char (8) init ("TraceGP3"), 816 2 alm bit init ("0"b), /* off */ 817 2 automatic bit init ("0"b), /* off */ 818 2 meter bit init ("0"b), /* off */ 819 2 signals bit init ("0"b), /* off */ 820 2 enabled bit init ("1"b), /* on */ 821 2 long bit init ("0"b), /* off */ 822 2 osw, 823 3 iocb_ptr ptr, 824 3 stream_name char (32) var init ("user_output"), 825 3 file_path char (256) var init (""), 826 2 spp, 827 3 entry_value entry (), 828 3 entry_name char (256) var init ("cu_$cl"), 829 2 trace_routine entry, 830 2 stop_routine entry, 831 2 loud bit init ("1"b), /* on */ 832 2 calibrate bit init ("0"b), /* off */ 833 2 buffer_ptr ptr unal init (null ()), 834 2 not_used fixed bin init (0), 835 2 comps (4), 836 3 real_time fixed bin (53) init (0, 0, 0, 0), 837 3 vcpu_time fixed bin (53) init (0, 0, 0, 0); 838 839 dcl 1 INITIAL_PARAMETERS aligned static options (constant), 840 2 version char (8) init ("TraceTP3"), 841 2 reference_count fixed bin init (0), 842 2 every fixed bin (34) init (0), 843 2 first fixed bin (34) init (0), 844 2 last fixed bin (34) init (0), 845 2 low fixed bin (34) init (0), 846 2 high fixed bin (34) init (0), 847 2 new_high bit init ("0"b), 848 2 arguments bit (2) init ("00"b), 849 2 not_used1 bit init ("0"b), 850 2 stop_every fixed bin (34) init (0), 851 2 stop_low fixed bin (34) init (0), 852 2 stop bit (2) init ("00"b), 853 2 trace bit (2) init ("11"b), 854 2 call_ptr ptr unal init (null ()); 855 856 857 /* Conditions */ 858 859 dcl error condition; 860 861 862 /* Based */ 863 864 dcl trace_storage area based (trace_catch_$trace_storage_ptr); 865 866 867 dcl PARAMETERS_VERSION_3 char (8) aligned static options (constant) init ("TraceTP3"); 868 dcl parameters_ptr ptr unal; 869 dcl 1 parameters aligned based (parameters_ptr), 870 2 version char (8), 871 2 reference_count fixed bin, 872 2 every fixed bin (34), 873 2 first fixed bin (34), 874 2 last fixed bin (34), 875 2 low fixed bin (34), 876 2 high fixed bin (34), 877 2 new_high bit, 878 2 arguments bit (2), 879 2 not_used1 bit, 880 2 stop_every fixed bin (34), 881 2 stop_low fixed bin (34), 882 2 stop bit (2), 883 2 trace bit (2), 884 2 call_ptr ptr unal; 885 886 887 dcl ALLOCATED_STRING_VERSION_3 char (8) aligned static options (constant) init ("TraceAS3"); 888 dcl allocated_string_value_length fixed bin; 889 dcl allocated_string_ptr ptr unal; 890 dcl 1 allocated_string aligned based (allocated_string_ptr), 891 2 version char (8), 892 2 reference_count fixed bin, 893 2 value_length fixed bin, 894 2 value char (allocated_string_value_length refer (allocated_string.value_length)) unal; 895 896 897 /* External Variables */ 898 899 dcl trace_$parameters_ptr ptr unal ext; 900 dcl 1 trace_$global_parameters like trace_catch_$global_parameters aligned ext; 901 902 dcl trace_catch_$trace_storage_ptr ptr ext; 903 dcl trace_catch_$parameters_ptr ptr unal ext; 904 905 906 dcl GLOBAL_PARAMETERS_VERSION_3 char (8) aligned static options (constant) init ("TraceGP3"); 907 dcl 1 trace_catch_$global_parameters aligned ext, 908 2 version char (8), 909 2 alm bit, 910 2 automatic bit, 911 2 meter bit, 912 2 signals bit, 913 2 enabled bit, 914 2 long bit, 915 2 osw like output_switch, 916 2 spp like stop_proc, 917 2 trace_routine entry, 918 2 stop_routine entry, 919 2 loud bit, 920 2 calibrate bit, 921 2 buffer_ptr ptr unal, 922 2 not_used fixed bin, 923 2 comps (4) like compensation; 924 925 926 /* External Entries */ 927 928 dcl ioa_$rsnnl entry options (variable); 929 dcl trace_calibrate_ entry (char (8) aligned, 1 like compensation aligned, 1 like compensation aligned); 930 dcl trace_print_$copy_osw entry (1 like output_switch aligned, 1 like output_switch aligned); 931 dcl trace_tables_$parameters_ptr entry (fixed bin) returns (ptr); 932 dcl trace_print_$allocate_buffer entry (ptr unal); 933 dcl trace_print_$copy_buffer_ptr entry (ptr unal, ptr unal); 934 dcl trace_print_$stop entry (fixed bin, fixed bin (53)); 935 dcl trace_print_$trace entry (fixed bin, fixed bin (53)); 936 937 938 /* format: insnl,delnl */ 939 /* END OF DECLARATIONS */ 940 941 /* START OF INCLUDE FILES */ 942 943 1 1 /* START OF: trace_interface.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 /* Written: May 1984 by Jeffrey D. Ives. */ 1 3 /* format: style2,^inddcls,^indnoniterdo,^inditerdo,dclind5,idind35 */ 1 4 1 5 /* IDENTIFICATION */ 1 6 1 7 dcl trace_$me entry () returns (char (32)); 1 8 dcl trace_$version entry () returns (char (32)); 1 9 1 10 /* TRANSACTIONS */ 1 11 1 12 dcl trace_$transaction_begin entry (fixed bin (71)) returns (bit aligned); 1 13 dcl trace_$transaction_begin_force entry (fixed bin (71)); 1 14 dcl trace_$transaction_end entry (fixed bin (71)) returns (bit aligned); 1 15 1 16 /* ACTIONS */ 1 17 1 18 dcl trace_$update_default_parms entry () returns (bit aligned); 1 19 dcl trace_$update_global_parms entry () returns (bit aligned); 1 20 dcl trace_$add_specified_eps entry (fixed bin, fixed bin); 1 21 dcl trace_$add_specified_locs entry (fixed bin, fixed bin); 1 22 dcl trace_$remove_specified_eps entry (fixed bin); 1 23 dcl trace_$remove_specified_locs entry (fixed bin); 1 24 dcl trace_$turn_on_specified_eps entry (fixed bin); 1 25 dcl trace_$turn_off_specified_eps entry (fixed bin); 1 26 1 27 /* CONVERSION */ 1 28 1 29 dcl trace_$cv_inout_to_bits entry (char (8) aligned) returns (bit (2) aligned); 1 30 dcl trace_$cv_bits_to_inout entry (bit (2) aligned) returns (char (8) aligned); 1 31 dcl trace_$cv_n_to_number entry (char (16)) returns (fixed bin (34)); 1 32 dcl trace_$cv_onoff_to_bit entry (char (8) aligned) returns (bit aligned); 1 33 dcl trace_$cv_bit_to_onoff entry (bit aligned) returns (char (8) aligned); 1 34 dcl trace_$cv_entry_name_to_spp entry (char (256) var, ptr) returns (1 like stop_proc aligned); 1 35 dcl trace_$cv_file_path_to_osw entry (char (256) var, ptr) returns (1 like output_switch aligned); 1 36 dcl trace_$cv_stream_name_to_osw entry (char (32) var) returns (1 like output_switch aligned); 1 37 1 38 /* METERS */ 1 39 1 40 dcl trace_$entrypoint_counts entry (fixed bin) returns (1 aligned like counts); 1 41 dcl trace_$entrypoint_global_meters entry (fixed bin) returns (1 like meters aligned); 1 42 dcl trace_$entrypoint_local_meters entry (fixed bin) returns (1 like meters aligned); 1 43 dcl trace_$metered entry () returns (1 like meters aligned); 1 44 dcl trace_$removed entry () returns (1 like meters aligned); 1 45 dcl trace_$reset_meters entry (); 1 46 1 47 /* ENTRYPOINTS */ 1 48 1 49 dcl trace_$entrypoint_index entry (ptr unal) returns (fixed bin); 1 50 dcl trace_$entrypoint_name entry (fixed bin) returns (char (65) var); 1 51 dcl trace_$entrypoint_ptr entry (fixed bin) returns (ptr); 1 52 dcl trace_$entrypoint_seg_path entry (fixed bin) returns (char (256) var); 1 53 dcl trace_$entrypoint_status entry (fixed bin) returns (char (32) var); 1 54 dcl trace_$function entry (fixed bin) returns (bit aligned); 1 55 dcl trace_$num_entrypoints entry () returns (fixed bin); 1 56 dcl trace_$num_specified_entrypoints entry () returns (fixed bin); 1 57 dcl trace_$specified_entrypoint_index entry (fixed bin) returns (fixed bin); 1 58 dcl trace_$specify_entrypoints entry (char (256) var, ptr); 1 59 dcl trace_$translator_id entry (fixed bin) returns (fixed bin); 1 60 1 61 /* LOCATIONS */ 1 62 1 63 dcl trace_$location_ptr entry (fixed bin) returns (ptr); 1 64 dcl trace_$location_seg_path entry (fixed bin) returns (char (256) var); 1 65 dcl trace_$location_values entry (fixed bin) returns (1 aligned like watch_values); 1 66 dcl trace_$num_locations entry () returns (fixed bin); 1 67 dcl trace_$num_specified_locations entry () returns (fixed bin); 1 68 dcl trace_$specified_location_index entry (fixed bin) returns (fixed bin); 1 69 dcl trace_$specify_locations entry (char (256) var); 1 70 dcl trace_$specify_changed_locations entry (); 1 71 1 72 /* EVENT BUFFER */ 1 73 1 74 dcl trace_$buffer_counts entry (fixed bin (34), fixed bin (34)); 1 75 dcl trace_$buffer_event entry (fixed bin (34), fixed bin, char (2), ptr unal, 1 like counts aligned, 1 like meters aligned); 1 76 dcl trace_$buffer_event_header entry (fixed bin (34)) returns (char (256) var); 1 77 dcl trace_$buffer_event_string entry (fixed bin (34)) returns (char (256) var); 1 78 dcl trace_$buffer_ptr entry () returns (ptr unal); 1 79 1 80 /* TRACE PARAMETERS */ 1 81 1 82 dcl trace_$arguments entry (fixed bin) returns (bit (2) aligned); 1 83 dcl trace_$set_arguments entry (bit (2) aligned); 1 84 dcl trace_$call entry (fixed bin) returns (char (256) var); 1 85 dcl trace_$set_call entry (char (256) var); 1 86 dcl trace_$every entry (fixed bin) returns (fixed bin (34)); 1 87 dcl trace_$set_every entry (fixed bin (34)); 1 88 dcl trace_$first entry (fixed bin) returns (fixed bin (34)); 1 89 dcl trace_$set_first entry (fixed bin (34)); 1 90 dcl trace_$high entry (fixed bin) returns (fixed bin (34)); 1 91 dcl trace_$set_high entry (fixed bin (34)); 1 92 dcl trace_$last entry (fixed bin) returns (fixed bin (34)); 1 93 dcl trace_$set_last entry (fixed bin (34)); 1 94 dcl trace_$low entry (fixed bin) returns (fixed bin (34)); 1 95 dcl trace_$set_low entry (fixed bin (34)); 1 96 dcl trace_$new_high entry (fixed bin) returns (bit aligned); 1 97 dcl trace_$set_new_high entry (bit aligned); 1 98 dcl trace_$parms_string entry (fixed bin, bit aligned) returns (char (256) var); 1 99 dcl trace_$parms_specified entry () returns (bit aligned); 1 100 dcl trace_$stop entry (fixed bin) returns (bit (2) aligned); 1 101 dcl trace_$set_stop entry (bit (2) aligned); 1 102 dcl trace_$stop_every entry (fixed bin) returns (fixed bin (34)); 1 103 dcl trace_$set_stop_every entry (fixed bin (34)); 1 104 dcl trace_$stop_low entry (fixed bin) returns (fixed bin (34)); 1 105 dcl trace_$set_stop_low entry (fixed bin (34)); 1 106 dcl trace_$trace entry (fixed bin) returns (bit (2) aligned); 1 107 dcl trace_$set_trace entry (bit (2) aligned); 1 108 1 109 /* GLOBAL PARAMETERS */ 1 110 1 111 dcl trace_$alm entry () returns (bit aligned); 1 112 dcl trace_$set_alm entry (bit aligned); 1 113 dcl trace_$automatic entry () returns (bit aligned); 1 114 dcl trace_$set_automatic entry (bit aligned); 1 115 dcl trace_$buffer entry () returns (bit aligned); 1 116 dcl trace_$set_buffer entry (bit aligned); 1 117 dcl trace_$calibrate entry () returns (bit aligned); 1 118 dcl trace_$set_calibrate entry (bit aligned); 1 119 dcl trace_$compensation entry (fixed bin) returns (1 aligned like compensation); 1 120 dcl trace_$set_compensation entry (fixed bin, 1 aligned like compensation); 1 121 dcl trace_$enabled entry () returns (bit aligned); 1 122 dcl trace_$set_enabled entry (bit aligned); 1 123 dcl trace_$global_parms_string entry () returns (char (256) var); 1 124 dcl trace_$long entry () returns (bit aligned); 1 125 dcl trace_$set_long entry (bit aligned); 1 126 dcl trace_$meter entry () returns (bit aligned); 1 127 dcl trace_$set_meter entry (bit aligned); 1 128 dcl trace_$output_switch entry () returns (1 like output_switch aligned); 1 129 dcl trace_$set_output_switch entry (1 like output_switch aligned); 1 130 dcl trace_$signals entry () returns (bit aligned); 1 131 dcl trace_$set_signals entry (bit aligned); 1 132 dcl trace_$stop_proc entry () returns (1 like stop_proc); 1 133 dcl trace_$set_stop_proc entry (1 like stop_proc); 1 134 dcl trace_$stop_routine entry () returns (entry); 1 135 dcl trace_$set_stop_routine entry (entry); 1 136 dcl trace_$trace_routine entry () returns (entry); 1 137 dcl trace_$set_trace_routine entry (entry); 1 138 dcl trace_$loud entry () returns (bit aligned); 1 139 dcl trace_$set_loud entry (bit aligned); 1 140 1 141 /* MISCELLANEOUS */ 1 142 1 143 dcl trace_$in_trace entry () returns (bit aligned); 1 144 1 145 /* STRUCTURES AND CONSTANTS */ 1 146 1 147 dcl 1 watch_values aligned, 1 148 2 old bit (36), 1 149 2 new bit (36); 1 150 1 151 dcl 1 counts aligned, 1 152 2 calls fixed bin (53), /* total number of calls */ 1 153 2 level fixed bin (34), /* current recursion level */ 1 154 2 max_level fixed bin (34); /* max ever recursion level */ 1 155 1 156 1 157 dcl 1 meters aligned, 1 158 2 real_time fixed bin (53), /* The total amount of real time metered. */ 1 159 2 vcpu_time fixed bin (53), /* The total amount of virtual cpu time metered. */ 1 160 2 page_faults fixed bin (34); /* The total number of page faults metered. */ 1 161 1 162 dcl 1 output_switch aligned based, 1 163 2 iocb_ptr ptr, 1 164 2 stream_name char (32) var, 1 165 2 file_path char (256) var; 1 166 1 167 dcl 1 stop_proc aligned based, 1 168 2 entry_value entry (), 1 169 2 entry_name char (256) var; 1 170 1 171 dcl 1 compensation aligned, 1 172 2 real_time fixed bin (53), 1 173 2 vcpu_time fixed bin (53); 1 174 1 175 dcl ( 1 176 COMPENSATION_FROM_ENTRY_TO_ENTRY init (1), 1 177 COMPENSATION_FROM_ENTRY_TO_RETURN init (2), 1 178 COMPENSATION_FROM_RETURN_TO_ENTRY init (3), 1 179 COMPENSATION_FROM_RETURN_TO_RETURN init (4) 1 180 ) static options (constant); 1 181 1 182 /* END OF: trace_interface.incl.pl1 * * * * * * * * * * * * * * * * */ 944 945 946 end trace_parameters_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/23/84 1219.1 trace_parameters_.pl1 >special_ldd>online>6972-10/23/84>trace_parameters_.pl1 944 1 10/23/84 1226.2 trace_interface.incl.pl1 >special_ldd>online>6972-10/23/84>trace_interface.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. ALLOCATED_STRING_VERSION_3 000314 constant char(8) initial dcl 887 ref 162 601 621 A_as_ptr 000160 automatic pointer dcl 703 set ref 664* 666* 670 A_char256var_i parameter varying char(256) dcl 751 set ref 749 753 755 757 757* 759* A_inout_i parameter bit(2) dcl 741 set ref 739 743 745* 745* A_n_i parameter fixed bin(34,0) dcl 710 set ref 708 712 714 716* A_onoff_i parameter bit(1) dcl 721 ref 719 723 725 730 732 734 A_parms_i based structure level 1 dcl 698 A_parms_ptr_i parameter pointer unaligned dcl 697 ref 642 644 646 651 652 653 654 655 656 657 659 660 661 663 664 666 A_ptr_io parameter pointer unaligned dcl 613 set ref 611 615 617 619 621 623 625 628 630 632 636 636* 638* B_as_ptr 000162 automatic pointer dcl 704 set ref 667* 669* 670 B_char256var_i parameter varying char(256) dcl 752 ref 749 753 B_inout_i parameter bit(2) dcl 742 ref 739 743 B_n_i parameter fixed bin(34,0) dcl 711 ref 708 712 B_onoff_i parameter bit(1) dcl 722 ref 719 723 730 732 B_parms_i based structure level 1 dcl 700 B_parms_ptr_i parameter pointer unaligned dcl 699 ref 642 646 651 652 653 654 655 656 657 659 660 661 663 667 669 B_ptr_io parameter pointer unaligned dcl 613 set ref 611 615 617 619 623 625 630 632 636 636* 638* COMPENSATION_FROM_ENTRY_TO_ENTRY constant fixed bin(17,0) initial dcl 1-175 ref 41 COMPENSATION_FROM_ENTRY_TO_RETURN constant fixed bin(17,0) initial dcl 1-175 ref 44 COMPENSATION_FROM_RETURN_TO_ENTRY constant fixed bin(17,0) initial dcl 1-175 ref 44 COMPENSATION_FROM_RETURN_TO_RETURN constant fixed bin(17,0) initial dcl 1-175 ref 41 GLOBAL_PARAMETERS_VERSION_3 000312 constant char(8) initial dcl 906 ref 56 89 434 677 INITIAL_GLOBAL_PARAMETERS 000004 constant structure level 1 dcl 814 set ref 25 INITIAL_PARAMETERS 000272 constant structure level 1 dcl 839 ref 35 NULL_ALLOCATED_STRING 000000 constant structure level 1 dcl 808 set ref 664 667 PARAMETERS_VERSION_3 000316 constant char(8) initial dcl 867 ref 60 603 628 646 646 allocated_string based structure level 1 dcl 890 set ref 161 606 allocated_string_ptr 000112 automatic pointer unaligned dcl 889 set ref 149* 150 152 161* 162 163 164 165* allocated_string_value_length 000111 automatic fixed bin(17,0) dcl 888 set ref 158* 159 161 161 alm 2 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 681* alm 2 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 341 alm 2 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 348* alt_control_arg_name_i parameter varying char(16) dcl 772 ref 730 736 arguments 11 based bit(2) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 133 139* arguments 11 based bit(2) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 663* arguments 11 based bit(2) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 663* automatic 3 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 682* automatic 3 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 354 automatic 3 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 361* buffer_ptr 244 000020 external static pointer level 2 in structure "trace_catch_$global_parameters" packed unaligned dcl 907 in procedure "trace_parameters_" set ref 95 95* 367 372 buffer_ptr 244 000012 external static pointer level 2 in structure "trace_$global_parameters" packed unaligned dcl 900 in procedure "trace_parameters_" set ref 95 95* 379* 381* buffer_ptr 244 parameter pointer level 2 in structure "global_parms_i" packed unaligned dcl 701 in procedure "MAKE_PARAMETERS_STRING" ref 683 calibrate 243 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 39* 47* 387 calibrate 243 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 394* call_ptr 17 based pointer level 2 in structure "B_parms_i" packed unaligned dcl 700 in procedure "MAKE_PARAMETERS_STRING" ref 667 669 call_ptr 17 based pointer level 2 in structure "parameters" packed unaligned dcl 869 in procedure "trace_parameters_" set ref 149 165* 579* 580* 580* 603* 630* 630* call_ptr 17 based pointer level 2 in structure "A_parms_i" packed unaligned dcl 698 in procedure "MAKE_PARAMETERS_STRING" ref 664 666 char256var_i parameter varying char(256) dcl 783 ref 155 158 164 compensation 000130 automatic structure level 1 dcl 1-171 compensation_i parameter structure level 1 dcl 793 ref 407 415 compensation_idx 000100 automatic fixed bin(17,0) dcl 800 set ref 400* 401 401 404 404 404 404 404 409* 412 412 415 compensation_idx_i parameter fixed bin(17,0) dcl 784 ref 398 400 407 409 comps 246 000020 external static structure array level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 41* 41* 44* 44* 401 401 404 comps 246 000012 external static structure array level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 412 412 415* control_arg_name_i parameter varying char(16) dcl 771 set ref 708 714 716* 719 725 727 730 734 739 745* 749 755 757* 759* counts 000116 automatic structure level 1 dcl 1-151 destination_ptr_io parameter pointer unaligned dcl 557 set ref 555 561 563 566* enabled 6 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 686* enabled 6 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 421 enabled 6 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 428* entry_name 130 000004 constant varying char(256) initial level 3 in structure "INITIAL_GLOBAL_PARAMETERS" dcl 814 in procedure "trace_parameters_" set ref 27* 521* entry_name 130 parameter varying char(256) level 3 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 692* entry_value 124 000012 external static entry variable level 3 dcl 900 set ref 521 entrypoint_i parameter entry variable dcl 785 ref 532 536 545 549 error 000102 stack reference condition dcl 859 ref 16 56 58 60 62 89 159 401 412 599 605 619 635 646 677 every 3 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 652* every 3 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 652* every 3 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 175 181* file_path 23 parameter varying char(256) level 3 dcl 701 set ref 689 691* first 4 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 653* first 4 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 653* first 4 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 191 197* global_parms_i parameter structure level 1 dcl 701 set ref 675 goner_ptr 000100 automatic pointer unaligned dcl 559 set ref 563* 567* high 7 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 656* high 7 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 656* high 7 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 207 213* inout_i parameter bit(2) dcl 786 ref 136 139 283 286 331 334 ioa_$rsnnl 000022 constant entry external dcl 928 ref 716 745 757 759 iocb_ptr 10 000020 external static pointer level 3 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 93 iocb_ptr 10 000012 external static pointer level 3 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 93 493 just_differences 000164 automatic bit(1) dcl 705 set ref 648* 680* 712 723 732 743 753 just_differences_i parameter bit(1) dcl 787 in procedure "trace_parameters_" set ref 265 271* just_differences_i parameter bit(1) dcl 702 in procedure "MAKE_PARAMETERS_STRING" ref 642 648 last 5 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 223 229* last 5 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 654* last 5 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 654* long 7 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 687* long 7 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 446 long 7 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 453* loud 242 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 459 loud 242 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 466* loud 242 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 688* low 6 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 239 245* low 6 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 655* low 6 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 655* many_parm_string 000165 automatic varying char(256) dcl 706 set ref 649* 672 679* 694 762 762* 762 767* 767 meter 4 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 479* meter 4 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 472 meter 4 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 684* meters 000122 automatic structure level 1 dcl 1-157 new_high 10 based bit(1) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 657* new_high 10 based bit(1) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 657* new_high 10 based bit(1) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 255 261* number_i parameter fixed bin(34,0) dcl 788 ref 178 181 194 197 210 213 226 229 242 245 299 302 315 318 object_ptr 000100 automatic pointer unaligned dcl 590 set ref 592* 593 596 596 597 599 601 603 603 606 object_ptr_io parameter pointer unaligned dcl 589 set ref 587 592 595* one_parm_length 000304 automatic fixed bin(21,0) dcl 773 set ref 716* 745* 757* 759* one_parm_string 000305 automatic varying char(256) dcl 774 set ref 714* 716* 725* 727* 734* 736* 745* 755* 757* 759* 767 onoff_i parameter bit(1) dcl 789 ref 258 261 344 348 357 361 375 379 390 394 424 428 449 453 462 466 475 479 503 507 osw 10 000004 constant structure level 2 in structure "INITIAL_GLOBAL_PARAMETERS" dcl 814 in procedure "trace_parameters_" osw 10 000012 external static structure level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 93* 492* 493* osw 10 parameter structure level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" osw 10 000020 external static structure level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 26* 93* 485 output_switch based structure level 1 dcl 1-162 output_switch_i parameter structure level 1 dcl 794 ref 488 492 p 000150 automatic pointer unaligned dcl 573 set ref 576* 577 578 579 580 581* parameters based structure level 1 dcl 869 set ref 34 35* 576 577* 577 632 632 parameters_ptr 000110 automatic pointer unaligned dcl 868 set ref 34* 35 36* 37* 130* 132* 133 138* 139 146* 148* 149 157* 165 172* 174* 175 180* 181 188* 190* 191 196* 197 204* 206* 207 212* 213 220* 222* 223 228* 229 236* 238* 239 244* 245 252* 254* 255 260* 261 268* 270* 271* 277* 279* 280 285* 286 293* 295* 296 301* 302 309* 311* 312 317* 318 325* 327* 328 333* 334 parms_ptr_io parameter pointer unaligned dcl 790 set ref 102 104* 115 117 119* 121* reference_count 2 based fixed bin(17,0) level 2 in structure "allocated_string" dcl 890 in procedure "trace_parameters_" set ref 163* 564* 564 596* 596 597 599 636 636 reference_count 2 based fixed bin(17,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 578* signals 5 000020 external static bit(1) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 500 signals 5 000012 external static bit(1) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 507* signals 5 parameter bit(1) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" set ref 685* source_ptr_i parameter pointer unaligned dcl 557 ref 555 561 564 564 564 566 spp 124 parameter structure level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" spp 124 000020 external static structure level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 27* 513 spp 124 000004 constant structure level 2 in structure "INITIAL_GLOBAL_PARAMETERS" dcl 814 in procedure "trace_parameters_" spp 124 000012 external static structure level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 520* 521* stop 15 based bit(2) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 659* stop 15 based bit(2) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 659* stop 15 based bit(2) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 280 286* stop_every 13 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 660* stop_every 13 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 296 302* stop_every 13 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 660* stop_low 14 based fixed bin(34,0) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 661* stop_low 14 based fixed bin(34,0) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 661* stop_low 14 based fixed bin(34,0) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 312 318* stop_proc based structure level 1 dcl 1-167 stop_proc_i parameter structure level 1 dcl 795 ref 516 520 stop_routine 236 000012 external static entry variable level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 549* stop_routine 236 000020 external static entry variable level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 30* 542 stream_name 12 parameter varying char(32) level 3 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" ref 689 stream_name 12 000004 constant varying char(32) initial level 3 in structure "INITIAL_GLOBAL_PARAMETERS" dcl 814 in procedure "trace_parameters_" set ref 26* 493* trace 16 based bit(2) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" set ref 651* trace 16 based bit(2) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" set ref 651* trace 16 based bit(2) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 328 334* trace_$cv_bits_to_inout 000042 constant entry external dcl 1-30 ref 745 745 trace_$cv_entry_name_to_spp 000044 constant entry external dcl 1-34 ref 27 521 trace_$cv_stream_name_to_osw 000046 constant entry external dcl 1-36 ref 26 493 trace_$global_parameters 000012 external static structure level 1 dcl 900 set ref 91 98 346* 359* 377* 392* 410* 426* 451* 464* 477* 490* 505* 518* 534* 547* trace_$parameters_ptr 000010 external static pointer unaligned dcl 899 set ref 37* 62 71* 79* 81* 110* 117 119* 121* 574 581* 583 trace_calibrate_ 000024 constant entry external dcl 929 ref 41 44 trace_catch_$global_parameters 000020 external static structure level 1 dcl 907 set ref 25* 91 98* 346 359 377 392 410 426 441* 451 464 477 490 505 518 534 547 trace_catch_$parameters_ptr 000016 external static pointer unaligned dcl 903 set ref 36* 60 62 71* 79* 81* 110* 130 146 172 188 204 220 236 252 268 271* 277 293 309 325 574 577 580 trace_catch_$trace_storage_ptr 000014 external static pointer dcl 902 ref 34 161 576 trace_print_$allocate_buffer 000032 constant entry external dcl 932 ref 379 trace_print_$copy_buffer_ptr 000034 constant entry external dcl 933 ref 95 trace_print_$copy_osw 000026 constant entry external dcl 930 ref 93 trace_print_$stop 000036 constant entry external dcl 934 ref 30 trace_print_$trace 000040 constant entry external dcl 935 ref 29 trace_routine 232 000012 external static entry variable level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 536* trace_routine 232 000020 external static entry variable level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 29* 529 trace_storage based area(1024) dcl 864 ref 34 161 576 trace_tables_$parameters_ptr 000030 constant entry external dcl 931 ref 132 148 174 190 206 222 238 254 270 279 295 311 327 transaction_id_i parameter fixed bin(71,0) dcl 791 ref 54 67 67 tt_idx 000101 automatic fixed bin(17,0) dcl 801 set ref 129* 130 132* 145* 146 148* 171* 172 174* 187* 188 190* 203* 204 206* 219* 220 222* 235* 236 238* 251* 252 254* 267* 268 270* 276* 277 279* 292* 293 295* 308* 309 311* 324* 325 327* tt_idx_i parameter fixed bin(17,0) dcl 792 ref 127 129 143 145 169 171 185 187 201 203 217 219 233 235 249 251 265 267 274 276 290 292 306 308 322 324 value 4 based char level 2 packed unaligned dcl 890 set ref 152 164* 625 625 670 670 value_length 3 based fixed bin(17,0) level 2 dcl 890 set ref 152 161* 164 606 623 623 625 625 670 670 version 000020 external static char(8) level 2 in structure "trace_catch_$global_parameters" dcl 907 in procedure "trace_parameters_" set ref 56 version based char(8) level 2 in structure "B_parms_i" dcl 700 in procedure "MAKE_PARAMETERS_STRING" ref 646 version parameter char(8) level 2 in structure "global_parms_i" dcl 701 in procedure "MAKE_PARAMETERS_STRING" ref 677 version based char(8) level 2 in structure "parameters" dcl 869 in procedure "trace_parameters_" set ref 60 version based char(8) level 2 in structure "allocated_string" dcl 890 in procedure "trace_parameters_" set ref 162* 601 603 619 619 621 628 version based char(8) level 2 in structure "A_parms_i" dcl 698 in procedure "MAKE_PARAMETERS_STRING" ref 646 version 000012 external static char(8) level 2 in structure "trace_$global_parameters" dcl 900 in procedure "trace_parameters_" set ref 32* 58 70* 87 89 346 359 377 392 410 426 434 451 464 477 490 505 518 534 547 watch_values 000114 automatic structure level 1 dcl 1-147 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ZERO internal static fixed bin(35,0) initial dcl 806 trace_$add_specified_eps 000000 constant entry external dcl 1-20 trace_$add_specified_locs 000000 constant entry external dcl 1-21 trace_$alm 000000 constant entry external dcl 1-111 trace_$arguments 000000 constant entry external dcl 1-82 trace_$automatic 000000 constant entry external dcl 1-113 trace_$buffer 000000 constant entry external dcl 1-115 trace_$buffer_counts 000000 constant entry external dcl 1-74 trace_$buffer_event 000000 constant entry external dcl 1-75 trace_$buffer_event_header 000000 constant entry external dcl 1-76 trace_$buffer_event_string 000000 constant entry external dcl 1-77 trace_$buffer_ptr 000000 constant entry external dcl 1-78 trace_$calibrate 000000 constant entry external dcl 1-117 trace_$call 000000 constant entry external dcl 1-84 trace_$compensation 000000 constant entry external dcl 1-119 trace_$cv_bit_to_onoff 000000 constant entry external dcl 1-33 trace_$cv_file_path_to_osw 000000 constant entry external dcl 1-35 trace_$cv_inout_to_bits 000000 constant entry external dcl 1-29 trace_$cv_n_to_number 000000 constant entry external dcl 1-31 trace_$cv_onoff_to_bit 000000 constant entry external dcl 1-32 trace_$enabled 000000 constant entry external dcl 1-121 trace_$entrypoint_counts 000000 constant entry external dcl 1-40 trace_$entrypoint_global_meters 000000 constant entry external dcl 1-41 trace_$entrypoint_index 000000 constant entry external dcl 1-49 trace_$entrypoint_local_meters 000000 constant entry external dcl 1-42 trace_$entrypoint_name 000000 constant entry external dcl 1-50 trace_$entrypoint_ptr 000000 constant entry external dcl 1-51 trace_$entrypoint_seg_path 000000 constant entry external dcl 1-52 trace_$entrypoint_status 000000 constant entry external dcl 1-53 trace_$every 000000 constant entry external dcl 1-86 trace_$first 000000 constant entry external dcl 1-88 trace_$function 000000 constant entry external dcl 1-54 trace_$global_parms_string 000000 constant entry external dcl 1-123 trace_$high 000000 constant entry external dcl 1-90 trace_$in_trace 000000 constant entry external dcl 1-143 trace_$last 000000 constant entry external dcl 1-92 trace_$location_ptr 000000 constant entry external dcl 1-63 trace_$location_seg_path 000000 constant entry external dcl 1-64 trace_$location_values 000000 constant entry external dcl 1-65 trace_$long 000000 constant entry external dcl 1-124 trace_$loud 000000 constant entry external dcl 1-138 trace_$low 000000 constant entry external dcl 1-94 trace_$me 000000 constant entry external dcl 1-7 trace_$meter 000000 constant entry external dcl 1-126 trace_$metered 000000 constant entry external dcl 1-43 trace_$new_high 000000 constant entry external dcl 1-96 trace_$num_entrypoints 000000 constant entry external dcl 1-55 trace_$num_locations 000000 constant entry external dcl 1-66 trace_$num_specified_entrypoints 000000 constant entry external dcl 1-56 trace_$num_specified_locations 000000 constant entry external dcl 1-67 trace_$output_switch 000000 constant entry external dcl 1-128 trace_$parms_specified 000000 constant entry external dcl 1-99 trace_$parms_string 000000 constant entry external dcl 1-98 trace_$remove_specified_eps 000000 constant entry external dcl 1-22 trace_$remove_specified_locs 000000 constant entry external dcl 1-23 trace_$removed 000000 constant entry external dcl 1-44 trace_$reset_meters 000000 constant entry external dcl 1-45 trace_$set_alm 000000 constant entry external dcl 1-112 trace_$set_arguments 000000 constant entry external dcl 1-83 trace_$set_automatic 000000 constant entry external dcl 1-114 trace_$set_buffer 000000 constant entry external dcl 1-116 trace_$set_calibrate 000000 constant entry external dcl 1-118 trace_$set_call 000000 constant entry external dcl 1-85 trace_$set_compensation 000000 constant entry external dcl 1-120 trace_$set_enabled 000000 constant entry external dcl 1-122 trace_$set_every 000000 constant entry external dcl 1-87 trace_$set_first 000000 constant entry external dcl 1-89 trace_$set_high 000000 constant entry external dcl 1-91 trace_$set_last 000000 constant entry external dcl 1-93 trace_$set_long 000000 constant entry external dcl 1-125 trace_$set_loud 000000 constant entry external dcl 1-139 trace_$set_low 000000 constant entry external dcl 1-95 trace_$set_meter 000000 constant entry external dcl 1-127 trace_$set_new_high 000000 constant entry external dcl 1-97 trace_$set_output_switch 000000 constant entry external dcl 1-129 trace_$set_signals 000000 constant entry external dcl 1-131 trace_$set_stop 000000 constant entry external dcl 1-101 trace_$set_stop_every 000000 constant entry external dcl 1-103 trace_$set_stop_low 000000 constant entry external dcl 1-105 trace_$set_stop_proc 000000 constant entry external dcl 1-133 trace_$set_stop_routine 000000 constant entry external dcl 1-135 trace_$set_trace 000000 constant entry external dcl 1-107 trace_$set_trace_routine 000000 constant entry external dcl 1-137 trace_$signals 000000 constant entry external dcl 1-130 trace_$specified_entrypoint_index 000000 constant entry external dcl 1-57 trace_$specified_location_index 000000 constant entry external dcl 1-68 trace_$specify_changed_locations 000000 constant entry external dcl 1-70 trace_$specify_entrypoints 000000 constant entry external dcl 1-58 trace_$specify_locations 000000 constant entry external dcl 1-69 trace_$stop 000000 constant entry external dcl 1-100 trace_$stop_every 000000 constant entry external dcl 1-102 trace_$stop_low 000000 constant entry external dcl 1-104 trace_$stop_proc 000000 constant entry external dcl 1-132 trace_$stop_routine 000000 constant entry external dcl 1-134 trace_$trace 000000 constant entry external dcl 1-106 trace_$trace_routine 000000 constant entry external dcl 1-136 trace_$transaction_begin 000000 constant entry external dcl 1-12 trace_$transaction_begin_force 000000 constant entry external dcl 1-13 trace_$transaction_end 000000 constant entry external dcl 1-14 trace_$translator_id 000000 constant entry external dcl 1-59 trace_$turn_off_specified_eps 000000 constant entry external dcl 1-25 trace_$turn_on_specified_eps 000000 constant entry external dcl 1-24 trace_$update_default_parms 000000 constant entry external dcl 1-18 trace_$update_global_parms 000000 constant entry external dcl 1-19 trace_$version 000000 constant entry external dcl 1-8 NAMES DECLARED BY EXPLICIT CONTEXT. APPEND_CHAR_PARAMETER 015051 constant entry internal dcl 749 ref 670 689 691 692 APPEND_INOUT_PARAMETER 014765 constant entry internal dcl 739 ref 651 659 663 APPEND_N_PARAMETER 014472 constant entry internal dcl 708 ref 652 653 654 655 656 660 661 APPEND_ONOFF_ALT_PARAMETER 014676 constant entry internal dcl 730 ref 686 687 688 APPEND_ONOFF_PARAMETER 014565 constant entry internal dcl 719 ref 657 681 682 683 684 685 APPEND_STRING 015220 constant label dcl 762 ref 717 728 737 747 760 ASSIGN_PTR 012644 constant entry internal dcl 555 ref 36 37 71 81 121 165 580 581 636 638 FREE_OBJECT 012772 constant entry internal dcl 587 ref 104 567 603 MAKE_GLOBAL_PARAMETERS_STRING 014107 constant entry internal dcl 675 ref 441 MAKE_PARAMETERS_STRING 013313 constant entry internal dcl 642 ref 271 MODIFIED_PARAMETERS_PTR 012710 constant entry internal dcl 571 ref 138 157 180 196 212 228 244 260 285 301 317 333 OBJECTS_ARE_EQUAL 013065 constant entry internal dcl 611 ref 79 110 119 630 alm 006472 constant entry external dcl 339 arguments 002574 constant entry external dcl 127 automatic 006707 constant entry external dcl 352 buffer 007124 constant entry external dcl 365 buffer_ptr 007236 constant entry external dcl 370 calibrate 007421 constant entry external dcl 385 call 003010 constant entry external dcl 143 compensation 007640 constant entry external dcl 398 enabled 010051 constant entry external dcl 419 every 003421 constant entry external dcl 169 first 003645 constant entry external dcl 185 free_parameters 002006 constant entry external dcl 102 global_parms_changed 010266 constant entry external dcl 432 global_parms_string 010456 constant entry external dcl 439 high 004070 constant entry external dcl 201 initialize 000566 constant entry external dcl 21 last 004313 constant entry external dcl 217 long 010630 constant entry external dcl 444 loud 011045 constant entry external dcl 457 low 004536 constant entry external dcl 233 meter 011262 constant entry external dcl 470 new_high 004763 constant entry external dcl 249 output_switch 011500 constant entry external dcl 483 parms_specified 002065 constant entry external dcl 108 parms_string 005200 constant entry external dcl 265 set_alm 006615 constant entry external dcl 344 set_arguments 002727 constant entry external dcl 136 set_automatic 007032 constant entry external dcl 357 set_buffer 007314 constant entry external dcl 375 set_calibrate 007544 constant entry external dcl 390 set_call 003273 constant entry external dcl 155 set_compensation 007736 constant entry external dcl 407 set_enabled 010174 constant entry external dcl 424 set_every 003567 constant entry external dcl 178 set_first 004012 constant entry external dcl 194 set_high 004235 constant entry external dcl 210 set_last 004460 constant entry external dcl 226 set_long 010753 constant entry external dcl 449 set_loud 011170 constant entry external dcl 462 set_low 004703 constant entry external dcl 242 set_meter 011405 constant entry external dcl 475 set_new_high 005117 constant entry external dcl 258 set_output_switch 011571 constant entry external dcl 488 set_signals 012030 constant entry external dcl 503 set_stop 005534 constant entry external dcl 283 set_stop_every 005760 constant entry external dcl 299 set_stop_low 006203 constant entry external dcl 315 set_stop_proc 012202 constant entry external dcl 516 set_stop_routine 012551 constant entry external dcl 545 set_trace 006413 constant entry external dcl 331 set_trace_routine 012401 constant entry external dcl 532 signals 011705 constant entry external dcl 498 stop 005402 constant entry external dcl 274 stop_every 005613 constant entry external dcl 290 stop_low 006036 constant entry external dcl 306 stop_proc 012123 constant entry external dcl 511 stop_routine 012475 constant entry external dcl 540 trace 006261 constant entry external dcl 322 trace_parameters_ 000552 constant entry external dcl 14 ref 27 27 521 521 trace_routine 012325 constant entry external dcl 527 transaction_begin 001021 constant entry external dcl 54 transaction_begin_force 001147 constant entry external dcl 67 transaction_end 001135 constant entry external dcl 67 update_default_parms 001235 constant entry external dcl 77 update_global_parms 001446 constant entry external dcl 85 update_parameters 002267 constant entry external dcl 115 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 664 667 codeptr builtin function ref 27 27 521 521 521 hbound builtin function ref 401 412 lbound builtin function ref 401 412 length builtin function ref 158 755 762 null builtin function ref 150 367 381 493 521 564 579 593 595 617 617 644 664 667 683 search builtin function ref 757 unspec builtin function ref 91 91 632 632 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 16576 16646 15510 16606 Length 17376 15510 50 514 1066 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME trace_parameters_ 912 external procedure is an external procedure. ASSIGN_PTR 74 internal procedure is called by several nonquick procedures. MODIFIED_PARAMETERS_PTR internal procedure shares stack frame of external procedure trace_parameters_. FREE_OBJECT 80 internal procedure calls itself recursively. OBJECTS_ARE_EQUAL 86 internal procedure calls itself recursively. MAKE_PARAMETERS_STRING internal procedure shares stack frame of external procedure trace_parameters_. APPEND_N_PARAMETER internal procedure shares stack frame of external procedure trace_parameters_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ASSIGN_PTR 000100 goner_ptr ASSIGN_PTR FREE_OBJECT 000100 object_ptr FREE_OBJECT trace_parameters_ 000100 compensation_idx trace_parameters_ 000101 tt_idx trace_parameters_ 000110 parameters_ptr trace_parameters_ 000111 allocated_string_value_length trace_parameters_ 000112 allocated_string_ptr trace_parameters_ 000114 watch_values trace_parameters_ 000116 counts trace_parameters_ 000122 meters trace_parameters_ 000130 compensation trace_parameters_ 000150 p MODIFIED_PARAMETERS_PTR 000160 A_as_ptr MAKE_PARAMETERS_STRING 000162 B_as_ptr MAKE_PARAMETERS_STRING 000164 just_differences MAKE_PARAMETERS_STRING 000165 many_parm_string MAKE_PARAMETERS_STRING 000304 one_parm_length APPEND_N_PARAMETER 000305 one_parm_string APPEND_N_PARAMETER THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this call_int_other return signal shorten_stack ext_entry int_entry any_to_any_tr alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$rsnnl trace_$cv_bits_to_inout trace_$cv_entry_name_to_spp trace_$cv_stream_name_to_osw trace_calibrate_ trace_print_$allocate_buffer trace_print_$copy_buffer_ptr trace_print_$copy_osw trace_print_$stop trace_print_$trace trace_tables_$parameters_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. trace_$global_parameters trace_$parameters_ptr trace_catch_$global_parameters trace_catch_$parameters_ptr trace_catch_$trace_storage_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000551 16 000561 21 000564 25 000575 26 000602 27 000617 29 000640 30 000644 32 000647 34 000653 35 000662 36 000666 37 000677 39 000710 41 000714 44 000733 47 000754 50 000757 54 001016 56 001030 58 001041 60 001054 62 001065 64 001074 67 001133 70 001156 71 001163 72 001173 77 001232 79 001247 81 001346 82 001357 85 001443 87 001460 89 001551 91 001562 93 001653 95 001672 98 001710 99 001716 102 002002 104 002015 105 002024 108 002063 110 002077 112 002176 115 002262 117 002301 119 002371 121 002471 122 002503 127 002567 129 002603 130 002606 132 002613 133 002626 136 002723 138 002736 139 002740 140 002745 143 003004 145 003022 146 003025 148 003032 149 003045 150 003050 152 003130 155 003267 157 003302 158 003304 159 003310 161 003315 162 003332 163 003335 164 003336 165 003345 166 003356 169 003415 171 003430 172 003433 174 003440 175 003453 178 003563 180 003576 181 003600 182 003604 185 003643 187 003654 188 003657 190 003664 191 003677 194 004007 196 004021 197 004023 198 004027 201 004066 203 004077 204 004102 206 004107 207 004122 210 004232 212 004244 213 004246 214 004252 217 004311 219 004322 220 004325 222 004332 223 004345 226 004455 228 004467 229 004471 230 004475 233 004534 235 004545 236 004550 238 004555 239 004570 242 004700 244 004712 245 004714 246 004720 249 004757 251 004775 252 005000 254 005005 255 005020 258 005114 260 005126 261 005130 262 005135 265 005174 267 005212 268 005215 270 005222 271 005235 274 005377 276 005411 277 005414 279 005421 280 005434 283 005531 285 005543 286 005545 287 005552 290 005611 292 005622 293 005625 295 005632 296 005645 299 005755 301 005767 302 005771 303 005775 306 006034 308 006045 309 006050 311 006055 312 006070 315 006200 317 006212 318 006214 319 006220 322 006257 324 006270 325 006273 327 006300 328 006313 331 006410 333 006422 334 006424 335 006431 339 006470 341 006504 344 006612 346 006624 348 006641 349 006646 352 006705 354 006721 357 007027 359 007041 361 007056 362 007063 365 007122 367 007136 370 007233 372 007245 375 007311 377 007323 379 007340 381 007355 382 007360 385 007417 387 007433 390 007541 392 007553 394 007570 395 007575 398 007634 400 007647 401 007652 404 007661 407 007733 409 007745 410 007750 412 007765 415 007775 416 010010 419 010047 421 010063 424 010171 426 010203 428 010220 429 010225 432 010264 434 010300 436 010372 439 010453 441 010470 444 010625 446 010642 449 010750 451 010762 453 010777 454 011004 457 011043 459 011057 462 011165 464 011177 466 011214 467 011221 470 011260 472 011274 475 011402 477 011414 479 011431 480 011436 483 011475 485 011507 488 011566 490 011600 492 011615 493 011623 495 011644 498 011703 500 011717 503 012025 505 012037 507 012054 508 012061 511 012120 513 012132 516 012177 518 012211 520 012226 521 012234 524 012263 527 012322 529 012333 532 012376 534 012410 536 012425 537 012434 540 012473 542 012503 545 012546 547 012560 549 012575 550 012604 555 012643 561 012651 563 012666 564 012667 566 012674 567 012700 568 012707 571 012710 574 012712 576 012716 577 012725 578 012733 579 012734 580 012736 581 012747 583 012760 587 012771 592 012777 593 013007 595 013011 596 013016 597 013021 599 013023 601 013030 603 013036 605 013050 606 013053 607 013063 611 013064 615 013072 617 013111 619 013120 621 013133 623 013146 625 013161 627 013170 628 013171 630 013173 632 013221 634 013242 635 013243 636 013246 638 013276 639 013307 642 013313 644 013317 646 013335 648 013356 649 013362 651 013363 652 013414 653 013446 654 013500 655 013531 656 013562 657 013613 659 013645 660 013676 661 013730 663 013762 664 014014 666 014031 667 014033 669 014047 670 014051 672 014100 675 014107 677 014113 679 014124 680 014125 681 014126 682 014150 683 014173 684 014212 685 014235 686 014260 687 014312 688 014343 689 014374 691 014421 692 014441 694 014463 708 014472 712 014474 714 014502 716 014527 717 014564 719 014565 723 014567 725 014602 727 014640 728 014674 730 014676 732 014700 734 014713 736 014740 737 014763 739 014765 743 014767 745 015002 747 015050 749 015051 753 015053 755 015067 757 015116 759 015165 760 015217 762 015220 767 015231 769 015243 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved