THIS FILE IS DAMAGED temp_argument_ptr, 75 temp_argument_descr_ptr) pointer; 76 77 dcl 1 arg_list_header aligned based (arg_list_ptr), 78 2 twice_arg_count fixed bin (17) unaligned, 79 2 code fixed bin (17) unaligned, 80 2 twice_desc_count fixed bin (17) unaligned, 81 2 pad fixed bin (17) unaligned; 82 83 dcl 1 ioa_arg_list static aligned, 84 2 header fixed bin (71), 85 2 arg_list_ptrs (80) pointer; 86 87 dcl 1 arg_list based (arg_list_ptr) aligned, 88 2 header fixed bin (71), 89 2 arg_ptrs (number_of_data) pointer, 90 2 descr_ptrs (number_of_data) pointer; 91 92 dcl ( 93 vcpu_rate, 94 real_rate, 95 online_rate, 96 new_online_rate, 97 process_hour_rate, 98 milli_mu_rate, 99 kmu_rate 100 ) float bin internal static; 101 dcl ( 102 new_vcpu_rate, 103 new_real_rate, 104 new_process_hour_rate, 105 new_kmu_rate, 106 new_milli_mu_rate 107 ) float bin automatic; 108 109 dcl dollars_fudge float bin (20) int static initial (0e0); 110 dcl login_time fixed bin (71); 111 dcl first_time_flag bit (1) aligned int static init ("1"b); 112 113 dcl old_cl char (132) aligned static initial (""); 114 dcl old_cll fixed bin static initial (132); 115 dcl old_cl_ptr ptr static init (null ()); 116 dcl based_old_cl char (old_cll) based (old_cl_ptr); 117 118 dcl cl_ptr ptr; 119 dcl based_cl char (temp_cll) aligned based; 120 121 dcl sys_area area based (area_ptr); 122 dcl area_ptr ptr; 123 dcl (old_cl_flag, 124 old_level_flag, 125 old_frame_flag, 126 old_total_flag, 127 old_time_flag, 128 old_date_flag, 129 old_date_time_flag, 130 old_time_format_flag, 131 old_inc_flag) bit (1) aligned static initial ("0"b); 132 133 dcl get_system_free_area_ entry returns (ptr); 134 dcl now fixed bin (71); 135 dcl next_shift fixed bin (71); 136 dcl (addr, addrel, after, bin, bit, clock, dim, fixed, float) builtin; 137 dcl (hbound, length, lbound, max, min, null, substr) builtin; 138 dcl (ioa_$nnl, ioa_$rsnpnnl) ext entry options (variable); 139 dcl ioa_ptr pointer; 140 dcl cu_$cp ext entry (ptr, fixed bin, fixed bin (35)); 141 dcl cu_$gen_call ext entry (ptr, ptr); 142 dcl cu_$af_return_arg ext entry (fixed bin, ptr, fixed bin, fixed bin (35)); 143 dcl cu_$decode_entry_value ext entry (entry, ptr, ptr); 144 dcl cu_$evaluate_active_string entry (ptr, char(*), fixed bin, char(*) var, fixed bin(35)); 145 dcl max_length fixed bin; 146 dcl return_ptr ptr; 147 dcl user_info_$usage_data ext entry (fixed bin, fixed bin (71), 148 fixed bin (71), fixed bin (71), fixed bin (71)); 149 dcl gr_get_rates_ ext entry (float bin, float bin, float bin, float bin, fixed bin (71)); 150 151 dcl cu_$set_ready_proc ext entry (pointer); 152 dcl timer_manager_$alarm_call ext entry (fixed bin (71), bit (2) aligned, entry); 153 dcl timer_manager_$reset_alarm_call ext entry (entry); 154 dcl first_time fixed bin (71) int static init (0); 155 dcl hcs_$get_process_usage ext entry (ptr, fixed bin (35)); 156 dcl error_table_$badopt ext static fixed bin (35); 157 dcl error_table_$noarg ext static fixed bin (35); 158 dcl error_table_$inconsistent ext static fixed bin (35); 159 160 dcl (any_other, sub_error_) condition; 161 162 dcl find_condition_info_ entry (ptr, ptr, fixed bin(35)); 163 dcl continue_to_signal_ entry (fixed bin(35)); 164 165 dcl sub_err_ entry() options(variable); 166 167 dcl 1 ci aligned like condition_info; 168 169 dcl 1 ready_mode_flags aligned, 170 2 ready_sw bit (1) unaligned, 171 2 pad bit (35) unaligned; 172 173 dcl 1 new aligned static like process_usage; 174 dcl 1 old aligned static like new; 175 dcl 1 last aligned static like new; 176 177 dcl date_time_string char (250) aligned int static; /* for -date_time */ 178 dcl date_string char (250) aligned int static; /* for -date */ 179 dcl time_string char (250) aligned int static; /* for -time */ 180 dcl time_format_string char (250) aligned int static; /* for -time_format */ 181 dcl old_time_format char (60) int static; /* input string for -time_format */ 182 dcl temp_time_format char (60); 183 dcl time_format char (60); 184 185 dcl dt char (24) int static aligned; /* mm/dd/yy__hhmm.m_zzz_www */ 186 dcl dt_chars (0:23) char (1) unaligned based (addr (dt)); 187 188 dcl 1 dt_descr (3) int static, 189 2 flag bit (1) initial ((3) (1) "1"b), 190 2 type bit (6) initial ((3) (1) "010101"b), /* character string */ 191 2 packed bit (1) initial ((3) (1) "1"b), 192 2 number_dims bit (4) initial ((3) (1) "0000"b), 193 2 size bit (24) initial ( 194 "000000000000000000000010"b, /* minute, hour, month, day, year */ 195 "000000000000000000000011"b, /* day_name or zone */ 196 "000000000000000011111010"b); /* any time string from date_time_$format */ 197 198 dcl (arg_index, 199 dt_offset_index, 200 idx) fixed bin; 201 202 dcl dt_incr_string (10) char (4) varying static initial ( 203 " ^a", " ^a", "^a", " ^a", " ^a", " ^a", " ^a", " ^a", "^a", "^a"); 204 205 dcl dt_offset (10) fixed bin static initial ( 206 10, 10, 12, 0, 17, 21, 0, 0, 3, 6); 207 208 dcl dt_descr_index (10) fixed bin static initial ( 209 3, 1, 1, 3, 2, 2, 3, 1, 1, 1); 210 211 dcl real_index (30) fixed bin static initial /* one entry per format option */ 212 (11, 1, 2, 7, 7, 13, 12, 16, /* values <= 10 are indices in dt arrays */ 213 6, 5, 1, 3, 15, 4, 8, 9, 10, 17, 16, 18, /* maps index in format_args into */ 214 19, 20, 21, 22, 23, 24, 24, 25, 25, 17); /* index in dt_* and temp_flag array */ 215 216 dcl 1 temp_flag (1:25) aligned, 217 2 (inc, total) bit (1); 218 219 dcl control_args (4) char (7) static aligned initial ("-set", "-revert", "-call", "-reset"); 220 221 dcl prefix_args (2) char (8) static aligned initial ("-string", "-control"); 222 223 dcl format_args (30) aligned static char (14) varying initial 224 ("vcpu", "-time", "-hour", "-date", "-dt", "mem_units", "cost", "-level", 225 "-day_name", "-zone", "-tm", "-minute", "pf", "-date_time", "-month", 226 "-day", "-year", "-frame", "-lev", "pft", "sf", "bf", "vr", "vw", "rcpu", 227 "-active_string", "-astr", "-time_format", "-tfmt", "-fr"); 228 229 dcl format_sw (30) bit (1) static aligned initial 230 ("0"b, "1"b, "1"b, "1"b, "1"b, "0"b, "0"b, "1"b, /* indicate if arg must match format_arg */ 231 "1"b, "1"b, "1"b, "1"b, "0"b, "1"b, "1"b, "1"b, /* exactly or may have leading -inc_ or -total_ */ 232 "1"b, "1"b, "1"b, "0"b, "0"b, "0"b, "0"b, "0"b, 233 "0"b, "1"b, "1"b, "1"b, "1"b, "1"b); 234 235 dcl date_time_ ext entry (fixed bin (71), char (*)aligned); 236 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) 237 returns (char (250) varying); 238 dcl default_ioa_string char (32) varying int static initial ( 239 "^a ^.3f ^d^a^2/"); 240 241 dcl default_sw bit (1) static init ("0"b); 242 243 dcl (level_no, frame_no) fixed bin; 244 dcl level_string char (16) aligned static; 245 dcl level_ioa_string char (34) static initial (" ^[level ^d^;frame ^s^]^[,^]^[^d^]"); 246 dcl listen_$get_level ext entry (fixed bin, fixed bin); 247 dcl ioa_$rsnnl ext entry options (variable); 248 249 dcl 1 level_descr int static, 250 2 flag bit (1) init ("1"b), 251 2 type bit (6) init ("010101"b), 252 2 packed bit (1) init ("0"b), 253 2 number_dims bit (4) init ("0000"b), 254 2 size bit (24) init ("000000000000000000010000"b); 255 256 dcl ioa_string char (132) aligned int static; 257 258 dcl 1 ioa_string_descr int static, 259 2 flag bit (1) initial ("1"b), 260 2 type bit (6) initial ("010101"b), 261 2 packed bit (1) initial ("0"b), 262 2 number_dims bit (4) initial ("0000"b), 263 2 size bit (24) initial ("000000000000000000001100"b); 264 265 dcl 1 float_descr int static, 266 2 flag bit (1) initial ("1"b), 267 2 type bit (6) initial ("000011"b), 268 2 packed bit (1) initial ("0"b), 269 2 number_dims bit (4) initial ("0000"b), 270 2 scale bit (12) initial ("000000000000"b), 271 2 precision bit (12) initial ("000000010100"b); 272 273 dcl 1 integer_descr int static, 274 2 flag bit (1) initial ("1"b), 275 2 type bit (6) initial ("000001"b), 276 2 packed bit (1) initial ("0"b), 277 2 number_dims bit (4) initial ("0000"b), 278 2 scale bit (12) initial ("000000000000"b), 279 2 precision bit (12) initial ("000000100011"b); 280 281 dcl (total_dollars, 282 inc_dollars, 283 new_dollars, 284 old_dollars, 285 last_dollars, 286 total_mem_units, 287 inc_mem_units, 288 total_vcpu_time, 289 inc_vcpu_time, 290 total_rcpu_time, 291 inc_rcpu_time) float bin (20) int static; 292 293 dcl (total_pd_faults, 294 total_page_faults, 295 total_seg_faults, 296 total_bounds_faults, 297 total_vtoc_reads, 298 total_vtoc_writes, 299 inc_pd_faults, 300 inc_page_faults, 301 inc_seg_faults, 302 inc_bounds_faults, 303 inc_vtoc_reads, 304 inc_vtoc_writes) fixed bin (35) int static; 305 306 dcl ZERO_BS fixed bin (35) int static options (constant) init (0); 307 308 dcl arg char (arglen) unal based (arg_ptr); 309 dcl (arglen, temp_cll) fixed bin; 310 dcl (arg_ptr, temp_clp) ptr; 311 dcl temp_cl char (temp_cll) based (temp_clp); 312 313 dcl temp_ioa_string char (132) aligned varying; 314 315 dcl bvs_ptr pointer; 316 dcl 1 temp_ioa_bvss aligned based, 317 2 length fixed bin, 318 2 string char (132); 319 320 dcl 1 based_descr based like temp_ioa_string_descr; 321 dcl 1 af_return_descr like temp_ioa_string_descr unaligned; 322 dcl vs_type bit (6) static initial ("010110"b); 323 324 dcl 1 temp_ioa_string_descr unaligned, 325 2 flag bit (1), 326 2 type bit (6), 327 2 packed bit (1), 328 2 number_dims bit (4), 329 2 size bit (24); 330 331 dcl 1 temp_ioa_arg_list aligned like ioa_arg_list; 332 333 dcl (argument_ptr (24), 334 argument_descr_ptr (24)) pointer; 335 336 dcl (argnumber, 337 af_offset, 338 string_length, 339 number_of_data) fixed bin; 340 341 dcl old_number_of_data fixed bin internal static; 342 343 dcl (first_args_flag, 344 total_format_flag, 345 values_set_flag, 346 temp_total_flag, 347 temp_inc_flag, 348 temp_level_flag, 349 temp_frame_flag, 350 temp_set_flag, 351 temp_revert_flag, temp_reset_flag, 352 temp_date_flag, 353 temp_time_flag, 354 temp_date_time_flag, 355 temp_time_format_flag, 356 doing_dollars, 357 incr_string_flag) bit (1) aligned; 358 359 dcl incr_string char (32) varying; 360 361 dcl 1 active_string based, 362 2 next_active_string_ptr ptr, 363 2 descriptor like active_string_descr_const, 364 2 num_of_data fixed bin, 365 2 input_string_len fixed bin, 366 2 input_string char (input_string_length refer (active_string.input_string_len)); 367 368 dcl input_string_length fixed bin(21); 369 370 dcl old_active_string_ptr ptr int static; 371 dcl (active_string_ptr, temp_active_string_ptr) ptr; 372 373 dcl old_last_active_string_ptr ptr int static; 374 dcl temp_last_active_string_ptr ptr; 375 376 dcl (n_active_strings, 377 temp_n_active_strings) fixed bin (21); 378 dcl old_n_active_strings fixed bin (21) int static; 379 380 dcl 1 active_string_descr_const, 381 2 flag bit (1) initial ("1"b), 382 2 type bit (6) initial ("010101"b), 383 2 packed bit (1) initial ("0"b), 384 2 number_dims bit (4) initial ("0000"b), 385 2 size bit (24) initial ((24) "0"b); 386 387 dcl (cu_$arg_ptr, cu_$af_arg_ptr) ext entry (fixed bin, ptr, fixed bin, fixed bin (35)); 388 dcl get_arg_ptr_ entry (fixed bin, ptr, fixed bin, fixed bin (35)) variable; 389 dcl code fixed bin (35) static; 390 dcl (com_err_, active_fnc_err_) ext entry options (variable); 391 dcl err_ entry options (variable) variable; 392 1 1 /* BEGIN INCLUDE FILE process_usage.incl.pl1 WRITTEN 09/17/76 BY Richard Bratt */ 1 2 1 3 declare 1 4 process_usage_pointer pointer, 1 5 1 process_usage based (process_usage_pointer), 1 6 2 number_wanted fixed bin, /* max number of entries to be returned */ 1 7 2 number_can_return fixed bin, /* the number of entries currently returnable */ 1 8 2 cpu_time fixed bin (71), 1 9 2 paging_measure fixed bin (71), 1 10 2 page_faults fixed bin (34), 1 11 2 pd_faults fixed bin (34), 1 12 2 virtual_cpu_time fixed bin (71), 1 13 2 segment_faults fixed bin (34), 1 14 2 bounds_faults fixed bin (34), 1 15 2 vtoc_reads fixed bin (34), 1 16 2 vtoc_writes fixed bin (34); 1 17 1 18 /* END INCLUDE FILE process_usage.incl.pl1 */ 393 394 2 1 /* BEGIN INCLUDE FILE ... cp_active_string_types.incl.pl1 */ 2 2 /* Created: 5 May 1980 by G. Palter */ 2 3 2 4 /* Types of active strings recognized by active string evaluation entries of the Multics command processor */ 2 5 2 6 dcl (DEFAULT_ACTIVE_STRING initial (0), /* default type: same as NORMAL_ACTIVE_STRING */ 2 7 NORMAL_ACTIVE_STRING initial (1), /* normal active string: [...] */ 2 8 TOKENS_ONLY_ACTIVE_STRING initial (2), /* rescan active string for whitespace and quotes: |[...] */ 2 9 ATOMIC_ACTIVE_STRING initial (3)) /* do not rescan anything in value: ||[...] */ 2 10 fixed binary static options (constant); 2 11 2 12 /* END INCLUDE FILE ... cp_active_string_types.incl.pl1 */ 395 396 3 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 3 2 3 3 /* Structure for find_condition_info_. 3 4* 3 5* Written 1-Mar-79 by M. N. Davidoff. 3 6**/ 3 7 3 8 /* automatic */ 3 9 3 10 declare condition_info_ptr pointer; 3 11 3 12 /* based */ 3 13 3 14 declare 1 condition_info aligned based (condition_info_ptr), 3 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 3 16 2 version fixed binary, /* Must be 1 */ 3 17 2 condition_name char (32) varying, /* name of condition */ 3 18 2 info_ptr pointer, /* pointer to the condition data structure */ 3 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 3 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 3 21 2 flags unaligned, 3 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 3 23 3 pad1 bit (35), 3 24 2 pad2 bit (36), 3 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 3 26 2 pad3 (4) bit (36); 3 27 3 28 /* internal static */ 3 29 3 30 declare condition_info_version_1 3 31 fixed binary internal static options (constant) initial (1); 3 32 3 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 397 398 4 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 4 2 /* format: style2 */ 4 3 4 4 declare condition_info_header_ptr 4 5 pointer; 4 6 declare 1 condition_info_header 4 7 aligned based (condition_info_header_ptr), 4 8 2 length fixed bin, /* length in words of this structure */ 4 9 2 version fixed bin, /* version number of this structure */ 4 10 2 action_flags aligned, /* tell handler how to proceed */ 4 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 4 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 4 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 4 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 4 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 4 16 3 pad bit (32) unaligned, 4 17 2 info_string char (256) varying, /* may contain printable message */ 4 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 4 19 4 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 399 400 5 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 5 2 /* format: style3 */ 5 3 5 4 /* These constants are to be used for the flags argument of sub_err_ */ 5 5 /* They are just "string (condition_info_header.action_flags)" */ 5 6 5 7 declare ( 5 8 ACTION_CAN_RESTART init (""b), 5 9 ACTION_CANT_RESTART init ("1"b), 5 10 ACTION_DEFAULT_RESTART 5 11 init ("01"b), 5 12 ACTION_QUIET_RESTART 5 13 init ("001"b), 5 14 ACTION_SUPPORT_SIGNAL 5 15 init ("0001"b) 5 16 ) bit (36) aligned internal static options (constant); 5 17 5 18 /* End include file */ 401 402 6 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 6 2 /* format: style2 */ 6 3 6 4 /* The include file condition_info_header must be used with this file */ 6 5 6 6 declare sub_error_info_ptr pointer; 6 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 6 8 2 header aligned like condition_info_header, 6 9 2 retval fixed bin (35), /* return value */ 6 10 2 name char (32), /* module name */ 6 11 2 info_ptr ptr; 6 12 6 13 declare sub_error_info_version_1 6 14 internal static options (constant) fixed bin init (1); 6 15 6 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 403 404 405 /* */ 406 new.number_wanted = 9; 407 go to decode_arg_list; 408 409 /* the code for the message and change_shift entry points 410* is put at the beginning of the program to insure 411* that the code for these entries lies on a single page of 412* the object segment */ 413 414 message: entry (ready_mode_flags); 415 416 if old_cl_flag then do; 417 if old_cl_ptr = null then old_cl_ptr = addr (old_cl); 418 begin; 419 dcl cl_copy char (length (based_old_cl)) aligned; 420 cl_copy = based_old_cl; 421 422 on any_other begin; /* Handle nasty conditions and turn off -call */ 423 on sub_error_ system; /* avoid those loops */ 424 ci.version = condition_info_version_1; 425 call find_condition_info_ (null(), addr (ci), code); 426 if code ^= 0 then do; /* no condition frame */ 427 call sub_err_ (code, whoami, ACTION_DEFAULT_RESTART, null (), (0), "-call disabled."); 428 old_cl_flag = "0"b; 429 return; 430 end; 431 if ci.condition_name = "alrm" | 432 ci.condition_name = "command_question" | 433 ci.condition_name = "cput" | 434 ci.condition_name = "finish" | 435 ci.condition_name = "quit" | 436 ci.condition_name = "sus_" | 437 ci.condition_name = "trm_" then; 438 else do; 439 if old_cl_flag then /* avoid complaining twice */ 440 call sub_err_ ((0), whoami, ACTION_DEFAULT_RESTART, null (), (0), 441 "Condition ^a signalled, -call disabled.", ci.condition_name); 442 old_cl_flag = "0"b; 443 end; 444 call continue_to_signal_ ((0)); 445 end; 446 447 call cu_$cp (addr (cl_copy), (old_cll), code); 448 449 revert any_other; 450 end; 451 end; 452 if ^ready_mode_flags.ready_sw then return; 453 temp_ready_flag = "0"b; /* this is from static arg list */ 454 455 if first_time_flag then do; 456 call setup_ready; 457 if code ^= 0 then return; 458 end; 459 460 do_ready: 461 if temp_ready_flag then do; /* if general_ready invoked only once */ 462 if temp_clp ^= null () then begin; /* and -call was specified */ 463 dcl temp_cl_copy char (temp_cll) init (temp_cl); 464 call cu_$cp (addr (temp_cl_copy), length (temp_cl_copy), code); 465 end; 466 if af_flag then ioa_ptr = addr (ioa_$rsnpnnl); 467 else ioa_ptr = addr (ioa_$nnl); 468 total_flag = temp_total_flag; 469 inc_flag = temp_inc_flag; 470 cur_arg_list = arg_list_ptr; 471 level_flag = temp_level_flag; 472 frame_flag = temp_frame_flag; 473 time_flag = temp_time_flag; 474 date_flag = temp_date_flag; 475 date_time_flag = temp_date_time_flag; 476 time_format_flag = temp_time_format_flag; 477 time_format = temp_time_format; 478 n_active_strings = temp_n_active_strings; 479 active_string_ptr = temp_active_string_ptr; 480 end; 481 else do; 482 ioa_ptr = addr (ioa_$nnl); 483 total_flag = old_total_flag; 484 inc_flag = old_inc_flag; 485 level_flag = old_level_flag; 486 frame_flag = old_frame_flag; 487 time_flag = old_time_flag; 488 date_flag = old_date_flag; 489 date_time_flag = old_date_time_flag; 490 time_format_flag = old_time_format_flag; 491 time_format = old_time_format; 492 cur_arg_list, arg_list_ptr = static_arg_list_ptr; 493 n_active_strings = old_n_active_strings; 494 active_string_ptr = old_active_string_ptr; 495 number_of_data = old_number_of_data; 496 temp_n_active_strings = 0; 497 af_flag = "0"b; 498 end; 499 500 now = clock (); 501 call hcs_$get_process_usage (addr (new), code); 502 if code ^= 0 then do; 503 got_pu_err: 504 call err_ (code, whoami, "error in hcs_$get_process_usage."); 505 return; 506 end; 507 new_dollars = float (new.virtual_cpu_time, 20)*vcpu_rate 508 + float (now-first_time, 20)*online_rate 509 + float (new.paging_measure*milli_mu_rate, 20) 510 - dollars_fudge; 511 512 new.virtual_cpu_time = new.virtual_cpu_time + old.virtual_cpu_time; /* add cpu from previous processes */ 513 new.paging_measure = new.paging_measure + old.paging_measure; 514 515 call date_time_ (now, dt); 516 if time_flag then time_string = date_time_$format ("time", now, "", ""); 517 if date_flag then date_string = date_time_$format ("date", now, "", ""); 518 if date_time_flag then date_time_string = date_time_$format ("date_time", now, "", ""); 519 if time_format_flag then time_format_string = date_time_$format (time_format, now, "", ""); 520 521 if total_flag then do; 522 total_dollars = new_dollars; 523 total_pd_faults = new.pd_faults; 524 total_page_faults = new.page_faults; 525 total_seg_faults = new.segment_faults; 526 total_bounds_faults = new.bounds_faults; 527 total_vtoc_reads = new.vtoc_reads; 528 total_vtoc_writes = new.vtoc_writes; 529 total_vcpu_time = float (new.virtual_cpu_time, 20)/1e6; 530 total_mem_units = float (new.paging_measure, 20)/1e3; 531 total_rcpu_time = float (new.cpu_time, 20)/1e6; 532 end; 533 534 if inc_flag then do; 535 inc_dollars = new_dollars - last_dollars; 536 inc_vcpu_time = float (new.virtual_cpu_time-last.virtual_cpu_time, 20)/1e6; 537 inc_rcpu_time = float (new.cpu_time-last.cpu_time, 20)/1e6; 538 inc_mem_units = float (new.paging_measure-last.paging_measure, 20)/1e3; 539 inc_pd_faults = new.pd_faults - last.pd_faults; 540 inc_page_faults = new.page_faults - last.page_faults; 541 inc_seg_faults = new.segment_faults - last.segment_faults; 542 inc_bounds_faults = new.bounds_faults - last.bounds_faults; 543 inc_vtoc_reads = new.vtoc_reads - last.vtoc_reads; 544 inc_vtoc_writes = new.vtoc_writes - last.vtoc_writes; 545 end; 546 547 last_dollars = new_dollars; 548 last.paging_measure = new.paging_measure; 549 last.virtual_cpu_time = new.virtual_cpu_time; 550 last.cpu_time = new.cpu_time; 551 last.pd_faults = new.pd_faults; 552 last.page_faults = new.page_faults; 553 last.segment_faults = new.segment_faults; 554 last.bounds_faults = new.bounds_faults; 555 last.vtoc_reads = new.vtoc_reads; 556 last.vtoc_writes = new.vtoc_writes; 557 558 if default_sw then 559 time_string = date_time_$format ("time", clock (), "", ""); 560 561 /* if ready message is to contain listener level info, then get it */ 562 if level_flag | frame_flag then do; 563 call listen_$get_level (level_no, frame_no); 564 if level_no = 1 then level_string = ""; 565 else call ioa_$rsnnl (level_ioa_string, level_string, length (level_string), level_flag, level_no, 566 (level_flag & frame_flag), frame_flag, frame_no); 567 set_level_flag = "0"b; 568 end; 569 else level_string = ""; 570 571 begin; /* begin block for active strings */ 572 dcl active_string_output (n_active_strings) char (256) varying; 573 if ^af_flag then af_offset = 0; 574 else af_offset = 2; 575 do idx = 1 to n_active_strings; 576 active_string_output (idx) = ""; 577 578 if ^temp_ready_flag then 579 on any_other begin; /* Handle nasty conditions and turn off active string */ 580 on sub_error_ system; /* avoid those loops */ 581 ci.version = condition_info_version_1; 582 661 milli_mu_rate = new_milli_mu_rate; 662 663 if next_shift > now then call timer_manager_$alarm_call (next_shift, "00"b, change_shift); 664 return; 665 666 /* end of message and change_shift code */ 667 668 decode_arg_list: /* general_ready entrypoint gets here */ 669 670 if first_time_flag then call setup_ready; 671 672 call cu_$af_return_arg (argnumber, return_ptr, max_length, code); 673 if code = 0 then do; 674 af_flag = "1"b; 675 err_ = active_fnc_err_; 676 get_arg_ptr_ = cu_$af_arg_ptr; 677 end; 678 else do; 679 af_flag = "0"b; 680 err_ = com_err_; 681 get_arg_ptr_ = cu_$arg_ptr; 682 end; 683 684 temp_ioa_string = "r"; 685 argnumber = 0; 686 number_of_data = 1; /* first arg to ioa is ioa control string */ 687 temp_n_active_strings = 0; 688 temp_active_string_ptr, temp_last_active_string_ptr = null (); 689 set_level_flag = "0"b; 690 691 first_args_flag = "1"b; 692 do arg_index = lbound (temp_flag, 1) to hbound (temp_flag, 1); 693 temp_flag.inc (arg_index) = "0"b; 694 temp_flag.total (arg_index) = "0"b; 695 end; 696 697 values_set_flag, 698 temp_total_flag, 699 temp_inc_flag, 700 temp_revert_flag, 701 temp_reset_flag, 702 temp_set_flag 703 = "0"b; 704 doing_dollars = "0"b; 705 incr_string_flag = "1"b; 706 temp_clp = null (); 707 temp_level_flag, temp_frame_flag = "0"b; 708 temp_time_flag, temp_date_flag, temp_date_time_flag, temp_time_format_flag = "0"b; 709 go to read_loop; 710 711 repeated_option: 712 call err_ (0, whoami, "repeated control arg ^a.", arg); 713 return; 714 read_loop: 715 argnumber = argnumber +1; 716 717 call get_arg_ptr_ (argnumber, arg_ptr, arglen, code); 718 if code ^= 0 then do; /* done with arg list, now 719* to setup arglist */ 720 721 end_of_read_loop: 722 if incr_string_flag then temp_ioa_string = temp_ioa_string||"^/"; 723 temp_ioa_string_descr.type = "010101"b; 724 temp_ioa_string_descr.packed = "0"b; 725 temp_ioa_string_descr.number_dims = "0000"b; 726 temp_ioa_string_descr.flag = "1"b; 727 string_length = length (temp_ioa_string); 728 temp_ioa_string_descr.size = bit (bin (string_length, 24), 24); /* set size field */ 729 730 if ^values_set_flag & ^first_args_flag then do; /* i.e., we got only a non-keyword */ 731 call err_ (error_table_$noarg, whoami, "No values specified for other than default ready message."); 732 return; 733 end; 734 735 if temp_revert_flag then do; /* process -revert */ 736 if temp_set_flag then do; /* -set and -revert are incompatible */ 737 call err_ (error_table_$inconsistent, whoami, "-set and -revert"); 738 return; 739 end; 740 if old_cl_ptr ^= null & old_cl_ptr ^= addr (old_cl) then free based_old_cl in (sys_area); 741 call cu_$set_ready_proc (null ()); 742 call timer_manager_$reset_alarm_call (change_shift); 743 /* free active strings */ 744 do idx = 1 to old_n_active_strings; 745 active_string_ptr = old_active_string_ptr; 746 old_active_string_ptr = active_string_ptr -> active_string.next_active_string_ptr; 747 free active_string_ptr -> active_string; 748 end; 749 if ^values_set_flag & ^temp_reset_flag then return; /* if no values, just revert */ 750 /* will allow both -revert and -reset */ 751 end; 752 if temp_reset_flag then do; /* reset incremental if -reset */ 753 now = clock (); 754 call hcs_$get_process_usage (addr (new), code); 755 if code ^= 0 then go to got_pu_err; 756 last_dollars = float (new.virtual_cpu_time, 20)*vcpu_rate 757 + float (now - first_time, 20)*online_rate 758 + float (new.paging_measure*milli_mu_rate, 20) 759 - dollars_fudge; 760 last.virtual_cpu_time = new.virtual_cpu_time + old.virtual_cpu_time; 761 last.cpu_time = new.cpu_time + old.cpu_time; 762 last.paging_measure = new.paging_measure + old.paging_measure; 763 last.pd_faults = new.pd_faults; 764 last.page_faults = new.page_faults; 765 last.segment_faults = new.segment_faults; 766 last.bounds_faults = new.bounds_faults; 767 last.vtoc_reads = new.vtoc_reads; 768 last.vtoc_writes = new.vtoc_writes; 769 770 date_flag = temp_date_flag; 771 time_flag = temp_time_flag; 772 date_time_flag = temp_date_time_flag; 773 time_format_flag = temp_time_format_flag; 774 775 call date_time_ (now, dt); 776 777 if date_flag then date_string = date_time_$format ("date", now, "", ""); 778 if time_flag then time_string = date_time_$format ("time", now, "", ""); 779 if date_time_flag then date_time_string = date_time_$format ("date_time", now, "", ""); 780 if time_format_flag then time_format_string = date_time_$format (time_format, now, "", ""); 781 if ^values_set_flag then return; /* if only -reset (or -revert -reset) just return w/o msg */ 782 end; 783 784 if ^temp_set_flag /* one time only */ 785 then do; 786 arg_list_ptr = addr (temp_ioa_arg_list); 787 bvs_ptr = addr (temp_ioa_string); 788 argument_ptr (1) = addr (bvs_ptr -> temp_ioa_bvss.string); 789 argument_descr_ptr (1) = addr (temp_ioa_string_descr); 790 end; 791 else do; 792 argument_ptr (1) = addr (ioa_string); 793 argument_descr_ptr (1) = addr (ioa_string_descr); 794 ioa_string_descr = temp_ioa_string_descr; 795 ioa_string = temp_ioa_string; 796 if temp_clp ^= null () then do; 797 if old_cl_ptr = null () then string_length = length (old_cl); 798 else string_length = length (based_old_cl); 799 if temp_cll > string_length then do; /* we need more space */ 800 if old_cl_ptr ^= null () & old_cl_ptr ^= addr (old_cl) then free based_old_cl in (sys_area); 801 else area_ptr = get_system_free_area_ (); 802 allocate based_cl in (sys_area) set (cl_ptr); 803 end; 804 else if old_cl_ptr = null then cl_ptr = addr (old_cl); 805 else cl_ptr = old_cl_ptr; 806 old_cll = max (string_length, temp_cll); 807 old_cl_flag = "1"b; 808 old_cl_ptr = cl_ptr; 809 based_old_cl = temp_cl; 810 end; 811 else old_cl_flag = "0"b; 812 old_inc_flag = temp_inc_flag; 813 old_total_flag = temp_total_flag; 814 old_level_flag = temp_level_flag; 815 old_frame_flag = temp_frame_flag; 816 old_time_flag = temp_time_flag; 817 old_date_flag = temp_date_flag; 818 old_date_time_flag = temp_date_time_flag; 819 old_time_format_flag = temp_time_format_flag; 820 old_time_format = temp_time_format; 821 static_arg_list_ptr, arg_list_ptr = addr (ioa_arg_list); 822 823 /* free old active strings */ 824 do idx = 1 to old_n_active_strings; 825 active_string_ptr = old_active_string_ptr; 826 old_active_string_ptr = active_string_ptr -> active_string.next_active_string_ptr; 827 free active_string_ptr -> active_string; 828 end; 829 830 old_n_active_strings = temp_n_active_strings; 831 old_active_string_ptr = temp_active_string_ptr; 832 old_number_of_data = number_of_data; 833 end; 834 835 if incr_string_flag & temp_ioa_string = "r^/" then do; /* Wants default ready message */ 836 default_sw = "1"b; 837 temp_ioa_string = "r^x" || default_ioa_string; 838 call set_default_arg_list; 839 end; 840 else do; 841 default_sw = "0"b; 842 af_offset = 0; 843 do argnumber = 1 to number_of_data; 844 if argnumber = 1 then if af_flag then number_of_data = number_of_data+2; 845 arg_list.arg_ptrs (argnumber+af_offset) = argument_ptr (argnumber); 846 arg_list.descr_ptrs (argnumber+af_offset) = argument_descr_ptr (argnumber); 847 if argnumber = 1 then if af_flag then af_offset = 2; 848 end; 849 850 arg_list_header.twice_desc_count, 851 arg_list_header.twice_arg_count = 2 * number_of_data; 852 arg_list_header.code = 4; 853 arg_list_header.pad = 0; 854 end; 855 856 temp_ready_flag = "1"b; /* if we wind up going to do_ready the temp vbls should be used */ 857 if af_flag then do; /* fill in af return arguments */ 858 arg_list.arg_ptrs (2) = addrel (return_ptr, 1); /* ptr to af return arg */ 859 arg_list.arg_ptrs (3) = return_ptr; /* ptr to length word of return arg */ 860 arg_list.descr_ptrs (3) = addr (integer_descr); 861 arg_list.descr_ptrs (2) = addr (af_return_descr); 862 af_return_descr.flag = "1"b; 863 af_return_descr.type = vs_type; 864 af_return_descr.packed = ""b; 865 af_return_descr.number_dims = ""b; 866 af_return_descr.size = bit (bin (max_length, 17), 24); 867 goto do_ready; /* do a ready msg */ 868 end; 869 else if temp_set_flag then do; /* process -set */ 870 call cu_$decode_entry_value (message, return_ptr, null ()); 871 call cu_$set_ready_proc (return_ptr); 872 end; 873 else goto do_ready; /* no -set */ 874 875 return; /* ready message is set up or printed */ 876 end; 877 878 879 /* first_args: */ 880 if first_args_flag then do; 881 882 do arg_index = 1 to dim (prefix_args, 1); 883 if arg = prefix_args (arg_index) then go to do_prefix (arg_index); 884 end; 885 end; /* end of processing for first args */ 886 else do; 887 888 check_format: 889 /* check for a format option */ 890 891 do arg_index = 1 to dim (format_args, 1); 892 if format_sw (arg_index) then if format_args (arg_index) = arg then do; 893 arg_index = real_index (arg_index); 894 if temp_flag.inc (arg_index) then go to repeated_option; 895 temp_flag.inc (arg_index) = "1"b; 896 end; 897 else go to next_format_arg; 898 899 else do; 900 if (substr (arg, 1, min (arglen, 7)) = "-total_") & 901 (after (arg, "-total_") = format_args (arg_index)) then do; 902 total_format_flag = "1"b; 903 arg_ptr = addr (substr (arg, 8, 1)); 904 arglen = max (arglen-7, 0); 905 end; 906 else if (substr (arg, 1, min (arglen, 5)) = "-inc_") & 907 (after (arg, "-inc_") = format_args (arg_index)) then do; 908 total_format_flag = "0"b; 909 arg_ptr = addr (substr (arg, 6, 1)); 910 arglen = max (arglen-5, 0); 911 end; 912 else go to next_format_arg; 913 914 arg_index = real_index (arg_index); /* consolidate multiply named options */ 915 if total_format_flag then if temp_flag.total (arg_index) then go to repeated_option; 916 else do; 917 temp_flag.total (arg_index) = "1"b; 918 temp_total_flag = "1"b; 919 end; 920 921 else if temp_flag.inc (arg_index) then go to repeated_option; 922 else do; 923 temp_flag.inc (arg_index) = "1"b; 924 temp_inc_flag = "1"b; 925 end; 926 end; 927 928 go to do_format (arg_index); 929 next_format_arg: 930 931 end; 932 end; 933 934 /* check for control args */ 935 936 do arg_index = 1 to dim (control_args, 1); 937 if arg = control_args (arg_index) then 938 if af_flag then do; 939 call err_ (error_table_$badopt, whoami, 940 "^a not allowed when active function", arg); 941 return; 942 end; 943 else goto do_control_arg (arg_index); 944 end; 945 946 if incr_string_flag then do; 947 if arglen = 0 then go to read_loop; 948 if substr (arg, 1, 1) ^= "-" then do; 949 first_args_flag = "0"b; 950 temp_ioa_string = temp_ioa_string || arg; 951 go to read_loop; 952 end; 953 end; 954 955 if first_args_flag then do; /* if we haven't checked if arg is a format arg go do it now */ 956 first_args_flag = "0"b; 957 go to check_format; 958 end; 959 960 961 call err_ (error_table_$badopt, whoami, "^a.", arg); 962 EXIT_RETURN: 963 return; 964 965 /* code to execute each format option */ 966 967 do_format (11): /* -vcpu */ 968 969 if total_format_flag then temp_argument_ptr = addr (total_vcpu_time); 970 else temp_argument_ptr = addr (inc_vcpu_time); 971 call add_floating_arg; 972 go to read_loop; 973 974 do_format (13): /* mem_units */ 975 976 if total_format_flag then temp_argument_ptr = addr (total_mem_units); 977 else temp_argument_ptr = addr (inc_mem_units); 978 call add_floating_arg; 979 go to read_loop; 980 981 do_format (16): /* -level */ 982 983 temp_level_flag = "1"b; 984 if ^set_level_flag then do; 985 incr_string = "^a"; 986 temp_argument_ptr = addr (level_string); 987 temp_argument_descr_ptr = addr (level_descr); 988 call add_data_arg; 989 set_level_flag = "1"b; 990 end; 991 go to read_loop; 992 993 do_format (17): /* -frame */ 994 995 temp_frame_flag = "1"b; 996 if ^set_level_flag then do; 997 incr_string = "^a"; 998 temp_argument_ptr = addr (level_string); 999 temp_argument_descr_ptr = addr (level_descr); 1000 call add_data_arg; 1001 set_level_flag = "1"b; 1002 end; 1003 go to read_loop; 1004 1005 do_format (15): /* pf (page faults) */ 1006 1007 temp_argument_descr_ptr = addr (integer_descr); 1008 incr_string = " ^d"; 1009 if total_format_flag then do; 1010 temp_argument_ptr = addr (ZERO_BS); 1011 call add_data_arg; 1012 temp_argument_ptr = addr (total_page_faults); 1013 end; 1014 else do; 1015 temp_argument_ptr = addr (ZERO_BS); 1016 call add_data_arg; 1017 temp_argument_ptr = addr (inc_page_faults); 1018 end; 1019 1020 incr_string = "+^d"; 1021 call add_data_arg; 1022 go to read_loop; 1023 1024 do_format (18): /* pft (page faults) */ 1025 1026 temp_argument_descr_ptr = addr (integer_descr); 1027 if total_format_flag then do; 1028 temp_argument_ptr = addr (total_page_faults); 1029 end; 1030 else do; 1031 temp_argument_ptr = addr (inc_page_faults); 1032 end; 1033 1034 incr_string = " ^d"; 1035 call add_data_arg; 1036 go to read_loop; 1037 1038 do_format (19): /* sf (segment faults) */ 1039 1040 temp_argument_descr_ptr = addr (integer_descr); 1041 incr_string = " ^d"; 1042 if total_format_flag then 1043 temp_argument_ptr = addr (total_seg_faults); 1044 else temp_argument_ptr = addr (inc_seg_faults); 1045 call add_data_arg; 1046 go to read_loop; 1047 1048 do_format (20): /* bf (bounds faults) */ 1049 1050 temp_argument_descr_ptr = addr (integer_descr); 1051 incr_string = " ^d"; 1052 if total_format_flag then 1053 temp_argument_ptr = addr (total_bounds_faults); 1054 else temp_argument_ptr = addr (inc_bounds_faults); 1055 call add_data_arg; 1056 go to read_loop; 1057 1058 do_format (21): /* vr (vtoc reads) */ 1059 1060 temp_argument_descr_ptr = addr (integer_descr); 1061 incr_string = " ^d"; 1062 if total_format_flag then 1063 temp_argument_ptr = addr (total_vtoc_reads); 1064 else temp_argument_ptr = addr (inc_vtoc_reads); 1065 call add_data_arg; 1066 go to read_loop; 1067 1068 do_format (22): /* vw (vtoc writes) */ 1069 1070 temp_argument_descr_ptr = addr (integer_descr); 1071 incr_string = " ^d"; 1072 if total_format_flag then 1073 temp_argument_ptr = addr (total_vtoc_writes); 1074 else temp_argument_ptr = addr (inc_vtoc_writes); 1075 call add_data_arg; 1076 go to read_loop; 1077 1078 do_format (23): /* rcpu (real cpu) */ 1079 1080 if total_format_flag then 1081 temp_argument_ptr = addr (total_rcpu_time); 1082 else temp_argument_ptr = addr (inc_rcpu_time); 1083 call add_floating_arg; 1084 go to read_loop; 1085 1086 do_format (24): /* -active_string */ 1087 1088 incr_string = " ^a"; 1089 temp_flag.inc (24) = "0"b; /* may be repeated */ 1090 temp_n_active_strings = temp_n_active_strings + 1; 1091 argnumber = argnumber + 1; 1092 call get_arg_ptr_ (argnumber, arg_ptr, arglen, code); 1093 if code ^= 0 then do; 1094 call err_ (code, whoami, "An active string must be specified following -active_string."); 1095 return; 1096 end; 1097 call add_active_string; 1098 go to read_loop; 1099 1100 do_format (12): /* -dollars */ 1101 1102 if total_format_flag then temp_argument_ptr = addr (total_dollars); 1103 else temp_argument_ptr = addr (inc_dollars); 1104 1105 doing_dollars = "1"b; 1106 call add_floating_arg; 1107 doing_dollars = "0"b; 1108 go to read_loop; 1109 1110 do_format (4): /* -date_time */ 1111 temp_date_time_flag = "1"b; 1112 temp_argument_ptr = addr (date_time_string); 1113 go to ADD_DATE; 1114 1115 do_format (7): /* -date, -dt */ 1116 temp_date_flag = "1"b; 1117 temp_argument_ptr = addr (date_string); 1118 go to ADD_DATE; 1119 1120 do_format (1): /* -time, -tm */ 1121 temp_time_flag = "1"b; 1122 temp_argument_ptr = addr (time_string); 1123 go to ADD_DATE; 1124 1125 do_format (2): /* -hour */ 1126 do_format (3): /* -minute */ 1127 do_format (5): /* -zone */ 1128 do_format (6): /* -day_name */ 1129 do_format (8): /* -month */ 1130 do_format (9): /* -day */ 1131 do_format (10): /* -year */ 1132 1133 temp_argument_ptr = addr (dt_chars (dt_offset (arg_index))); 1134 1135 ADD_DATE: 1136 dt_offset_index = dt_descr_index (arg_index); 1137 temp_argument_descr_ptr = addr (dt_descr (dt_offset_index)); 1138 incr_string = dt_incr_string (arg_index); 1139 call add_data_arg; 1140 go to read_loop; 1141 1142 do_format (25): /* -time_format */ 1143 argnumber = argnumber + 1; 1144 call get_arg_ptr_ (argnumber, arg_ptr, arglen, code); 1145 if code ^= 0 then do; 1146 call err_ (code, whoami, "A time format string must be specified following -time_format."); 1147 return; 1148 end; 1149 if arglen > length (time_format) then do; 1150 call err_ ((0), whoami, "Time format strings must be ^d characters or fewer in length. ^a", length (time_format), arg); y; 1336 1337 /* **************************** */ 1338 1339 set_default_arg_list: proc; 1340 af_offset = 2*fixed (af_flag, 17, 0); 1341 number_of_data = 5+af_offset; 1342 arg_list_header.twice_arg_count, 1343 arg_list_header.twice_desc_count = 2*number_of_data; 1344 arg_list_header.code = 4; 1345 arg_list_header.pad = 0; 1346 1347 if temp_set_flag then do; 1348 ioa_string = temp_ioa_string; 1349 arg_ptrs (1) = addr (ioa_string); 1350 descr_ptrs (1) = addr (ioa_string_descr); 1351 descr_ptrs (1) -> based_descr.size = bit (bin (length (temp_ioa_string), 24), 24); 1352 old_inc_flag = "1"b; 1353 old_level_flag = "1"b; 1354 old_time_flag = "1"b; 1355 end; 1356 else do; 1357 arg_ptrs (1) = addr (addr (temp_ioa_string) -> temp_ioa_bvss.string); 1358 descr_ptrs (1) = addr (temp_ioa_string_descr); 1359 temp_ioa_string_descr.type = "010101"b; 1360 temp_ioa_string_descr.packed = "0"b; 1361 temp_ioa_string_descr.number_dims = "0000"b; 1362 temp_ioa_string_descr.flag = "1"b; 1363 string_length = length (temp_ioa_string); 1364 temp_ioa_string_descr.size = bit (bin (string_length, 24), 24); 1365 temp_inc_flag = "1"b; 1366 temp_level_flag = "1"b; 1367 temp_time_flag = "1"b; 1368 end; 1369 1370 arg_ptrs (2+af_offset) = addr (time_string); 1371 descr_ptrs (2+af_offset) = addr (dt_descr (3)); 1372 1373 arg_ptrs (3+af_offset) = addr (inc_vcpu_time); 1374 descr_ptrs (3+af_offset) = addr (float_descr); 1375 arg_ptrs (4+af_offset) = addr (inc_page_faults); 1376 descr_ptrs (4+af_offset) = addr (integer_descr); 1377 1378 arg_ptrs (5+af_offset) = addr (level_string); 1379 descr_ptrs (5+af_offset) = addr (level_descr); 1380 1381 end set_default_arg_list; 1382 1383 end general_ready; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/15/88 1340.6 general_ready.pl1 >spec>install>1110>general_ready.pl1 393 1 10/26/76 1333.6 process_usage.incl.pl1 >ldd>include>process_usage.incl.pl1 395 2 09/22/80 1256.7 cp_active_string_types.incl.pl1 >ldd>include>cp_active_string_types.incl.pl1 397 3 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 399 4 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 401 5 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 403 6 07/18/81 1100.0 sub_error_info.incl.pl1 >ldd>include>sub_error_info.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. ACTION_DEFAULT_RESTART 000037 constant bit(36) initial dcl 5-7 set ref 427* 439* 584* 597* 612* DEFAULT_ACTIVE_STRING 000051 constant fixed bin(17,0) initial dcl 2-6 set ref 605* ZERO_BS 000051 constant fixed bin(35,0) initial dcl 306 set ref 1010 1015 active_fnc_err_ 001254 constant entry external dcl 390 ref 675 active_string based structure level 1 unaligned dcl 361 set ref 629 747 827 1275 1279 active_string_descr_const 001064 automatic structure level 1 packed packed unaligned dcl 380 set ref 1282 active_string_output 000100 automatic varying char(256) array dcl 572 set ref 576* 605* 616 620 active_string_ptr 001054 automatic pointer dcl 371 set ref 479* 494* 584 585 597 597 600 605 605 612 613 616 618 618 620 621* 621 627* 628 629 745* 746 747 825* 826 827 addr builtin function dcl 136 ref 417 425 425 447 447 464 464 466 467 482 501 501 582 582 616 618 640 640 740 754 754 786 787 788 789 792 793 800 804 821 860 861 903 909 967 970 974 977 986 987 998 999 1005 1010 1012 1015 1017 1024 1028 1031 1038 1042 1044 1048 1052 1054 1058 1062 1064 1068 1072 1074 1078 1082 1100 1103 1112 1117 1122 1125 1125 1137 1155 1155 1167 1168 1243 1326 1349 1350 1357 1357 1358 1370 1371 1373 1374 1375 1376 1378 1379 addrel builtin function dcl 136 ref 858 af_flag 000111 automatic bit(1) dcl 59 set ref 466 497* 573 674* 679* 844 847 857 937 1328* 1340 af_offset 001017 automatic fixed bin(17,0) dcl 336 set ref 573* 574* 616 618 842* 845 846 847* 1340* 1341 1370 1371 1373 1374 1375 1376 1378 1379 af_return_descr 000412 automatic structure level 1 packed packed unaligned dcl 321 set ref 861 after builtin function dcl 136 ref 900 906 any_other 000000 stack reference condition dcl 160 ref 422 449 578 609 area_ptr 000136 automatic pointer dcl 122 set ref 740 800 801* 802 arg based char packed unaligned dcl 308 set ref 711* 883 892 900 900 903 906 906 909 937 939* 948 950 961* 1150* 1153 1213* 1217 1247 1247 1247 1285 arg_index 000250 automatic fixed bin(17,0) dcl 198 set ref 692* 693 694* 882* 883 883* 888* 892 892 893* 893 894 895 900 906 914* 914 915 917 921 923 928* 936* 937 937* 1125 1135 1138 arg_list based structure level 1 dcl 87 arg_list_header based structure level 1 dcl 77 arg_list_ptr 000116 automatic pointer dcl 71 set ref 470 492* 616 618 786* 821* 845 846 850 850 852 853 858 859 860 861 1326* 1342 1342 1344 1345 1349 1350 1351 1357 1358 1370 1371 1373 1374 1375 1376 1378 1379 arg_ptr 000342 automatic pointer dcl 310 set ref 711 717* 883 89507 652 661* 756 1308* 1312 min builtin function dcl 137 ref 900 906 n_active_strings 001062 automatic fixed bin(21,0) dcl 376 set ref 478* 493* 572 575 new 000346 internal static structure level 1 dcl 173 set ref 501 501 640 640 754 754 new_dollars 001131 internal static float bin(20) dcl 281 set ref 507* 522 535 547 new_kmu_rate 000127 automatic float bin(27) dcl 101 set ref 643* 650 new_milli_mu_rate 000130 automatic float bin(27) dcl 101 set ref 650* 652 661 new_online_rate 000257 internal static float bin(27) dcl 92 set ref 649* 652 new_process_hour_rate 000126 automatic float bin(27) dcl 101 set ref 643* 648* 648 649 659 new_real_rate 000125 automatic float bin(27) dcl 101 set ref 643* 647* 647 649 658 new_vcpu_rate 000124 automatic float bin(27) dcl 101 set ref 643* 646* 646 652 657 next_active_string_ptr based pointer level 2 dcl 361 set ref 621 628 746 826 1279* 1280 1286* next_shift 000142 automatic fixed bin(71,0) dcl 135 set ref 643* 663 663* 1304* 1333 1333* now 000140 automatic fixed bin(71,0) dcl 134 set ref 500* 507 515* 516* 517* 518* 519* 642* 652 663 753* 756 775* 777* 778* 779* 780* null builtin function dcl 137 ref 417 425 425 427 427 439 439 462 582 582 584 584 597 597 605 605 612 612 688 706 740 741 741 796 797 800 804 870 870 1155 1155 1269 1270 1274 1286 1325 num_of_data 3 based fixed bin(17,0) level 2 dcl 361 set ref 616 618 1283* number_dims 2(08) based bit(4) initial level 3 in structure "active_string" packed packed unaligned dcl 361 in procedure "gr" set ref 1275* 1279* number_dims 0(08) 000413 automatic bit(4) level 2 in structure "temp_ioa_string_descr" packed packed unaligned dcl 324 in procedure "gr" set ref 725* 1361* number_dims 0(08) 001064 automatic bit(4) initial level 2 in structure "active_string_descr_const" packed packed unaligned dcl 380 in procedure "gr" set ref 380* number_dims 0(08) 000412 automatic bit(4) level 2 in structure "af_return_descr" packed packed unaligned dcl 321 in procedure "gr" set ref 865* number_of_data 001021 automatic fixed bin(17,0) dcl 336 set ref 495* 618 686* 832 843 844* 844 846 850 860 861 1231* 1231 1233 1234 1268* 1268 1269 1270 1283 1341* 1342 1350 1351 1358 1371 1374 1376 1379 number_wanted 000346 internal static fixed bin(17,0) level 2 dcl 173 set ref 406* old 000364 internal static structure level 1 dcl 174 old_active_string_ptr 001160 internal static pointer dcl 370 set ref 494 745 746* 825 826* 831* 1325* old_cl 000265 internal static char(132) initial dcl 113 set ref 417 740 797 800 804 old_cl_flag 000332 internal static bit(1) initial dcl 123 set ref 416 428* 439 442* 807* 811* old_cl_ptr 000330 internal static pointer initial dcl 115 set ref 417 417* 419 420 740 740 740 797 798 800 800 800 804 805 808* 809 old_cll 000326 internal static fixed bin(17,0) initial dcl 114 set ref 419 420 447 740 740 798 800 800 806* 809 old_date_flag 000337 internal static bit(1) initial dcl 123 set ref 488 817* old_date_time_flag 000340 internal static bit(1) initial dcl 123 set ref 489 818* old_dollars 001132 internal static float bin(20) dcl 281 set ref 1312* 1315 1316 old_frame_flag 000334 internal static bit(1) initial dcl 123 set ref 486 815* old_inc_flag 000342 internal static bit(1) initial dcl 123 set ref 484 812* 1352* old_last_active_string_ptr 001162 internal static pointer dcl 373 set ref 1325* old_level_flag 000333 internal static bit(1) initial dcl 123 set ref 485 814* 1353* old_n_active_strings 001164 internal static fixed bin(21,0) dcl 378 set ref 493 744 824 830* 1324* old_number_of_data 001156 internal static fixed bin(17,0) dcl 341 set ref 495 832* old_time_flag 000336 internal static bit(1) initial dcl 123 set ref 487 816* 1354* old_time_format 001014 internal static char(60) packed unaligned dcl 181 set ref 491 820* old_time_format_flag 000341 internal static bit(1) initial dcl 123 set ref 490 819* old_total_flag 000335 internal static bit(1) initial dcl 123 set ref 483 813* online_rate 000256 internal static float bin(27) dcl 92 set ref 507 652 660* 756 1309* 1312 packed 0(07) 000412 automatic bit(1) level 2 in structure "af_return_descr" packed packed unaligned dcl 321 in procedure "gr" set ref 864* packed 0(07) 001064 automatic bit(1) initial level 2 in structure "active_string_descr_const" packed packed unaligned dcl 380 in procedure "gr" set ref 380* packed 0(07) 000413 automatic bit(1) level 2 in structure "temp_ioa_string_descr" packed packed unaligned dcl 324 in procedure "gr" set ref 724* 1360* packed 2(07) based bit(1) initial level 3 in structure "active_string" packed packed unaligned dcl 361 in procedure "gr" set ref 1275* 1279* pad 1(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 77 set ref 853* 1345* page_faults 6 000346 internal static fixed bin(34,0) level 2 in structure "new" dcl 173 in procedure "gr" set ref 524 540 552 764 page_faults 6 000364 internal static fixed bin(34,0) level 2 in structure "old" dcl 174 in procedure "gr" set ref 1298* page_faults 6 000402 internal static fixed bin(34,0) level 2 in structure "last" dcl 175 in procedure "gr" set ref 540 552* 764* 1298* paging_measure 4 000364 internal static fixed bin(71,0) level 2 in structure "old" dcl 174 in procedure "gr" set ref 513 762 1298* 1302* 1311 paging_measure 4 000402 internal static fixed bin(71,0) level 2 in structure "last" dcl 175 in procedure "gr" set ref 538 548* 762* 1311* 1312 paging_measure 4 000346 internal static fixed bin(71,0) level 2 in structure "new" dcl 173 in procedure "gr" set ref 507 513* 513 530 538 548 652 756 762 pd_faults 7 000402 internal static fixed bin(34,0) level 2 in structure "last" dcl 175 in procedure "gr" set ref 539 551* 763* 1298* pd_faults 7 000364 internal static fixed bin(34,0) level 2 in structure "old" dcl 174 in procedure "gr" set ref 1298* pd_faults 7 000346 internal static fixed bin(34,0) level 2 in structure "new" dcl 173 in procedure "gr" set ref 523 539 551 763 prefix_args 000335 constant char(8) initial array dcl 221 ref 882 883 process_hour_rate 000260 internal static float bin(27) dcl 92 set ref 659* 660 1304* 1307* 1307 1309 process_usage based structure level 1 unaligned dcl 1-3 ready_mode_flags parameter structure level 1 dcl 169 ref 414 ready_sw parameter bit(1) level 2 packed packed unaligned dcl 169 ref 452 real_index 000351 constant fixed bin(17,0) initial array dcl 211 ref 893 914 real_rate 000255 internal static float bin(27) dcl 92 set ref 658* 660 1304* 1306* 1306 1309 return_ptr 000150 automatic pointer dcl 146 set ref 672* 858 859 870* 871* segment_faults 12 000402 internal static fixed bin(34,0) level 2 in structure "last" dcl 175 in procedure "gr" set ref 541 553* 765* segment_faults 12 000364 internal static fixed bin(34,0) level 2 in structure "old" dcl 174 in procedure "gr" set ref 1298* segment_faults 12 000346 internal static fixed bin(34,0) level 2 in structure "new" dcl 173 in procedure "gr" set ref 525 541 553 765 set_level_flag 464 464 464 temp_cll 000340 automatic fixed bin(17,0) dcl 309 set ref 463 463 799 802 802 806 809 1191* temp_clp 000344 automatic pointer dcl 310 set ref 462 463 706* 796 809 1190* temp_date_flag 001034 automatic bit(1) dcl 343 set ref 474 708* 770 817 1115* temp_date_time_flag 001036 automatic bit(1) dcl 343 set ref 475 708* 772 818 1110* temp_flag 000253 automatic structure array level 1 dcl 216 set ref 692 692 temp_frame_flag 001030 automatic bit(1) dcl 343 set ref 472 707* 815 993* temp_inc_flag 001026 automatic bit(1) dcl 343 set ref 469 697* 812 924* 1365* temp_ioa_arg_list 000414 automatic structure level 1 dcl 331 set ref 786 temp_ioa_bvss based structure level 1 dcl 316 temp_ioa_string 000346 automatic varying char(132) dcl 313 set ref 684* 721* 721 727 787 795 835 837* 950* 950 1217* 1235* 1235 1272* 1272 1329* 1348 1351 1357 1363 temp_ioa_string_descr 000413 automatic structure level 1 packed packed unaligned dcl 324 set ref 789 794 1358 temp_last_active_string_ptr 001060 automatic pointer dcl 374 set ref 688* 1274 1275* 1276 1279 1280* 1280 1282 1283 1284 1285 1286 temp_level_flag 001027 automatic bit(1) dcl 343 set ref 471 707* 814 981* 1366* temp_n_active_strings 001063 automatic fixed bin(21,0) dcl 376 set ref 478 496* 626 687* 830 1090* 1090 temp_ready_flag 000107 automatic bit(1) dcl 59 set ref 453* 460 578 856* temp_reset_flag 001033 automatic bit(1) dcl 343 set ref 697* 749 752 1195* temp_revert_flag 001032 automatic bit(1) dcl 343 set ref 697* 735 1179* temp_set_flag 001031 automatic bit(1) dcl 343 set ref 697* 736 784 869 1175* 1327* 1347 temp_time_flag 001035 automatic bit(1) dcl 343 set ref 473 708* 771 816 1120* 1367* temp_time_format 000212 automatic char(60) packed unaligned dcl 182 set ref 477 820 1153* 1156* 1164* temp_time_format_flag 001037 automatic bit(1) dcl 343 set ref 476 708* 773 819 1166* temp_total_flag 001025 automatic bit(1) dcl 343 set ref 468 697* 813 918* time_flag 000102 automatic bit(1) dcl 59 set ref 473* 487* 516 771* 778 time_format 000231 automatic char(60) packed unaligned dcl 183 set ref 477* 491* 519* 780* 1149 1150 1150 time_format_flag 000105 automatic bit(1) dcl 59 set ref 476* 490* 519 773* 780 time_format_string 000715 internal static char(250) dcl 180 set ref 519* 780* 1164* 1167 time_string 000616 internal static char(250) dcl 179 set ref 516* 558* 778* 1122 1370 timer_manager_$alarm_call 001214 constant entry external dcl 152 ref 663 1333 timer_manager_$reset_alarm_call 001216 constant entry external dcl 153 ref 742 total 1 000253 automatic bit(1) array level 2 dcl 216 set ref 694* 915 917* total_bounds_faults 001145 internal static fixed bin(35,0) dcl 293 set ref 526* 1052 total_dollars 001127 internal static float bin(20) dcl 281 set ref 522* 1100 total_flag 000106 automatic bit(1) dcl 59 set ref 468* 483* 521 total_format_flag 001023 automatic bit(1) dcl 343 set ref 902* 908* 915 967 974 1009 1027 1042 1052 1062 1072 1078 1100 total_mem_units 001134 internal static float bin(20) dcl 281 set ref 530* 974 total_page_faults 001143 internal static fixed bin(35,0) dcl 293 set ref 524* 1012 1028 total_pd_faults 001142 internal static fixed bin(35,0) dcl 293 set ref 523* total_rcpu_time 001140 internal static float bin(20) dcl 281 set ref 531* 1078 total_seg_faults 001144 internal static fixed bin(35,0) dcl 293 set ref 525* 1042 total_vcpu_time 001136 internal static float bin(20) dcl 281 set ref 529* 967 total_vtoc_reads 001146 internal static fixed bin(35,0) dcl 293 set ref 527* 1062 total_vtoc_writes 001147 internal static fixed bin(35,0) dcl 293 set ref 528* 1072 twice_arg_count based fixed bin(17,0) level 2 packed packed unaligned dcl 77 set ref 850* 1342* twice_desc_count 1 based fixed bin(17,0) level 2 packed packed unaligned dcl 77 set ref 850* 1342* type 0(01) 000412 automatic bit(6) level 2 in structure "af_return_descr" packed packed unaligned dcl 321 in procedure "gr" set ref 863* type 2(01) based bit(6) initial level 3 in structure "active_string" packed packed unaligned dcl 361 in procedure "gr" set ref 1275* 1279* type 0(01) 001064 automatic bit(6) initial level 2 in structure "active_string_descr_const" packed packed unaligned dcl 380 in procedure "gr" set ref 380* type 0(01) 000413 automatic bit(6) level 2 in structure "temp_ioa_string_descr" packed packed unaligned dcl 324 in procedure "gr" set ref 723* 1359* user_info_$usage_data 001206 constant entry external dcl 147 ref 1302 values_set_flag 001024 automatic bit(1) dcl 343 set ref 697* 730 749 781 1192* 1218* 1232* 1271* vcpu_rate 000254 internal static float bin(27) dcl 92 set ref 507 652 657* 756 1304* 1305* 1305 1312 version 2 000160 automatic fixed bin(17,0) level 2 dcl 167 set ref 424* 581* virtual_cpu_time 10 000402 internal static fixed bin(71,0) l internal dcl 1225 ref 988 1000 1011 1016 1021 1035 1045 1055 1065 1075 1139 1170 1261 add_floating_arg 006574 constant entry internal dcl 1241 ref 971 978 1083 1106 change_shift 003312 constant entry external dcl 638 ref 663 663 742 742 1333 1333 check_format 005122 constant label dcl 888 ref 957 decode_arg_list 003470 constant label dcl 668 ref 407 do_control_arg 000031 constant label array(4) dcl 1175 ref 937 do_format 000000 constant label array(25) dcl 967 ref 928 do_prefix 000035 constant label array(2) dcl 1204 ref 883 do_ready 001464 constant label dcl 460 ref 867 869 end_of_read_loop 003670 constant label dcl 721 general_ready 001075 constant entry external dcl 53 got_pu_err 001657 constant label dcl 503 ref 641 755 gr 001065 constant entry external dcl 53 message 001112 constant entry external dcl 414 ref 870 870 next_format_arg 005314 constant label dcl 929 ref 892 906 no_precision 006700 constant label dcl 1253 ref 1247 no_sub_arg 006476 constant label dcl 1213 ref 1188 read_loop 003647 constant label dcl 714 ref 709 947 951 972 979 991 1003 1022 1036 1046 1056 1066 1076 1084 1098 1108 1140 1171 1177 1182 1193 1197 1219 repeated_option 003610 constant label dcl 711 ref 894 915 921 set_default_arg_list 007277 constant entry internal dcl 1339 ref 838 1330 setup_ready 007065 constant entry internal dcl 1296 ref 456 668 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 10110 11366 7474 10120 Length 12140 7474 1256 536 414 1156 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gr 779 external procedure is an external procedure. begin block on line 418 86 begin block uses auto adjustable storage, and enables or reverts conditions. on unit on line 422 140 on unit enables or reverts conditions. on unit on line 423 64 on unit begin block on line 462 80 begin block uses auto adjustable storage. begin block on line 571 134 begin block uses auto adjustable storage, and enables or reverts conditions. on unit on line 578 150 on unit enables or reverts conditions. on unit on line 580 64 on unit on unit on line 1154 98 on unit add_data_arg internal procedure shares stack frame of external procedure gr. add_floating_arg internal procedure shares stack frame of external procedure gr. add_active_string internal procedure shares stack frame of external procedure gr. setup_ready internal procedure shares stack frame of external procedure gr. set_default_arg_list internal procedure shares stack frame of external procedure gr. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 static_arg_list_ptr gr 000012 ioa_arg_list gr 000254 vcpu_rate gr 000255 real_rate gr 000256 online_rate gr 000257 new_online_rate gr 000260 process_hour_rate gr 000261 milli_mu_rate gr 000262 kmu_rate gr 000263 dollars_fudge gr 000264 first_time_flag gr 000265 old_cl gr 000326 old_cll gr 000330 old_cl_ptr gr 000332 old_cl_flag gr 000333 old_level_flag gr 000334 old_frame_flag gr 000335 old_total_flag gr 000336 old_time_flag gr 000337 old_date_flag gr 000340 old_date_time_flag gr 000341 old_time_format_flag gr 000342 old_inc_flag gr 000344 first_time gr 000346 new gr 000364 old gr 000402 last gr 000420 date_time_string gr 000517 date_string gr 000616 time_string gr 000715 time_format_string gr 001014 old_time_format gr 001033 dt gr 001041 dt_descr gr 001044 default_sw gr 001045 level_string gr 001051 level_ioa_string gr 001062 level_descr gr 001063 ioa_string gr 001124 ioa_string_descr gr 001125 float_descr gr 001126 integer_descr gr 001127 total_dollars gr 001130 inc_dollars gr 001131 new_dollars gr 001132 old_dollars gr 001133 last_dollars gr 001134 total_mem_units gr 001135 inc_mem_units gr 001136 total_vcpu_time gr 001137 inc_vcpu_time gr 001140 total_rcpu_time gr 001141 inc_rcpu_time gr 001142 total_pd_faults gr 001143 total_page_faults gr 001144 total_seg_faults gr 001145 total_bounds_faults gr 001146 total_vtoc_reads gr 001147 total_vtoc_writes gr 001150 inc_pd_faults gr 001151 inc_page_faults gr 001152 inc_seg_faults gr 001153 inc_bounds_faults gr 001154 inc_vtoc_reads gr 001155 inc_vtoc_writes gr 001156 old_number_of_data gr 001160 old_active_string_ptr gr 001162 old_last_active_string_ptr gr 001164 old_n_active_strings gr 001165 code gr STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 418 000100 cl_copy begin block on line 418 begin block on line 462 000100 temp_cl_copy begin block on line 462 begin block on line 571 000100 active_string_output begin block on line 571 gr 000100 level_flag gr 000101 frame_flag gr 000102 time_flag gr 000103 date_flag gr 000104 date_time_flag gr 000105 time_format_flag gr 000106 total_flag gr 000107 temp_ready_flag gr 000110 set_level_flag gr 000111 af_flag gr 000112 inc_flag gr 000114 cur_arg_list gr 000116 arg_list_ptr gr 000120 temp_argument_ptr gr 000122 temp_argument_descr_ptr gr 000124 new_vcpu_rate gr 000125 new_real_rate gr 000126 new_process_hour_rate gr 000127 new_kmu_rate gr 000130 new_milli_mu_rate gr 000132 login_time gr 000134 cl_ptr gr 000136 area_ptr gr 000140 now gr 000142 next_shift gr 000144 ioa_ptr gr 000146 max_length gr 000150 return_ptr gr 000160 ci gr 000212 temp_time_format gr 000231 time_format gr 000250 arg_index gr 000251 dt_offset_index gr 000252 idx gr 000253 temp_flag gr 000335 level_no gr 000336 frame_no gr 000337 arglen gr 000340 temp_cll gr 000342 arg_ptr gr 000344 temp_clp gr 000346 temp_ioa_string gr 000410 bvs_ptr gr 000412 af_return_descr gr 000413 temp_ioa_string_descr gr 000414 temp_ioa_arg_list gr 000656 argument_ptr gr 000736 argument_descr_ptr gr 001016 argnumber gr 001017 af_offset gr 001020 string_length gr 001021 number_of_data gr 001022 first_args_flag gr 001023 total_format_flag gr 001024 values_set_flag gr 001025 temp_total_flag gr 001026 temp_inc_flag gr 001027 temp_level_flag gr 001030 temp_frame_flag gr 001031 temp_set_flag gr 001032 temp_revert_flag gr 001033 temp_reset_flag gr 001034 temp_date_flag gr 001035 temp_time_flag gr 001036 temp_date_time_flag gr 001037 temp_time_format_flag gr 001040 doing_dollars gr 001041 incr_string_flag gr 001042 incr_string gr 001053 input_string_length gr 001054 active_string_ptr gr 001056 temp_active_string_ptr gr 001060 temp_last_active_string_ptr gr 001062 n_active_strings gr 001063 temp_n_active_strings gr 001064 active_string_descr_const gr 001066 get_arg_ptr_ gr 001072 err_ gr 001076 sub_error_info_ptr gr THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars enter_begin_block leave_begin_block call_ent_var_desc call_ent_var call_ext_out_desc call_ext_out return_mac tra_ext_1 alloc_auto_adj enable_op shorten_stack ext_entry int_entry set_chars_eis op_alloc_ alloc_storage op_freen_ index_after_cs clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ continue_to_signal_ cu_$af_arg_ptr cu_$af_return_arg cu_$arg_ptr cu_$cp cu_$decode_entry_value cu_$evaluate_active_string cu_$gen_call cu_$set_ready_proc date_time_ date_time_$format find_condition_info_ get_system_free_area_ gr_get_rates_ hcs_$get_process_usage ioa_$nnl ioa_$rsnnl ioa_$rsnpnnl listen_$get_level sub_err_ timer_manager_$alarm_call timer_manager_$reset_alarm_call user_info_$usage_data THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$inconsistent error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 380 001046 53 001064 406 001103 407 001106 414 001107 416 001120 417 001123 418 001131 419 001134 420 001144 422 001152 423 001166 424 001203 425 001207 426 001226 427 001231 428 001274 429 001276 431 001277 439 001345 442 001415 444 001417 445 001426 447 001427 449 001446 450 001447 452 001450 453 001454 455 001455 456 001460 457 001461 460 001464 462 001466 463 001475 464 001513 465 001532 466 001533 467 001541 468 001544 469 001546 470 001550 471 001552 472 001554 473 001556 474 001560 475 001562 476 001564 477 001566 478 001571 479 001573 480 001575 482 001576 483 001601 484 001603 485 001605 486 001607 487 001611 488 001613 489 001615 490 001617 491 001621 492 001624 493 001627 494 001631 495 001633 496 001635 497 001636 500 001637 501 001641 502 001654 503 001657 505 001703 507 001704 512 001727 513 001732 515 001735 516 001751 517 002012 518 002053 519 002116 521 002155 522 002157 523 002162 524 002164 525 002166 526 002170 527 002172 528 002174 529 002176 530 002203 531 002210 534 002215 535 002217 536 002223 537 002231 538 002237 539 002245 540 002250 541 002253 542 002256 543 002261 544 002264 547 002267 548 002272 549 002274 550 002276 551 002300 552 002302 553 002304 554 002306 555 002310 556 002312 558 002314 562 002357 563 002365 564 002375 565 002405 567 002460 568 002461 569 002462 571 002465 572 002470 605 002477 573 002501 574 002505 575 002507 576 002520 578 002523 580 002542 581 002557 582 002563 583 002602 584 002605 585 002661 586 002670 588 002671 597 002744 600 003027 602 003036 603 003046 605 003047 609 003116 611 003117 612 003122 613 003175 616 003203 618 003221 620 003232 621 003242 622 003244 623 003246 626 003257 627 003270 628 003272 629 003275 630 003304 632 003307 634 00337 1008 005552 1009 005556 1010 005560 1011 005562 1012 005563 1013 005566 1015 005567 1016 005571 1017 005572 1020 005575 1021 005601 1022 005602 1024 005603 1027 005606 1028 005610 1029 005612 1031 005613 1034 005615 1035 005621 1036 005622 1038 005623 1041 005626 1042 005632 1044 005637 1045 005641 1046 005642 1048 005643 1051 005646 1052 005652 1054 005657 1055 005661 1056 005662 1058 005663 1061 005666 1062 005672 1064 005677 1065 005701 1066 005702 1068 005703 1071 005706 1072 005712 1074 005717 1075 005721 1076 005722 1078 005723 1082 005731 1083 005734 1084 005735 1086 005736 1089 005742 1090 005743 1091 005744 1092 005745 1093 005762 1094 005765 1095 006010 1097 006011 1098 006012 1100 006013 1103 006021 1105 006024 1106 006026 1107 006027 1108 006030 1110 006031 1112 006032 1113 006035 1115 006036 1117 006037 1118 006042 1120 006043 1122 006044 1123 006047 1125 006050 1135 006055 1137 006057 1138 006061 1139 006072 1140 006073 1142 006074 1144 006075 1145 006112 1146 006115 1147 006140 1149 006141 1150 006144 1151 006204 1153 006205 1154 006211 1155 006225 1156 006244 1159 006301 1160 006305 1162 006334 1164 006337 1165 006376 1166 006377 1167 006401 1168 006403 1169 006405 1170 006411 1171 006412 1175 006413 1177 006415 1179 006416 1182 006420 1184 006421 1187 006422 1188 006437 1190 006442 1191 006444 1192 006446 1193 006450 1195 006451 1197 006453 1204 006454 1208 006455 1211 006456 1212 006473 1213 006476 1215 006530 1217 006531 1218 006542 1219 006544 1225 006545 1231 006546 1232 006547 1233 006551 1234 006555 1235 006557 1236 006573 1241 006574 1243 006575 1244 006600 1245 006605 1246 006606 1247 006622 1252 006677 1253 006700 1255 006704 1258 006706 1259 006710 1260 006732 1261 006733 1263 006734 1267 006735 1268 006736 1269 006737 1270 006744 1271 006745 1272 006747 1273 006763 1274 006765 1275 006771 1276 007016 1277 007017 1279 007020 1280 007045 1282 007046 1283 007051 1284 007053 1285 007055 1286 007062 1287 007064 1296 007065 1298 007066 1300 007103 1302 007106 1304 007125 1305 007144 1306 007150 1307 007153 1308 007156 1309 007161 1310 007164 1311 007166 1312 007170 1315 007212 1316 007213 1324 007215 1325 007216 1326 007221 1327 007225 1328 007227 1329 007230 1330 007250 1332 007252 1333 007254 1334 007276 1339 007277 1340 007300 1341 007304 1342 007306 1344 007317 1345 007321 1347 007323 1348 007325 1349 007332 1350 007334 1351 007340 1352 007350 1353 007352 1354 007353 1355 007354 1357 007355 1358 007357 1359 007363 1360 007367 1361 007371 1362 007373 1363 007375 1364 007377 1365 007404 1366 007406 1367 007407 1370 007410 1371 007415 1373 007431 1374 007433 1375 007441 1376 007443 1378 007451 1379 007453 1381 007461 ----------------------------------------------------------- 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