COMPILATION LISTING OF SEGMENT display_mpc_data_ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/02/85 1044.5 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* DISPLAY_MPC_DATA_ - Print MPC and Device Statistics for MPC. 12* coded December 1980 by Rich Coppola */ 13 /* Modified May 1982 by Rich Coppola to add EURC support */ 14 /* Modified June 1984 by Paul Farley for DAU (MSP800) support and 15* to change "MTC Read Count" to "MTC Read Retry Count" */ 16 17 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 18 19 display_mpc_data_: 20 proc (a_poll_mpc_datap, a_sw, short_sw); 21 22 23 /* Arguments */ 24 25 dcl a_poll_mpc_datap ptr; /* Pointer to mpc data structure */ 26 dcl a_sw ptr; /* Pointer to ioa_switch */ 27 dcl short_sw bit (1); /* Set to fit display on 80 char terminal */ 28 29 30 /* Automatic */ 31 32 dcl sw ptr; /* Pointer to ioa_switch */ 33 34 dcl (i, j, k, l, index) fixed bin, /* Iteration variables */ 35 dt char (24); /* Current date and time */ 36 dcl pic6 picture "zzzzz9"; 37 dcl pic99 picture "99"; 38 dcl ndev fixed bin; 39 dcl num_to_print fixed bin; 40 dcl nprint fixed bin; 41 dcl nblabel fixed bin; 42 dcl blabelp ptr; 43 dcl hint bit (1); 44 dcl tape_sw bit (1); 45 dcl mpc_only bit (1) init ("0"b); 46 dcl print_mpc_line bit (1); 47 dcl have_stats bit (1) init ("0"b); 48 dcl (urp_sw, eurc_sw) bit (1) init ("0"b); 49 dcl dau_sw bit (1) init ("0"b); 50 dcl (nonzero_error_reg, nonzero_cntrs) bit (1); 51 dcl header_line char (136); 52 dcl retl fixed bin (21); 53 dcl (my_n_devices, my_n_stats) fixed bin; 54 dcl (my_dev_ptr, my_stat_ptr) ptr; 55 dcl SUBSYSTEM char (3); 56 dcl field_count fixed bin (35); 57 dcl lines_printed fixed bin; 58 dcl lines_needed fixed bin; 59 60 dcl 1 line unal, 61 2 title char (28), 62 2 field (16) char (6); 63 64 dcl 1 dev_statistic (64), 65 2 counter (16) fixed bin; 66 67 68 /* Constants */ 69 70 dcl eurlabel (15) char (28) static options (constant) 71 init ("PDSI Receiver Errors", "PDSI Transmission Errors", "Cards Punched", "Cards Read", "PDSI Frames Received", 72 "PDSI Frames Transmitted", "Connect PCW's", "Total PCW's", "IOM Transactions (L)", "IOM Transactions (U)", 73 "IOM Word Transmissions (L)", "IOM Word Transmissions (U)", "Lines Printed", "PDSI Re-Transmissions", 74 "Pages printed"); 75 76 77 dcl tlabel (8) char (28) static options (constant) 78 init ("Records Read", "Records Written", "Records with Write Error", "Records with Read Error", 79 "Transfer Timing Errors", "Marginal Records", "Single Track Corrections", "MTC Read Retry Count"); 80 81 dcl dlabel (16) char (28) int static options (constant) 82 init ("Movement Seeks", "Data Sectors Written", "Data Sectors Read", "Data Transfer Commands", 83 "Seek Incompletes", "Header Verification Errors", "Transfer Timing Errors", "Data Check Character Alerts", 84 "Count Check Character Alerts", "Parity Errors", "Alternate Tracks Processed", "EDAC Correctable Errors", 85 "EDAC Uncorrectable Errors", "Positioner Offsets", "Data Correction Init", "Search Alerts"); 86 87 dcl daulabel (16) char (28) int static options (constant) 88 init ("Movement Seeks", "Data Sectors Written", "Data Sectors Read", "Data Transfer Commands", 89 "Seek Incompletes", "Header Verification Errors", "Transfer Timing Errors", "Data Check Character Alerts", 90 "Count Check Character Alerts", "Interface Errors", "Alternate Tracks Processed", "EDAC Correctable Errors", 91 "EDAC Uncorrectable Errors", "Latencies", "Record Retry", "Sync Failures"); 92 93 94 /* Based */ 95 96 dcl blabel (nblabel) char (28) based (blabelp); 97 dcl 1 my_dev_info (my_n_devices) like dev_info based (my_dev_ptr); 98 dcl 1 my_stat_info (my_n_stats) like stat_info based (my_stat_ptr); 99 100 /* External Entries */ 101 102 dcl ( 103 ioa_$ioa_switch, 104 ioa_$ioa_switch_nnl, 105 ioa_$rs 106 ) entry options (variable); 107 dcl date_time_ entry (fixed bin (52), char (*)); 108 dcl decode_mpc_stats_$stat_ctrs_ entry (ptr, ptr); 109 dcl decode_mpc_stats_$dau_stat_ctrs_ entry (ptr, ptr); 110 dcl decode_mpc_stats_$err_data_ entry (ptr, ptr); 111 dcl (addr, clock, hbound, min, null, rtrim, string, substr) builtin; 112 dcl cv_dec_ entry (char (*)) returns (fixed bin (35)); 113 114 start: 115 poll_mpc_datap = a_poll_mpc_datap; 116 poll_mpc_specp = addr (poll_mpc_data.specific); 117 my_dev_ptr, my_stat_ptr = null; 118 my_n_devices, my_n_stats = 0; 119 sw = a_sw; 120 121 call date_time_ (clock (), dt); /* Get current date and time. */ 122 123 if short_sw 124 then num_to_print = 8; 125 else num_to_print = 16; 126 lines_printed = 0; 127 nonzero_error_reg = "0"b; 128 129 if substr (poll_mpc_data.name, 1, 3) = "urp" then do; 130 call ioa_$rs ("^5xStatistics for ^a controller.^3x^a", header_line, retl, poll_mpc_data.name, dt); 131 ndev = 0; 132 urp_sw = "1"b; 133 eurc_sw = "0"b; 134 do i = 1 to hbound (eurc_model_numbers, 1) while (eurc_sw = "0"b); 135 if poll_mpc_data.model = eurc_model_numbers (i) then eurc_sw = "1"b; 136 end; 137 if eurc_sw = "1"b then do; /* If EURC controller ... */ 138 my_n_devices, ndev = poll_eurc_data.n_devices; 139 my_dev_ptr = addr (poll_eurc_data.dev_info); 140 my_n_stats = poll_eurc_data.n_stats; 141 my_stat_ptr = addr (poll_eurc_data.stat_info); 142 nblabel = hbound (eurlabel, 1); 143 blabelp = addr (eurlabel); 144 lines_needed = 16; 145 go to display_eurc; 146 end; 147 if poll_urp_data.register ^= "0"b then nonzero_error_reg = "1"b; 148 end; 149 150 151 else if substr (poll_mpc_data.name, 1, 3) = "mtp" then do; 152 /* If tape controller ... */ 153 call ioa_$rs ("^5xStatistics for ^a controller. FW Rev. ^a^3x^a", header_line, retl, poll_mpc_data.name, 154 poll_mtp_data.firmware_rev, dt); 155 my_n_devices, ndev = poll_mtp_data.n_devices; 156 my_dev_ptr = addr (poll_mtp_data.dev_info); 157 my_n_stats = poll_mtp_data.n_stats; 158 my_stat_ptr = addr (poll_mtp_data.stat_info); 159 nblabel = hbound (tlabel, 1); 160 blabelp = addr (tlabel); 161 tape_sw = "1"b; 162 SUBSYSTEM = "tap"; 163 lines_needed = 8; 164 if poll_mtp_data.register ^= "0"b then nonzero_error_reg = "1"b; 165 end; 166 167 else if substr (poll_mpc_data.name, 1, 3) = "msp" then do; 168 /* If disk controller ... */ 169 if poll_mpc_data.model = 800 then do; /* DAU? */ 170 call ioa_$rs ("^5xStatistics for ^a DAU. FW Rev. ^a, HW Rev. ^2.4b(hex)^3x^a", header_line, retl, 171 poll_mpc_data.name, poll_dau_data.fw_rev, poll_dau_data.hw_rev, dt); 172 my_n_devices, ndev = poll_dau_data.n_devices; 173 my_dev_ptr = addr (poll_dau_data.dev_info); 174 my_n_stats = poll_dau_data.n_stats; 175 my_stat_ptr = addr (poll_dau_data.stat_info); 176 nblabel = hbound (daulabel, 1); 177 blabelp = addr (daulabel); 178 dau_sw = "1"b; 179 end; 180 else do; 181 call ioa_$rs ("^5xStatistics for ^a controller. FW Rev. ^a^3x^a", header_line, retl, 182 poll_mpc_data.name, poll_msp_data.firmware_rev, dt); 183 my_n_devices, ndev = poll_msp_data.n_devices; 184 my_dev_ptr = addr (poll_msp_data.dev_info); 185 my_n_stats = poll_msp_data.n_stats; 186 my_stat_ptr = addr (poll_msp_data.stat_info); 187 nblabel = hbound (dlabel, 1); 188 blabelp = addr (dlabel); 189 if poll_msp_data.register ^= "0"b then nonzero_error_reg = "1"b; 190 end; 191 tape_sw = "0"b; 192 SUBSYSTEM = "dsk"; 193 lines_needed = 16; 194 end; 195 196 call ioa_$ioa_switch (sw, "^|^a^/", substr (header_line, 1, retl)); 197 198 allocate mpc_stat_anal; 199 print_mpc_line = "0"b; 200 201 202 if ^urp_sw & ^dau_sw then do; /* old disk & tape */ 203 nonzero_cntrs = "0"b; 204 do i = 1 to 12 while (^nonzero_cntrs); 205 if poll_mtp_data.polled_stat_counters (i) ^= 0 then nonzero_cntrs = "1"b; 206 end; 207 208 if nonzero_cntrs then do; 209 call decode_mpc_stats_$stat_ctrs_ (poll_mpc_datap, mpc_stat_analp); 210 211 call ioa_$ioa_switch (sw, "^/The LA-PSI ERROR COUNTERS contain the following information:"); 212 213 do i = 1 to mpc_stat_anal.num_ctr_interps; 214 call ioa_$ioa_switch (sw, "^a = ^d", rtrim (mpc_stat_anal.interp_stat_ctrs (i)), 215 mpc_stat_anal.stat_cntr_cnt (i)); 216 lines_printed = lines_printed + 1; 217 end; 218 print_mpc_line = "1"b; /* remember */ 219 call ioa_$ioa_switch (sw, "^/"); 220 end; 221 222 end; 223 224 225 else if dau_sw then do; /* DAU? */ 226 call ioa_$ioa_switch (sw, "^/Channel Interface Configuration:"); 227 call ioa_$ioa_switch_nnl (sw, "^xCI-0 ^[on^;off^]line, CI-1 ^[on^;off^]line, ", poll_dau_data.ci_0_online, 228 poll_dau_data.ci_1_online); 229 call ioa_$ioa_switch_nnl (sw, "^xPSI-0 ^[2^;4^]trip, PSI-1 ^[2^;4^]trip, ", poll_dau_data.psi0_2trip, 230 poll_dau_data.psi1_2trip); 231 call ioa_$ioa_switch (sw, "^xPSI-2 ^[2^;4^]trip, PSI-3 ^[2^;4^]trip^/", poll_dau_data.psi2_2trip, 232 poll_dau_data.psi3_2trip); 233 lines_printed = lines_printed + 6; 234 235 nonzero_cntrs = "0"b; 236 do i = 1 to 20 while (^nonzero_cntrs); 237 if poll_dau_data.psi_cntr (i) ^= 0 then nonzero_cntrs = "1"b; 238 end; 239 240 if nonzero_cntrs | poll_dau_data.err_interrupts ^= 0 then do; 241 call decode_mpc_stats_$dau_stat_ctrs_ (poll_mpc_datap, mpc_stat_analp); 242 243 call ioa_$ioa_switch (sw, "^/The DAU/PSI ERROR COUNTERS contain the following information:"); 244 lines_printed = lines_printed + 2; 245 246 do i = 1 to mpc_stat_anal.num_ctr_interps; 247 call ioa_$ioa_switch (sw, "^x^a = ^d", rtrim (mpc_stat_anal.interp_stat_ctrs (i)), 248 mpc_stat_anal.stat_cntr_cnt (i)); 249 lines_printed = lines_printed + 1; 250 end; 251 252 if poll_dau_data.ext_size ^= 0 then do; 253 call ioa_$ioa_switch (sw, "^/DAU Extended Error Info (72 Bytes):^3(^/^24( ^2.4b^)^)", 254 poll_dau_data.err_info); 255 lines_printed = lines_printed + 5; 256 end; 257 print_mpc_line = "1"b; /* remember */ 258 call ioa_$ioa_switch (sw, "^/"); 259 end; 260 261 end; 262 263 264 if nonzero_error_reg then do; 265 call decode_mpc_stats_$err_data_ (poll_mpc_datap, mpc_stat_analp); 266 267 if mpc_stat_anal.num_interps ^= 0 then print_mpc_line = "1"b; 268 /* remember */ 269 call ioa_$ioa_switch (sw, "^/The MPC ERROR DATA REGISTER contains the following information:"); 270 271 do i = 1 to mpc_stat_anal.num_interps; 272 if mpc_stat_anal.HINT (i) ^= "" 273 then hint = "1"b; 274 else hint = "0"b; 275 call ioa_$ioa_switch (sw, "^a^[ Suspect: ^a^]", rtrim (mpc_stat_anal.message (i)), hint, 276 rtrim (mpc_stat_anal.HINT (i))); 277 lines_printed = lines_printed + 1; 278 end; 279 280 call ioa_$ioa_switch (sw, "The last INTAR address is:^2x^4.4b", mpc_stat_anal.intar); 281 282 if SUBSYSTEM = "dsk" 283 then /* AUXAR only valid for disk MPCs */ 284 call ioa_$ioa_switch (sw, "The last AUXAR address is:^2x^4.4b", mpc_stat_anal.auxar); 285 call ioa_$ioa_switch (sw, "ERROR INTERRUPT COUNTER = ^6d^/", mpc_stat_anal.err_ctr); 286 lines_printed = lines_printed + 5; 287 end; 288 289 290 if urp_sw & ^print_mpc_line 291 then call ioa_$ioa_switch (sw, "^2/No error indications encountered for MPC ^a.^2/", poll_mpc_data.name); 292 293 if (urp_sw | mpc_only) then return; 294 295 display_eurc: 296 dev_statistic (*) = 0; 297 298 if eurc_sw then do; /* do eurc specifics */ 299 call ioa_$ioa_switch (sw, "PROM CORE IOM SPECIAL-CONTROLLER LINK/EDIT PDSI SELF-TEST DAI"); 300 call ioa_$ioa_switch (sw, "REVISION^15t^2.4b^20t^2.4b^40t^2.4b^51t^2.4b^57t^2.4b^68t^2.4b^73t^2.4b", 301 poll_eurc_data.core, poll_eurc_data.iom, poll_eurc_data.special_controller, poll_eurc_data.link_edit, 302 poll_eurc_data.pdsi_application, poll_eurc_data.self_test, poll_eurc_data.dai_application); 303 call ioa_$ioa_switch (sw, "^/Uptime Clock-seconds ^12d^/", poll_eurc_data.uptime_clock); 304 end; 305 306 have_stats = "0"b; 307 308 do l = 1 to my_n_stats; 309 dev_statistic (my_stat_info (l).dev_index).counter (my_stat_info (l).stat_index) = my_stat_info (l).value; 310 if my_stat_info (l).value ^= 0 then have_stats = "1"b; 311 end; 312 313 /* If no stats available, then quit */ 314 315 if ^have_stats then do; 316 call ioa_$ioa_switch (sw, "Statistics block for ^[DAU^;MPC^] ^a is empty.^/", dau_sw, poll_mpc_data.name); 317 return; 318 end; 319 320 do i = 1 to ndev by num_to_print; 321 nprint = min (num_to_print, ndev + 1 - i); 322 323 if i >= nprint 324 then l = ndev; 325 else l = nprint; 326 have_stats = "0"b; 327 do j = i to l while (have_stats = "0"b); 328 do k = 1 to hbound (blabel, 1); 329 if dev_statistic (j).counter (k) ^= 0 then have_stats = "1"b; 330 end; 331 end; 332 333 if ^have_stats then go to try_next_set; 334 335 if (lines_printed + lines_needed) > 56 then do; 336 lines_printed = 0; 337 call ioa_$ioa_switch (sw, "^|^a^/", substr (header_line, 1, retl)); 338 end; 339 340 string (line) = ""; 341 if eurc_sw 342 then line.title = "Device Name"; 343 344 else line.title = "Subsystem"; 345 lines_printed = lines_printed + 8; 346 347 if ^eurc_sw 348 then do j = 1 to nprint; 349 substr (line.field (j), 3) = SUBSYSTEM || my_dev_info.subsystem (i + j - 1); 350 end; 351 352 else do j = 1 to nprint; 353 line.field (j) = " " || rtrim (my_dev_info.dev_name (i + j - 1)); 354 end; 355 356 call ioa_$ioa_switch (sw, "^a", string (line)); 357 358 string (line) = ""; 359 if ^eurc_sw 360 then line.title = "Drive"; 361 362 else line.title = "Logical Channel"; 363 364 do j = 1 to nprint; 365 pic6 = my_dev_info.driveno (i + j - 1); 366 line.field (j) = pic6; 367 end; 368 call ioa_$ioa_switch (sw, "^a", string (line)); 369 370 string (line) = ""; 371 line.title = "Model"; 372 do j = 1 to nprint; 373 if ^eurc_sw 374 then line.field (j) = my_dev_info.dev_model (i + j - 1); 375 else do; 376 pic6 = cv_dec_ (my_dev_info.dev_model (i + j - 1)); 377 line.field (j) = pic6; 378 end; 379 end; 380 381 call ioa_$ioa_switch (sw, "^a", string (line)); 382 383 string (line) = ""; 384 385 if eurc_sw then go to display_stats; 386 if tape_sw then do; 387 if poll_mpc_data.model < 610 388 then line.title = "Port"; 389 else line.title = "TM/Port"; 390 end; 391 392 else if dau_sw then line.title = "Port"; 393 394 else line.title = "CA/Port"; 395 396 do j = 1 to nprint; 397 index = (i + j - 1); 398 line.field (j) = ""; 399 if (^tape_sw | poll_mpc_data.model > 602) & ^dau_sw then do; 400 line.field (j) = " / "; 401 pic6 = my_dev_info.ca (index); 402 substr (line.field (j), 3, 1) = substr (pic6, 6, 1); 403 pic99 = my_dev_info.port (index); 404 substr (line.field (j), 5, 2) = pic99; 405 end; 406 407 else do; 408 pic6 = my_dev_info.port (index); 409 line.field (j) = pic6; 410 end; 411 end; 412 413 call ioa_$ioa_switch (sw, "^a", string (line)); 414 415 line.title = "OPI"; 416 do j = 1 to nprint; 417 line.field (j) = ""; 418 if my_dev_info.opi (i + j - 1) 419 then line.field (j) = " ON"; 420 else line.field (j) = " OFF"; 421 end; 422 423 call ioa_$ioa_switch (sw, "^a^/", string (line)); 424 425 display_stats: 426 do k = 1 to hbound (blabel, 1); 427 string (line) = ""; 428 line.title = blabel (k); 429 field_count = 0; 430 431 do j = 1 to nprint; 432 index = (i + j - 1); 433 field_count = dev_statistic (index).counter (k) + field_count; 434 pic6 = dev_statistic (index).counter (k); 435 line.field (j) = pic6; 436 end; 437 if field_count > 0 then do; 438 call ioa_$ioa_switch (sw, "^a", string (line)); 439 lines_printed = lines_printed + 1; 440 end; 441 end; 442 443 call ioa_$ioa_switch (sw, "^/"); 444 445 try_next_set: 446 end; 447 448 return; 449 450 display_mpc_: 451 entry (a_poll_mpc_datap, a_sw); 452 453 mpc_only = "1"b; 454 go to start; 455 456 457 1 1 /* Begin include file . . . . . poll_mpc_data.incl.pl1 */ 1 2 1 3 /* Describes format of syserr binary data logged with mpc polling */ 1 4 /* Prepared April 1980 by Larry Johnson */ 1 5 /* Modified November 1980 by Rich Coppola to add MPC error registers */ 1 6 /* Modified May 1982 by Rich Coppola to add info about EURC */ 1 7 /* Modified June 1983 by Paul Farley to add dev_name to dev_stat structure. 1 8* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 1 9* Also changed structures to version_2, which separates unique data into 1 10* individual definitions. 1 11**/ 1 12 1 13 dcl poll_mpc_datap ptr; 1 14 dcl poll_mpc_specp ptr; /* addr(poll_mpc_data.specific) */ 1 15 dcl poll_mpc_data_version_2 fixed bin int static options (constant) init (2); 1 16 dcl poll_mpc_data_n_devices fixed bin; 1 17 dcl poll_mpc_data_n_stats fixed bin; 1 18 1 19 dcl 1 poll_mpc_data aligned based (poll_mpc_datap), 1 20 2 version fixed bin, 1 21 2 name char (4), /* Name of MPC */ 1 22 2 model fixed bin, /* Model number */ 1 23 2 n_words fixed bin, /* used to get size */ 1 24 2 specific /* Unique data, depending on */ 1 25 (0 refer (poll_mpc_data.n_words)) fixed bin (35); /* MPC model number */ 1 26 1 27 dcl 1 poll_mtp_data aligned based (poll_mpc_specp), 1 28 2 firmware_rev char (2) unal, /* Firmware revision */ 1 29 2 config_sw bit (16) unal, /* Configuration switches */ 1 30 2 pad bit (2) unal, 1 31 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 1 32 2 polled_error_data, 1 33 3 pad1 bit (8), 1 34 3 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 1 35 3 register bit (16), /* the MPC's error data register */ 1 36 3 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 1 37 3 INTAR bit (16), /* the addr at which the error occurred */ 1 38 2 n_devices fixed bin, /* Number of devices with statistics */ 1 39 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 40 2 dev_info (poll_mpc_data_n_devices refer (poll_mtp_data.n_devices)) like dev_info, 1 41 2 stat_info (poll_mpc_data_n_stats refer (poll_mtp_data.n_stats)) like stat_info; 1 42 1 43 dcl 1 poll_msp_data aligned like poll_mtp_data based (poll_mpc_specp); 1 44 1 45 dcl 1 poll_urp_data aligned based (poll_mpc_specp), 1 46 2 interrupt_counter fixed bin (8) uns, /* the error interrupt counter */ 1 47 2 register bit (16), /* the MPC's error data register */ 1 48 2 INTAR bit (16); /* thar addr at which the error occurred */ 1 49 1 50 dcl 1 poll_eurc_data aligned based (poll_mpc_specp), 1 51 2 uptime_clock fixed bin (32) uns, 1 52 2 prom_revision unal, 1 53 3 core bit (8), 1 54 3 iom bit (8), 1 55 3 special_controller bit (8), 1 56 3 link_edit bit (8), 1 57 3 pdsi_application bit (8), 1 58 3 self_test bit (8), 1 59 3 dai_application bit (8), 1 60 2 n_devices fixed bin, /* Number of devices with statistics */ 1 61 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 62 2 dev_info (poll_mpc_data_n_devices refer (poll_eurc_data.n_devices)) like dev_info, 1 63 2 stat_info (poll_mpc_data_n_stats refer (poll_eurc_data.n_stats)) like stat_info; 1 64 1 65 dcl 1 poll_dau_data aligned based (poll_mpc_specp), 1 66 2 fw_rev char (2) unal, /* Firmware revision */ 1 67 2 hw_rev bit (8) unal, /* DAU Revision */ 1 68 2 config unal, 1 69 3 ci_0_online bit (1), 1 70 3 ci_1_online bit (1), 1 71 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 1 72 3 psi1_2trip bit (1), 1 73 3 psi2_2trip bit (1), 1 74 3 psi3_2trip bit (1), 1 75 2 pad bit (4) unal, 1 76 2 err_interrupts fixed bin (12) uns unal, 1 77 2 psi_cntr (20) fixed bin (8) unal, 1 78 2 ext_size fixed bin, /* Size of DAU extention info, */ 1 79 /* 0=none, 72=err_int>0 */ 1 80 2 n_devices fixed bin, /* Number of devices with statistics */ 1 81 2 n_stats fixed bin, /* Number of non-zero statistics actually logged */ 1 82 2 err_info (0 refer (poll_dau_data.ext_size)) bit (8) unal, 1 83 2 dev_info (poll_mpc_data_n_devices refer (poll_dau_data.n_devices)) like dev_info, 1 84 2 stat_info (poll_mpc_data_n_stats refer (poll_dau_data.n_stats)) like stat_info; 1 85 1 86 dcl dev_info_ptr ptr; 1 87 1 88 dcl 1 dev_info based (dev_info_ptr), 1 89 2 subsystem char (1) unal, /* X from tapX */ 1 90 2 driveno fixed bin (6) uns unal, /* Drive number */ 1 91 2 opi bit (1) unal, /* Powered on Bit */ 1 92 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 1 93 2 port fixed bin (4) uns unal, /* Port number */ 1 94 2 dev_model char (6) unal, /* Model number */ 1 95 2 dev_name char (7) unal; /* Name of the dev */ 1 96 1 97 dcl stat_info_ptr ptr; 1 98 1 99 dcl 1 stat_info based (stat_info_ptr), 1 100 2 dev_index fixed bin (9) uns unal, /* Index in dev_info, above */ 1 101 2 stat_index fixed bin (9) uns unal, /* Which statistic for that device (1 to 16) */ 1 102 2 pad bit (2) unal, 1 103 2 value fixed bin (16) uns unal; /* Actual value of that stat */ 1 104 1 105 1 106 /* Start of MPC Summary Declarations */ 1 107 1 108 dcl mpc_data_summaryp ptr; 1 109 dcl mpc_data_specp ptr; /* addr(mpc_data_summary.specific) */ 1 110 dcl mpc_data_summary_version_2 fixed bin int static options (constant) init (2); 1 111 dcl mpc_summary_n_devices fixed bin; 1 112 1 113 dcl 1 mpc_data_summary aligned based (mpc_data_summaryp), 1 114 2 version fixed bin, 1 115 2 name char (4), /* Name of MPC */ 1 116 2 model fixed bin, 1 117 2 firmware_rev char (2), /* Firmware revision */ 1 118 1 119 /* *old* MSP, MTP and URP specific data */ 1 120 1 121 2 config_sw bit (16), /* Configuration switches */ 1 122 2 polled_stat_counters (12) fixed bin, /* LA-PSI error counters */ 1 123 2 interrupt_counter fixed bin (35), /* the error interrupt counter */ 1 124 2 register bit (16), /* the MPC's error data register */ 1 125 2 AUXAR bit (16), /* the auxilliary mpc addr at time of last error */ 1 126 2 INTAR bit (16), /* thar addr at which the error occurred */ 1 127 1 128 /* EURC Specific data */ 1 129 1 130 2 eurc_specifics, 1 131 3 uptime_clock fixed bin (32) uns, 1 132 3 prom_revision, 1 133 4 core bit (8), 1 134 4 iom bit (8), 1 135 4 special_controller bit (8), 1 136 4 link_edit bit (8), 1 137 4 pdsi_application bit (8), 1 138 4 self_test bit (8), 1 139 4 dai_application bit (8), 1 140 1 141 /* DAU specific data */ 1 142 1 143 2 hw_rev bit (8) unal, /* DAU Revision */ 1 144 2 config unal, 1 145 3 ci_0_online bit (1), 1 146 3 ci_1_online bit (1), 1 147 3 psi0_2trip bit (1), /* 0= 4trip, 1= 2trip */ 1 148 3 psi1_2trip bit (1), 1 149 3 psi2_2trip bit (1), 1 150 3 psi3_2trip bit (1), 1 151 2 err_interrupts fixed bin (35), 1 152 2 err_info (72) bit (8) unal, 1 153 2 psi_cntr (20) fixed bin (35), 1 154 1 155 /* Device statistical data */ 1 156 1 157 2 n_devices fixed bin, /* Number of devices with statistics */ 1 158 2 dev_stat (mpc_summary_n_devices refer (mpc_data_summary.n_devices)) like dev_stat; 1 159 1 160 dcl dev_stat_ptr ptr; 1 161 1 162 dcl 1 dev_stat based (dev_stat_ptr), 1 163 2 subsystem char (1) unal, /* X from tapX */ 1 164 2 driveno fixed bin (6) uns unal, /* Drive number */ 1 165 2 opi bit (1) unal, /* Powered on Bit */ 1 166 2 ca fixed bin (2) uns unal, /* CA or TCA number */ 1 167 2 port fixed bin (4) uns unal, /* Port number */ 1 168 2 pad bit (5) unal, 1 169 2 dev_model char (6) unal, /* Model number */ 1 170 2 prev_driveno fixed bin (6) uns unal, 1 171 2 pad1 bit (3) unal, 1 172 2 dev_name char (6) unal, /* Name of the dev */ 1 173 2 value (16) fixed bin (35); /* Actual value of that stat */ 1 174 1 175 dcl dev_sum_ptr ptr; 1 176 1 177 dcl 1 dev_sum like dev_stat based (dev_sum_ptr); 1 178 1 179 1 180 /* Note: except for the MPC registers only non-zero statistics are logged. 1 181* An entry is made in the stat_info array for each non-zero statistics noting 1 182* which device, and which of the counters was non-zero */ 1 183 1 184 /* End include file . . . . . poll_mpc_data.incl.pl1 */ 458 459 2 1 /* Begin include file ..... dump_mpc_data.incl.pl1 */ 2 2 2 3 /* Structure of data used by the dump_mpc command */ 2 4 2 5 /* Written March 1977 by Larry Johnson */ 2 6 /* Modified Jan 1981 by Rich Coppola to add additional info about mpc's */ 2 7 /* Modified May 1982 by Rich Coppola to add structure for EURC statistics */ 2 8 /* 2 9* Modified June 1984 by Paul Farley to add MSP800(DAU) support. 2 10**/ 2 11 2 12 dcl mpc_datap ptr; 2 13 2 14 dcl 1 mpc_data aligned based (mpc_datap), 2 15 2 type char (4), /* Type of mpc: tape, disk, or urc */ 2 16 2 name char (32), /* Name of device, suitable for headings */ 2 17 2 model fixed bin, /* Model of device, from rcp_ */ 2 18 2 fw_rev char (2), /* Revision level of current firmware */ 2 19 2 trace_start fixed bin, /* Address of first trace table entry */ 2 20 2 trace_size fixed bin, /* Total number of mpc words in trace table */ 2 21 2 trace_cur fixed bin, /* Address of next available trace entry */ 2 22 2 mpc_stat_addr fixed bin, /* Address of mpc error counters */ 2 23 2 mpc_err_int_ctr_addr fixed bin, /* Address of the err int ctr */ 2 24 2 mpc_err_data_reg_addr fixed bin, /* Address of error data register */ 2 25 2 dev_stat_addr fixed bin, /* Address of device statistics table */ 2 26 2 config_sw bit (16), /* Settings of switches on maintaince panel */ 2 27 2 dau_rev bit (8); /* Revision of DAU hardware */ 2 28 2 29 2 30 /* structure of data collected on mpc statistics */ 2 31 2 32 dcl mpc_stat_infop ptr; 2 33 2 34 dcl 1 mpc_stat_info aligned based (mpc_stat_infop), 2 35 2 mpc_name char (4), 2 36 2 stat_counters (12) fixed bin, 2 37 2 error_data, 2 38 3 pad bit (8), 2 39 3 int_counter fixed bin (8) uns, 2 40 3 register bit (16), 2 41 3 auxar bit (16), 2 42 3 intar bit (16), 2 43 2 eurc_data, 2 44 3 uptime_clock fixed bin (32) uns, 2 45 3 prom_revision, 2 46 4 core bit (8), 2 47 4 iom bit (8), 2 48 4 special_controller bit (8), 2 49 4 link_edit bit (8), 2 50 4 pdsi_application bit (8), 2 51 4 self_test bit (8), 2 52 4 dai_application bit (8), 2 53 2 ndev fixed bin, 2 54 2 dev_info (64) like dev_stat_info; 2 55 2 56 dcl dev_stat_infop ptr; 2 57 2 58 dcl 1 dev_stat_info aligned based (dev_stat_infop), 2 59 2 subsystem char (4), 2 60 2 model char (6), 2 61 2 driveno fixed bin, 2 62 2 opi bit (1), 2 63 2 port fixed bin, 2 64 2 ca fixed bin, 2 65 2 stat (16) fixed bin (16) uns; 2 66 2 67 dcl mpc_stat_analp ptr; 2 68 2 69 dcl 1 mpc_stat_anal based (mpc_stat_analp), 2 70 2 num_interps fixed bin, 2 71 2 interpretation (16), 2 72 3 message char (43) var, 2 73 3 HINT char (21) var, 2 74 2 auxar bit (16), 2 75 2 intar bit (16), 2 76 2 err_ctr fixed bin, 2 77 2 mpc_stat_ctrs, 2 78 3 num_ctr_interps fixed bin, 2 79 3 interp_stat_ctrs (20) char (20) var, 2 80 3 stat_cntr_cnt (20) fixed bin; 2 81 2 82 /* End include file ..... dump_mpc_data.incl.pl1 */ 460 461 3 1 /* BEGIN INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... 11/13/81 E. N. Kittlitz */ 3 2 3 3 dcl eurc_model_numbers (4) fixed bin internal static init (8001, 8002, 8003, 8004); 3 4 3 5 /* END INCLUDE FILE ... eurc_model_numbers.incl.pl1 ... */ 462 463 464 end display_mpc_data_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/02/85 1037.3 display_mpc_data_.pl1 >spec>on>6953_pbf-04/02/85>display_mpc_data_.pl1 458 1 04/02/85 1035.5 poll_mpc_data.incl.pl1 >spec>on>6953_pbf-04/02/85>poll_mpc_data.incl.pl1 460 2 10/08/84 1326.0 dump_mpc_data.incl.pl1 >ldd>include>dump_mpc_data.incl.pl1 462 3 05/27/82 1525.6 eurc_model_numbers.incl.pl1 >ldd>include>eurc_model_numbers.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. HINT 15 based varying char(21) array level 3 dcl 2-69 ref 272 275 275 SUBSYSTEM 000214 automatic char(3) unaligned dcl 55 set ref 162* 192* 282 349 a_poll_mpc_datap parameter pointer dcl 25 ref 19 114 450 a_sw parameter pointer dcl 26 ref 19 119 450 addr builtin function dcl 111 ref 116 139 141 143 156 158 160 173 175 177 184 186 188 auxar 461 based bit(16) level 2 packed unaligned dcl 2-69 set ref 282* blabel based char(28) array unaligned dcl 96 ref 328 425 428 blabelp 000126 automatic pointer dcl 42 set ref 143* 160* 177* 188* 328 425 428 ca 0(16) based fixed bin(2,0) array level 2 packed unsigned unaligned dcl 97 ref 401 ci_0_online 0(26) based bit(1) level 3 packed unaligned dcl 1-65 set ref 227* ci_1_online 0(27) based bit(1) level 3 packed unaligned dcl 1-65 set ref 227* clock builtin function dcl 111 ref 121 121 config 0(26) based structure level 2 packed unaligned dcl 1-65 core 1 based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* counter 000257 automatic fixed bin(17,0) array level 2 dcl 64 set ref 309* 329 433 434 cv_dec_ 000026 constant entry external dcl 112 ref 376 dai_application 2(12) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* date_time_ 000016 constant entry external dcl 107 ref 121 dau_sw 000137 automatic bit(1) initial unaligned dcl 49 set ref 49* 178* 202 225 316* 392 399 daulabel 000004 constant char(28) initial array unaligned dcl 87 set ref 176 177 decode_mpc_stats_$dau_stat_ctrs_ 000022 constant entry external dcl 109 ref 241 decode_mpc_stats_$err_data_ 000024 constant entry external dcl 110 ref 265 decode_mpc_stats_$stat_ctrs_ 000020 constant entry external dcl 108 ref 209 dev_index based fixed bin(9,0) array level 2 packed unsigned unaligned dcl 98 ref 309 dev_info 24 based structure array level 2 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" set ref 184 dev_info 5 based structure array level 2 in structure "poll_eurc_data" dcl 1-50 in procedure "display_mpc_data_" set ref 139 dev_info based structure level 1 packed unaligned dcl 1-88 in procedure "display_mpc_data_" dev_info based structure array level 2 in structure "poll_dau_data" dcl 1-65 in procedure "display_mpc_data_" set ref 173 dev_info 24 based structure array level 2 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" set ref 156 dev_model 0(27) based char(6) array level 2 packed unaligned dcl 97 set ref 373 376* dev_name 2(09) based char(7) array level 2 packed unaligned dcl 97 ref 353 dev_stat based structure level 1 unaligned dcl 1-162 dev_stat_info based structure level 1 dcl 2-58 dev_statistic 000257 automatic structure array level 1 unaligned dcl 64 set ref 295* dlabel 000164 constant char(28) initial array unaligned dcl 81 set ref 187 188 driveno 0(09) based fixed bin(6,0) array level 2 packed unsigned unaligned dcl 97 ref 365 dt 000107 automatic char(24) unaligned dcl 34 set ref 121* 130* 153* 170* 181* err_ctr 462 based fixed bin(17,0) level 2 dcl 2-69 set ref 285* err_info 12 based bit(8) array level 2 packed unaligned dcl 1-65 set ref 253* err_interrupts 1 based fixed bin(12,0) level 2 packed unsigned unaligned dcl 1-65 ref 240 eurc_model_numbers 000000 constant fixed bin(17,0) initial array dcl 3-3 ref 134 135 eurc_sw 000136 automatic bit(1) initial unaligned dcl 48 set ref 48* 133* 134 135* 137 298 341 347 359 373 385 eurlabel 000434 constant char(28) initial array unaligned dcl 70 set ref 142 143 ext_size 7 based fixed bin(17,0) level 2 dcl 1-65 ref 173 175 252 253 field 7 000220 automatic char(6) array level 2 packed unaligned dcl 60 set ref 349* 353* 366* 373* 377* 398* 400* 402* 404* 409* 417* 418* 420* 435* field_count 000215 automatic fixed bin(35,0) dcl 56 set ref 429* 433* 433 437 firmware_rev based char(2) level 2 in structure "poll_mtp_data" packed unaligned dcl 1-27 in procedure "display_mpc_data_" set ref 153* firmware_rev based char(2) level 2 in structure "poll_msp_data" packed unaligned dcl 1-43 in procedure "display_mpc_data_" set ref 181* fw_rev based char(2) level 2 packed unaligned dcl 1-65 set ref 170* have_stats 000134 automatic bit(1) initial unaligned dcl 47 set ref 47* 306* 310* 315 326* 327 329* 333 hbound builtin function dcl 111 ref 134 142 159 176 187 328 425 header_line 000142 automatic char(136) unaligned dcl 51 set ref 130* 153* 170* 181* 196 196 337 337 hint 000130 automatic bit(1) unaligned dcl 43 set ref 272* 274* 275* hw_rev 0(18) based bit(8) level 2 packed unaligned dcl 1-65 set ref 170* i 000102 automatic fixed bin(17,0) dcl 34 set ref 134* 135* 204* 205* 213* 214 214 214* 236* 237* 246* 247 247 247* 271* 272 275 275 275 275* 320* 321 323 327 349 353 365 373 376 397 418 432* index 000106 automatic fixed bin(17,0) dcl 34 set ref 397* 401 403 408 432* 433 434 intar 461(16) based bit(16) level 2 packed unaligned dcl 2-69 set ref 280* interp_stat_ctrs 464 based varying char(20) array level 3 dcl 2-69 ref 214 214 247 247 interpretation 1 based structure array level 2 unaligned dcl 2-69 ioa_$ioa_switch 000010 constant entry external dcl 102 ref 196 211 214 219 226 231 243 247 253 258 269 275 280 282 285 290 299 300 303 316 337 356 368 381 413 423 438 443 ioa_$ioa_switch_nnl 000012 constant entry external dcl 102 ref 227 229 ioa_$rs 000014 constant entry external dcl 102 ref 130 153 170 181 iom 1(08) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* j 000103 automatic fixed bin(17,0) dcl 34 set ref 327* 329* 347* 349 349* 352* 353 353* 364* 365 366* 372* 373 373 376 377* 396* 397 398 400 402 404 409* 416* 417 418 418 420* 431* 432 435* k 000104 automatic fixed bin(17,0) dcl 34 set ref 328* 329* 425* 428 433 434* l 000105 automatic fixed bin(17,0) dcl 34 set ref 308* 309 309 309 310* 323* 325* 327 line 000220 automatic structure level 1 packed unaligned dcl 60 set ref 340* 356 356 358* 368 368 370* 381 381 383* 413 413 423 423 427* 438 438 lines_needed 000217 automatic fixed bin(17,0) dcl 58 set ref 144* 163* 193* 335 lines_printed 000216 automatic fixed bin(17,0) dcl 57 set ref 126* 216* 216 233* 233 244* 244 249* 249 255* 255 277* 277 286* 286 335 336* 345* 345 439* 439 link_edit 1(24) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* message 1 based varying char(43) array level 3 dcl 2-69 ref 275 275 min builtin function dcl 111 ref 321 model 2 based fixed bin(17,0) level 2 dcl 1-19 ref 135 169 387 399 mpc_only 000132 automatic bit(1) initial unaligned dcl 45 set ref 45* 293 453* mpc_stat_anal based structure level 1 unaligned dcl 2-69 set ref 198 mpc_stat_analp 002264 automatic pointer dcl 2-67 set ref 198* 209* 213 214 214 214 241* 246 247 247 247 265* 267 271 272 275 275 275 275 280 282 285 mpc_stat_ctrs 463 based structure level 2 unaligned dcl 2-69 my_dev_info based structure array level 1 packed unaligned dcl 97 my_dev_ptr 000210 automatic pointer dcl 54 set ref 117* 139* 156* 173* 184* 349 353 365 373 376 401 403 408 418 my_n_devices 000205 automatic fixed bin(17,0) dcl 53 set ref 118* 138* 155* 172* 183* my_n_stats 000206 automatic fixed bin(17,0) dcl 53 set ref 118* 140* 157* 174* 185* 308 my_stat_info based structure array level 1 packed unaligned dcl 98 my_stat_ptr 000212 automatic pointer dcl 54 set ref 117* 141* 158* 175* 186* 309 309 309 310 n_devices 22 based fixed bin(17,0) level 2 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" ref 183 n_devices 22 based fixed bin(17,0) level 2 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" ref 155 158 186 n_devices 10 based fixed bin(17,0) level 2 in structure "poll_dau_data" dcl 1-65 in procedure "display_mpc_data_" ref 172 175 n_devices 3 based fixed bin(17,0) level 2 in structure "poll_eurc_data" dcl 1-50 in procedure "display_mpc_data_" ref 138 141 n_stats 4 based fixed bin(17,0) level 2 in structure "poll_eurc_data" dcl 1-50 in procedure "display_mpc_data_" ref 140 n_stats 23 based fixed bin(17,0) level 2 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" ref 185 n_stats 11 based fixed bin(17,0) level 2 in structure "poll_dau_data" dcl 1-65 in procedure "display_mpc_data_" ref 174 n_stats 23 based fixed bin(17,0) level 2 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" ref 157 name 1 based char(4) level 2 dcl 1-19 set ref 129 130* 151 153* 167 170* 181* 290* 316* nblabel 000124 automatic fixed bin(17,0) dcl 41 set ref 142* 159* 176* 187* 328 425 ndev 000121 automatic fixed bin(17,0) dcl 38 set ref 131* 138* 155* 172* 183* 320 321 323 nonzero_cntrs 000141 automatic bit(1) unaligned dcl 50 set ref 203* 204 205* 208 235* 236 237* 240 nonzero_error_reg 000140 automatic bit(1) unaligned dcl 50 set ref 127* 147* 164* 189* 264 nprint 000123 automatic fixed bin(17,0) dcl 40 set ref 321* 323 325 347 352 364 372 396 416 431 null builtin function dcl 111 ref 117 num_ctr_interps 463 based fixed bin(17,0) level 3 dcl 2-69 ref 213 246 num_interps based fixed bin(17,0) level 2 dcl 2-69 ref 267 271 num_to_print 000122 automatic fixed bin(17,0) dcl 39 set ref 123* 125* 320 321 opi 0(15) based bit(1) array level 2 packed unaligned dcl 97 ref 418 pdsi_application 1(32) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* pic6 000116 automatic picture(6) unaligned dcl 36 set ref 365* 366 376* 377 401* 402 408* 409 434* 435 pic99 000120 automatic picture(2) unaligned dcl 37 set ref 403* 404 poll_dau_data based structure level 1 dcl 1-65 poll_eurc_data based structure level 1 dcl 1-50 poll_mpc_data based structure level 1 dcl 1-19 poll_mpc_datap 002260 automatic pointer dcl 1-13 set ref 114* 116 129 130 135 151 153 167 169 170 181 209* 241* 265* 290 316 387 399 poll_mpc_specp 002262 automatic pointer dcl 1-14 set ref 116* 138 139 140 141 147 153 155 156 157 158 164 170 170 172 173 174 175 181 183 184 185 186 189 205 227 227 229 229 231 231 237 240 252 253 300 300 300 300 300 300 300 303 poll_msp_data based structure level 1 dcl 1-43 poll_mtp_data based structure level 1 dcl 1-27 poll_urp_data based structure level 1 dcl 1-45 polled_error_data 15 based structure level 2 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" polled_error_data 15 based structure level 2 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" polled_stat_counters 1 based fixed bin(17,0) array level 2 dcl 1-27 ref 205 port 0(18) based fixed bin(4,0) array level 2 packed unsigned unaligned dcl 97 ref 403 408 print_mpc_line 000133 automatic bit(1) unaligned dcl 46 set ref 199* 218* 257* 267* 290 prom_revision 1 based structure level 2 packed unaligned dcl 1-50 psi0_2trip 0(28) based bit(1) level 3 packed unaligned dcl 1-65 set ref 229* psi1_2trip 0(29) based bit(1) level 3 packed unaligned dcl 1-65 set ref 229* psi2_2trip 0(30) based bit(1) level 3 packed unaligned dcl 1-65 set ref 231* psi3_2trip 0(31) based bit(1) level 3 packed unaligned dcl 1-65 set ref 231* psi_cntr 1(12) based fixed bin(8,0) array level 2 packed unaligned dcl 1-65 ref 237 register 1 based bit(16) level 2 in structure "poll_urp_data" dcl 1-45 in procedure "display_mpc_data_" ref 147 register 17 based bit(16) level 3 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" ref 189 register 17 based bit(16) level 3 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" ref 164 retl 000204 automatic fixed bin(21,0) dcl 52 set ref 130* 153* 170* 181* 196 196 337 337 rtrim builtin function dcl 111 ref 214 214 247 247 275 275 275 275 353 self_test 2(04) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* short_sw parameter bit(1) unaligned dcl 27 ref 19 123 special_controller 1(16) based bit(8) level 3 packed unaligned dcl 1-50 set ref 300* specific 4 based fixed bin(35,0) array level 2 dcl 1-19 set ref 116 stat_cntr_cnt 654 based fixed bin(17,0) array level 3 dcl 2-69 set ref 214* 247* stat_index 0(09) based fixed bin(9,0) array level 2 packed unsigned unaligned dcl 98 ref 309 stat_info based structure array level 2 in structure "poll_msp_data" dcl 1-43 in procedure "display_mpc_data_" set ref 186 stat_info based structure array level 2 in structure "poll_eurc_data" dcl 1-50 in procedure "display_mpc_data_" set ref 141 stat_info based structure array level 2 in structure "poll_mtp_data" dcl 1-27 in procedure "display_mpc_data_" set ref 158 stat_info based structure array level 2 in structure "poll_dau_data" dcl 1-65 in procedure "display_mpc_data_" set ref 175 stat_info based structure level 1 packed unaligned dcl 1-99 in procedure "display_mpc_data_" string builtin function dcl 111 set ref 340* 356 356 358* 368 368 370* 381 381 383* 413 413 423 423 427* 438 438 substr builtin function dcl 111 set ref 129 151 167 196 196 337 337 349* 402* 402 404* subsystem based char(1) array level 2 packed unaligned dcl 97 ref 349 sw 000100 automatic pointer dcl 32 set ref 119* 196* 211* 214* 219* 226* 227* 229* 231* 243* 247* 253* 258* 269* 275* 280* 282* 285* 290* 299* 300* 303* 316* 337* 356* 368* 381* 413* 423* 438* 443* tape_sw 000131 automatic bit(1) unaligned dcl 44 set ref 161* 191* 386 399 title 000220 automatic char(28) level 2 packed unaligned dcl 60 set ref 341* 344* 359* 362* 371* 387* 389* 392* 394* 415* 428* tlabel 000344 constant char(28) initial array unaligned dcl 77 set ref 159 160 uptime_clock based fixed bin(32,0) level 2 unsigned dcl 1-50 set ref 303* urp_sw 000135 automatic bit(1) initial unaligned dcl 48 set ref 48* 132* 202 290 293 value 0(20) based fixed bin(16,0) array level 2 packed unsigned unaligned dcl 98 ref 309 310 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. dev_info_ptr automatic pointer dcl 1-86 dev_stat_infop automatic pointer dcl 2-56 dev_stat_ptr automatic pointer dcl 1-160 dev_sum based structure level 1 unaligned dcl 1-177 dev_sum_ptr automatic pointer dcl 1-175 mpc_data based structure level 1 dcl 2-14 mpc_data_specp automatic pointer dcl 1-109 mpc_data_summary based structure level 1 dcl 1-113 mpc_data_summary_version_2 internal static fixed bin(17,0) initial dcl 1-110 mpc_data_summaryp automatic pointer dcl 1-108 mpc_datap automatic pointer dcl 2-12 mpc_stat_info based structure level 1 dcl 2-34 mpc_stat_infop automatic pointer dcl 2-32 mpc_summary_n_devices automatic fixed bin(17,0) dcl 1-111 poll_mpc_data_n_devices automatic fixed bin(17,0) dcl 1-16 poll_mpc_data_n_stats automatic fixed bin(17,0) dcl 1-17 poll_mpc_data_version_2 internal static fixed bin(17,0) initial dcl 1-15 stat_info_ptr automatic pointer dcl 1-97 NAMES DECLARED BY EXPLICIT CONTEXT. display_eurc 003241 constant label dcl 295 ref 145 display_mpc_ 004747 constant entry external dcl 450 display_mpc_data_ 001325 constant entry external dcl 19 display_stats 004601 constant label dcl 425 ref 385 start 001333 constant label dcl 114 ref 454 try_next_set 004737 constant label dcl 445 ref 333 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5110 5140 4764 5120 Length 5422 4764 30 246 123 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME display_mpc_data_ 1360 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME display_mpc_data_ 000100 sw display_mpc_data_ 000102 i display_mpc_data_ 000103 j display_mpc_data_ 000104 k display_mpc_data_ 000105 l display_mpc_data_ 000106 index display_mpc_data_ 000107 dt display_mpc_data_ 000116 pic6 display_mpc_data_ 000120 pic99 display_mpc_data_ 000121 ndev display_mpc_data_ 000122 num_to_print display_mpc_data_ 000123 nprint display_mpc_data_ 000124 nblabel display_mpc_data_ 000126 blabelp display_mpc_data_ 000130 hint display_mpc_data_ 000131 tape_sw display_mpc_data_ 000132 mpc_only display_mpc_data_ 000133 print_mpc_line display_mpc_data_ 000134 have_stats display_mpc_data_ 000135 urp_sw display_mpc_data_ 000136 eurc_sw display_mpc_data_ 000137 dau_sw display_mpc_data_ 000140 nonzero_error_reg display_mpc_data_ 000141 nonzero_cntrs display_mpc_data_ 000142 header_line display_mpc_data_ 000204 retl display_mpc_data_ 000205 my_n_devices display_mpc_data_ 000206 my_n_stats display_mpc_data_ 000210 my_dev_ptr display_mpc_data_ 000212 my_stat_ptr display_mpc_data_ 000214 SUBSYSTEM display_mpc_data_ 000215 field_count display_mpc_data_ 000216 lines_printed display_mpc_data_ 000217 lines_needed display_mpc_data_ 000220 line display_mpc_data_ 000257 dev_statistic display_mpc_data_ 002260 poll_mpc_datap display_mpc_data_ 002262 poll_mpc_specp display_mpc_data_ 002264 mpc_stat_analp display_mpc_data_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return shorten_stack ext_entry alloc_based_storage clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cv_dec_ date_time_ decode_mpc_stats_$dau_stat_ctrs_ decode_mpc_stats_$err_data_ decode_mpc_stats_$stat_ctrs_ ioa_$ioa_switch ioa_$ioa_switch_nnl ioa_$rs NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 45 001312 47 001313 48 001314 49 001316 19 001321 114 001333 116 001337 117 001341 118 001344 119 001346 121 001351 123 001370 125 001401 126 001403 127 001404 129 001405 130 001413 131 001447 132 001450 133 001452 134 001453 135 001463 136 001472 137 001474 138 001477 139 001503 140 001505 141 001507 142 001513 143 001515 144 001517 145 001521 147 001522 148 001527 151 001530 153 001532 155 001572 156 001576 157 001600 158 001602 159 001606 160 001610 161 001612 162 001614 163 001616 164 001620 165 001624 167 001625 169 001627 170 001632 172 001700 173 001704 174 001713 175 001716 176 001723 177 001725 178 001727 179 001731 181 001732 183 001772 184 001776 185 002000 186 002002 187 002006 188 002010 189 002012 191 002016 192 002017 193 002021 196 002023 198 002055 199 002062 202 002063 203 002070 204 002071 205 002101 206 002105 208 002107 209 002111 211 002122 213 002142 214 002153 216 002235 217 002237 218 002241 219 002243 222 002262 225 002263 226 002266 227 002306 229 002341 231 002374 233 002427 235 002431 236 002432 237 002441 238 002453 240 002455 241 002463 243 002474 244 002514 246 002516 247 002527 249 002613 250 002615 252 002617 253 002622 255 002656 257 002660 258 002662 264 002701 265 002703 267 002714 269 002720 271 002740 272 002747 274 002763 275 002765 277 003072 278 003074 280 003076 282 003125 285 003155 286 003202 290 003204 293 003235 295 003241 298 003262 299 003264 300 003304 303 003367 306 003413 308 003414 309 003423 310 003456 311 003461 315 003463 316 003465 317 003516 320 003517 321 003540 323 003547 325 003554 326 003555 327 003556 328 003567 329 003577 330 003606 331 003610 333 003612 335 003614 336 003620 337 003621 338 003653 340 003654 341 003657 344 003665 345 003670 347 003672 349 003703 350 003724 352 003727 353 003737 354 004000 356 004003 358 004031 359 004034 362 004042 364 004045 365 004055 366 004100 367 004105 368 004107 370 004135 371 004140 372 004143 373 004153 376 004170 377 004227 379 004234 381 004236 383 004264 385 004267 386 004271 387 004273 389 004303 390 004306 392 004307 394 004316 396 004321 397 004331 398 004334 399 004341 400 004353 401 004357 402 004402 403 004405 404 004424 405 004427 408 004430 409 004452 411 004456 413 004460 415 004506 416 004511 417 004521 418 004525 420 004545 421 004551 423 004553 425 004601 427 004611 428 004614 429 004622 431 004623 432 004633 433 004636 434 004645 435 004656 436 004663 437 004665 438 004667 439 004715 441 004716 443 004720 445 004737 448 004742 450 004743 453 004755 454 004757 ----------------------------------------------------------- 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