COMPILATION LISTING OF SEGMENT probe_error_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/27/88 1231.2 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_error_: 26 proc options (variable); 27 28 /* * PROBE_ERROR_ 29* * 30* * Prints error messages for probe subsystem, and aborts as many levels as necessary. 31* * 32* * Interim kludge: probe_et_ is not a real error table; rather, values from probe_et_ 33* * are guaranteed to be between 1000 and 2000, for ease of recognition. 34* * 35* * Initial Version: 12 August 1974 by Jeffrey M. Broughton 36* * Modified: 8 Dec 78 by James R. Davis 37* * Modified: 9 Apr 79 By W. Olin Sibert to make it use probe_et_ instead. 38* * Modified: 06/23/79 WOS to add probe_error_$record, include request name 39* * Modified: 03/10/80 JRD to fix off-by-one in checking error_code 40* * Modified: 01/16/85 by Steve Herbst to exit probe if doing "quit" request. 41**/ 42 43 dcl message char (132) varying; 44 /* the message we will output */ 45 dcl ioa_message char (300) varying; 46 dcl total_message char (400) varying; 47 dcl prefix_string char (64) varying; 48 dcl type fixed bin; 49 dcl char_100 char (100) aligned; 50 /* argument for convert_status_code */ 51 dcl based_str_lth fixed bin (21); 52 dcl based_str_ptr pointer; 53 dcl based_str char (based_str_lth) based (based_str_ptr); 54 dcl error_code fixed bin (35); 55 dcl reason fixed bin;/* index into probe_et_ */ 56 dcl nargs fixed bin; 57 dcl first_arg fixed bin; 58 dcl output_switch pointer; 59 dcl (debug_sw, long_sw) bit (1) aligned; 60 61 dcl alp ptr; /* our arg list pointer */ 62 63 dcl 1 descriptor aligned based like desc_; 64 65 dcl 1 arg_list based (alp) aligned, 66 2 n_args bit (17) unal, 67 2 code bit (19) unal, 68 2 n_desc bit (17) unal, 69 2 fill bit (19) unal, 70 2 ptr (1000) ptr aligned; 71 72 dcl based_ptr pointer aligned based; 73 dcl based_fb35 fixed bin (35) based; 74 75 dcl cu_$cl entry (bit (1) aligned); 76 dcl cu_$arg_list_ptr entry (ptr); 77 dcl com_err_ entry options (variable); 78 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, 79 char (100) aligned); 80 dcl ioa_$ioa_switch entry options (variable); 81 dcl ioa_util_$rs_with_string 82 entry (ptr, fixed bin (21), ptr, fixed bin, 83 char (*) varying); 84 85 dcl iox_$error_output pointer external static; 86 dcl probe_data_$debug_sw bit (1) aligned external static; 87 dcl probe_et_$recorded_message 88 fixed bin (35) external static; 89 90 dcl ( 91 WARNING init (1), /* format and print a warning message */ 92 ERROR init (2), /* print a message and goto probe_info.request_line_abort */ 93 SYSTEM_ERROR init (3), /* now same as ERROR; retained for historical reasnos */ 94 RECORD_ONLY init (4), /* format a message and leave it in probe_info */ 95 MALFUNCTION init (5) 96 ) /* format and print the message, and call the listener */ 97 fixed bin internal static options (constant); 98 99 dcl whoami char (32) internal static 100 options (constant) init ("probe_error_"); 101 dcl MALFUNCTION_MESSAGE char (120) internal static 102 options (constant) init 103 ( 104 "Please issue the command ""trace_stack"", and give the output to system maintenence personnel." 105 ); 106 107 dcl probe_error_return condition; 108 109 dcl (null, addr, addrel, binary, index, rtrim, substr, length) 110 builtin; 111 112 /* */ 113 114 type = ERROR; /* print message, and abort request */ 115 goto COMMON; 116 117 118 probe_error_$warning: 119 entry options (variable); 120 121 type = WARNING; /* just print message and return */ 122 goto COMMON; 123 124 125 probe_error_$system: 126 entry options (variable); 127 128 type = SYSTEM_ERROR; /* same as probe_error_ proper, retained for compatibility */ 129 goto COMMON; 130 131 132 probe_error_$record: 133 entry options (variable); 134 135 type = RECORD_ONLY; /* leave message in probe_info.recorded_message */ 136 goto COMMON; 137 138 139 probe_error_$malfunction: 140 entry options (variable); 141 142 type = MALFUNCTION; /* print litany about malfunction, and get new command level */ 143 goto COMMON; 144 145 146 COMMON: 147 probe_error_table_ptr = addr (probe_et_$); 148 call cu_$arg_list_ptr (alp); /* get our arglist pointer */ 149 150 nargs = binary (arg_list.n_args); 151 error_code = 0; /* default values */ 152 first_arg = -1; 153 probe_info_ptr = null (); 154 155 if nargs = 0 then do; /* call probe_error_ () */ 156 end; /* everything has default values */ 157 158 else if nargs = 1 then do; /* call probe_error_ (code) */ 159 error_code = arg_list.ptr (1) -> based_fb35; 160 end; 161 162 else if nargs = 2 then do; /* call probe_error_ (probe_info_ptr, code); */ 163 probe_info_ptr = arg_list.ptr (1) -> based_ptr; 164 error_code = arg_list.ptr (2) -> based_fb35; 165 end; 166 167 else do; /* call probe_error_ (probe_info_ptr, code, ioa_stuff); */ 168 probe_info_ptr = arg_list.ptr (1) -> based_ptr; 169 error_code = arg_list.ptr (2) -> based_fb35; 170 first_arg = 3; 171 end; 172 173 if probe_info_ptr = null () then do; /* get some modes */ 174 long_sw = "1"b; 175 debug_sw = probe_data_$debug_sw; 176 output_switch = iox_$error_output; 177 end; 178 179 else do; /* we have probe_info, lets use it */ 180 long_sw = probe_modes.error_messages = LONG_mode_type; 181 if probe_modes.catch_errors 182 then debug_sw = "1"b; /* if this is on, trap all calls to probe_error_ */ 183 else if probe_modes.catch_error_once then do; 184 /* in this case, catch only this call */ 185 debug_sw = "1"b; 186 probe_modes.catch_error_once = "0"b; 187 end; 188 else debug_sw = "0"b; 189 190 if type = WARNING 191 then 192 output_switch = probe_info.output_switch; 193 else output_switch = iox_$error_output; 194 end; 195 196 if error_code = 0 197 then /* no error message */ 198 message = ""; 199 200 else if error_code = probe_et_$recorded_message then do; 201 /* just print the leftover message */ 202 if probe_info_ptr ^= null () 203 then 204 total_message = probe_info.error_message; 205 else total_message = 206 "No probe_info available to print recorded message from."; 207 goto PROCESS_RECORDED_MESSAGE; 208 end; 209 210 else if error_code > 1000 211 & error_code <= probe_error_table.n_messages + 1000 then do; 212 reason = error_code - 1000; /* convert to an index into probe_et_ */ 213 if long_sw 214 then /* get a message from probe_et_ */ 215 message = probe_error_table.long_message (reason); 216 217 else do; 218 if length (probe_error_table.short_message (reason)) = 0 219 then /* the short is the same as the long */ 220 message = probe_error_table.long_message (reason); 221 else message = probe_error_table.short_message (reason); 222 /* we want the short message */ 223 end; 224 end; 225 226 else do; /* otherwise, assume it's a standard status code */ 227 call convert_status_code_ (error_code, (""), char_100); 228 message = rtrim (char_100); /* use long version, regardless of long_sw */ 229 end; 230 231 if long_sw then do; /* construct and output prefix "probe (value): " */ 232 if probe_info_ptr = null () 233 then prefix_string = "probe: "; 234 else do; 235 prefix_string = rtrim (probe_static_info.name); 236 if (probe_info.executing_request) & (probe_info.request_name ^= "") 237 then do; 238 prefix_string = prefix_string || " ("; 239 /* only onclude request name if there is one */ 240 prefix_string = 241 prefix_string || rtrim (probe_info.request_name); 242 prefix_string = prefix_string || ")"; 243 end; 244 prefix_string = prefix_string || ": "; 245 end; 246 end; 247 248 else prefix_string = ""; 249 250 if index (message, "^") = 0 then do; /* it's not an ioa_ control string, see if next arg is */ 251 if first_arg > 0 then do; /* this is only possible if there are enough args to test */ 252 if arg_list.ptr (nargs + first_arg) -> descriptor.type_ = char_dtype 253 then do; 254 based_str_lth = 255 arg_list.ptr (nargs + first_arg) -> descriptor.precision_; 256 based_str_ptr = arg_list.ptr (first_arg); 257 end; 258 259 else if arg_list.ptr (nargs + first_arg) -> descriptor.type_ 260 = varying_char_dtype then do; 261 based_str_lth = 262 addrel (arg_list.ptr (first_arg), -1) -> based_fb35; 263 based_str_ptr = arg_list.ptr (first_arg); 264 end; 265 266 else do; 267 based_str_lth = -1; 268 based_str_ptr = null (); 269 end; 270 271 if based_str_ptr ^= null () then do; 272 if length (message) > 0 273 then 274 message = message || " "; 275 message = message || based_str; 276 first_arg = first_arg + 1;/* take any ioa args from next arg */ 277 end; 278 end; 279 end; 280 281 if first_arg > 0 282 then /* get ioa_string and additional cruft */ 283 call ioa_util_$rs_with_string (addr (substr (message, 1, 1)), 284 length (message), 285 alp, first_arg, ioa_message); 286 else ioa_message = rtrim (message); 287 288 total_message = prefix_string; /* assemble the message into one place */ 289 total_message = total_message || ioa_message; 290 291 if probe_info_ptr ^= null () then do; /* if there's a place, */ 292 probe_info.error_message = total_message; 293 /* copy last message into probe_info */ 294 probe_info.error_code = error_code; 295 end; 296 297 PROCESS_RECORDED_MESSAGE: 298 if type ^= RECORD_ONLY 299 then /* print the message, unless we're just recording */ 300 call ioa_$ioa_switch (output_switch, "^a", total_message); 301 302 if debug_sw then do; /* this causes all errors to get a new command level */ 303 call com_err_ (0, whoami, 304 "Debug on, calling cu_$cl. Type = ^[Warning^;Error^;System Error^;Record only^;Malfunction.^].", 305 type); 306 if type = RECORD_ONLY 307 then /* tell the guy what the message is gonna be */ 308 call ioa_$ioa_switch (probe_info.output_switch, "Message: ^a.", 309 total_message); 310 call cu_$cl ("0"b); 311 end; /* allow "start" to cause normal action */ 312 313 if type = WARNING 314 then return; /* just return, with no further ado */ 315 else if type = RECORD_ONLY 316 then return; /* same if just recording */ 317 318 else if type = ERROR | type = SYSTEM_ERROR then do; 319 if probe_info_ptr = null () then do; 320 call com_err_ (0, whoami, 321 "Cannot abort probe; no probe_info available. Returning to command level." 322 ); 323 goto CALL_LISTENER; 324 end; 325 326 if probe_info.executing_quit_request 327 then go to probe_info.abort_probe_label; 328 else goto probe_info.abort_line_label; 329 /* goto to the global abort label */ 330 end; 331 332 else do; /* it was a malfunction */ 333 call ioa_$ioa_switch (output_switch, MALFUNCTION_MESSAGE); 334 call com_err_ (0, whoami, "Returning to command level."); 335 goto CALL_LISTENER; 336 end; 337 338 CALL_LISTENER: 339 on probe_error_return goto RETURN_ANYWAY; 340 /* set up a trap for this */ 341 342 call cu_$cl (^debug_sw); 343 344 call com_err_ (0, whoami, "Illegal return. Returning to command level."); 345 goto CALL_LISTENER; 346 347 RETURN_ANYWAY: 348 return; 349 350 /* */ 351 1 1 /* BEGIN INCLUDE FILE probe_error_table.incl.pl1 */ 1 2 /* Created: 04/09/79 W. Olin Sibert */ 1 3 1 4 /* Describes interim kludge version of probe error table */ 1 5 1 6 dcl probe_et_$ fixed bin external static; 1 7 1 8 dcl 1 probe_error_table aligned based (probe_error_table_ptr), 1 9 2 n_messages fixed bin (35), 1 10 2 array (1000) aligned, 1 11 3 error_number fixed bin (35), 1 12 3 short_message char (40) varying, 1 13 3 long_message char (108) varying; 1 14 1 15 dcl probe_error_table_ptr pointer; 1 16 1 17 /* END INCLUDE FILE probe_error_table.incl.pl1 */ 352 353 354 /* ;;;;;;; */ 355 2 1 /* BEGIN INCLUDE FILE probe_info.incl.pl1 */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(88-10-24,WAAnderson), approve(88-10-24,MCR7952), 2 7* audit(88-10-24,RWaters), install(88-10-27,MR12.2-1194): 2 8* Added field 'retry_using_main' to add new C feature. 2 9* END HISTORY COMMENTS */ 2 10 2 11 2 12 /* Created: 04/22/79 W. Olin Sibert, from subsystem_info 2 13* Modified: 22 Sept 79 JRd to remove: default (ptr & (auto|based)) init (null ()); 2 14* Added flags.setting_break 08/22/83 Steve Herbst 2 15* Added flags.executing_quit_request 01/15/85 Steve Herbst 2 16**/ 2 17 2 18 dcl 1 probe_info aligned based (probe_info_ptr), /* standard data for a probe invocation */ 2 19 2 probe_info_version fixed bin, /* version of this structure */ 2 20 2 21 2 static_info_ptr pointer unaligned, /* pointer to static information structure */ 2 22 2 modes_ptr pointer unaligned, /* pointer to probe_modes structure */ 2 23 2 24 2 ptr_to_current_source ptr, /* current_source is based on this */ 2 25 2 ptr_to_initial_source ptr, /* initial_source is based on this */ 2 26 2 machine_cond_ptr pointer, /* pointer to machine conditions, if we faulted to get here */ 2 27 2 28 2 token_info aligned, /* information about token chain currently being processed */ 2 29 3 first_token pointer unaligned, /* first token in chain */ 2 30 3 ct pointer unaligned, /* pointer to current token; updated in MANY places */ 2 31 3 end_token bit (18) aligned, /* token type at which to stop scanning token chain */ 2 32 3 buffer_ptr pointer unaligned, /* pointer to input buffer */ 2 33 3 buffer_lth fixed bin (21), /* and length */ 2 34 2 35 2 random_info aligned, 2 36 3 current_stack_frame pointer unaligned, /* stack frame pointer for frame in which probe was invoked */ 2 37 3 input_type fixed bin, /* current input type */ 2 38 3 language_type fixed bin, /* current language being processed */ 2 39 3 return_method fixed bin, /* how we should return after exiting probe */ 2 40 3 entry_method fixed bin, /* how we got here in the first place */ 2 41 3 pad1 (19) bit (36) aligned, 2 42 2 43 2 break_info, /* break info -- only interesting if we got here via a break */ 2 44 3 break_slot_ptr pointer, /* pointer to break slot -- non-null IFF at a break */ 2 45 3 last_break_slot_ptr pointer unaligned, /* pointer to previous break slot, not presently used */ 2 46 3 break_reset bit (1) aligned, /* this break has been reset by somebody further on */ 2 47 3 real_break_return_loc pointer, /* where to REALLY return to, modulo previous bit */ 2 48 2 49 2 probe_area_info, /* information about various probe areas */ 2 50 3 break_segment_ptr pointer unaligned, /* pointer to Personid.probe */ 2 51 3 break_area_ptr pointer unaligned, /* pointer to area in break segment */ 2 52 3 scratch_area_ptr pointer unaligned, /* pointer to probe scratch seg in process dir */ 2 53 3 probe_area_ptr pointer unaligned, /* This area lasts as long as an invocation of probe. */ 2 54 3 work_area_ptr pointer unaligned, /* This area lasts as long as the current request line */ 2 55 3 expression_area_ptr pointer unaligned, /* This area lasts as long as the current command */ 2 56 2 57 2 flags aligned, /* this, in particular, should be saved and restored correctly */ 2 58 (3 execute, /* "1"b => execute requests, "0"b => just check syntax */ 2 59 3 in_listener, /* ON => in probe listener loop */ 2 60 3 executing_request, /* ON => executing a request */ 2 61 3 in_interpret_line, /* executing in probe_listen_$interpret_line */ 2 62 3 setting_break, /* executing "after" or "before": check syntax of "if" */ 2 63 3 executing_quit_request, /* to prevent error looping during "quit" request */ 2 64 3 pad (30)) bit (1) unaligned, 2 65 2 66 2 io_switches, /* switches probe will do normal I/O on */ 2 67 3 input_switch pointer, 2 68 3 output_switch pointer, 2 69 2 70 2 error_info, /* information about the last error saved for later printing */ 2 71 3 error_code fixed bin (35), 2 72 3 error_message char (300) varying, 2 73 2 74 2 listener_info, /* internal use by probe listener */ 2 75 3 request_name character (32) varying, /* primary name of the request being processed */ 2 76 3 abort_probe_label label variable, 2 77 3 abort_line_label label variable, 2 78 3 depth fixed binary, /* count of active invocations of probe */ 2 79 3 previous pointer unaligned, /* -> previous invocation's info */ 2 80 3 next pointer unaligned, 2 81 2 82 2 end_of_probe_info pointer aligned, 2 83 2 retry_using_main fixed bin aligned; 2 84 2 85 2 86 dcl probe_info_ptr pointer; 2 87 2 88 dcl probe_info_version fixed bin static options (constant) initial (1); 2 89 2 90 dcl probe_info_version_1 fixed bin static options (constant) initial (1); 2 91 2 92 dcl scratch_area area based (probe_info.scratch_area_ptr); 2 93 dcl probe_area area based (probe_info.probe_area_ptr); 2 94 dcl work_area area based (probe_info.work_area_ptr); 2 95 dcl expression_area area based (probe_info.expression_area_ptr); 2 96 2 97 /* END INCLUDE FILE probe_info.incl.pl1 */ 356 357 358 /* ;;;;;;; */ 359 3 1 /* BEGIN INCLUDE FILE probe_static_info.incl.pl1 */ 3 2 3 3 /* * This include file describes per-process information about probe, such 3 4* * as various options available and the info directories and modes. 3 5* * 3 6* * Created: 06/06/79 W. Olin Sibert */ 3 7 3 8 dcl 1 probe_static_info aligned based (probe_info.static_info_ptr), /* per-process data about probe */ 3 9 2 probe_info_version fixed bin, /* same as probe_info.probe_info_version */ 3 10 3 11 2 version aligned, 3 12 3 major_version fixed bin, 3 13 3 minor_version fixed bin, 3 14 3 version_string char (32) unaligned, /* like "4.3f, patch 1" */ 3 15 3 16 2 name char (32) unaligned, /* "probe" */ 3 17 2 prompt character (40) varying, /* prompt for reading requests */ 3 18 2 switches, 3 19 3 brief_sw bit (1) unaligned, /* briefer break messages, no header (default OFF) */ 3 20 3 no_handle_faults_sw bit (1) unaligned, /* don't handle bad ptr faults (default OFF) */ 3 21 3 recursive_breaks_sw bit (1) unaligned, /* don't ignore recursive breaks in probe */ 3 22 3 prompt_on_sw bit (1) unaligned, /* prompt for request lines */ 3 23 3 switch_pad bit (32) unaligned, 3 24 3 25 2 scratch_segment_ptr pointer, /* pointer to probe_scratch_ -- always valid */ 3 26 2 break_segment_ptr pointer, /* pointer to Person.breaks -- valid only if needed */ 3 27 3 28 2 seg_info_offset_ptr pointer, /* pointer to seg_info_offset array */ 3 29 3 30 2 probe_segno bit (18), /* segment number of probe itself */ 3 31 2 last_break_segno bit (18), /* segment number of last interrupted program */ 3 32 3 33 2 stack_info aligned, /* information about the stack trace in probe_scratch_ */ 3 34 3 level_chain pointer unaligned, /* first level frame entry pointer */ 3 35 3 max_level fixed bin, /* number of stack levels */ 3 36 3 flags aligned, 3 37 (4 good_stack, 3 38 4 traced_with_all, /* whether the stack trace includes support frames */ 3 39 4 pad1 (34)) bit (1) unaligned, 3 40 3 41 2 modes_ptr pointer unaligned, /* pointer to modes -- same as probe_info.modes_ptr */ 3 42 3 43 2 request_table_info aligned, /* info for request definitions */ 3 44 3 array_ptr pointer, /* pointer to array of request table pointers */ 3 45 3 array_size fixed bin, /* number of elements in use */ 3 46 3 array_max_size fixed bin, /* max number of elements in array */ 3 47 3 using_internal_array bit (1) aligned, /* whether or not we are using the array in probe_static_info */ 3 48 3 49 2 io_switches, /* switches probe does its I/O on */ 3 50 3 input_switch pointer, 3 51 3 output_switch pointer, 3 52 3 (private_input_sw, private_output_sw) bit (1) aligned, 3 53 /* created by ids, ods and should be destroyed */ 3 54 3 55 2 info_directory_info aligned, /* info about info directories */ 3 56 3 array_ptr pointer, 3 57 3 array_size fixed bin, 3 58 3 array_max_size fixed bin, 3 59 3 using_internal_array bit (1) aligned, 3 60 3 61 2 exclude_name_info aligned, /* info for exclude array used in printing values */ 3 62 3 array_ptr pointer, 3 63 3 array_size fixed bin, 3 64 3 array_max_size fixed bin, 3 65 3 using_internal_array bit (1) aligned, 3 66 3 67 2 null_seg_info_ptr pointer unaligned, /* pointer to the "null" seg_info block */ 3 68 3 69 2 initial_arrays, /* initial versions of various arrays */ 3 70 3 request_table_ptr_array (10) pointer aligned, 3 71 3 info_directory_name_array (3) char (168) unaligned, 3 72 3 exclude_name_array (6) char (32) unaligned, 3 73 3 74 2 metering_info, /* last values for "mode meter" */ 3 75 3 last_clock fixed bin (71), 3 76 3 last_vclock fixed bin (71), 3 77 3 last_page_faults fixed bin, 3 78 3 79 2 end_of_probe_static_info fixed bin; 3 80 3 81 3 82 dcl 1 probe_seg_info_array aligned based (probe_static_info.seg_info_offset_ptr), 3 83 2 count fixed bin, /* number of entries in seg_info_offset array */ 3 84 2 seg_info_offset (0 : seg_info_offset_count refer (probe_seg_info_array.count)) bit (18) aligned; 3 85 3 86 dcl seg_info_offset_count fixed bin; /* one less than the number of info_offsets */ 3 87 3 88 dcl probe_request_tables (probe_static_info.request_table_info.array_max_size) /* array of request table pointers */ 3 89 pointer aligned based (probe_static_info.request_table_info.array_ptr); 3 90 3 91 dcl probe_info_directories (probe_static_info.info_directory_info.array_max_size) /* array of info directories */ 3 92 char (168) unaligned based (probe_static_info.info_directory_info.array_ptr); 3 93 3 94 dcl probe_exclude_names (probe_static_info.exclude_name_info.array_max_size) /* array of exclude names */ 3 95 char (168) unaligned based (probe_static_info.exclude_name_info.array_ptr); 3 96 3 97 /* END INCLUDE FILE probe_static_info.incl.pl1 */ 360 361 362 /* ;;;;;;; */ 363 4 1 /* BEGIN INCLUDE FILE ... probe_modes.incl.pl1 4 2* 4 3* this structure is part of the per-user data base, which alledgedly is 4 4* kept in person_id.probe no probe code other than probe_modes_mgr_ 4 5* should set these modes, or refer to them BY NAME in communication 4 6* with the user I do not even promise a one-to-one correspondance 4 7* between the modes the user can set and the names here 4 8* 4 9* James R. Davis 12 July 79 */ 4 10 /* Added meter 09/23/82 S. Herbst */ 4 11 /* Added truncate_strings 05/21/84 S. Herbst */ 4 12 4 13 4 14 dcl 1 probe_modes aligned based (probe_info.modes_ptr), 4 15 2 len_modes, 4 16 3 error_messages fixed bin, /* for use by probe_error_ */ 4 17 3 qualification fixed bin, /* for use by probe_print_value_ */ 4 18 3 value_print fixed bin, /* for probe_print_value_ */ 4 19 3 pad (5) fixed bin, /* for use by probe_mxyzptlk */ 4 20 2 value_separator char (32) varying, 4 21 2 bits, 4 22 3 use_exclude_names bit (1) unal, 4 23 3 debug_modes_set bit (1) unaligned, /* whether any of the *MAGIC* modes are set */ 4 24 3 ignore_faults bit (1) unaligned, 4 25 3 octal_bitstrings bit (1) unal, /* for Olin Sibert */ 4 26 3 catch_errors bit (1) unaligned, /* calls to probe_error_ will call cu_$cl */ 4 27 3 catch_error_once bit (1) unaligned, /* next call to probe_error_ will call cu_$cl */ 4 28 3 debug_breaks bit (1) unaligned, /* causes various things to happen at breakpoints */ 4 29 3 use_prompt bit (1) unaligned, /* whether to use the prompt */ 4 30 3 debug bit (1) unaligned, /* controls printing of random debugging information */ 4 31 3 meter bit (1) unaligned, /* controls printing of time, vcpu, pf's at halt */ 4 32 3 truncate_strings bit (1) unaligned, /* controls value req printing only 1st 200 chars/bits */ 4 33 3 pad bit (25) unaligned; 4 34 4 35 dcl (BRIEF_mode_type init (1), 4 36 SHORT_mode_type init (2), 4 37 LONG_mode_type init (3)) fixed bin internal static options (constant); 4 38 4 39 /* END INCLUDE FILE ... probe_modes.incl.pl1 */ 4 40 364 365 366 /* ;;;;;;; */ 367 5 1 /* BEGIN INCLUDE FILE ... descriptor.incl.pl1 */ 5 2 5 3 dcl 1 desc_ aligned, 5 4 2 version2_ bit(1) unal, 5 5 2 type_ fixed bin(6) unsigned unal, 5 6 2 pack_ bit(1) unal, 5 7 2 dimension_ bit(4) unal, 5 8 2 scale_ fixed bin(11) unal, 5 9 2 precision_ fixed bin(11) unal; 5 10 5 11 /* END INCLUDE FILE ... descriptor.incl.pl1 */ 368 369 370 /* ;;;;;;; */ 371 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 */ 372 373 374 end; /* probe_error_ external procedure */ SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/27/88 1225.3 probe_error_.pl1 >spec>install>MR12.2-1194>probe_error_.pl1 352 1 11/26/79 1320.9 probe_error_table.incl.pl1 >ldd>include>probe_error_table.incl.pl1 356 2 10/27/88 1223.7 probe_info.incl.pl1 >spec>install>MR12.2-1194>probe_info.incl.pl1 360 3 11/12/82 1624.3 probe_static_info.incl.pl1 >ldd>include>probe_static_info.incl.pl1 364 4 12/04/84 2012.2 probe_modes.incl.pl1 >ldd>include>probe_modes.incl.pl1 368 5 11/30/78 1227.5 descriptor.incl.pl1 >ldd>include>descriptor.incl.pl1 372 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. ERROR constant fixed bin(17,0) initial dcl 90 ref 114 318 LONG_mode_type constant fixed bin(17,0) initial dcl 4-35 ref 180 MALFUNCTION constant fixed bin(17,0) initial dcl 90 ref 142 MALFUNCTION_MESSAGE 000000 constant char(120) initial packed unaligned dcl 101 set ref 333* RECORD_ONLY constant fixed bin(17,0) initial dcl 90 ref 135 297 306 315 SYSTEM_ERROR constant fixed bin(17,0) initial dcl 90 ref 128 318 WARNING constant fixed bin(17,0) initial dcl 90 ref 121 190 313 abort_line_label 226 based label variable level 3 dcl 2-18 ref 328 abort_probe_label 222 based label variable level 3 dcl 2-18 ref 326 addr builtin function dcl 109 ref 146 281 281 addrel builtin function dcl 109 ref 261 alp 000512 automatic pointer dcl 61 set ref 148* 150 159 163 164 168 169 252 254 256 259 261 263 281* arg_list based structure level 1 dcl 65 array 1 based structure array level 2 dcl 1-8 based_fb35 based fixed bin(35,0) dcl 73 ref 159 164 169 261 based_ptr based pointer dcl 72 ref 163 168 based_str based char packed unaligned dcl 53 ref 275 based_str_lth 000476 automatic fixed bin(21,0) dcl 51 set ref 254* 261* 267* 275 based_str_ptr 000500 automatic pointer dcl 52 set ref 256* 263* 268* 271 275 binary builtin function dcl 109 ref 150 bits 21 based structure level 2 dcl 4-14 catch_error_once 21(05) based bit(1) level 3 packed packed unaligned dcl 4-14 set ref 183 186* catch_errors 21(04) based bit(1) level 3 packed packed unaligned dcl 4-14 ref 181 char_100 000445 automatic char(100) dcl 49 set ref 227* 228 char_dtype constant fixed bin(17,0) initial dcl 6-25 ref 252 com_err_ 000014 constant entry external dcl 77 ref 303 320 334 344 convert_status_code_ 000016 constant entry external dcl 78 ref 227 cu_$arg_list_ptr 000012 constant entry external dcl 76 ref 148 cu_$cl 000010 constant entry external dcl 75 ref 310 342 debug_sw 000510 automatic bit(1) dcl 59 set ref 175* 181* 185* 188* 302 342 desc_ 000526 automatic structure level 1 dcl 5-3 descriptor based structure level 1 dcl 63 error_code 000502 automatic fixed bin(35,0) dcl 54 in procedure "probe_error_" set ref 151* 159* 164* 169* 196 200 210 210 212 227* 294 error_code 72 based fixed bin(35,0) level 3 in structure "probe_info" dcl 2-18 in procedure "probe_error_" set ref 294* error_info 72 based structure level 2 dcl 2-18 error_message 73 based varying char(300) level 3 dcl 2-18 set ref 202 292* error_messages based fixed bin(17,0) level 3 dcl 4-14 ref 180 executing_quit_request 64(05) based bit(1) level 3 packed packed unaligned dcl 2-18 ref 326 executing_request 64(02) based bit(1) level 3 packed packed unaligned dcl 2-18 ref 236 first_arg 000505 automatic fixed bin(17,0) dcl 57 set ref 152* 170* 251 252 254 256 259 261 263 276* 276 281 281* flags 64 based structure level 2 dcl 2-18 index builtin function dcl 109 ref 250 io_switches 66 based structure level 2 dcl 2-18 ioa_$ioa_switch 000020 constant entry external dcl 80 ref 297 306 333 ioa_message 000142 automatic varying char(300) dcl 45 set ref 281* 286* 289 ioa_util_$rs_with_string 000022 constant entry external dcl 81 ref 281 iox_$error_output 000024 external static pointer dcl 85 ref 176 193 len_modes based structure level 2 dcl 4-14 length builtin function dcl 109 ref 218 272 281 281 listener_info 210 based structure level 2 dcl 2-18 long_message 15 based varying char(108) array level 3 dcl 1-8 ref 213 218 long_sw 000511 automatic bit(1) dcl 59 set ref 174* 180* 213 231 message 000100 automatic varying char(132) dcl 43 set ref 196* 213* 218* 221* 228* 250 272 272* 272 275* 275 281 281 281 281 286 modes_ptr 2 based pointer level 2 packed packed unaligned dcl 2-18 ref 180 181 183 186 n_args based bit(17) level 2 packed packed unaligned dcl 65 ref 150 n_messages based fixed bin(35,0) level 2 dcl 1-8 ref 210 name 13 based char(32) level 2 packed packed unaligned dcl 3-8 ref 235 nargs 000504 automatic fixed bin(17,0) dcl 56 set ref 150* 155 158 162 252 254 259 null builtin function dcl 109 ref 153 173 202 232 268 271 291 319 output_switch 000506 automatic pointer dcl 58 in procedure "probe_error_" set ref 176* 190* 193* 297* 333* output_switch 70 based pointer level 3 in structure "probe_info" dcl 2-18 in procedure "probe_error_" set ref 190 306* precision_ 0(24) based fixed bin(11,0) level 2 packed packed unaligned dcl 63 ref 254 prefix_string 000423 automatic varying char(64) dcl 47 set ref 232* 235* 238* 238 240* 240 242* 242 244* 244 248* 288 probe_data_$debug_sw 000026 external static bit(1) dcl 86 ref 175 probe_error_return 000514 stack reference condition dcl 107 ref 338 probe_error_table based structure level 1 dcl 1-8 probe_error_table_ptr 000522 automatic pointer dcl 1-15 set ref 146* 210 213 218 218 221 probe_et_$ 000032 external static fixed bin(17,0) dcl 1-6 set ref 146 probe_et_$recorded_message 000030 external static fixed bin(35,0) dcl 87 ref 200 probe_info based structure level 1 dcl 2-18 probe_info_ptr 000524 automatic pointer dcl 2-86 set ref 153* 163* 168* 173 180 181 183 186 190 202 202 232 235 236 236 240 291 292 294 306 319 326 326 328 probe_modes based structure level 1 dcl 4-14 probe_static_info based structure level 1 dcl 3-8 ptr 2 based pointer array level 2 dcl 65 ref 159 163 164 168 169 252 254 256 259 261 263 reason 000503 automatic fixed bin(17,0) dcl 55 set ref 212* 213 218 218 221 request_name 210 based varying char(32) level 3 dcl 2-18 ref 236 240 rtrim builtin function dcl 109 ref 228 235 240 286 short_message 2 based varying char(40) array level 3 dcl 1-8 ref 218 221 static_info_ptr 1 based pointer level 2 packed packed unaligned dcl 2-18 ref 235 substr builtin function dcl 109 ref 281 281 total_message 000256 automatic varying char(400) dcl 46 set ref 202* 205* 288* 289* 289 292 297* 306* type 000444 automatic fixed bin(17,0) dcl 48 set ref 114* 121* 128* 135* 142* 190 297 303* 306 313 315 318 318 type_ 0(01) based fixed bin(6,0) level 2 packed packed unsigned unaligned dcl 63 ref 252 259 varying_char_dtype constant fixed bin(17,0) initial dcl 6-25 ref 259 whoami 000036 constant char(32) initial packed unaligned dcl 99 set ref 303* 320* 334* 344* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. BRIEF_mode_type internal static fixed bin(17,0) initial dcl 4-35 SHORT_mode_type internal static fixed bin(17,0) initial dcl 4-35 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 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 entry_dtype internal static fixed bin(17,0) initial dcl 6-25 expression_area based area(1024) dcl 2-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 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 2-93 probe_exclude_names based char(168) array packed unaligned dcl 3-94 probe_info_directories based char(168) array packed unaligned dcl 3-91 probe_info_version internal static fixed bin(17,0) initial dcl 2-88 probe_info_version_1 internal static fixed bin(17,0) initial dcl 2-90 probe_request_tables based pointer array dcl 3-88 probe_seg_info_array based structure level 1 dcl 3-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 2-92 seg_info_offset_count automatic fixed bin(17,0) dcl 3-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 work_area based area(1024) dcl 2-94 NAMES DECLARED BY EXPLICIT CONTEXT. CALL_LISTENER 001415 constant label dcl 338 ref 323 335 345 COMMON 000271 constant label dcl 146 ref 115 122 129 136 143 PROCESS_RECORDED_MESSAGE 001154 constant label dcl 297 ref 207 RETURN_ANYWAY 001474 constant label dcl 347 ref 338 probe_error_ 000215 constant entry external dcl 25 probe_error_$malfunction 000261 constant entry external dcl 139 probe_error_$record 000250 constant entry external dcl 132 probe_error_$system 000237 constant entry external dcl 125 probe_error_$warning 000226 constant entry external dcl 118 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1746 2002 1502 1756 Length 2326 1502 34 307 243 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME probe_error_ 406 external procedure is an external procedure. on unit on line 338 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME probe_error_ 000100 message probe_error_ 000142 ioa_message probe_error_ 000256 total_message probe_error_ 000423 prefix_string probe_error_ 000444 type probe_error_ 000445 char_100 probe_error_ 000476 based_str_lth probe_error_ 000500 based_str_ptr probe_error_ 000502 error_code probe_error_ 000503 reason probe_error_ 000504 nargs probe_error_ 000505 first_arg probe_error_ 000506 output_switch probe_error_ 000510 debug_sw probe_error_ 000511 long_sw probe_error_ 000512 alp probe_error_ 000522 probe_error_table_ptr probe_error_ 000524 probe_info_ptr probe_error_ 000526 desc_ probe_error_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac tra_ext_1 tra_ext_2 enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ convert_status_code_ cu_$arg_list_ptr cu_$cl ioa_$ioa_switch ioa_util_$rs_with_string THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$error_output probe_data_$debug_sw probe_et_$ probe_et_$recorded_message LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000214 114 000222 115 000224 118 000225 121 000233 122 000235 125 000236 128 000244 129 000246 132 000247 135 000255 136 000257 139 000260 142 000266 143 000270 146 000271 148 000274 150 000302 151 000305 152 000306 153 000310 155 000312 156 000314 158 000315 159 000317 160 000322 162 000323 163 000325 164 000331 165 000334 168 000335 169 000341 170 000344 173 000346 174 000352 175 000354 176 000357 177 000362 180 000363 181 000371 183 000400 185 000403 186 000405 187 000407 188 000410 190 000411 193 000420 196 000424 200 000430 202 000433 205 000446 207 000453 210 000454 212 000466 213 000474 218 000511 221 000527 224 000536 227 000537 228 000553 231 000573 232 000575 235 000606 236 000630 238 000641 240 000653 242 000700 244 000707 246 000721 248 000722 250 000723 251 000735 252 000737 254 000751 256 000755 257 000762 259 000763 261 000765 263 000775 264 001000 267 001001 268 001003 271 001005 272 001011 275 001022 276 001035 281 001036 286 001075 288 001116 289 001123 291 001135 292 001141 294 001152 297 001154 302 001202 303 001204 306 001235 310 001266 313 001277 315 001302 318 001304 319 001310 320 001314 323 001341 326 001342 328 001350 333 001352 334 001367 335 001414 338 001415 342 001434 344 001446 345 001473 347 001474 ----------------------------------------------------------- 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