COMPILATION LISTING OF SEGMENT syserr_log_util_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 03/13/85 1201.1 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 syserr_log_util_: 7 procedure (); 8 9 /* * SYSERR_LOG_UTIL_ 10* * 11* * Interim version of syserr interface to new logging software, to be used 12* * until all relevant programs have been converted to use log_read_ instead. 13* * 14* * 84-09-30, W. Olin Sibert: Initial coding 15* * 1985-01-21, BIM, EJ Sharpe: reverse-convert new data classes. 16* */ 17 18 declare P_pathname char (*) parameter; 19 declare P_access bit (36) aligned parameter; 20 declare P_buffer_ptr pointer parameter; 21 declare P_buffer_lth fixed bin parameter; 22 declare P_message_lth fixed bin parameter; 23 declare P_search_time fixed bin (71) parameter; 24 declare P_position fixed bin (35) parameter; 25 declare P_message_time fixed bin (71) parameter; 26 declare P_message_sequence fixed bin (35) parameter; 27 declare P_status_ptr pointer parameter; 28 declare P_code fixed bin (35) parameter; 29 30 declare binary_present bit (1) aligned; 31 declare data_idx fixed bin; 32 declare log_dname char (168); 33 declare log_ename char (32); 34 declare new_binary bit (1) aligned; 35 declare old_data_class fixed bin (35); 36 declare position_idx fixed bin (35); 37 declare temp_code fixed bin (35); 38 declare this_lth fixed bin; 39 40 declare static_read_data_ptr pointer internal static init (null ()); 41 declare static_message_ptr pointer internal static init (null ()); 42 declare static_open_count fixed bin internal static init (0); 43 44 declare error_table_$end_of_info fixed bin (35) external static; 45 declare error_table_$long_record fixed bin (35) external static; 46 declare error_table_$no_log_message fixed bin (35) external static; 47 declare error_table_$not_open fixed bin (35) external static; 48 declare error_table_$unsupported_operation fixed bin (35) external static; 49 50 declare log_data_$syserr_log_dir char (168) external static; 51 declare log_data_$syserr_log_name char (32) external static; 52 53 declare com_err_ entry options (variable); 54 declare expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 55 declare log_read_$close entry (pointer, fixed bin (35)); 56 declare log_read_$next_message entry (pointer, pointer, fixed bin (35)); 57 declare log_read_$open entry (char (*), char (*), pointer, fixed bin (35)); 58 declare log_read_$position_time entry (pointer, fixed bin (71), bit (1) aligned, pointer, fixed bin (35)); 59 declare log_read_$prev_message entry (pointer, pointer, fixed bin (35)); 60 61 declare (abs, binary, currentsize, dimension, divide, hbound, length, max, null, size) builtin; 62 63 /* */ 64 65 syserr_log_util_$open: 66 entry (P_access, P_code); 67 68 log_dname = log_data_$syserr_log_dir; 69 log_ename = log_data_$syserr_log_name; 70 goto OPEN_COMMON; 71 72 73 74 syserr_log_util_$open_path: 75 entry (P_pathname, P_access, P_code); 76 77 if (P_pathname = "") then do; 78 log_dname = log_data_$syserr_log_dir; 79 log_ename = log_data_$syserr_log_name; 80 end; 81 82 else do; 83 call expand_pathname_ (P_pathname, log_dname, log_ename, P_code); 84 if (P_code ^= 0) then 85 return; 86 end; 87 88 89 OPEN_COMMON: 90 if (static_read_data_ptr = null ()) then do; 91 call log_read_$open (log_dname, log_ename, static_read_data_ptr, P_code); 92 if (P_code ^= 0) then /* Open failed */ 93 return; 94 end; 95 96 static_open_count = static_open_count + 1; 97 98 /* Once open, position to the first message in the log */ 99 100 call log_read_$position_time (static_read_data_ptr, 0, "1"b, static_message_ptr, P_code); 101 P_access = "11"b; 102 return; 103 104 /* */ 105 106 syserr_log_util_$close: 107 entry (P_code); 108 109 if (static_read_data_ptr ^= null ()) then do; 110 call log_read_$close (static_read_data_ptr, (0)); 111 static_open_count = static_open_count - 1; 112 static_message_ptr = null (); 113 end; 114 115 P_code = 0; 116 return; 117 118 /* */ 119 120 syserr_log_util_$read: 121 entry (P_buffer_ptr, P_buffer_lth, P_message_lth, P_code); 122 123 /* This entry converts from old format to new format */ 124 125 if (static_read_data_ptr = null ()) then do; 126 P_code = error_table_$not_open; 127 return; 128 end; 129 130 if (static_message_ptr = null ()) then do; 131 P_code = error_table_$end_of_info; /* Let our caller know we're done */ 132 return; 133 end; 134 135 log_message_ptr = static_message_ptr; /* New format (input) */ 136 syserr_msgp = P_buffer_ptr; /* Old format (output) */ 137 P_message_lth = 0; 138 139 /**** Investigate the data class, if any */ 140 141 if dimension (log_message.data, 1) = 0 then binary_present = "0"b; 142 else do; 143 binary_present = "1"b; 144 if log_message.data_class = "syserr" 145 then new_binary = "0"b; /* old data class is tucked into first word of binary */ 146 /* this was a compatability feature used across 147* several implementation phases of the new logger */ 148 else do; 149 new_binary = "1"b; /* old data class not in message */ 150 call convert_data_class (old_data_class); 151 if old_data_class = -1 /* unrecognized? */ 152 then binary_present = "0"b; /* ignore it */ 153 end; 154 end; 155 156 this_lth = size (syserr_msg); /* Evaluate WITHOUT refer extents, to get header size only */ 157 this_lth = this_lth + divide ((3 + length (log_message.text)), 4, 17, 0); 158 if binary_present then 159 if new_binary then this_lth = this_lth + dimension (log_message.data, 1); /* binary is already the right length */ 160 else this_lth = this_lth + max (0, dimension (log_message.data, 1) - 1); /* in old case, remove the word with the data class */ 161 162 if (this_lth > P_buffer_lth) then do; 163 P_code = error_table_$long_record; 164 return; 165 end; 166 167 syserr_msg.seq_num = log_message.sequence; 168 syserr_msg.time = log_message.time; 169 syserr_msg.code = log_message.severity; 170 syserr_msg.text_len = length (log_message.text); 171 syserr_msg.text = log_message.text; 172 syserr_msg.pad = ""b; 173 174 if binary_present then do; 175 if ^new_binary then do; 176 syserr_msg.data_code = binary (log_message.data (1)); 177 syserr_msg.data_size = dimension (log_message.data, 1) - 1; 178 do data_idx = 2 to dimension (log_message.data, 1); 179 syserr_msg.data (data_idx - 1) = log_message.data (data_idx); 180 end; 181 end; 182 else do; 183 syserr_msg.data_code = old_data_class; 184 syserr_msg.data_size = dimension (log_message.data, 1); 185 syserr_msg.data (*) = log_message.data (*); 186 end; 187 end; 188 else do; 189 syserr_msg.data_code = 0; 190 syserr_msg.data_size = 0; 191 end; 192 193 call log_read_$next_message (static_read_data_ptr, static_message_ptr, temp_code); 194 if (temp_code = error_table_$no_log_message) then /* Prevent reading at the next call */ 195 static_message_ptr = null (); 196 197 P_message_lth = currentsize (syserr_msg); 198 P_code = 0; 199 return; 200 201 /* */ 202 203 syserr_log_util_$search: 204 entry (P_search_time, P_message_time, P_message_sequence, P_code); 205 206 if (static_read_data_ptr = null ()) then do; 207 P_code = error_table_$not_open; 208 return; 209 end; 210 211 if (P_search_time >= 0) then 212 call log_read_$position_time (static_read_data_ptr, P_search_time, "1"b, static_message_ptr, P_code); 213 else call log_read_$position_time (static_read_data_ptr, 1f70b, "0"b, static_message_ptr, P_code); 214 if (P_code ^= 0) then 215 return; 216 217 P_message_time = static_message_ptr -> log_message.time; 218 P_message_sequence = static_message_ptr -> log_message.sequence; 219 P_code = 0; 220 return; 221 222 /* */ 223 224 syserr_log_util_$position: 225 entry (P_position, P_message_time, P_message_sequence, P_code); 226 227 if (static_read_data_ptr = null ()) then do; 228 P_code = error_table_$not_open; 229 return; 230 end; 231 232 do position_idx = 1 to abs (P_position); 233 if (P_position > 0) then 234 call log_read_$next_message (static_read_data_ptr, static_message_ptr, P_code); 235 else call log_read_$prev_message (static_read_data_ptr, static_message_ptr, P_code); 236 237 if (P_code ^= 0) then 238 return; 239 end; 240 241 P_message_time = static_message_ptr -> log_message.time; 242 P_message_sequence = static_message_ptr -> log_message.sequence; 243 P_code = 0; 244 return; 245 246 /* */ 247 248 /* Some unsupported or useless entrypoints */ 249 250 syserr_log_util_$debug: 251 entry (); 252 253 return; 254 255 256 257 syserr_log_util_$trim: 258 entry (P_search_time, P_code); 259 260 goto TRIM_COMMON; 261 262 263 264 syserr_log_util_$trim_path: 265 entry (P_pathname, P_search_time, P_code); 266 267 268 TRIM_COMMON: 269 call com_err_ (0, "syserr_log_util_", "New format logs can only be trimmed with date_deleter."); 270 P_code = error_table_$unsupported_operation; 271 return; 272 273 274 275 syserr_log_util_$status: 276 entry (P_status_ptr, P_code);; 277 278 declare 1 so_called_syserr_log_status aligned based, 279 2 version fixed bin; 280 281 282 P_status_ptr -> so_called_syserr_log_status.version = 1; 283 P_code = 0; 284 return; 285 286 convert_data_class: 287 procedure (data_class); 288 declare data_class fixed bin (35); 289 declare i fixed bin; 290 291 /**** This converts character string data classes back into fixed bin 292* ones. Note that some data is lost --- e.g. there is no distinguishing 293* "disk_err" and "ioi" messages, they are both of new class io_status. */ 294 295 data_class = -1; 296 297 do i = 1 to hbound(SB_char_data_classes, 1) while (data_class = -1); 298 if log_message.data_class = SB_char_data_classes(i) 299 then data_class = i; /* pick up index of first match */ 300 end; 301 302 if data_class = -1 then return; /* didn't find a match */ 303 304 /* we can make a better guess on the io_status data */ 305 if log_message.data_class = "io_status" then 306 if dimension (log_message.data, 1) > size (io_msg) 307 then data_class = SB_io_err_detail; 308 else data_class = SB_io_err; 309 310 return; 311 end convert_data_class; 312 313 /* BEGIN INCLUDE FILE ... log_message.incl.pl1 ... 84-04-25 ... W. Olin Sibert */ 1 2 1 3 declare 1 log_message_header aligned based, /* Items marked "(SET)" are set by $create_message */ 1 4 2 sentinel bit (36) aligned, /* Proper value declared in log_segment.incl.pl1 */ 1 5 2 sequence fixed bin (35), /* Sequence number for this message (SET) */ 1 6 2 severity fixed bin (8) unaligned, /* Severity of message */ 1 7 2 data_class_lth fixed bin (9) unaligned unsigned, /* Length of data class-- 0 to 16 (SET) */ 1 8 2 time fixed bin (53) unaligned, /* Time message originated */ 1 9 2 text_lth fixed bin (17) unaligned, /* Length of message text. Must be nonzero (SET) */ 1 10 2 data_lth fixed bin (17) unaligned, /* Length of binary data. May be zero (SET) */ 1 11 2 process_id bit (36) aligned; /* Process id of process writing message */ 1 12 1 13 declare 1 log_message aligned based (log_message_ptr), 1 14 2 header aligned like log_message_header, 1 15 2 text char (log_message_text_lth refer (log_message.text_lth)) unaligned, 1 16 2 data_class char (log_message_data_class_lth refer (log_message.data_class_lth)) unaligned, 1 17 2 data dim (log_message_data_lth refer (log_message.data_lth)) bit (36) aligned; 1 18 1 19 declare log_message_ptr pointer; 1 20 declare log_message_text_lth fixed bin; 1 21 declare log_message_data_class_lth fixed bin; 1 22 declare log_message_data_lth fixed bin; 1 23 1 24 /* END INCLUDE FILE ... log_message.incl.pl1 */ 313 314 /* Begin include file ..... syserr_message.incl.pl1 */ 2 2 2 3 /* Format of a syserr message */ 2 4 2 5 /* Created October 1975 by Larry Johnson */ 2 6 2 7 dcl syserr_msgp ptr; /* Base for include file */ 2 8 2 9 dcl 1 syserr_msg based (syserr_msgp) aligned, 2 10 2 seq_num fixed bin (35), /* Sequence number of this message. */ 2 11 2 time fixed bin (71) unal, /* Time message logged at */ 2 12 2 code fixed bin (11) unal, /* Syserr code associated with this message. */ 2 13 2 text_len fixed bin (11) unal, /* Length of message text in ASCII characters. */ 2 14 2 data_size fixed bin (11) unal, /* Size of binary data */ 2 15 2 data_code fixed bin (11) unal, /* Code identifying message type. */ 2 16 2 pad bit (60) unal, /* RESERVED! */ 2 17 2 text char (0 refer (syserr_msg.text_len)), /* Text of expanded message - kept in ASCII. */ 2 18 2 data (0 refer (syserr_msg.data_size)) bit (36); /* Binary data area */ 2 19 2 20 2 21 /* End include file ..... syserr_message.incl.pl1 */ 314 315 /* BEGIN INCLUDE FILE .. syserr_binary_def.incl.pl1 */ 3 2 3 3 /* This include file has an ALM version, keep 'em in sync. */ 3 4 3 5 /* format: off */ 3 6 3 7 /* Modified January 1984 by Paul Farley to add an array of entry values 3 8* to be examined by display_cpu_error. */ 3 9 /* Modified October 1984 by EJ Sharpe to include SB_audit_message */ 3 10 /* Modified January 1985 by EJ Sharpe for SB_char_data_classes */ 3 11 /* Modified 1985-01-25, BIM: added ring alarm audit support. */ 3 12 /* Modified 1985-02-20, EJ Sharpe: added SB_ibm3270_mde, syserr_binary_(seg vol)damage_class, 3 13* also changed some codes to "SB_unused_NN" - see line comments */ 3 14 3 15 /* In the future, these will be the only constants needed in this include 3 16*file. They are the binary data class strings for messages in the new format 3 17*syserr logs. The names are all of the form SB_ZZZZZZZ_data_class where 3 18*ZZZZZZZ is the value of the data class string. Message expanders are named 3 19*expand_ZZZZZZZ_msg_ and are referenced by the log perusal tools. */ 3 20 3 21 dcl ( /* include file name */ 3 22 SB_io_status_data_class init ("io_status"), /* io_syserr_msg */ 3 23 SB_hwfault_data_class init ("hwfault"), /* syserr_fault_msg */ 3 24 SB_mos_data_class init ("mos"), /* scr */ 3 25 SB_segdamage_data_class init ("segdamage"), /* segdamage_msg */ 3 26 SB_voldamage_data_class init ("voldamage"), /* segdamage_msg (first two words) */ 3 27 SB_mdc_del_uidpath_data_class init ("mdc_del_uidpath"), /* none - 16 word UID path */ 3 28 SB_mmdam_data_class init ("mmdam"), /* syserr_mmdam_msg */ 3 29 SB_mpc_poll_data_class init ("mpc_poll"), /* poll_mpc_data */ 3 30 SB_fnp_poll_data_class init ("fnp_poll"), /* poll_fnp_data */ 3 31 SB_config_deck_data_class init ("config_deck"), /* config_deck */ 3 32 SB_vtoce_data_class init ("vtoce"), /* vtoce */ 3 33 SB_access_audit_data_class init ("access_audit"), /* access_audit_bin_header */ 3 34 SB_ibm3270_mde_data_class init ("ibm3270_mde") /* ibm3270_mpx_data */ 3 35 ) static internal char (16) varying options (constant); 3 36 3 37 3 38 /************************ 3 39*Once the syserr$binary is replaced with something that takes real data classes 3 40*and all system modules and tools are upgraded to use the new interface, the 3 41*rest of this include file may be discarded. 3 42*************************/ 3 43 3 44 /* The limit of 36 is arbitrary- there is no reason that it can not be 3 45* extended at any time. */ 3 46 3 47 dcl ( 3 48 SB_disk_err init (1), SBL_disk_err init (5), 3 49 SB_hw_fault init (2), SBL_hw_fault init (176), 3 50 SB_io_err init (3), SBL_io_err init (5), 3 51 SB_unused_4 init (4), SBL_unused_4 init (1), /* was "mos_poll" (mos poll time) */ 3 52 SB_mos_err init (5), SBL_mos_err init (2), /* mos memory error data */ 3 53 SB_unused_6 init (6), SBL_unused_6 init (1), /* was "bulk_status" (bulk dcb status) */ 3 54 SB_unused_7 init (7), SBL_unused_7 init (1), /* was "bulk_csb" (bulk csb status) */ 3 55 SB_unused_8 init (8), SBL_unused_8 init (3), /* was "free_st_1" */ 3 56 SB_unused_9 init (9), SBL_unused_9 init (2), /* was "free_st_2" */ 3 57 SB_unused_10 init (10), SBL_unused_10 init (21), /* was "unpr_add" */ 3 58 SB_zerpag init (11), SBL_zerpag init (20), 3 59 SB_unused_12 init (12), SBL_unused_12 init (20), /* was "unpr_add" */ 3 60 SB_vtoc_salv_dam init (13), SBL_vtoc_salv_dam init (20), 3 61 SB_unused_14 init (14), SBL_unused_14 init (20), /* was "page_rw_err" */ 3 62 SB_unused_15 init (15), SBL_unused_15 init (3), /* was "ruad" */ 3 63 SB_random_segdamage init (16), SBL_random_segdamage init (20), 3 64 SB_read_nc init (17), SBL_read_nc init (2), 3 65 SB_unused_18 init (18), SBL_unused_18 init (2), /* was "vtoc_err" */ 3 66 SB_mdc_del_uidpath init (19), SBL_mdc_del_uidpath init (16), 3 67 SB_ocdcm_err init (20), SBL_ocdcm_err init (5), 3 68 SB_mmdam init (21), SBL_mmdam init (2), 3 69 SB_verify_lock init (22), SBL_verify_lock init (176), 3 70 SB_io_err_detail init (23), SBL_io_err_detail init (11), 3 71 SB_mpc_poll init (24), SBL_mpc_poll init (256) /* max */, 3 72 SB_fnp_poll init (25), SBL_fnp_poll init (256) /* max */, 3 73 SB_config_deck init (26), SBL_config_deck init (256) /* 16 cards at 16 words */, 3 74 SB_vtoce init (27), SBL_vtoce init (192), /* 1 VTOCE */ 3 75 SB_access_audit init (28), SBL_access_audit init (256), /* max */ 3 76 SB_ibm3270_mde init (35), SBL_ibm3270_mde init (256), /* max */ 3 77 SB_end_of_table init (36), SBL_end_of_table init (1) 3 78 ) internal static options (constant) fixed bin; 3 79 3 80 3 81 /* The following array is a mapping of the old syserr$binary codes into the 3 82*new data classes for MR11. It is primarily used by syserr_copy to translate 3 83*the binary data codes stored in the wired syserr log (see above) into the data 3 84*classes needed by the ring-0 paged syserr log which is a new format log. It 3 85*is also used by syserr_log_util_ to translate the data classes back into the 3 86*corresponding binary code (for tools not yet upgraded to deal with the new 3 87*format log messages). */ 3 88 3 89 dcl SB_char_data_classes (36) char (16) varying internal static options (constant) 3 90 init ( "io_status", /* 1 */ 3 91 "hwfault", /* 2 */ 3 92 "io_status", /* 3 */ 3 93 "unused_4", /* 4 */ 3 94 "mos", /* 5 */ 3 95 3 96 "unused_6", /* 6 */ 3 97 "unused_7", /* 7 */ 3 98 "unused_8", /* 8 */ 3 99 "unused_9", /* 9 */ 3 100 "unused_10", /* 10 */ 3 101 3 102 "segdamage", /* 11 */ 3 103 "unused_12", /* 12 */ 3 104 "segdamage", /* 13 */ 3 105 "unused_14", /* 14 */ 3 106 "unused_15", /* 15 */ 3 107 3 108 "segdamage", /* 16 */ 3 109 "voldamage", /* 17 */ 3 110 "unused_18", /* 18 */ 3 111 "mdc_del_uidpath", /* 19 */ 3 112 "io_status", /* 20 */ 3 113 3 114 "mmdam", /* 21 */ 3 115 "hwfault", /* 22 */ 3 116 "io_status", /* 23 */ 3 117 "mpc_poll", /* 24 */ 3 118 "fnp_poll", /* 25 */ 3 119 3 120 "config_deck", /* 26 */ 3 121 "vtoce", /* 27 */ 3 122 "access_audit", /* 28 */ 3 123 "unused_29", /* 29 */ 3 124 "unused_30", /* 30 */ 3 125 "unused_31", /* 31 */ 3 126 "unused_32", /* 32 */ 3 127 "unused_33", /* 33 */ 3 128 "unused_34", /* 34 */ 3 129 "ibm3270_mde", /* 35 */ 3 130 "unused_36" /* 36 */ 3 131 ); 3 132 3 133 3 134 /* format: on */ 3 135 3 136 /* These constants are used by various tools which analyze syserr messages and 3 137*still call the old interface "syserr_log_util_". */ 3 138 3 139 dcl syserr_binary_mos_mask init ("060000000000"b3) bit (36) static options (constant); 3 140 dcl syserr_binary_seg_damage_mask init ("000374000000"b3) bit (36) static options (constant); 3 141 dcl syserr_binary_vol_damage_mask init ("003413000000"b3) bit (36) static options (constant); 3 142 dcl syserr_binary_address_damage_mask init ("002010000000"b3) bit (36) static options (constant); 3 143 3 144 dcl display_cpu_error_binary_defs (2) init ( 3 145 2, /** SB_hw_fault */ 3 146 22 /** SB_verify_lock */ 3 147 ) internal static options (constant) fixed bin; 3 148 3 149 /* END INCLUDE FILE syserr_binary_def.incl.pl1 */ 315 316 /* Begin include file ..... io_syserr_msg.incl.pl1 */ 4 2 4 3 /* Created October 1975 by Larry Johnson */ 4 4 /* Modified 11/11/76 by Noel I. Morris */ 4 5 /* Modified November 1979 by Larry Johnson for detailed status */ 4 6 /* Modified February 1981 by Chris Jones to use channel names */ 4 7 4 8 /* This include file defines the format of the syserr message generated for I/O errors. */ 4 9 /* This message is also defined (size and type) by the "io_msg" and "io_msg_detail" 4 10* constants in syserr_binary_def.incl.pl1 */ 4 11 4 12 dcl io_msgp ptr; /* Pointer to syserr message structure */ 4 13 4 14 dcl 1 io_msg aligned based (io_msgp), 4 15 ( 4 16 2 level bit (3), /* Level of interrupt being logged */ 4 17 2 fill1 bit (9), 4 18 2 device bit (6), /* Device which caused error */ 4 19 2 time_out bit (1), /* Set if error caused by channel timeout */ 4 20 2 type bit (2), /* Type of last DCW */ 4 21 2 command bit (6), /* Command being executed by device */ 4 22 2 fill2 bit (3), 4 23 2 count bit (6) 4 24 ) unal, /* Count of message repetitions */ 4 25 2 channel char (8), /* Channel over which interrupt came */ 4 26 2 status bit (36), /* First word of IOM status */ 4 27 2 devname char (4), /* Device name */ 4 28 2 detailed_status bit (216) unaligned; /* Optional detailed device status */ 4 29 4 30 /* End include file ..... io_syserr_msg.incl.pl1 */ 316 317 end syserr_log_util_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/13/85 1100.2 syserr_log_util_.pl1 >spec>on>41-11>syserr_log_util_.pl1 313 1 01/21/85 0912.2 log_message.incl.pl1 >ldd>include>log_message.incl.pl1 314 2 08/18/77 1118.1 syserr_message.incl.pl1 >ldd>include>syserr_message.incl.pl1 315 3 03/12/85 1556.6 syserr_binary_def.incl.pl1 >spec>on>41-11>syserr_binary_def.incl.pl1 316 4 01/18/85 0953.2 io_syserr_msg.incl.pl1 >ldd>include>io_syserr_msg.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. P_access parameter bit(36) dcl 19 set ref 65 74 101* P_buffer_lth parameter fixed bin(17,0) dcl 21 ref 120 162 P_buffer_ptr parameter pointer dcl 20 ref 120 136 P_code parameter fixed bin(35,0) dcl 28 set ref 65 74 83* 84 91* 92 100* 106 115* 120 126* 131* 163* 198* 203 207* 211* 213* 214 219* 224 228* 233* 235* 237 243* 257 264 270* 275 283* P_message_lth parameter fixed bin(17,0) dcl 22 set ref 120 137* 197* P_message_sequence parameter fixed bin(35,0) dcl 26 set ref 203 218* 224 242* P_message_time parameter fixed bin(71,0) dcl 25 set ref 203 217* 224 241* P_pathname parameter char unaligned dcl 18 set ref 74 77 83* 264 P_position parameter fixed bin(35,0) dcl 24 ref 224 232 233 P_search_time parameter fixed bin(71,0) dcl 23 set ref 203 211 211* 257 264 P_status_ptr parameter pointer dcl 27 ref 275 282 SB_char_data_classes 000000 constant varying char(16) initial array dcl 3-89 ref 297 298 SB_io_err constant fixed bin(17,0) initial dcl 3-47 ref 308 SB_io_err_detail constant fixed bin(17,0) initial dcl 3-47 ref 305 abs builtin function dcl 61 ref 232 binary builtin function dcl 61 ref 176 binary_present 000100 automatic bit(1) dcl 30 set ref 141* 143* 151* 158 174 code 3 based fixed bin(11,0) level 2 packed unaligned dcl 2-9 set ref 169* com_err_ 000034 constant entry external dcl 53 ref 268 currentsize builtin function dcl 61 ref 197 data based bit(36) array level 2 in structure "log_message" dcl 1-13 in procedure "syserr_log_util_" ref 141 158 160 176 177 178 179 184 185 305 data based bit(36) array level 2 in structure "syserr_msg" dcl 2-9 in procedure "syserr_log_util_" set ref 179* 185* data_class based char level 2 in structure "log_message" packed unaligned dcl 1-13 in procedure "syserr_log_util_" ref 144 298 305 data_class parameter fixed bin(35,0) dcl 288 in procedure "convert_data_class" set ref 286 295* 297 298* 302 305* 308* data_class_lth 2(09) based fixed bin(9,0) level 3 packed unsigned unaligned dcl 1-13 ref 141 144 158 160 176 177 178 179 184 185 298 305 305 data_code 4 based fixed bin(11,0) level 2 packed unaligned dcl 2-9 set ref 176* 183* 189* data_idx 000101 automatic fixed bin(17,0) dcl 31 set ref 178* 179 179* data_lth 4(18) based fixed bin(17,0) level 3 packed unaligned dcl 1-13 ref 141 158 160 177 178 184 185 305 data_size 3(24) based fixed bin(11,0) level 2 packed unaligned dcl 2-9 set ref 177* 184* 185 190* 197 dimension builtin function dcl 61 ref 141 158 160 177 178 184 305 divide builtin function dcl 61 ref 157 error_table_$end_of_info 000016 external static fixed bin(35,0) dcl 44 ref 131 error_table_$long_record 000020 external static fixed bin(35,0) dcl 45 ref 163 error_table_$no_log_message 000022 external static fixed bin(35,0) dcl 46 ref 194 error_table_$not_open 000024 external static fixed bin(35,0) dcl 47 ref 126 207 228 error_table_$unsupported_operation 000026 external static fixed bin(35,0) dcl 48 ref 270 expand_pathname_ 000036 constant entry external dcl 54 ref 83 hbound builtin function dcl 61 ref 297 header based structure level 2 dcl 1-13 i 000216 automatic fixed bin(17,0) dcl 289 set ref 297* 298 298* io_msg based structure level 1 dcl 4-14 ref 305 io_msgp automatic pointer dcl 4-12 ref 305 length builtin function dcl 61 ref 157 170 log_data_$syserr_log_dir 000030 external static char(168) unaligned dcl 50 ref 68 78 log_data_$syserr_log_name 000032 external static char(32) unaligned dcl 51 ref 69 79 log_dname 000102 automatic char(168) unaligned dcl 32 set ref 68* 78* 83* 91* log_ename 000154 automatic char(32) unaligned dcl 33 set ref 69* 79* 83* 91* log_message based structure level 1 dcl 1-13 log_message_header based structure level 1 dcl 1-3 log_message_ptr 000172 automatic pointer dcl 1-19 set ref 135* 141 144 157 158 160 167 168 169 170 171 176 177 178 179 184 185 298 305 305 log_read_$close 000040 constant entry external dcl 55 ref 110 log_read_$next_message 000042 constant entry external dcl 56 ref 193 233 log_read_$open 000044 constant entry external dcl 57 ref 91 log_read_$position_time 000046 constant entry external dcl 58 ref 100 211 213 log_read_$prev_message 000050 constant entry external dcl 59 ref 235 max builtin function dcl 61 ref 160 new_binary 000164 automatic bit(1) dcl 34 set ref 144* 149* 158 175 null builtin function dcl 61 ref 89 109 112 125 130 194 206 227 old_data_class 000165 automatic fixed bin(35,0) dcl 35 set ref 150* 151 183 pad 4(12) based bit(60) level 2 packed unaligned dcl 2-9 set ref 172* position_idx 000166 automatic fixed bin(35,0) dcl 36 set ref 232* seq_num based fixed bin(35,0) level 2 dcl 2-9 set ref 167* sequence 1 based fixed bin(35,0) level 3 dcl 1-13 ref 167 218 242 severity 2 based fixed bin(8,0) level 3 packed unaligned dcl 1-13 ref 169 size builtin function dcl 61 ref 156 305 so_called_syserr_log_status based structure level 1 dcl 278 static_message_ptr 000012 internal static pointer initial dcl 41 set ref 100* 112* 130 135 193* 194* 211* 213* 217 218 233* 235* 241 242 static_open_count 000014 internal static fixed bin(17,0) initial dcl 42 set ref 96* 96 111* 111 static_read_data_ptr 000010 internal static pointer initial dcl 40 set ref 89 91* 100* 109 110* 125 193* 206 211* 213* 227 233* 235* syserr_msg based structure level 1 dcl 2-9 set ref 156 197 syserr_msgp 000174 automatic pointer dcl 2-7 set ref 136* 156 167 168 169 170 171 172 176 177 179 183 184 185 189 190 197 temp_code 000167 automatic fixed bin(35,0) dcl 37 set ref 193* 194 text 6 based char level 2 in structure "log_message" packed unaligned dcl 1-13 in procedure "syserr_log_util_" ref 157 170 171 text 6 based char level 2 in structure "syserr_msg" dcl 2-9 in procedure "syserr_log_util_" set ref 171* text_len 3(12) based fixed bin(11,0) level 2 packed unaligned dcl 2-9 set ref 170* 171 179 185 197 text_lth 4 based fixed bin(17,0) level 3 packed unaligned dcl 1-13 ref 141 144 157 158 160 170 171 176 177 178 179 184 185 298 305 305 this_lth 000170 automatic fixed bin(17,0) dcl 38 set ref 156* 157* 157 158* 158 160* 160 162 time 2(18) based fixed bin(53,0) level 3 in structure "log_message" packed unaligned dcl 1-13 in procedure "syserr_log_util_" ref 168 217 241 time 1 based fixed bin(71,0) level 2 in structure "syserr_msg" packed unaligned dcl 2-9 in procedure "syserr_log_util_" set ref 168* version based fixed bin(17,0) level 2 dcl 278 set ref 282* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. SBL_access_audit internal static fixed bin(17,0) initial dcl 3-47 SBL_config_deck internal static fixed bin(17,0) initial dcl 3-47 SBL_disk_err internal static fixed bin(17,0) initial dcl 3-47 SBL_end_of_table internal static fixed bin(17,0) initial dcl 3-47 SBL_fnp_poll internal static fixed bin(17,0) initial dcl 3-47 SBL_hw_fault internal static fixed bin(17,0) initial dcl 3-47 SBL_ibm3270_mde internal static fixed bin(17,0) initial dcl 3-47 SBL_io_err internal static fixed bin(17,0) initial dcl 3-47 SBL_io_err_detail internal static fixed bin(17,0) initial dcl 3-47 SBL_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 3-47 SBL_mmdam internal static fixed bin(17,0) initial dcl 3-47 SBL_mos_err internal static fixed bin(17,0) initial dcl 3-47 SBL_mpc_poll internal static fixed bin(17,0) initial dcl 3-47 SBL_ocdcm_err internal static fixed bin(17,0) initial dcl 3-47 SBL_random_segdamage internal static fixed bin(17,0) initial dcl 3-47 SBL_read_nc internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_10 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_12 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_14 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_15 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_18 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_4 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_6 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_7 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_8 internal static fixed bin(17,0) initial dcl 3-47 SBL_unused_9 internal static fixed bin(17,0) initial dcl 3-47 SBL_verify_lock internal static fixed bin(17,0) initial dcl 3-47 SBL_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 3-47 SBL_vtoce internal static fixed bin(17,0) initial dcl 3-47 SBL_zerpag internal static fixed bin(17,0) initial dcl 3-47 SB_access_audit internal static fixed bin(17,0) initial dcl 3-47 SB_access_audit_data_class internal static varying char(16) initial dcl 3-21 SB_config_deck internal static fixed bin(17,0) initial dcl 3-47 SB_config_deck_data_class internal static varying char(16) initial dcl 3-21 SB_disk_err internal static fixed bin(17,0) initial dcl 3-47 SB_end_of_table internal static fixed bin(17,0) initial dcl 3-47 SB_fnp_poll internal static fixed bin(17,0) initial dcl 3-47 SB_fnp_poll_data_class internal static varying char(16) initial dcl 3-21 SB_hw_fault internal static fixed bin(17,0) initial dcl 3-47 SB_hwfault_data_class internal static varying char(16) initial dcl 3-21 SB_ibm3270_mde internal static fixed bin(17,0) initial dcl 3-47 SB_ibm3270_mde_data_class internal static varying char(16) initial dcl 3-21 SB_io_status_data_class internal static varying char(16) initial dcl 3-21 SB_mdc_del_uidpath internal static fixed bin(17,0) initial dcl 3-47 SB_mdc_del_uidpath_data_class internal static varying char(16) initial dcl 3-21 SB_mmdam internal static fixed bin(17,0) initial dcl 3-47 SB_mmdam_data_class internal static varying char(16) initial dcl 3-21 SB_mos_data_class internal static varying char(16) initial dcl 3-21 SB_mos_err internal static fixed bin(17,0) initial dcl 3-47 SB_mpc_poll internal static fixed bin(17,0) initial dcl 3-47 SB_mpc_poll_data_class internal static varying char(16) initial dcl 3-21 SB_ocdcm_err internal static fixed bin(17,0) initial dcl 3-47 SB_random_segdamage internal static fixed bin(17,0) initial dcl 3-47 SB_read_nc internal static fixed bin(17,0) initial dcl 3-47 SB_segdamage_data_class internal static varying char(16) initial dcl 3-21 SB_unused_10 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_12 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_14 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_15 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_18 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_4 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_6 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_7 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_8 internal static fixed bin(17,0) initial dcl 3-47 SB_unused_9 internal static fixed bin(17,0) initial dcl 3-47 SB_verify_lock internal static fixed bin(17,0) initial dcl 3-47 SB_voldamage_data_class internal static varying char(16) initial dcl 3-21 SB_vtoc_salv_dam internal static fixed bin(17,0) initial dcl 3-47 SB_vtoce internal static fixed bin(17,0) initial dcl 3-47 SB_vtoce_data_class internal static varying char(16) initial dcl 3-21 SB_zerpag internal static fixed bin(17,0) initial dcl 3-47 display_cpu_error_binary_defs internal static fixed bin(17,0) initial array dcl 3-144 log_message_data_class_lth automatic fixed bin(17,0) dcl 1-21 log_message_data_lth automatic fixed bin(17,0) dcl 1-22 log_message_text_lth automatic fixed bin(17,0) dcl 1-20 syserr_binary_address_damage_mask internal static bit(36) initial unaligned dcl 3-142 syserr_binary_mos_mask internal static bit(36) initial unaligned dcl 3-139 syserr_binary_seg_damage_mask internal static bit(36) initial unaligned dcl 3-140 syserr_binary_vol_damage_mask internal static bit(36) initial unaligned dcl 3-141 NAMES DECLARED BY EXPLICIT CONTEXT. OPEN_COMMON 000470 constant label dcl 89 ref 70 TRIM_COMMON 001534 constant label dcl 268 ref 260 convert_data_class 001615 constant entry internal dcl 286 ref 150 syserr_log_util_ 000336 constant entry external dcl 6 syserr_log_util_$close 000555 constant entry external dcl 106 syserr_log_util_$debug 001463 constant entry external dcl 250 syserr_log_util_$open 000350 constant entry external dcl 65 syserr_log_util_$open_path 000377 constant entry external dcl 74 syserr_log_util_$position 001352 constant entry external dcl 224 syserr_log_util_$read 000617 constant entry external dcl 120 syserr_log_util_$search 001240 constant entry external dcl 203 syserr_log_util_$status 001577 constant entry external dcl 275 syserr_log_util_$trim 001475 constant entry external dcl 257 syserr_log_util_$trim_path 001514 constant entry external dcl 264 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2336 2410 1723 2346 Length 2740 1723 52 313 413 6 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME syserr_log_util_ 198 external procedure is an external procedure. convert_data_class internal procedure shares stack frame of external procedure syserr_log_util_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 static_read_data_ptr syserr_log_util_ 000012 static_message_ptr syserr_log_util_ 000014 static_open_count syserr_log_util_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME syserr_log_util_ 000100 binary_present syserr_log_util_ 000101 data_idx syserr_log_util_ 000102 log_dname syserr_log_util_ 000154 log_ename syserr_log_util_ 000164 new_binary syserr_log_util_ 000165 old_data_class syserr_log_util_ 000166 position_idx syserr_log_util_ 000167 temp_code syserr_log_util_ 000170 this_lth syserr_log_util_ 000172 log_message_ptr syserr_log_util_ 000174 syserr_msgp syserr_log_util_ 000216 i convert_data_class THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return bound_check_signal ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ expand_pathname_ log_read_$close log_read_$next_message log_read_$open log_read_$position_time log_read_$prev_message THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$end_of_info error_table_$long_record error_table_$no_log_message error_table_$not_open error_table_$unsupported_operation 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 000335 65 000343 68 000362 69 000366 70 000372 74 000373 77 000417 78 000426 79 000433 80 000437 83 000440 84 000466 89 000470 91 000475 92 000521 96 000523 100 000525 101 000547 102 000551 106 000552 109 000565 110 000572 111 000603 112 000606 115 000610 116 000611 120 000612 125 000627 126 000634 127 000636 130 000637 131 000643 132 000645 135 000646 136 000650 137 000654 141 000655 143 000664 144 000666 149 000702 150 000704 151 000706 156 000712 157 000717 158 000727 160 000740 162 000750 163 000754 164 000757 167 000760 168 000762 169 000771 170 000774 171 000777 172 001006 174 001011 175 001013 176 001015 177 001032 178 001040 179 001047 180 001100 181 001102 183 001103 184 001106 185 001113 187 001165 189 001166 190 001170 193 001172 194 001205 197 001213 198 001231 199 001232 203 001233 206 001252 207 001257 208 001261 211 001262 213 001305 214 001327 217 001331 218 001341 219 001343 220 001344 224 001345 227 001362 228 001367 229 001371 232 001372 233 001405 235 001424 237 001437 239 001441 241 001446 242 001456 243 001460 244 001461 250 001462 253 001470 257 001471 260 001507 264 001510 268 001534 270 001567 271 001572 275 001573 282 001607 283 001613 284 001614 286 001615 295 001617 297 001621 298 001633 300 001656 302 001660 305 001665 308 001710 310 001712 ----------------------------------------------------------- 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