COMPILATION LISTING OF SEGMENT convert_syserr_log Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 03/13/85 1159.8 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 convert_syserr_log: 7 procedure () options (variable); 8 9 /* * CONVERT_SYSERR_LOG 10* * 11* * This proces converts the existing syserr log vfile into a new-format 12* * family of log segments. It converts binary messages by making the 13* * appropriate data_class entries. 14* * 15* * Modification history: 16* * 84-06-08, W. Olin Sibert: Derived from display_cpu_error, nee mos_edac_summary 17* * 84-12-14, WOS: Changed to ignore expected (no admin_gate_) open err 18* * 84-12-21, WOS: Changed to declare data_class char (16) varying. 19* * 85-01-21, EJ Sharpe: convert bin data class to char data class 20* */ 21 22 dcl arg char (arg_len) based (arg_ptr); /* A command argument */ 23 dcl arg_count fixed bin; /* The number of arguments */ 24 dcl arg_len fixed bin; /* Length of an argument */ 25 dcl arg_list_ptr ptr; /* Pointer to commands argument list */ 26 dcl arg_no fixed bin init (1); /* For scanning argument list */ 27 dcl arg_ptr ptr; /* Pointer to an argument */ 28 29 dcl code fixed bin (35); /* Standard system status code */ 30 dcl count_limit fixed bin init (0); /* Results for -limit arg */ 31 32 dcl day_limit fixed bin init (0); /* Results for -day_limit arg */ 33 dcl err_cnt fixed bin init (0); /* Entries in status table */ 34 dcl expand_sw bit (1) init ("0"b); /* Set if user just wants hregs interpreted */ 35 36 dcl for_arg char (for_len) based (for_ptr); /* This is the -for argument */ 37 dcl for_len fixed bin; /* Saved length of -for argument */ 38 dcl for_ptr ptr; /* Saved pointer to the -for argument */ 39 dcl for_sw bit (1) init ("0"b); /* Set if -for used */ 40 dcl for_time fixed bin (71); /* Time specified on -for */ 41 dcl from_sw bit (1) init ("0"b); /* Set if -from used */ 42 dcl from_time fixed bin (71); /* Time specified on -from */ 43 44 dcl more_args bit (1); /* Set while there are more arguments to scan */ 45 dcl msg_seq fixed bin (35); /* Sequence number */ 46 dcl msg_time fixed bin (71); /* Time of syserr message */ 47 48 dcl open_status bit (36) aligned; /* Code from old_syserr_log_util_$open */ 49 dcl read_count fixed bin; 50 declare binary_count fixed bin; 51 52 dcl (tm1, tm2) char (24); /* Used to call date_time_ */ 53 dcl to_sw bit (1) init ("0"b); /* Set if -to used */ 54 dcl to_time fixed bin (71); /* Time specified on -to */ 55 56 dcl new_log_dir char (168); 57 dcl log_write_data_ptr pointer; 58 59 dcl workp ptr; /* Pointer to work segment */ 60 dcl 1 work aligned based (workp), /* Declaration of work segment */ 61 2 cpureq (8) char (1), /* Table of requested CPUs */ 62 2 buffer (500) bit (36) aligned; /* Syserr messages are read here */ 63 64 /* Constants */ 65 66 dcl WHOAMI char (32) int static options (constant) init ("convert_syserr_log"); 67 /* Name of procedure */ 68 69 dcl error_table_$badopt fixed bin (35) external static; 70 dcl error_table_$end_of_info fixed bin (35) external static; 71 dcl error_table_$inconsistent fixed bin (35) external static; 72 dcl error_table_$moderr fixed bin (35) external static; 73 dcl error_table_$noarg fixed bin (35) external static; 74 dcl error_table_$too_many_args fixed bin (35) external static; 75 76 dcl log_data_$syserr_log_dir char (168) external static; 77 dcl log_data_$syserr_log_name char (32) external static; 78 79 dcl absolute_pathname_ entry (char (*), char (*), fixed bin (35)); 80 dcl com_err_ entry options (variable); 81 dcl convert_date_to_binary_ entry (char (*), fixed bin (71), fixed bin (35)); 82 dcl convert_date_to_binary_$relative entry (char (*), fixed bin (71), fixed bin (71), fixed bin (35)); 83 dcl cu_$arg_list_ptr entry (ptr); 84 dcl cu_$arg_count entry (fixed bin); 85 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin, fixed bin (35), ptr); 86 dcl date_time_ entry (fixed bin (71), char (*)); 87 dcl get_temp_segment_ entry (char (*), ptr, fixed bin (35)); 88 dcl ioa_ entry options (variable); 89 dcl log_write_$open_for_migrate entry (char (*), char (*), bit (1) aligned, pointer, fixed bin (35)); 90 dcl log_write_$close entry (pointer, fixed bin (35)); 91 dcl log_write_$general entry (pointer, fixed bin (35), fixed bin, fixed bin, char (16) varying, pointer, fixed bin (35)); 92 dcl log_segment_$finish_message entry (pointer, pointer, fixed bin (35)); 93 dcl print_syserr_msg_$open_err entry (bit (36) aligned, char (*), fixed bin (35)); 94 dcl release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 95 dcl old_syserr_log_util_$open entry (bit (36) aligned, fixed bin (35)); 96 dcl old_syserr_log_util_$read entry (ptr, fixed bin, fixed bin, fixed bin (35)); 97 dcl old_syserr_log_util_$close entry (fixed bin (35)); 98 dcl old_syserr_log_util_$search entry (fixed bin (71), fixed bin (71), fixed bin (35), fixed bin (35)); 99 100 dcl cleanup condition; 101 102 declare (addr, binary, bit, char, hbound, mod, null, pointer, substr, unspec) builtin; 103 104 105 /* Initialization */ 106 107 log_write_data_ptr = null (); 108 workp = null (); 109 110 on condition (cleanup) 111 call clean_up (); 112 113 call get_temp_segment_ (WHOAMI, workp, code); /* Get a work segment */ 114 if code ^= 0 then do; 115 call com_err_ (code, WHOAMI, "Can't get temp segment"); 116 goto MAIN_RETURN; 117 end; 118 119 call cu_$arg_list_ptr (arg_list_ptr); /* Need pointer to argument list */ 120 call cu_$arg_count (arg_count); /* And the length */ 121 more_args = (arg_count > 0); /* Set if args to scan */ 122 call scan_args; /* Scan the argument list */ 123 124 call old_syserr_log_util_$open (open_status, code); /* Open the syserr log */ 125 if (code = error_table_$moderr) & (substr (open_status, 1, 2) = "01"b) then ; 126 /* Ignore the "expected" error */ 127 128 else if code ^= 0 | substr (open_status, 1, 2) ^= "11"b then do; 129 /* If error */ 130 call print_syserr_msg_$open_err (open_status, WHOAMI, code); 131 if code ^= 0 then goto MAIN_RETURN; /* Not recoverable */ 132 end; 133 134 if ^from_sw then do; /* No -from, so start at beginning */ 135 call old_syserr_log_util_$search (0, msg_time, msg_seq, code); 136 if code ^= 0 then do; 137 call com_err_ (code, WHOAMI, "Can't find first message in log."); 138 goto MAIN_RETURN; 139 end; 140 from_time = msg_time; /* Official starting time */ 141 end; 142 else do; /* -from used, find right message */ 143 call old_syserr_log_util_$search (from_time, msg_time, msg_seq, code); 144 if code ^= 0 then do; 145 call com_err_ (code, WHOAMI, "Locating first message requested."); 146 goto MAIN_RETURN; 147 end; 148 end; 149 150 if for_sw then do; /* Now can compute -for limit */ 151 call convert_date_to_binary_$relative (for_arg, to_time, from_time, code); 152 if code ^= 0 then do; 153 call com_err_ (code, WHOAMI, "-for ^a", for_arg); 154 goto MAIN_RETURN; 155 end; 156 to_sw = "1"b; /* Now, just as if -to was specified */ 157 end; 158 if ^to_sw then to_time = from_time; /* Initialize last message time */ 159 160 syserr_msgp = addr (work.buffer); /* Read here */ 161 162 163 call print_header; 164 165 call log_write_$open_for_migrate 166 (new_log_dir, log_data_$syserr_log_name, "1"b, log_write_data_ptr, code); 167 if (code ^= 0) then do; 168 call com_err_ (code, WHOAMI, "Opening new log directory ^a", new_log_dir); 169 goto MAIN_RETURN; 170 end; 171 172 /* Loop thru the file */ 173 174 binary_count = 0; 175 do read_count = 0 by 1; 176 call old_syserr_log_util_$read (syserr_msgp, hbound (buffer, 1), (0), code); 177 if code ^= 0 then do; 178 if (code ^= error_table_$end_of_info) then 179 call com_err_ (code, WHOAMI, "Reading syserr log"); 180 goto FINISHED_SCAN; 181 end; 182 183 if to_sw then do; /* If time limit */ 184 if syserr_msg.time > to_time then goto FINISHED_SCAN; 185 end; 186 else to_time = syserr_msg.time; /* Save last message time */ 187 188 call process_message (); 189 190 if (read_count ^= 0) & (mod (read_count, 1000) = 0) then 191 call ioa_ ("^a: Processed ^dth message.", WHOAMI, read_count); 192 end; 193 194 195 FINISHED_SCAN: 196 call ioa_ ("^a: Processed ^d message^[s^] (^d binary)", 197 WHOAMI, read_count, (read_count ^= 1), binary_count); 198 199 MAIN_RETURN: 200 call clean_up (); 201 return; 202 203 /* Procedure to copy a single message */ 204 205 process_message: 206 procedure (); 207 208 declare data_class char (16) varying; 209 declare data_lth fixed bin; 210 declare data_idx fixed bin; 211 declare data_buffer (data_lth) bit (36) aligned based; 212 213 214 if (syserr_msg.data_size > 0) then do; 215 call convert_data_class ((syserr_msg.data_code), data_class); 216 data_lth = syserr_msg.data_size; 217 end; 218 else do; 219 data_class = ""; 220 data_lth = 0; 221 end; 222 223 call log_write_$general (log_write_data_ptr, 224 syserr_msg.seq_num, (syserr_msg.text_len), data_lth, data_class, log_message_ptr, code); 225 if (code ^= 0) then do; 226 call com_err_ (code, WHOAMI, "Cannot allocate copy of message ^d", syserr_msg.seq_num); 227 goto FINISHED_SCAN; 228 end; 229 230 log_message.time = syserr_msg.time; 231 log_message.severity = syserr_msg.code; 232 log_message.process_id = ""b; /* We have no idea */ 233 log_message.text = syserr_msg.text; 234 235 /* In this version, the binary data is a word of type, followed by the original binary data */ 236 237 if (data_lth > 0) then do; /* Copy binary data only if there is some */ 238 unspec (addr (log_message.data(1)) -> data_buffer) = unspec ( addr (syserr_msg.data(1)) -> data_buffer); 239 binary_count = binary_count + 1; 240 end; 241 242 call log_segment_$finish_message (pointer (log_message_ptr, 0), log_message_ptr, code); 243 if (code ^= 0) then do; 244 call com_err_ (code, WHOAMI, "Cannot finish message ^d at ^p", syserr_msg.seq_num, log_message_ptr); 245 goto FINISHED_SCAN; 246 end; 247 248 return; 249 250 convert_data_class: 251 procedure (a_syserr_bin_class, a_syserr_char_class); 252 253 declare a_syserr_bin_class fixed bin parameter; 254 declare a_syserr_char_class char (16) varying parameter; 255 declare syserr_bin_class fixed bin; 256 declare syserr_char_class char (16) varying; 257 declare hbound builtin; 258 declare ioa_$rsnnl entry () options (variable); 259 260 syserr_bin_class = a_syserr_bin_class; 261 syserr_char_class = ""; 262 if syserr_bin_class < 1 | syserr_bin_class > hbound(SB_char_data_classes, 1) 263 then call ioa_$rsnnl ("syserr^d", syserr_char_class, (0), syserr_bin_class); 264 else syserr_char_class = SB_char_data_classes (syserr_bin_class); 265 266 a_syserr_char_class = syserr_char_class; 267 end convert_data_class; 268 269 end process_message; 270 271 /* Procedure to scan the argument list */ 272 273 scan_args: 274 proc; 275 276 new_log_dir = ""; 277 278 do while (more_args); /* Do while thins to look at */ 279 call get_arg; 280 if arg = "-from" | arg = "-fm" then do; /* Start time */ 281 from_sw = "1"b; 282 call time_arg (from_time); 283 end; 284 else if arg = "-to" then do; /* Ending time */ 285 to_sw = "1"b; 286 call time_arg (to_time); 287 end; 288 else if arg = "-for" then do; /* Time limit */ 289 for_sw = "1"b; 290 call time_arg (for_time); /* For syntax checking only */ 291 for_len = arg_len; /* Save pointer to this argument */ 292 for_ptr = arg_ptr; 293 end; 294 295 else if (arg = "-default") | (arg = "-dft") then do; 296 if (new_log_dir ^= "") then do; 297 call com_err_ (error_table_$too_many_args, 298 WHOAMI, "Only one log directory may be specified. ^a", arg); 299 goto MAIN_RETURN; 300 end; 301 302 new_log_dir = log_data_$syserr_log_dir; 303 end; 304 305 else if (char (arg, 1) = "-") then do; /* Bad control argument */ 306 call com_err_ (error_table_$badopt, WHOAMI, "^a", arg); 307 goto MAIN_RETURN; 308 end; 309 310 else if (new_log_dir ^= "") then do; 311 call com_err_ (error_table_$too_many_args, WHOAMI, "Only one log directory may be specified. ^a", arg); 312 goto MAIN_RETURN; 313 end; 314 315 else do; 316 call absolute_pathname_ (arg, new_log_dir, code); 317 if (code ^= 0) then do; 318 call com_err_ (code, WHOAMI, "Log directory ^a", arg); 319 goto MAIN_RETURN; 320 end; 321 end; 322 end; 323 324 325 if to_sw & for_sw then do; /* Conflict */ 326 call com_err_ (error_table_$inconsistent, WHOAMI, "Conflicting arguments: -to and -for"); 327 goto MAIN_RETURN; 328 end; 329 330 if (new_log_dir = "") then do; 331 call com_err_ (error_table_$noarg, WHOAMI, "Usage: ^a NewLogDirectory {-control_args}", WHOAMI); 332 goto MAIN_RETURN; 333 end; 334 335 return; 336 337 end scan_args; 338 339 /* Procedure to return the next argument from command line */ 340 341 get_arg: 342 proc; 343 344 call cu_$arg_ptr_rel (arg_no, arg_ptr, arg_len, code, arg_list_ptr); 345 if code ^= 0 then do; /* Should never happen */ 346 call com_err_ (code, WHOAMI, "Arg ^d", arg_no); 347 goto MAIN_RETURN; 348 end; 349 arg_no = arg_no + 1; /* For next call */ 350 more_args = (arg_no <= arg_count); 351 return; 352 353 put_arg: 354 entry; /* Entry to return argument after scanning too far */ 355 arg_no = arg_no - 1; 356 more_args = (arg_no <= arg_count); 357 return; 358 359 end get_arg; 360 361 /* Procedure to convert a time argument */ 362 363 time_arg: 364 proc (t); 365 366 dcl arg_copy char (10) var; /* Save copy of arg here */ 367 dcl t fixed bin (71); /* The time to ouput */ 368 369 370 arg_copy = arg; 371 if ^more_args then do; /* Must be more */ 372 call com_err_ (0, WHOAMI, "Argument required after ^a.", arg_copy); 373 goto MAIN_RETURN; 374 end; 375 call get_arg; 376 call convert_date_to_binary_ (arg, t, code); 377 if code ^= 0 then do; 378 call com_err_ (code, WHOAMI, "^a ^a", arg_copy, arg); 379 goto MAIN_RETURN; 380 end; 381 382 return; 383 384 end time_arg; 385 386 387 /* Procedure to print the header line */ 388 389 print_header: 390 proc; 391 392 393 call date_time_ (from_time, tm1); /* Starting time is easy */ 394 395 if to_sw 396 then call date_time_ (to_time, tm2); /* Stop time is easy if given */ 397 else do; /* Otherwise get last message */ 398 call old_syserr_log_util_$search (-1, msg_time, msg_seq, code); 399 /* Search to eof */ 400 if code ^= 0 then do; /* Should not fail */ 401 log_err: 402 call com_err_ (code, WHOAMI, "From old_syserr_log_util_$search."); 403 return; 404 end; 405 406 call date_time_ (msg_time, tm2); /* Edit time */ 407 call old_syserr_log_util_$search (from_time, msg_time, msg_seq, code); 408 /* Back to first msg */ 409 if code ^= 0 then goto log_err; 410 end; 411 412 call ioa_ ("^/Converting syserr log into ^a,^/^3xfrom ^a to ^a", new_log_dir, tm1, tm2); 413 414 return; 415 416 end print_header; 417 418 419 420 /* Cleanup handler */ 421 422 clean_up: 423 proc; 424 425 call old_syserr_log_util_$close ((0)); 426 427 if (workp ^= null ()) then 428 call release_temp_segment_ (WHOAMI, workp, (0)); 429 430 if (log_write_data_ptr ^= null ()) then 431 call log_write_$close (log_write_data_ptr, (0)); 432 433 return; 434 end clean_up; 435 436 /* Begin include file ..... syserr_message.incl.pl1 */ 1 2 1 3 /* Format of a syserr message */ 1 4 1 5 /* Created October 1975 by Larry Johnson */ 1 6 1 7 dcl syserr_msgp ptr; /* Base for include file */ 1 8 1 9 dcl 1 syserr_msg based (syserr_msgp) aligned, 1 10 2 seq_num fixed bin (35), /* Sequence number of this message. */ 1 11 2 time fixed bin (71) unal, /* Time message logged at */ 1 12 2 code fixed bin (11) unal, /* Syserr code associated with this message. */ 1 13 2 text_len fixed bin (11) unal, /* Length of message text in ASCII characters. */ 1 14 2 data_size fixed bin (11) unal, /* Size of binary data */ 1 15 2 data_code fixed bin (11) unal, /* Code identifying message type. */ 1 16 2 pad bit (60) unal, /* RESERVED! */ 1 17 2 text char (0 refer (syserr_msg.text_len)), /* Text of expanded message - kept in ASCII. */ 1 18 2 data (0 refer (syserr_msg.data_size)) bit (36); /* Binary data area */ 1 19 1 20 1 21 /* End include file ..... syserr_message.incl.pl1 */ 436 437 /* BEGIN INCLUDE FILE .. syserr_binary_def.incl.pl1 */ 2 2 2 3 /* This include file has an ALM version, keep 'em in sync. */ 2 4 2 5 /* format: off */ 2 6 2 7 /* Modified January 1984 by Paul Farley to add an array of entry values 2 8* to be examined by display_cpu_error. */ 2 9 /* Modified October 1984 by EJ Sharpe to include SB_audit_message */ 2 10 /* Modified January 1985 by EJ Sharpe for SB_char_data_classes */ 2 11 /* Modified 1985-01-25, BIM: added ring alarm audit support. */ 2 12 /* Modified 1985-02-20, EJ Sharpe: added SB_ibm3270_mde, syserr_binary_(seg vol)damage_class, 2 13* also changed some codes to "SB_unused_NN" - see line comments */ 2 14 2 15 /* In the future, these will be the only constants needed in this include 2 16*file. They are the binary data class strings for messages in the new format 2 17*syserr logs. The names are all of the form SB_ZZZZZZZ_data_class where 2 18*ZZZZZZZ is the value of the data class string. Message expanders are named 2 19*expand_ZZZZZZZ_msg_ and are referenced by the log perusal tools. */ 2 20 2 21 dcl ( /* include file name */ 2 22 SB_io_status_data_class init ("io_status"), /* io_syserr_msg */ 2 23 SB_hwfault_data_class init ("hwfault"), /* syserr_fault_msg */ 2 24 SB_mos_data_class init ("mos"), /* scr */ 2 25 SB_segdamage_data_class init ("segdamage"), /* segdamage_msg */ 2 26 SB_voldamage_data_class init ("voldamage"), /* segdamage_msg (first two words) */ 2 27 SB_mdc_del_uidpath_data_class init ("mdc_del_uidpath"), /* none - 16 word UID path */ 2 28 SB_mmdam_data_class init ("mmdam"), /* syserr_mmdam_msg */ 2 29 SB_mpc_poll_data_class init ("mpc_poll"), /* poll_mpc_data */ 2 30 SB_fnp_poll_data_class init ("fnp_poll"), /* poll_fnp_data */ 2 31 SB_config_deck_data_class init ("config_deck"), /* config_deck */ 2 32 SB_vtoce_data_class init ("vtoce"), /* vtoce */ 2 33 SB_access_audit_data_class init ("access_audit"), /* access_audit_bin_header */ 2 34 SB_ibm3270_mde_data_class init ("ibm3270_mde") /* ibm3270_mpx_data */ 2 35 ) static internal char (16) varying options (constant); 2 36 2 37 2 38 /************************ 2 39*Once the syserr$binary is replaced with something that takes real data classes 2 40*and all system modules and tools are upgraded to use the new interface, the 2 41*rest of this include file may be discarded. 2 42*************************/ 2 43 2 44 /* The limit of 36 is arbitrary- there is no reason that it can not be 2 45* extended at any time. */ 2 46 2 47 dcl ( 2 48 SB_disk_err init (1), SBL_disk_err init (5), 2 49 SB_hw_fault init (2), SBL_hw_fault init (176), 2 50 SB_io_err init (3), SBL_io_err init (5), 2 51 SB_unused_4 init (4), SBL_unused_4 init (1), /* was "mos_poll" (mos poll time) */ 2 52 SB_mos_err init (5), SBL_mos_err init (2), /* mos memory error data */ 2 53 SB_unused_6 init (6), SBL_unused_6 init (1), /* was "bulk_status" (bulk dcb status) */ 2 54 SB_unused_7 init (7), SBL_unused_7 init (1), /* was "bulk_csb" (bulk csb status) */ 2 55 SB_unused_8 init (8), SBL_unused_8 init (3), /* was "free_st_1" */ 2 56 SB_unused_9 init (9), SBL_unused_9 init (2), /* was "free_st_2" */ 2 57 SB_unused_10 init (10), SBL_unused_10 init (21), /* was "unpr_add" */ 2 58 SB_zerpag init (11), SBL_zerpag init (20), 2 59 SB_unused_12 init (12), SBL_unused_12 init (20), /* was "unpr_add" */ 2 60 SB_vtoc_salv_dam init (13), SBL_vtoc_salv_dam init (20), 2 61 SB_unused_14 init (14), SBL_unused_14 init (20), /* was "page_rw_err" */ 2 62 SB_unused_15 init (15), SBL_unused_15 init (3), /* was "ruad" */ 2 63 SB_random_segdamage init (16), SBL_random_segdamage init (20), 2 64 SB_read_nc init (17), SBL_read_nc init (2), 2 65 SB_unused_18 init (18), SBL_unused_18 init (2), /* was "vtoc_err" */ 2 66 SB_mdc_del_uidpath init (19), SBL_mdc_del_uidpath init (16), 2 67 SB_ocdcm_err init (20), SBL_ocdcm_err init (5), 2 68 SB_mmdam init (21), SBL_mmdam init (2), 2 69 SB_verify_lock init (22), SBL_verify_lock init (176), 2 70 SB_io_err_detail init (23), SBL_io_err_detail init (11), 2 71 SB_mpc_poll init (24), SBL_mpc_poll init (256) /* max */, 2 72 SB_fnp_poll init (25), SBL_fnp_poll init (256) /* max */, 2 73 SB_config_deck init (26), SBL_config_deck init (256) /* 16 cards at 16 words */, 2 74 SB_vtoce init (27), SBL_vtoce init (192), /* 1 VTOCE */ 2 75 SB_access_audit init (28), SBL_access_audit init (256), /* max */ 2 76 SB_ibm3270_mde init (35), SBL_ibm3270_mde init (256), /* max */ 2 77 SB_end_of_table init (36), SBL_end_of_table init (1) 2 78 ) internal static options (constant) fixed bin; 2 79 2 80 2 81 /* The following array is a mapping of the old syserr$binary codes into the 2 82*new data classes for MR11. It is primarily used by syserr_copy to translate 2 83*the binary data codes stored in the wired syserr log (see above) into the data 2 84*classes needed by the ring-0 paged syserr log which is a new format log. It 2 85*is also used by syserr_log_util_ to translate the data classes back into the 2 86*corresponding binary code (for tools not yet upgraded to deal with the new 2 87*format log messages). */ 2 88 2 89 dcl SB_char_data_classes (36) char (16) varying internal static options (constant) 2 90 init ( "io_status", /* 1 */ 2 91 "hwfault", /* 2 */ 2 92 "io_status", /* 3 */ 2 93 "unused_4", /* 4 */ 2 94 "mos", /* 5 */ 2 95 2 96 "unused_6", /* 6 */ 2 97 "unused_7", /* 7 */ 2 98 "unused_8", /* 8 */ 2 99 "unused_9", /* 9 */ 2 100 "unused_10", /* 10 */ 2 101 2 102 "segdamage", /* 11 */ 2 103 "unused_12", /* 12 */ 2 104 "segdamage", /* 13 */ 2 105 "unused_14", /* 14 */ 2 106 "unused_15", /* 15 */ 2 107 2 108 "segdamage", /* 16 */ 2 109 "voldamage", /* 17 */ 2 110 "unused_18", /* 18 */ 2 111 "mdc_del_uidpath", /* 19 */ 2 112 "io_status", /* 20 */ 2 113 2 114 "mmdam", /* 21 */ 2 115 "hwfault", /* 22 */ 2 116 "io_status", /* 23 */ 2 117 "mpc_poll", /* 24 */ 2 118 "fnp_poll", /* 25 */ 2 119 2 120 "config_deck", /* 26 */ 2 121 "vtoce", /* 27 */ 2 122 "access_audit", /* 28 */ 2 123 "unused_29", /* 29 */ 2 124 "unused_30", /* 30 */ 2 125 "unused_31", /* 31 */ 2 126 "unused_32", /* 32 */ 2 127 "unused_33", /* 33 */ 2 128 "unused_34", /* 34 */ 2 129 "ibm3270_mde", /* 35 */ 2 130 "unused_36" /* 36 */ 2 131 ); 2 132 2 133 2 134 /* format: on */ 2 135 2 136 /* These constants are used by various tools which analyze syserr messages and 2 137*still call the old interface "syserr_log_util_". */ 2 138 2 139 dcl syserr_binary_mos_mask init ("060000000000"b3) bit (36) static options (constant); 2 140 dcl syserr_binary_seg_damage_mask init ("000374000000"b3) bit (36) static options (constant); 2 141 dcl syserr_binary_vol_damage_mask init ("003413000000"b3) bit (36) static options (constant); 2 142 dcl syserr_binary_address_damage_mask init ("002010000000"b3) bit (36) static options (constant); 2 143 2 144 dcl display_cpu_error_binary_defs (2) init ( 2 145 2, /** SB_hw_fault */ 2 146 22 /** SB_verify_lock */ 2 147 ) internal static options (constant) fixed bin; 2 148 2 149 /* END INCLUDE FILE syserr_binary_def.incl.pl1 */ 437 438 /* BEGIN INCLUDE FILE ... log_message.incl.pl1 ... 84-04-25 ... W. Olin Sibert */ 3 2 3 3 declare 1 log_message_header aligned based, /* Items marked "(SET)" are set by $create_message */ 3 4 2 sentinel bit (36) aligned, /* Proper value declared in log_segment.incl.pl1 */ 3 5 2 sequence fixed bin (35), /* Sequence number for this message (SET) */ 3 6 2 severity fixed bin (8) unaligned, /* Severity of message */ 3 7 2 data_class_lth fixed bin (9) unaligned unsigned, /* Length of data class-- 0 to 16 (SET) */ 3 8 2 time fixed bin (53) unaligned, /* Time message originated */ 3 9 2 text_lth fixed bin (17) unaligned, /* Length of message text. Must be nonzero (SET) */ 3 10 2 data_lth fixed bin (17) unaligned, /* Length of binary data. May be zero (SET) */ 3 11 2 process_id bit (36) aligned; /* Process id of process writing message */ 3 12 3 13 declare 1 log_message aligned based (log_message_ptr), 3 14 2 header aligned like log_message_header, 3 15 2 text char (log_message_text_lth refer (log_message.text_lth)) unaligned, 3 16 2 data_class char (log_message_data_class_lth refer (log_message.data_class_lth)) unaligned, 3 17 2 data dim (log_message_data_lth refer (log_message.data_lth)) bit (36) aligned; 3 18 3 19 declare log_message_ptr pointer; 3 20 declare log_message_text_lth fixed bin; 3 21 declare log_message_data_class_lth fixed bin; 3 22 declare log_message_data_lth fixed bin; 3 23 3 24 /* END INCLUDE FILE ... log_message.incl.pl1 */ 438 439 440 end convert_syserr_log; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/13/85 1100.0 convert_syserr_log.pl1 >spec>on>41-11>convert_syserr_log.pl1 436 1 08/18/77 1118.1 syserr_message.incl.pl1 >ldd>include>syserr_message.incl.pl1 437 2 03/12/85 1556.6 syserr_binary_def.incl.pl1 >spec>on>41-11>syserr_binary_def.incl.pl1 438 3 01/21/85 0912.2 log_message.incl.pl1 >ldd>include>log_message.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. SB_char_data_classes 000000 constant varying char(16) initial array dcl 2-89 ref 262 264 WHOAMI 000264 constant char(32) initial unaligned dcl 66 set ref 113* 115* 130* 137* 145* 153* 168* 178* 190* 195* 226* 244* 297* 306* 311* 318* 326* 331* 331* 346* 372* 378* 401* 427* a_syserr_bin_class parameter fixed bin(17,0) dcl 253 ref 250 260 a_syserr_char_class parameter varying char(16) dcl 254 set ref 250 266* absolute_pathname_ 000030 constant entry external dcl 79 ref 316 addr builtin function dcl 102 ref 160 238 238 arg based char unaligned dcl 22 set ref 280 280 284 288 295 295 297* 305 306* 311* 316* 318* 370 376* 378* arg_copy 000320 automatic varying char(10) dcl 366 set ref 370* 372* 378* arg_count 000100 automatic fixed bin(17,0) dcl 23 set ref 120* 121 350 356 arg_len 000101 automatic fixed bin(17,0) dcl 24 set ref 280 280 284 288 291 295 295 297 297 305 306 306 311 311 316 316 318 318 344* 370 376 376 378 378 arg_list_ptr 000102 automatic pointer dcl 25 set ref 119* 344* arg_no 000104 automatic fixed bin(17,0) initial dcl 26 set ref 26* 344* 346* 349* 349 350 355* 355 356 arg_ptr 000106 automatic pointer dcl 27 set ref 280 280 284 288 292 295 295 297 305 306 311 316 318 344* 370 376 378 binary_count 000136 automatic fixed bin(17,0) dcl 50 set ref 174* 195* 239* 239 buffer 10 based bit(36) array level 2 dcl 60 set ref 160 176 176 char builtin function dcl 102 ref 305 cleanup 000234 stack reference condition dcl 100 ref 110 code 3 based fixed bin(11,0) level 2 in structure "syserr_msg" packed unaligned dcl 1-9 in procedure "convert_syserr_log" ref 231 code 000110 automatic fixed bin(35,0) dcl 29 in procedure "convert_syserr_log" set ref 113* 114 115* 124* 125 128 130* 131 135* 136 137* 143* 144 145* 151* 152 153* 165* 167 168* 176* 177 178 178* 223* 225 226* 242* 243 244* 316* 317 318* 344* 345 346* 376* 377 378* 398* 400 401* 407* 409 com_err_ 000032 constant entry external dcl 80 ref 115 137 145 153 168 178 226 244 297 306 311 318 326 331 346 372 378 401 convert_date_to_binary_ 000034 constant entry external dcl 81 ref 376 convert_date_to_binary_$relative 000036 constant entry external dcl 82 ref 151 count_limit 000111 automatic fixed bin(17,0) initial dcl 30 set ref 30* cu_$arg_count 000042 constant entry external dcl 84 ref 120 cu_$arg_list_ptr 000040 constant entry external dcl 83 ref 119 cu_$arg_ptr_rel 000044 constant entry external dcl 85 ref 344 data based bit(36) array level 2 in structure "syserr_msg" dcl 1-9 in procedure "convert_syserr_log" set ref 238 data based bit(36) array level 2 in structure "log_message" dcl 3-13 in procedure "convert_syserr_log" set ref 238 data_buffer based bit(36) array dcl 211 set ref 238* 238 data_class 000254 automatic varying char(16) dcl 208 set ref 215* 219* 223* data_class_lth 2(09) based fixed bin(9,0) level 3 packed unsigned unaligned dcl 3-13 ref 238 data_code 4 based fixed bin(11,0) level 2 packed unaligned dcl 1-9 ref 215 data_lth 000261 automatic fixed bin(17,0) dcl 209 set ref 216* 220* 223* 237 238 238 data_size 3(24) based fixed bin(11,0) level 2 packed unaligned dcl 1-9 ref 214 216 date_time_ 000046 constant entry external dcl 86 ref 393 395 406 day_limit 000112 automatic fixed bin(17,0) initial dcl 32 set ref 32* err_cnt 000113 automatic fixed bin(17,0) initial dcl 33 set ref 33* error_table_$badopt 000010 external static fixed bin(35,0) dcl 69 set ref 306* error_table_$end_of_info 000012 external static fixed bin(35,0) dcl 70 ref 178 error_table_$inconsistent 000014 external static fixed bin(35,0) dcl 71 set ref 326* error_table_$moderr 000016 external static fixed bin(35,0) dcl 72 ref 125 error_table_$noarg 000020 external static fixed bin(35,0) dcl 73 set ref 331* error_table_$too_many_args 000022 external static fixed bin(35,0) dcl 74 set ref 297* 311* expand_sw 000114 automatic bit(1) initial unaligned dcl 34 set ref 34* for_arg based char unaligned dcl 36 set ref 151* 153* for_len 000115 automatic fixed bin(17,0) dcl 37 set ref 151 151 153 153 291* for_ptr 000116 automatic pointer dcl 38 set ref 151 153 292* for_sw 000120 automatic bit(1) initial unaligned dcl 39 set ref 39* 150 289* 325 for_time 000122 automatic fixed bin(71,0) dcl 40 set ref 290* from_sw 000124 automatic bit(1) initial unaligned dcl 41 set ref 41* 134 281* from_time 000126 automatic fixed bin(71,0) dcl 42 set ref 140* 143* 151* 158 282* 393* 407* get_temp_segment_ 000050 constant entry external dcl 87 ref 113 hbound builtin function dcl 257 in procedure "convert_data_class" ref 262 hbound builtin function dcl 102 in procedure "convert_syserr_log" ref 176 176 header based structure level 2 dcl 3-13 ioa_ 000052 constant entry external dcl 88 ref 190 195 412 ioa_$rsnnl 000100 constant entry external dcl 258 ref 262 log_data_$syserr_log_dir 000024 external static char(168) unaligned dcl 76 ref 302 log_data_$syserr_log_name 000026 external static char(32) unaligned dcl 77 set ref 165* log_message based structure level 1 dcl 3-13 log_message_header based structure level 1 dcl 3-3 log_message_ptr 000244 automatic pointer dcl 3-19 set ref 223* 230 231 232 233 238 242 242 242* 244* log_segment_$finish_message 000062 constant entry external dcl 92 ref 242 log_write_$close 000056 constant entry external dcl 90 ref 430 log_write_$general 000060 constant entry external dcl 91 ref 223 log_write_$open_for_migrate 000054 constant entry external dcl 89 ref 165 log_write_data_ptr 000230 automatic pointer dcl 57 set ref 107* 165* 223* 430 430* mod builtin function dcl 102 ref 190 more_args 000130 automatic bit(1) unaligned dcl 44 set ref 121* 278 350* 356* 371 msg_seq 000131 automatic fixed bin(35,0) dcl 45 set ref 135* 143* 398* 407* msg_time 000132 automatic fixed bin(71,0) dcl 46 set ref 135* 140 143* 398* 406* 407* new_log_dir 000156 automatic char(168) unaligned dcl 56 set ref 165* 168* 276* 296 302* 310 316* 330 412* null builtin function dcl 102 ref 107 108 427 430 old_syserr_log_util_$close 000074 constant entry external dcl 97 ref 425 old_syserr_log_util_$open 000070 constant entry external dcl 95 ref 124 old_syserr_log_util_$read 000072 constant entry external dcl 96 ref 176 old_syserr_log_util_$search 000076 constant entry external dcl 98 ref 135 143 398 407 open_status 000134 automatic bit(36) dcl 48 set ref 124* 125 128 130* pointer builtin function dcl 102 ref 242 242 print_syserr_msg_$open_err 000064 constant entry external dcl 93 ref 130 process_id 5 based bit(36) level 3 dcl 3-13 set ref 232* read_count 000135 automatic fixed bin(17,0) dcl 49 set ref 175* 190 190 190* 195* 195 release_temp_segment_ 000066 constant entry external dcl 94 ref 427 seq_num based fixed bin(35,0) level 2 dcl 1-9 set ref 223* 226* 244* severity 2 based fixed bin(8,0) level 3 packed unaligned dcl 3-13 set ref 231* substr builtin function dcl 102 ref 125 128 syserr_bin_class 000270 automatic fixed bin(17,0) dcl 255 set ref 260* 262 262 262* 264 syserr_char_class 000271 automatic varying char(16) dcl 256 set ref 261* 262* 264* 266 syserr_msg based structure level 1 dcl 1-9 syserr_msgp 000242 automatic pointer dcl 1-7 set ref 160* 176* 184 186 214 215 216 223 223 226 230 231 233 238 244 t parameter fixed bin(71,0) dcl 367 set ref 363 376* text 6 based char level 2 in structure "log_message" packed unaligned dcl 3-13 in procedure "convert_syserr_log" set ref 233* text 6 based char level 2 in structure "syserr_msg" dcl 1-9 in procedure "convert_syserr_log" ref 233 text_len 3(12) based fixed bin(11,0) level 2 packed unaligned dcl 1-9 ref 223 233 238 text_lth 4 based fixed bin(17,0) level 3 packed unaligned dcl 3-13 ref 233 238 time 1 based fixed bin(71,0) level 2 in structure "syserr_msg" packed unaligned dcl 1-9 in procedure "convert_syserr_log" ref 184 186 230 time 2(18) based fixed bin(53,0) level 3 in structure "log_message" packed unaligned dcl 3-13 in procedure "convert_syserr_log" set ref 230* tm1 000137 automatic char(24) unaligned dcl 52 set ref 393* 412* tm2 000145 automatic char(24) unaligned dcl 52 set ref 395* 406* 412* to_sw 000153 automatic bit(1) initial unaligned dcl 53 set ref 53* 156* 158 183 285* 325 395 to_time 000154 automatic fixed bin(71,0) dcl 54 set ref 151* 158* 184 186* 286* 395* unspec builtin function dcl 102 set ref 238* 238 work based structure level 1 dcl 60 workp 000232 automatic pointer dcl 59 set ref 108* 113* 160 176 176 427 427* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. SBL_access_audit internal static fixed bin(17,0) initial dcl 2-47 SBL_config_deck internal static fixed bin(17,0) initial dcl 2-47 SBL_disk_err internal static fixed bin(17,0) initial dcl 2-47 SBL_end_of_table internal static fixed bin(17,0) initial dcl 2-47 SBL_fnp_poll internal static fixed bin(17,0) initial dcl 2-47 SBL_hw_fault internal static fixed bin(17,0) initial dcl 2-47 SBL_ibm3270_mde internal static fixed bin(17,0) initial dcl 2-47 SBL_io_err internal static fixed bin(17,0) initial dcl 2-47 SBL_io_err_detail internal static fixed bin(17,0) initial dcl 2-47 SBL_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 2-47 SBL_mmdam internal static fixed bin(17,0) initial dcl 2-47 SBL_mos_err internal static fixed bin(17,0) initial dcl 2-47 SBL_mpc_poll internal static fixed bin(17,0) initial dcl 2-47 SBL_ocdcm_err internal static fixed bin(17,0) initial dcl 2-47 SBL_random_segdamage internal static fixed bin(17,0) initial dcl 2-47 SBL_read_nc internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_10 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_12 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_14 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_15 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_18 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_4 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_6 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_7 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_8 internal static fixed bin(17,0) initial dcl 2-47 SBL_unused_9 internal static fixed bin(17,0) initial dcl 2-47 SBL_verify_lock internal static fixed bin(17,0) initial dcl 2-47 SBL_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 2-47 SBL_vtoce internal static fixed bin(17,0) initial dcl 2-47 SBL_zerpag internal static fixed bin(17,0) initial dcl 2-47 SB_access_audit internal static fixed bin(17,0) initial dcl 2-47 SB_access_audit_data_class internal static varying char(16) initial dcl 2-21 SB_config_deck internal static fixed bin(17,0) initial dcl 2-47 SB_config_deck_data_class internal static varying char(16) initial dcl 2-21 SB_disk_err internal static fixed bin(17,0) initial dcl 2-47 SB_end_of_table internal static fixed bin(17,0) initial dcl 2-47 SB_fnp_poll internal static fixed bin(17,0) initial dcl 2-47 SB_fnp_poll_data_class internal static varying char(16) initial dcl 2-21 SB_hw_fault internal static fixed bin(17,0) initial dcl 2-47 SB_hwfault_data_class internal static varying char(16) initial dcl 2-21 SB_ibm3270_mde internal static fixed bin(17,0) initial dcl 2-47 SB_ibm3270_mde_data_class internal static varying char(16) initial dcl 2-21 SB_io_err internal static fixed bin(17,0) initial dcl 2-47 SB_io_err_detail internal static fixed bin(17,0) initial dcl 2-47 SB_io_status_data_class internal static varying char(16) initial dcl 2-21 SB_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 2-47 SB_mdc_del_uidpath_data_class internal static varying char(16) initial dcl 2-21 SB_mmdam internal static fixed bin(17,0) initial dcl 2-47 SB_mmdam_data_class internal static varying char(16) initial dcl 2-21 SB_mos_data_class internal static varying char(16) initial dcl 2-21 SB_mos_err internal static fixed bin(17,0) initial dcl 2-47 SB_mpc_poll internal static fixed bin(17,0) initial dcl 2-47 SB_mpc_poll_data_class internal static varying char(16) initial dcl 2-21 SB_ocdcm_err internal static fixed bin(17,0) initial dcl 2-47 SB_random_segdamage internal static fixed bin(17,0) initial dcl 2-47 SB_read_nc internal static fixed bin(17,0) initial dcl 2-47 SB_segdamage_data_class internal static varying char(16) initial dcl 2-21 SB_unused_10 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_12 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_14 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_15 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_18 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_4 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_6 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_7 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_8 internal static fixed bin(17,0) initial dcl 2-47 SB_unused_9 internal static fixed bin(17,0) initial dcl 2-47 SB_verify_lock internal static fixed bin(17,0) initial dcl 2-47 SB_voldamage_data_class internal static varying char(16) initial dcl 2-21 SB_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 2-47 SB_vtoce internal static fixed bin(17,0) initial dcl 2-47 SB_vtoce_data_class internal static varying char(16) initial dcl 2-21 SB_zerpag internal static fixed bin(17,0) initial dcl 2-47 binary builtin function dcl 102 bit builtin function dcl 102 data_idx automatic fixed bin(17,0) dcl 210 display_cpu_error_binary_defs internal static fixed bin(17,0) initial array dcl 2-144 log_message_data_class_lth automatic fixed bin(17,0) dcl 3-21 log_message_data_lth automatic fixed bin(17,0) dcl 3-22 log_message_text_lth automatic fixed bin(17,0) dcl 3-20 syserr_binary_address_damage_mask internal static bit(36) initial unaligned dcl 2-142 syserr_binary_mos_mask internal static bit(36) initial unaligned dcl 2-139 syserr_binary_seg_damage_mask internal static bit(36) initial unaligned dcl 2-140 syserr_binary_vol_damage_mask internal static bit(36) initial unaligned dcl 2-141 NAMES DECLARED BY EXPLICIT CONTEXT. FINISHED_SCAN 001434 constant label dcl 195 ref 180 184 227 245 MAIN_RETURN 001473 constant label dcl 199 ref 116 131 138 146 154 169 299 307 312 319 327 332 347 373 379 clean_up 003052 constant entry internal dcl 422 ref 110 199 convert_data_class 001741 constant entry internal dcl 250 ref 215 convert_syserr_log 000571 constant entry external dcl 6 get_arg 002432 constant entry internal dcl 341 ref 279 375 log_err 002740 constant label dcl 401 ref 409 print_header 002661 constant entry internal dcl 389 ref 163 process_message 001500 constant entry internal dcl 205 ref 188 put_arg 002512 constant entry internal dcl 353 scan_args 002023 constant entry internal dcl 273 ref 122 time_arg 002522 constant entry internal dcl 363 ref 282 286 290 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3540 3642 3161 3550 Length 4154 3161 102 276 357 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_syserr_log 534 external procedure is an external procedure. on unit on line 110 64 on unit process_message internal procedure shares stack frame of external procedure convert_syserr_log. convert_data_class internal procedure shares stack frame of external procedure convert_syserr_log. scan_args internal procedure shares stack frame of external procedure convert_syserr_log. get_arg internal procedure shares stack frame of external procedure convert_syserr_log. time_arg internal procedure shares stack frame of external procedure convert_syserr_log. print_header internal procedure shares stack frame of external procedure convert_syserr_log. clean_up 84 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_syserr_log 000100 arg_count convert_syserr_log 000101 arg_len convert_syserr_log 000102 arg_list_ptr convert_syserr_log 000104 arg_no convert_syserr_log 000106 arg_ptr convert_syserr_log 000110 code convert_syserr_log 000111 count_limit convert_syserr_log 000112 day_limit convert_syserr_log 000113 err_cnt convert_syserr_log 000114 expand_sw convert_syserr_log 000115 for_len convert_syserr_log 000116 for_ptr convert_syserr_log 000120 for_sw convert_syserr_log 000122 for_time convert_syserr_log 000124 from_sw convert_syserr_log 000126 from_time convert_syserr_log 000130 more_args convert_syserr_log 000131 msg_seq convert_syserr_log 000132 msg_time convert_syserr_log 000134 open_status convert_syserr_log 000135 read_count convert_syserr_log 000136 binary_count convert_syserr_log 000137 tm1 convert_syserr_log 000145 tm2 convert_syserr_log 000153 to_sw convert_syserr_log 000154 to_time convert_syserr_log 000156 new_log_dir convert_syserr_log 000230 log_write_data_ptr convert_syserr_log 000232 workp convert_syserr_log 000242 syserr_msgp convert_syserr_log 000244 log_message_ptr convert_syserr_log 000254 data_class process_message 000261 data_lth process_message 000270 syserr_bin_class convert_data_class 000271 syserr_char_class convert_data_class 000320 arg_copy time_arg THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_ne_as r_le_a call_ext_out_desc call_ext_out call_int_this call_int_other return mod_fx1 enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ convert_date_to_binary_ convert_date_to_binary_$relative cu_$arg_count cu_$arg_list_ptr cu_$arg_ptr_rel date_time_ get_temp_segment_ ioa_ ioa_$rsnnl log_segment_$finish_message log_write_$close log_write_$general log_write_$open_for_migrate old_syserr_log_util_$close old_syserr_log_util_$open old_syserr_log_util_$read old_syserr_log_util_$search print_syserr_msg_$open_err release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$end_of_info error_table_$inconsistent error_table_$moderr error_table_$noarg error_table_$too_many_args log_data_$syserr_log_dir log_data_$syserr_log_name LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000570 26 000576 30 000600 32 000601 33 000602 34 000603 39 000604 41 000605 53 000606 107 000607 108 000611 110 000612 113 000634 114 000655 115 000657 116 000703 119 000704 120 000713 121 000722 122 000725 124 000726 125 000737 128 000751 130 000755 131 000775 134 000777 135 001001 136 001020 137 001022 138 001046 140 001047 141 001051 143 001052 144 001067 145 001071 146 001115 150 001116 151 001120 152 001147 153 001151 154 001203 156 001204 158 001206 160 001212 163 001215 165 001216 167 001251 168 001253 169 001303 174 001304 175 001305 176 001306 177 001326 178 001330 180 001361 183 001362 184 001364 185 001372 186 001373 188 001400 190 001401 192 001432 195 001434 199 001473 201 001477 205 001500 214 001501 215 001506 216 001513 217 001520 219 001521 220 001522 223 001523 225 001552 226 001554 227 001603 230 001604 231 001613 232 001616 233 001617 237 001631 238 001634 239 001662 240 001663 242 001665 243 001702 244 001704 245 001737 248 001740 250 001741 260 001743 261 001745 262 001746 264 002003 266 002013 267 002022 273 002023 276 002024 278 002027 279 002032 280 002033 281 002045 282 002047 283 002051 284 002052 285 002056 286 002060 287 002062 288 002063 289 002067 290 002071 291 002073 292 002075 293 002077 295 002100 296 002110 297 002114 299 002147 302 002150 303 002155 305 002156 306 002165 307 002217 310 002220 311 002224 312 002257 316 002260 317 002304 318 002306 319 002342 322 002343 325 002344 326 002350 327 002374 330 002375 331 002401 332 002430 335 002431 341 002432 344 002433 345 002452 346 002454 347 002503 349 002504 350 002505 351 002511 353 002512 355 002513 356 002515 357 002521 363 002522 370 002524 371 002535 372 002537 373 002570 375 002571 376 002572 377 002617 378 002621 379 002657 382 002660 389 002661 393 002662 395 002677 398 002717 400 002736 401 002740 403 002764 406 002765 407 003002 409 003017 412 003021 414 003050 422 003051 425 003057 427 003066 430 003115 433 003134 ----------------------------------------------------------- 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