COMPILATION LISTING OF SEGMENT probe_modes_mgr_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/27/88 1239.4 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(88-09-07,WAAnderson), approve(88-09-30,MCR7952), 16* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 17* Added format control comment to make the source more readable. 18* END HISTORY COMMENTS */ 19 20 21 /* format: style1,insnl,ifthendo,indthenelse,^indnoniterdo,^inditerdo,indcom,^indthenbegin,^indprocbody,ind2,ll78,initcol0,dclind4,idind24,struclvlind1,comcol41 */ 22 23 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 24 25 probe_modes_mgr_: 26 proc (); 27 28 call probe_error_$malfunction (); /* dummy entry */ 29 30 /* This is a start at the modes_manager_ written so that 31* code which needs it can at least be debugged 32* 33* James R. Davis 12 July 79 34* Modified 15 Sept 79 to hide set_modes and print_modes from world 35* 36* *** ENTRIES HERE *** 37* 38* mode_request - implements probe's "mode" request 39* excludep - tells whether or not a given name should be excluded 40**/ 41 /* Made prompt mode static 04/26/82 S. Herbst */ 42 /* Added "mode meter" to meter time, vcpu and pf's at halts 09/23/82 S. Herbst */ 43 /* Added "mode truncate_strings" 05/21/84 S. Herbst */ 44 45 /* COMMON PARAMETERS */ 46 47 dcl P_probe_info_ptr ptr parameter; 48 dcl P_acc_ptr ptr parameter; 49 /* input: to an acc string */ 50 dcl P_probe_modes_ptr pointer parameter; 51 /* input: ptr to probe_modes structure to be init'd */ 52 53 /* the OFFICIAL names of the values of the len-type probe modes for i = 1 to 3 */ 54 55 dcl official_mode_names (3) char (8) aligned internal static 56 options (constant) 57 init ("brief", "short", "long"); 58 dcl unofficial_mode_names (3) char (2) aligned internal static 59 options (constant) init ("bf", "sh", "lg"); 60 61 dcl code fixed bin (35); 62 /* global error code */ 63 64 dcl probe_error_ entry options (variable); 65 dcl probe_error_$record entry options (variable); 66 dcl probe_error_$malfunction 67 entry options (variable); 68 dcl cpu_time_and_paging_ entry (fixed bin, fixed bin (71), fixed bin); 69 dcl ioa_$ioa_switch entry options (variable); 70 71 dcl ( 72 probe_et_$syntax_error, 73 probe_et_$too_many_args 74 ) fixed bin (35) external static; 75 76 dcl (clock, fixed, hbound, lbound, length, string, vclock) 77 builtin; 78 /* */ 79 80 probe_modes_mgr_$mode_request: 81 entry (P_probe_info_ptr); 82 83 /* * This entry implements the "mode" request for probe. It is here because this is 84* * where all the other stuff concerned with modes is kept. */ 85 86 probe_info_ptr = P_probe_info_ptr; 87 88 if probe_info.ct -> token.type >= probe_info.end_token 89 then call print_modes (); 90 else call set_mode (); 91 return; 92 93 94 probe_modes_mgr_$excludep: 95 entry (P_probe_info_ptr, P_acc_ptr) returns (bit (1) aligned); 96 97 /* DUMMY ENTRY FOR NOW */ 98 99 return ("0"b); /* exclude nothing */ 100 101 102 probe_modes_mgr_$init: 103 entry (P_probe_modes_ptr); 104 105 /* * This is a special entry, called during probe initialization to set the per-process 106* * modes structure to its default values, either consed up out of whole cloth or 107* * copied from Person_id.probe. */ 108 109 string (P_probe_modes_ptr -> probe_modes.bits) = ""b; 110 111 P_probe_modes_ptr -> probe_modes.len_modes = 0; 112 P_probe_modes_ptr -> probe_modes.len_modes.error_messages = LONG_mode_type; 113 P_probe_modes_ptr -> probe_modes.len_modes.qualification = SHORT_mode_type; 114 P_probe_modes_ptr -> probe_modes.len_modes.value_print = LONG_mode_type; 115 /* for now */ 116 117 P_probe_modes_ptr -> probe_modes.value_separator = " = "; 118 /* fun to parse, eh? */ 119 P_probe_modes_ptr -> probe_modes.use_exclude_names = "0"b; 120 P_probe_modes_ptr -> probe_modes.octal_bitstrings = "0"b; 121 P_probe_modes_ptr -> probe_modes.use_prompt = "0"b; 122 123 P_probe_modes_ptr -> probe_modes.debug_modes_set = "0"b; 124 /* announce special debugging modes */ 125 P_probe_modes_ptr -> probe_modes.ignore_faults = "0"b; 126 P_probe_modes_ptr -> probe_modes.catch_errors = "0"b; 127 P_probe_modes_ptr -> probe_modes.catch_error_once = "0"b; 128 P_probe_modes_ptr -> probe_modes.debug_breaks = "0"b; 129 P_probe_modes_ptr -> probe_modes.debug = "0"b; 130 P_probe_modes_ptr -> probe_modes.meter = "0"b; 131 P_probe_modes_ptr -> probe_modes.truncate_strings = "1"b; 132 return; /* end of code for this entry */ 133 134 135 /* INTERNAL PROCEDURES: */ 136 137 print_modes: 138 proc; 139 140 /* print the names of all modes and their values */ 141 142 call mp ("error_messages", probe_modes.error_messages); 143 call mp ("qualification", probe_modes.qualification); 144 call mp ("value_print", probe_modes.value_print); 145 146 call bp ("truncate_strings", probe_modes.truncate_strings); 147 call bp ("meter", probe_modes.meter); 148 call bp ("prompt", probe_modes.use_prompt); 149 if probe_modes.use_prompt 150 then call ioa_$ioa_switch (probe_info.output_switch, 151 "prompt string = ""^va""", 152 length (probe_static_info.prompt), probe_static_info.prompt); 153 154 /* we don't tell them about MAGIC modes such as debug = unless they are in debug mode */ 155 156 if probe_modes.debug_modes_set then do; 157 call bp ("ignore_faults", probe_modes.ignore_faults); 158 call bp ("catch_errors", probe_modes.catch_errors); 159 call bp ("catch_error_once", probe_modes.catch_error_once); 160 call bp ("debug_breaks", probe_modes.debug_breaks); 161 call bp ("debug", probe_modes.debug); 162 end; /* *MAGIC* modes */ 163 164 call ioa_$ioa_switch (probe_info.output_switch, "value_separator = ""^va""", 165 length (probe_modes.value_separator), probe_modes.value_separator); 166 167 /* add exclude name code later */ 168 return; 169 170 171 172 mp: 173 proc (name, value); /* if this were LISP, we wouldnt need this program */ 174 175 /* * This prints the value of a mode which can be "short", "brief", or "long". */ 176 177 dcl name char (*) parameter; 178 dcl value fixed bin parameter; 179 180 if value >= lbound (official_mode_names, 1) & 181 value <= hbound (official_mode_names, 1) 182 then 183 call ioa_$ioa_switch (probe_info.output_switch, "^a = ^a", name, 184 official_mode_names (value)); 185 else call probe_error_$malfunction (probe_info_ptr, 0, 186 "Bad value ^d for mode ^a", value, name); 187 188 189 end mp; 190 191 192 bp: 193 proc (name, bitv); 194 195 /* * This prints the value of a mode which is either ON or OFF. */ 196 197 dcl name char (*) parameter; 198 dcl bitv bit (1) unal parameter; 199 dcl bitv_name (0:1) char (4) aligned internal static 200 options (constant) init ("off", "on"); 201 202 call ioa_$ioa_switch (probe_info.output_switch, "^a: ^a", name, 203 bitv_name (fixed (bitv))); 204 end bp; 205 206 end print_modes; 207 208 set_mode: 209 proc; 210 211 dcl identifiers_name char (probe_info.ct -> identifier.length) 212 based (probe_info.ct -> identifier.name); 213 dcl constant_string char (probe_info.ct -> constant.precision) 214 based (probe_info.ct -> constant.data_ptr); 215 dcl mode_name char (32); 216 dcl mode_value char (32) varying; 217 218 if probe_info.ct -> token.type ^= NAME_TYPE 219 then 220 call probe_error_ (probe_info_ptr, probe_et_$syntax_error, 221 "Invalid mode name."); 222 223 mode_name = identifiers_name; 224 225 probe_info.ct = probe_info.ct -> token.next; 226 /* look at value for this mode */ 227 228 if probe_info.ct -> token.type >= end_token 229 then 230 call probe_error_ (probe_info_ptr, probe_et_$syntax_error, 231 "A value for the ^a mode must be specified", mode_name); 232 233 if probe_info.ct -> token.type = NAME_TYPE 234 then 235 mode_value = identifiers_name; 236 237 else if probe_info.ct -> token.type = CONSTANT_TYPE 238 & probe_info.ct -> constant.data_type = char_dtype * 2 239 then 240 mode_value = constant_string; 241 242 else call probe_error_ 243 (probe_info_ptr, probe_et_$syntax_error, "Invalid mode value."); 244 245 if probe_info.ct -> token.next -> token.type < probe_info.end_token 246 then 247 call probe_error_ (probe_info_ptr, probe_et_$too_many_args); 248 249 if mode_name = "error_messages" | mode_name = "em" 250 then 251 probe_modes.error_messages = set_len (); 252 else if mode_name = "qualification" | mode_name = "qf" 253 then 254 probe_modes.qualification = set_len (); 255 else if mode_name = "value_print" | mode_name = "vp" 256 then 257 probe_modes.value_print = set_len (); 258 else if mode_name = "value_separator" | mode_name = "vs" 259 then 260 probe_modes.value_separator = mode_value; 261 262 else if mode_name = "meter" then do; /* set metering of time, vcpu, pf's at halts */ 263 probe_modes.meter = set_bit (); 264 if probe_modes.meter then do; 265 probe_static_info.last_clock = clock (); 266 probe_static_info.last_vclock = vclock (); 267 call cpu_time_and_paging_ (probe_static_info.last_page_faults, 0, 0) 268 ; 269 end; 270 end; 271 272 else if mode_name = "truncate_strings" 273 then /* set whether value req prints only 1st 200 */ 274 probe_modes.truncate_strings = set_bit (); 275 276 else if mode_name = "prompt" 277 then /* turn prompting on and off */ 278 probe_static_info.prompt_on_sw = set_bit (); 279 else if mode_name = "prompt_string" 280 then 281 probe_static_info.prompt = mode_value; 282 283 else if mode_name = "ignore_faults" 284 then /* *MAGIC* */ 285 probe_modes.ignore_faults = set_bit (); 286 else if mode_name = "catch_errors" | mode_name = "catch_error" 287 then /* *MAGIC* */ 288 probe_modes.catch_errors = set_bit (); 289 else if mode_name = "catch_error_once" | mode_name = "ceo" 290 then /* *MAGIC* */ 291 probe_modes.catch_error_once = set_bit (); 292 else if mode_name = "debug_breaks" 293 then 294 probe_modes.debug_breaks = set_bit (); 295 else if mode_name = "debug" 296 then 297 probe_modes.debug = set_bit (); 298 299 else call probe_error_ (probe_info_ptr, 0, 300 "There is no mode named ""^a""", mode_name); 301 302 if probe_modes.ignore_faults 303 | probe_modes.catch_errors /* see if any debugging modes are set */ 304 | probe_modes.catch_error_once | probe_modes.debug_breaks 305 | probe_modes.debug 306 then 307 probe_modes.debug_modes_set = "1"b; 308 /* and record that fact */ 309 else probe_modes.debug_modes_set = "0"b; 310 return; 311 312 313 set_len: 314 proc () returns (fixed bin); 315 316 dcl i fixed bin; 317 318 319 do i = 1 to hbound (official_mode_names, 1); 320 if mode_value = official_mode_names (i) 321 | mode_value = unofficial_mode_names (i) 322 then 323 return (i); 324 end; 325 326 call probe_error_ (probe_info_ptr, 0, 327 """^a"" is not a valid value for the ""^a"" mode", 328 mode_value, mode_name); 329 end set_len; 330 331 332 set_bit: 333 proc () returns (bit (1)); 334 335 if mode_value = "true" | mode_value = "on" | mode_value = "yes" | 336 mode_value = "TRUE" | mode_value = "ON" | mode_value = "YES" 337 then 338 return ("1"b); 339 340 else if mode_value = "false" | mode_value = "off" | mode_value = "no" | 341 mode_value = "FALSE" | mode_value = "OFF" | mode_value = "NO" 342 then 343 return ("0"b); 344 345 else call probe_error_ (probe_info_ptr, 0, 346 "The ""^a"" mode can only be set ""on"" or ""off""", mode_name); 347 end set_bit; 348 end set_mode; 349 350 351 /* INCLUDE FILES: */ 352 353 354 1 1 /* BEGIN INCLUDE FILE probe_info.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(88-10-24,WAAnderson), approve(88-10-24,MCR7952), 1 7* audit(88-10-24,RWaters), install(88-10-27,MR12.2-1194): 1 8* Added field 'retry_using_main' to add new C feature. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 /* Created: 04/22/79 W. Olin Sibert, from subsystem_info 1 13* Modified: 22 Sept 79 JRd to remove: default (ptr & (auto|based)) init (null ()); 1 14* Added flags.setting_break 08/22/83 Steve Herbst 1 15* Added flags.executing_quit_request 01/15/85 Steve Herbst 1 16**/ 1 17 1 18 dcl 1 probe_info aligned based (probe_info_ptr), /* standard data for a probe invocation */ 1 19 2 probe_info_version fixed bin, /* version of this structure */ 1 20 1 21 2 static_info_ptr pointer unaligned, /* pointer to static information structure */ 1 22 2 modes_ptr pointer unaligned, /* pointer to probe_modes structure */ 1 23 1 24 2 ptr_to_current_source ptr, /* current_source is based on this */ 1 25 2 ptr_to_initial_source ptr, /* initial_source is based on this */ 1 26 2 machine_cond_ptr pointer, /* pointer to machine conditions, if we faulted to get here */ 1 27 1 28 2 token_info aligned, /* information about token chain currently being processed */ 1 29 3 first_token pointer unaligned, /* first token in chain */ 1 30 3 ct pointer unaligned, /* pointer to current token; updated in MANY places */ 1 31 3 end_token bit (18) aligned, /* token type at which to stop scanning token chain */ 1 32 3 buffer_ptr pointer unaligned, /* pointer to input buffer */ 1 33 3 buffer_lth fixed bin (21), /* and length */ 1 34 1 35 2 random_info aligned, 1 36 3 current_stack_frame pointer unaligned, /* stack frame pointer for frame in which probe was invoked */ 1 37 3 input_type fixed bin, /* current input type */ 1 38 3 language_type fixed bin, /* current language being processed */ 1 39 3 return_method fixed bin, /* how we should return after exiting probe */ 1 40 3 entry_method fixed bin, /* how we got here in the first place */ 1 41 3 pad1 (19) bit (36) aligned, 1 42 1 43 2 break_info, /* break info -- only interesting if we got here via a break */ 1 44 3 break_slot_ptr pointer, /* pointer to break slot -- non-null IFF at a break */ 1 45 3 last_break_slot_ptr pointer unaligned, /* pointer to previous break slot, not presently used */ 1 46 3 break_reset bit (1) aligned, /* this break has been reset by somebody further on */ 1 47 3 real_break_return_loc pointer, /* where to REALLY return to, modulo previous bit */ 1 48 1 49 2 probe_area_info, /* information about various probe areas */ 1 50 3 break_segment_ptr pointer unaligned, /* pointer to Personid.probe */ 1 51 3 break_area_ptr pointer unaligned, /* pointer to area in break segment */ 1 52 3 scratch_area_ptr pointer unaligned, /* pointer to probe scratch seg in process dir */ 1 53 3 probe_area_ptr pointer unaligned, /* This area lasts as long as an invocation of probe. */ 1 54 3 work_area_ptr pointer unaligned, /* This area lasts as long as the current request line */ 1 55 3 expression_area_ptr pointer unaligned, /* This area lasts as long as the current command */ 1 56 1 57 2 flags aligned, /* this, in particular, should be saved and restored correctly */ 1 58 (3 execute, /* "1"b => execute requests, "0"b => just check syntax */ 1 59 3 in_listener, /* ON => in probe listener loop */ 1 60 3 executing_request, /* ON => executing a request */ 1 61 3 in_interpret_line, /* executing in probe_listen_$interpret_line */ 1 62 3 setting_break, /* executing "after" or "before": check syntax of "if" */ 1 63 3 executing_quit_request, /* to prevent error looping during "quit" request */ 1 64 3 pad (30)) bit (1) unaligned, 1 65 1 66 2 io_switches, /* switches probe will do normal I/O on */ 1 67 3 input_switch pointer, 1 68 3 output_switch pointer, 1 69 1 70 2 error_info, /* information about the last error saved for later printing */ 1 71 3 error_code fixed bin (35), 1 72 3 error_message char (300) varying, 1 73 1 74 2 listener_info, /* internal use by probe listener */ 1 75 3 request_name character (32) varying, /* primary name of the request being processed */ 1 76 3 abort_probe_label label variable, 1 77 3 abort_line_label label variable, 1 78 3 depth fixed binary, /* count of active invocations of probe */ 1 79 3 previous pointer unaligned, /* -> previous invocation's info */ 1 80 3 next pointer unaligned, 1 81 1 82 2 end_of_probe_info pointer aligned, 1 83 2 retry_using_main fixed bin aligned; 1 84 1 85 1 86 dcl probe_info_ptr pointer; 1 87 1 88 dcl probe_info_version fixed bin static options (constant) initial (1); 1 89 1 90 dcl probe_info_version_1 fixed bin static options (constant) initial (1); 1 91 1 92 dcl scratch_area area based (probe_info.scratch_area_ptr); 1 93 dcl probe_area area based (probe_info.probe_area_ptr); 1 94 dcl work_area area based (probe_info.work_area_ptr); 1 95 dcl expression_area area based (probe_info.expression_area_ptr); 1 96 1 97 /* END INCLUDE FILE probe_info.incl.pl1 */ 355 356 357 /* ;;;;;;; */ 358 2 1 /* BEGIN INCLUDE FILE probe_static_info.incl.pl1 */ 2 2 2 3 /* * This include file describes per-process information about probe, such 2 4* * as various options available and the info directories and modes. 2 5* * 2 6* * Created: 06/06/79 W. Olin Sibert */ 2 7 2 8 dcl 1 probe_static_info aligned based (probe_info.static_info_ptr), /* per-process data about probe */ 2 9 2 probe_info_version fixed bin, /* same as probe_info.probe_info_version */ 2 10 2 11 2 version aligned, 2 12 3 major_version fixed bin, 2 13 3 minor_version fixed bin, 2 14 3 version_string char (32) unaligned, /* like "4.3f, patch 1" */ 2 15 2 16 2 name char (32) unaligned, /* "probe" */ 2 17 2 prompt character (40) varying, /* prompt for reading requests */ 2 18 2 switches, 2 19 3 brief_sw bit (1) unaligned, /* briefer break messages, no header (default OFF) */ 2 20 3 no_handle_faults_sw bit (1) unaligned, /* don't handle bad ptr faults (default OFF) */ 2 21 3 recursive_breaks_sw bit (1) unaligned, /* don't ignore recursive breaks in probe */ 2 22 3 prompt_on_sw bit (1) unaligned, /* prompt for request lines */ 2 23 3 switch_pad bit (32) unaligned, 2 24 2 25 2 scratch_segment_ptr pointer, /* pointer to probe_scratch_ -- always valid */ 2 26 2 break_segment_ptr pointer, /* pointer to Person.breaks -- valid only if needed */ 2 27 2 28 2 seg_info_offset_ptr pointer, /* pointer to seg_info_offset array */ 2 29 2 30 2 probe_segno bit (18), /* segment number of probe itself */ 2 31 2 last_break_segno bit (18), /* segment number of last interrupted program */ 2 32 2 33 2 stack_info aligned, /* information about the stack trace in probe_scratch_ */ 2 34 3 level_chain pointer unaligned, /* first level frame entry pointer */ 2 35 3 max_level fixed bin, /* number of stack levels */ 2 36 3 flags aligned, 2 37 (4 good_stack, 2 38 4 traced_with_all, /* whether the stack trace includes support frames */ 2 39 4 pad1 (34)) bit (1) unaligned, 2 40 2 41 2 modes_ptr pointer unaligned, /* pointer to modes -- same as probe_info.modes_ptr */ 2 42 2 43 2 request_table_info aligned, /* info for request definitions */ 2 44 3 array_ptr pointer, /* pointer to array of request table pointers */ 2 45 3 array_size fixed bin, /* number of elements in use */ 2 46 3 array_max_size fixed bin, /* max number of elements in array */ 2 47 3 using_internal_array bit (1) aligned, /* whether or not we are using the array in probe_static_info */ 2 48 2 49 2 io_switches, /* switches probe does its I/O on */ 2 50 3 input_switch pointer, 2 51 3 output_switch pointer, 2 52 3 (private_input_sw, private_output_sw) bit (1) aligned, 2 53 /* created by ids, ods and should be destroyed */ 2 54 2 55 2 info_directory_info aligned, /* info about info directories */ 2 56 3 array_ptr pointer, 2 57 3 array_size fixed bin, 2 58 3 array_max_size fixed bin, 2 59 3 using_internal_array bit (1) aligned, 2 60 2 61 2 exclude_name_info aligned, /* info for exclude array used in printing values */ 2 62 3 array_ptr pointer, 2 63 3 array_size fixed bin, 2 64 3 array_max_size fixed bin, 2 65 3 using_internal_array bit (1) aligned, 2 66 2 67 2 null_seg_info_ptr pointer unaligned, /* pointer to the "null" seg_info block */ 2 68 2 69 2 initial_arrays, /* initial versions of various arrays */ 2 70 3 request_table_ptr_array (10) pointer aligned, 2 71 3 info_directory_name_array (3) char (168) unaligned, 2 72 3 exclude_name_array (6) char (32) unaligned, 2 73 2 74 2 metering_info, /* last values for "mode meter" */ 2 75 3 last_clock fixed bin (71), 2 76 3 last_vclock fixed bin (71), 2 77 3 last_page_faults fixed bin, 2 78 2 79 2 end_of_probe_static_info fixed bin; 2 80 2 81 2 82 dcl 1 probe_seg_info_array aligned based (probe_static_info.seg_info_offset_ptr), 2 83 2 count fixed bin, /* number of entries in seg_info_offset array */ 2 84 2 seg_info_offset (0 : seg_info_offset_count refer (probe_seg_info_array.count)) bit (18) aligned; 2 85 2 86 dcl seg_info_offset_count fixed bin; /* one less than the number of info_offsets */ 2 87 2 88 dcl probe_request_tables (probe_static_info.request_table_info.array_max_size) /* array of request table pointers */ 2 89 pointer aligned based (probe_static_info.request_table_info.array_ptr); 2 90 2 91 dcl probe_info_directories (probe_static_info.info_directory_info.array_max_size) /* array of info directories */ 2 92 char (168) unaligned based (probe_static_info.info_directory_info.array_ptr); 2 93 2 94 dcl probe_exclude_names (probe_static_info.exclude_name_info.array_max_size) /* array of exclude names */ 2 95 char (168) unaligned based (probe_static_info.exclude_name_info.array_ptr); 2 96 2 97 /* END INCLUDE FILE probe_static_info.incl.pl1 */ 359 360 361 /* ;;;;;;; */ 362 3 1 /* BEGIN INCLUDE FILE ... probe_modes.incl.pl1 3 2* 3 3* this structure is part of the per-user data base, which alledgedly is 3 4* kept in person_id.probe no probe code other than probe_modes_mgr_ 3 5* should set these modes, or refer to them BY NAME in communication 3 6* with the user I do not even promise a one-to-one correspondance 3 7* between the modes the user can set and the names here 3 8* 3 9* James R. Davis 12 July 79 */ 3 10 /* Added meter 09/23/82 S. Herbst */ 3 11 /* Added truncate_strings 05/21/84 S. Herbst */ 3 12 3 13 3 14 dcl 1 probe_modes aligned based (probe_info.modes_ptr), 3 15 2 len_modes, 3 16 3 error_messages fixed bin, /* for use by probe_error_ */ 3 17 3 qualification fixed bin, /* for use by probe_print_value_ */ 3 18 3 value_print fixed bin, /* for probe_print_value_ */ 3 19 3 pad (5) fixed bin, /* for use by probe_mxyzptlk */ 3 20 2 value_separator char (32) varying, 3 21 2 bits, 3 22 3 use_exclude_names bit (1) unal, 3 23 3 debug_modes_set bit (1) unaligned, /* whether any of the *MAGIC* modes are set */ 3 24 3 ignore_faults bit (1) unaligned, 3 25 3 octal_bitstrings bit (1) unal, /* for Olin Sibert */ 3 26 3 catch_errors bit (1) unaligned, /* calls to probe_error_ will call cu_$cl */ 3 27 3 catch_error_once bit (1) unaligned, /* next call to probe_error_ will call cu_$cl */ 3 28 3 debug_breaks bit (1) unaligned, /* causes various things to happen at breakpoints */ 3 29 3 use_prompt bit (1) unaligned, /* whether to use the prompt */ 3 30 3 debug bit (1) unaligned, /* controls printing of random debugging information */ 3 31 3 meter bit (1) unaligned, /* controls printing of time, vcpu, pf's at halt */ 3 32 3 truncate_strings bit (1) unaligned, /* controls value req printing only 1st 200 chars/bits */ 3 33 3 pad bit (25) unaligned; 3 34 3 35 dcl (BRIEF_mode_type init (1), 3 36 SHORT_mode_type init (2), 3 37 LONG_mode_type init (3)) fixed bin internal static options (constant); 3 38 3 39 /* END INCLUDE FILE ... probe_modes.incl.pl1 */ 3 40 363 364 365 /* ;;;;;;; */ 366 4 1 /* BEGIN INCLUDE FILE probe_tokens.incl.pl1 */ 4 2 /* Split up into probe_tokens and probe_references, 04/22/79 WOS */ 4 3 4 4 dcl 1 token_header aligned based, /* header information common to all tokens */ 4 5 2 next pointer unaligned, /* pointer to next token in chain */ 4 6 2 prev pointer unaligned, /* same for previous token */ 4 7 2 type bit (18) aligned, 4 8 2 buffer_ptr pointer unaligned, /* pointer to beginning of input buffer */ 4 9 2 location fixed bin (17) unal, /* offset in input buffer */ 4 10 2 length fixed bin (17) unal, 4 11 2 flags aligned, 4 12 (3 leading_whitespace, /* there is whitespace before thios token */ 4 13 3 trailing_whitespace) bit (1) unaligned, /* and same for after */ 4 14 3 pad1 bit (34) unaligned; 4 15 4 16 dcl 1 token aligned based, /* produced by scan_probe_input_ */ 4 17 2 header aligned like token_header; /* that's all there is */ 4 18 4 19 dcl 1 identifier aligned based, /* keyword or identifier token */ 4 20 2 header aligned like token_header, 4 21 2 length fixed bin, /* length of name */ 4 22 2 name pointer unaligned; /* to string in buffer containing name */ 4 23 4 24 dcl 1 operator aligned based, /* for punctuation */ 4 25 2 header aligned like token_header; /* nothing but a header here */ 4 26 4 27 dcl 1 constant aligned based, /* for strings pointers numbers etc */ 4 28 2 header aligned like token_header, 4 29 2 encoded_precision aligned, /* encoded precision kludge for assign_ */ 4 30 3 scale fixed bin (17) unaligned, /* arithmetic scale */ 4 31 3 precision fixed bin (17) unaligned, /* arithmetic precision or other size */ 4 32 2 scale_and_precision fixed bin (35), /* An identical copy of the two values above */ 4 33 2 data_type fixed bin, /* standard data type code + packed bit */ 4 34 2 data_ptr pointer unaligned; 4 35 4 36 4 37 dcl (OPERATOR_TYPE init ("100"b), /* types for above */ 4 38 NAME_TYPE init ("010"b), 4 39 CONSTANT_TYPE init ("001"b)) bit (18) internal static options (constant); 4 40 4 41 4 42 dcl current_identifier_name /* Overlays for looking at the current tokens */ 4 43 char (probe_info.ct -> identifier.length) based (probe_info.ct -> identifier.name); 4 44 dcl 1 current_constant aligned like constant based (probe_info.ct); 4 45 dcl 1 current_token aligned like token based (probe_info.ct); 4 46 4 47 /* END INCLUDE FILE probe_tokens.incl.pl1 */ 367 368 369 /* ;;;;;;; */ 370 5 1 /* BEGIN INCLUDE FILE --- acc.incl.pl1 5 2* 5 3*James R. Davis 21 Nov 78 5 4**/ 5 5 5 6 dcl 1 acc based aligned, 5 7 2 num_chars fixed bin (9) unsigned unaligned, 5 8 2 string char (0 refer (acc.num_chars)) unaligned; 5 9 5 10 /* END INCLUDE FILE --- acc.incl.pl1 */ 371 372 373 /* ;;;;;;; */ 374 6 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 6 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 6 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 6 8* Objects of this type are PASCAL string types. 6 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 6 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 6 11* Added the new C types. 6 12* END HISTORY COMMENTS */ 6 13 6 14 /* This include file defines mnemonic names for the Multics 6 15* standard descriptor types, using both pl1 and cobol terminology. 6 16* PG 780613 6 17* JRD 790530 6 18* JRD 791016 6 19* MBW 810731 6 20* TGO 830614 Add hex types. 6 21* Modified June 83 JMAthane to add PASCAL data types 6 22* TGO 840120 Add float dec extended and generic, float binary generic 6 23**/ 6 24 6 25 dcl (real_fix_bin_1_dtype init (1), 6 26 real_fix_bin_2_dtype init (2), 6 27 real_flt_bin_1_dtype init (3), 6 28 real_flt_bin_2_dtype init (4), 6 29 cplx_fix_bin_1_dtype init (5), 6 30 cplx_fix_bin_2_dtype init (6), 6 31 cplx_flt_bin_1_dtype init (7), 6 32 cplx_flt_bin_2_dtype init (8), 6 33 real_fix_dec_9bit_ls_dtype init (9), 6 34 real_flt_dec_9bit_dtype init (10), 6 35 cplx_fix_dec_9bit_ls_dtype init (11), 6 36 cplx_flt_dec_9bit_dtype init (12), 6 37 pointer_dtype init (13), 6 38 offset_dtype init (14), 6 39 label_dtype init (15), 6 40 entry_dtype init (16), 6 41 structure_dtype init (17), 6 42 area_dtype init (18), 6 43 bit_dtype init (19), 6 44 varying_bit_dtype init (20), 6 45 char_dtype init (21), 6 46 varying_char_dtype init (22), 6 47 file_dtype init (23), 6 48 real_fix_dec_9bit_ls_overp_dtype init (29), 6 49 real_fix_dec_9bit_ts_overp_dtype init (30), 6 50 real_fix_bin_1_uns_dtype init (33), 6 51 real_fix_bin_2_uns_dtype init (34), 6 52 real_fix_dec_9bit_uns_dtype init (35), 6 53 real_fix_dec_9bit_ts_dtype init (36), 6 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 6 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 6 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 6 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 6 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 6 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 6 60 real_flt_dec_4bit_bytealigned_dtype init (44), 6 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 6 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 6 63 real_flt_hex_1_dtype init (47), 6 64 real_flt_hex_2_dtype init (48), 6 65 cplx_flt_hex_1_dtype init (49), 6 66 cplx_flt_hex_2_dtype init (50), 6 67 c_typeref_dtype init (54), 6 68 c_enum_dtype init (55), 6 69 c_enum_const_dtype init (56), 6 70 c_union_dtype init (57), 6 71 algol68_straight_dtype init (59), 6 72 algol68_format_dtype init (60), 6 73 algol68_array_descriptor_dtype init (61), 6 74 algol68_union_dtype init (62), 6 75 6 76 cobol_comp_6_dtype init (1), 6 77 cobol_comp_7_dtype init (1), 6 78 cobol_display_ls_dtype init (9), 6 79 cobol_structure_dtype init (17), 6 80 cobol_char_string_dtype init (21), 6 81 cobol_display_ls_overp_dtype init (29), 6 82 cobol_display_ts_overp_dtype init (30), 6 83 cobol_display_uns_dtype init (35), 6 84 cobol_display_ts_dtype init (36), 6 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 6 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 6 87 cobol_comp_5_uns_dtype init (40), 6 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 6 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 6 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 6 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 6 92 cplx_flt_dec_generic_dtype init (84), 6 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 6 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 6 95 6 96 dcl (ft_integer_dtype init (1), 6 97 ft_real_dtype init (3), 6 98 ft_double_dtype init (4), 6 99 ft_complex_dtype init (7), 6 100 ft_complex_double_dtype init (8), 6 101 ft_external_dtype init (16), 6 102 ft_logical_dtype init (19), 6 103 ft_char_dtype init (21), 6 104 ft_hex_real_dtype init (47), 6 105 ft_hex_double_dtype init (48), 6 106 ft_hex_complex_dtype init (49), 6 107 ft_hex_complex_double_dtype init (50) 6 108 ) fixed bin internal static options (constant); 6 109 6 110 dcl (algol68_short_int_dtype init (1), 6 111 algol68_int_dtype init (1), 6 112 algol68_long_int_dtype init (2), 6 113 algol68_real_dtype init (3), 6 114 algol68_long_real_dtype init (4), 6 115 algol68_compl_dtype init (7), 6 116 algol68_long_compl_dtype init (8), 6 117 algol68_bits_dtype init (19), 6 118 algol68_bool_dtype init (19), 6 119 algol68_char_dtype init (21), 6 120 algol68_byte_dtype init (21), 6 121 algol68_struct_struct_char_dtype init (22), 6 122 algol68_struct_struct_bool_dtype init (20) 6 123 ) fixed bin internal static options (constant); 6 124 6 125 dcl (label_constant_runtime_dtype init (24), 6 126 int_entry_runtime_dtype init (25), 6 127 ext_entry_runtime_dtype init (26), 6 128 ext_procedure_runtime_dtype init (27), 6 129 picture_runtime_dtype init (63) 6 130 ) fixed bin internal static options (constant); 6 131 6 132 dcl (pascal_integer_dtype init (1), 6 133 pascal_real_dtype init (4), 6 134 pascal_label_dtype init (24), 6 135 pascal_internal_procedure_dtype init (25), 6 136 pascal_exportable_procedure_dtype init (26), 6 137 pascal_imported_procedure_dtype init (27), 6 138 pascal_typed_pointer_type_dtype init (64), 6 139 pascal_char_dtype init (65), 6 140 pascal_boolean_dtype init (66), 6 141 pascal_record_file_type_dtype init (67), 6 142 pascal_record_type_dtype init (68), 6 143 pascal_set_dtype init (69), 6 144 pascal_enumerated_type_dtype init (70), 6 145 pascal_enumerated_type_element_dtype init (71), 6 146 pascal_enumerated_type_instance_dtype init (72), 6 147 pascal_user_defined_type_dtype init (73), 6 148 pascal_user_defined_type_instance_dtype init (74), 6 149 pascal_text_file_dtype init (75), 6 150 pascal_procedure_type_dtype init (76), 6 151 pascal_variable_formal_parameter_dtype init (77), 6 152 pascal_value_formal_parameter_dtype init (78), 6 153 pascal_entry_formal_parameter_dtype init (79), 6 154 pascal_parameter_procedure_dtype init (80), 6 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 6 156 6 157 6 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 375 376 377 end probe_modes_mgr_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/88 1224.4 probe_modes_mgr_.pl1 >spec>install>MR12.2-1194>probe_modes_mgr_.pl1 355 1 10/27/88 1223.7 probe_info.incl.pl1 >spec>install>MR12.2-1194>probe_info.incl.pl1 359 2 11/12/82 1624.3 probe_static_info.incl.pl1 >ldd>include>probe_static_info.incl.pl1 363 3 12/04/84 2012.2 probe_modes.incl.pl1 >ldd>include>probe_modes.incl.pl1 367 4 11/26/79 1320.6 probe_tokens.incl.pl1 >ldd>include>probe_tokens.incl.pl1 371 5 01/15/79 2202.9 acc.incl.pl1 >ldd>include>acc.incl.pl1 375 6 10/26/88 1255.5 std_descriptor_types.incl.pl1 >ldd>include>std_descriptor_types.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. CONSTANT_TYPE constant bit(18) initial packed unaligned dcl 4-37 ref 237 LONG_mode_type constant fixed bin(17,0) initial dcl 3-35 ref 112 114 NAME_TYPE constant bit(18) initial packed unaligned dcl 4-37 ref 218 233 P_acc_ptr parameter pointer dcl 48 ref 94 P_probe_info_ptr parameter pointer dcl 47 ref 80 86 94 P_probe_modes_ptr parameter pointer dcl 50 ref 102 109 111 112 113 114 117 119 120 121 123 125 126 127 128 129 130 131 SHORT_mode_type constant fixed bin(17,0) initial dcl 3-35 ref 113 bits 21 based structure level 2 dcl 3-14 set ref 109* bitv parameter bit(1) packed unaligned dcl 198 ref 192 202 bitv_name 000000 constant char(4) initial array dcl 199 set ref 202* catch_error_once 21(05) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 127* 159* 289* 302 catch_errors 21(04) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 126* 158* 286* 302 char_dtype constant fixed bin(17,0) initial dcl 6-25 ref 237 clock builtin function dcl 76 ref 265 constant based structure level 1 dcl 4-27 constant_string based char packed unaligned dcl 213 ref 237 cpu_time_and_paging_ 000014 constant entry external dcl 68 ref 267 ct 13 based pointer level 3 packed packed unaligned dcl 1-18 set ref 88 218 223 223 225* 225 228 233 233 233 237 237 237 237 245 data_ptr 11 based pointer level 2 packed packed unaligned dcl 4-27 ref 237 data_type 10 based fixed bin(17,0) level 2 dcl 4-27 ref 237 debug 21(08) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 129* 161* 295* 302 debug_breaks 21(06) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 128* 160* 292* 302 debug_modes_set 21(01) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 123* 156 302* 309* encoded_precision 6 based structure level 2 dcl 4-27 end_token 14 based bit(18) level 3 dcl 1-18 ref 88 228 245 error_messages based fixed bin(17,0) level 3 dcl 3-14 set ref 112* 142* 249* fixed builtin function dcl 76 ref 202 hbound builtin function dcl 76 ref 180 319 header based structure level 2 dcl 4-16 i 000164 automatic fixed bin(17,0) dcl 316 set ref 319* 320 320 320* identifier based structure level 1 dcl 4-19 identifiers_name based char packed unaligned dcl 211 ref 223 233 ignore_faults 21(02) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 125* 157* 283* 302 io_switches 66 based structure level 2 dcl 1-18 ioa_$ioa_switch 000016 constant entry external dcl 69 ref 149 164 180 202 last_clock 406 based fixed bin(71,0) level 3 dcl 2-8 set ref 265* last_page_faults 412 based fixed bin(17,0) level 3 dcl 2-8 set ref 267* last_vclock 410 based fixed bin(71,0) level 3 dcl 2-8 set ref 266* lbound builtin function dcl 76 ref 180 len_modes based structure level 2 dcl 3-14 set ref 111* length builtin function dcl 76 in procedure "probe_modes_mgr_" ref 149 149 164 164 length 6 based fixed bin(17,0) level 2 in structure "identifier" dcl 4-19 in procedure "probe_modes_mgr_" ref 223 233 meter 21(09) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 130* 147* 263* 264 metering_info 406 based structure level 2 dcl 2-8 mode_name 000134 automatic char(32) packed unaligned dcl 215 set ref 223* 228* 249 249 252 252 255 255 258 258 262 272 276 279 283 286 286 289 289 292 295 299* 326* 345* mode_value 000144 automatic varying char(32) dcl 216 set ref 233* 237* 258 279 320 320 326* 335 335 335 335 335 335 340 340 340 340 340 340 modes_ptr 2 based pointer level 2 packed packed unaligned dcl 1-18 ref 142 143 144 146 147 148 149 156 157 158 159 160 161 164 164 164 249 252 255 258 263 264 272 283 286 289 292 295 302 302 302 302 302 302 309 name 7 based pointer level 2 in structure "identifier" packed packed unaligned dcl 4-19 in procedure "probe_modes_mgr_" ref 223 233 name parameter char packed unaligned dcl 177 in procedure "mp" set ref 172 180* 185* name parameter char packed unaligned dcl 197 in procedure "bp" set ref 192 202* next based pointer level 3 packed packed unaligned dcl 4-16 ref 225 245 octal_bitstrings 21(03) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 120* official_mode_names 000005 constant char(8) initial array dcl 55 set ref 180 180 180* 319 320 output_switch 70 based pointer level 3 dcl 1-18 set ref 149* 164* 180* 202* precision 6(18) based fixed bin(17,0) level 3 packed packed unaligned dcl 4-27 ref 237 probe_error_ 000010 constant entry external dcl 64 ref 218 228 242 245 299 326 345 probe_error_$malfunction 000012 constant entry external dcl 66 ref 28 185 probe_et_$syntax_error 000020 external static fixed bin(35,0) dcl 71 set ref 218* 228* 242* probe_et_$too_many_args 000022 external static fixed bin(35,0) dcl 71 set ref 245* probe_info based structure level 1 dcl 1-18 probe_info_ptr 000100 automatic pointer dcl 1-86 set ref 86* 88 88 142 143 144 146 147 148 149 149 149 149 149 156 157 158 159 160 161 164 164 164 164 180 185* 202 218 218* 223 223 225 225 228 228 228* 233 233 233 237 237 237 237 242* 245 245 245* 249 252 255 258 263 264 265 266 267 272 276 279 283 286 289 292 295 299* 302 302 302 302 302 302 309 326* 345* probe_modes based structure level 1 dcl 3-14 probe_static_info based structure level 1 dcl 2-8 prompt 23 based varying char(40) level 2 dcl 2-8 set ref 149 149 149* 279* prompt_on_sw 36(03) based bit(1) level 3 packed packed unaligned dcl 2-8 set ref 276* qualification 1 based fixed bin(17,0) level 3 dcl 3-14 set ref 113* 143* 252* static_info_ptr 1 based pointer level 2 packed packed unaligned dcl 1-18 ref 149 149 149 265 266 267 276 279 string builtin function dcl 76 set ref 109* switches 36 based structure level 2 dcl 2-8 token based structure level 1 dcl 4-16 token_header based structure level 1 dcl 4-4 token_info 12 based structure level 2 dcl 1-18 truncate_strings 21(10) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 131* 146* 272* type 2 based bit(18) level 3 dcl 4-16 ref 88 218 228 233 237 245 unofficial_mode_names 000002 constant char(2) initial array dcl 58 ref 320 use_exclude_names 21 based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 119* use_prompt 21(07) based bit(1) level 3 packed packed unaligned dcl 3-14 set ref 121* 148* 149 value parameter fixed bin(17,0) dcl 178 set ref 172 180 180 180 185* value_print 2 based fixed bin(17,0) level 3 dcl 3-14 set ref 114* 144* 255* value_separator 10 based varying char(32) level 2 dcl 3-14 set ref 117* 164 164 164* 258* vclock builtin function dcl 76 ref 266 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BRIEF_mode_type internal static fixed bin(17,0) initial dcl 3-35 OPERATOR_TYPE internal static bit(18) initial packed unaligned dcl 4-37 acc based structure level 1 dcl 5-6 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 6-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 6-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 6-25 area_dtype internal static fixed bin(17,0) initial dcl 6-25 bit_dtype internal static fixed bin(17,0) initial dcl 6-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 6-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 6-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 6-25 c_union_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 6-25 code automatic fixed bin(35,0) dcl 61 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 6-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 6-25 current_constant based structure level 1 dcl 4-44 current_identifier_name based char packed unaligned dcl 4-42 current_token based structure level 1 dcl 4-45 entry_dtype internal static fixed bin(17,0) initial dcl 6-25 expression_area based area(1024) dcl 1-95 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 file_dtype internal static fixed bin(17,0) initial dcl 6-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 6-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 6-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 label_dtype internal static fixed bin(17,0) initial dcl 6-25 offset_dtype internal static fixed bin(17,0) initial dcl 6-25 operator based structure level 1 dcl 4-24 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 6-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 6-125 pointer_dtype internal static fixed bin(17,0) initial dcl 6-25 probe_area based area(1024) dcl 1-93 probe_error_$record 000000 constant entry external dcl 65 probe_exclude_names based char(168) array packed unaligned dcl 2-94 probe_info_directories based char(168) array packed unaligned dcl 2-91 probe_info_version internal static fixed bin(17,0) initial dcl 1-88 probe_info_version_1 internal static fixed bin(17,0) initial dcl 1-90 probe_request_tables based pointer array dcl 2-88 probe_seg_info_array based structure level 1 dcl 2-82 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 6-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 6-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 6-25 scratch_area based area(1024) dcl 1-92 seg_info_offset_count automatic fixed bin(17,0) dcl 2-86 structure_dtype internal static fixed bin(17,0) initial dcl 6-25 varying_bit_dtype internal static fixed bin(17,0) initial dcl 6-25 varying_char_dtype internal static fixed bin(17,0) initial dcl 6-25 work_area based area(1024) dcl 1-94 NAMES DECLARED BY EXPLICIT CONTEXT. bp 001226 constant entry internal dcl 192 ref 146 147 148 157 158 159 160 161 mp 001111 constant entry internal dcl 172 ref 142 143 144 print_modes 000461 constant entry internal dcl 137 ref 88 probe_modes_mgr_ 000263 constant entry external dcl 25 probe_modes_mgr_$excludep 000337 constant entry external dcl 94 probe_modes_mgr_$init 000360 constant entry external dcl 102 probe_modes_mgr_$mode_request 000302 constant entry external dcl 80 set_bit 002226 constant entry internal dcl 332 ref 263 272 276 283 286 289 292 295 set_len 002131 constant entry internal dcl 313 ref 249 252 255 set_mode 001300 constant entry internal dcl 208 ref 90 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2602 2626 2415 2612 Length 3146 2415 24 304 165 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME probe_modes_mgr_ 336 external procedure is an external procedure. print_modes internal procedure shares stack frame of external procedure probe_modes_mgr_. mp internal procedure shares stack frame of external procedure probe_modes_mgr_. bp internal procedure shares stack frame of external procedure probe_modes_mgr_. set_mode internal procedure shares stack frame of external procedure probe_modes_mgr_. set_len internal procedure shares stack frame of external procedure probe_modes_mgr_. set_bit internal procedure shares stack frame of external procedure probe_modes_mgr_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME probe_modes_mgr_ 000100 probe_info_ptr probe_modes_mgr_ 000134 mode_name set_mode 000144 mode_value set_mode 000164 i set_len THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac signal_op ext_entry clock_mac vclock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cpu_time_and_paging_ ioa_$ioa_switch probe_error_ probe_error_$malfunction THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. probe_et_$syntax_error probe_et_$too_many_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000262 28 000272 80 000276 86 000311 88 000315 90 000323 91 000324 94 000333 99 000345 102 000356 109 000367 111 000373 112 000411 113 000414 114 000417 117 000421 119 000424 120 000426 121 000430 123 000432 125 000434 126 000436 127 000440 128 000442 129 000444 130 000446 131 000450 132 000452 137 000461 142 000462 143 000504 144 000526 146 000551 147 000575 148 000617 149 000641 156 000704 157 000711 158 000733 159 000757 160 001003 161 001030 164 001052 168 001110 172 001111 180 001122 185 001164 189 001225 192 001226 202 001237 204 001277 208 001300 218 001301 223 001332 225 001341 228 001344 233 001400 237 001420 242 001441 245 001470 249 001514 252 001535 255 001556 258 001577 262 001617 263 001623 264 001636 265 001642 266 001646 267 001650 270 001666 272 001667 276 001706 279 001725 283 001741 286 001760 289 002003 292 002026 295 002045 299 002064 302 002115 309 002126 310 002130 313 002131 319 002133 320 002141 324 002163 326 002165 329 002222 332 002226 335 002230 340 002273 345 002336 347 002367 ----------------------------------------------------------- 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