COMPILATION LISTING OF SEGMENT tolts_pcd_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/20/88 1043.6 mst Wed 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 12 /* tolts_pcd_ subroutine to output the configuration deck for polts and molts 13* Coded 79/03/12 by J. A. Bush 14* Modified 79/10/09 by Michael R. Jordan for new MPC card. 15* Modified 08/80 by R. Fakoury to correctly interrupt chnl cards and to identify bootload chan in the config printout. 16* Modified 11/80 by R.Fakoury to handle new config deck channel card utilization 17* Modified 1/81 by R Fakoury to output fnp config info for colts. 18* Modified 4/81 by R Fakoury to print the cpu and mem config. 19* Modified 8/81 by M.R. Jordan for new PRPH OPC card format. 20* Modified October 1982 by C. Hornig for new PRPH TAP format. 21* Modified 03/17/83 by Rick Fakoury to print hyperchannel config. 22* Modified 08/12/83 by Rick Fakoury for the new cpu & console config cards. 23* Modified 08/16/83 by Rick Fakoury to allow user to specify device type on config requests. 24* and to add support for the iom and hyperchannel config card. 25* Modified 10/84 by R Fakoury to use system config card incls. 26**/ 27 28 29 30 31 /****^ HISTORY COMMENTS: 32* 1) change(84-10-01,Fakoury), approve(86-08-21,MCR7514), 33* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 34* to use system config card incls, 35* for Dipper to print the MCA config, 36* for colts rspd request to print the DIA config. 37* END HISTORY COMMENTS */ 38 39 40 41 42 /* tolts_pcd_ subroutine to output the configuration deck for polts and molts */ 43 44 45 /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 46 tolts_pcd_: proc (exec, eq_type); 47 48 /* tolts_pcd_ subroutine to output the configuration deck for polts & molts */ 49 50 /* Builtins */ 51 52 dcl (addr, addrel, hbound, null, rtrim, substr) builtin; 53 54 /* Conditions */ 55 56 dcl cleanup condition; 57 dcl linkage_error condition; 58 59 60 /* Constants */ 61 62 dcl ADAPTER_FAILURE bit (2) unal init ("01"b) int static options (constant); 63 dcl con_types (0:4) char (3) int static options (constant) init 64 (" ", "IBM", "EMC", "SCC", "LCC"); 65 dcl fnp_state (0:4) char (7) int static options (constant) init 66 ("free ", "unknown", "down ", "booting", "up "); 67 dcl MAINT_ABNORMAL_TERM bit (2) unal init ("11"b) int static options (constant); 68 dcl MAINT_NORMAL_TERM bit (2) unal init ("10"b) int static options (constant); 69 dcl max_imu_channels fixed bin init (15) int static options (constant); 70 dcl tags (1:26) char (1) static options (constant) init 71 ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", 72 "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); 73 dcl types (1:3) char (6) int static options (constant) init 74 ("dn355 ", "l6 ", "dn6670"); 75 76 77 78 /* External Static */ 79 80 dcl error_table_$moderr fixed bin (35) ext static; 81 dcl error_table_$timeout fixed bin (35) ext static; 82 83 84 /* External Entries */ 85 86 dcl add_char_offset_ entry (ptr, fixed bin (21)) returns (ptr) reducible; 87 dcl com_err_ entry () options (variable); 88 dcl find_config_card_$prph_for_channel entry (fixed bin (3), fixed bin (6), ptr); 89 dcl get_temp_segment_ entry (char (*), ptr, fixed bin (35)); 90 dcl ioa_ entry () options (variable); 91 dcl ioa_$rsnnl entry () options (variable); 92 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 93 dcl mca_$attach_mca entry (char (*), fixed bin (71), fixed bin, fixed bin (35)); 94 dcl mca_$config entry (fixed bin, ptr, fixed bin (21), fixed bin (21), bit (72), fixed bin (35)); 95 dcl mca_$detach_mca entry (fixed bin, fixed bin (35)); 96 dcl mca_$read_data entry (fixed bin, ptr, fixed bin (21), fixed bin (21), bit (72), fixed bin (35)); 97 dcl mtdsim_$clean_up entry; 98 dcl release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 99 dcl tolts_qttyio_$rs entry options (variable); 100 dcl tolts_qttyio_ entry (char (*), fixed bin); 101 dcl tolts_util_$dev0_valid entry (ptr, fixed bin) returns (bit (1)); 102 dcl tolts_util_$find_card entry (char (4), ptr); 103 104 /* Internal Static */ 105 106 dcl code fixed bin (35) init (0); 107 dcl CHAN_NUM fixed bin (6); 108 dcl c_sw bit (1) init ("0"b); 109 dcl data_ptr ptr int static; 110 dcl d_sw bit (1) init ("0"b); 111 dcl data_present bit (1) init ("0"b); 112 dcl entry_var entry variable; 113 dcl exec char (6); 114 dcl eq_type char (*); 115 dcl fips bit (1) init ("0"b); 116 dcl i fixed bin init (0); 117 dcl iom_num fixed bin (3); 118 dcl ipc_type char (9); 119 dcl j fixed bin init (0); 120 dcl k fixed bin init (0); 121 dcl mca_data char (4000) init (""); 122 dcl mca_ev_chn fixed bin (71) int static init (0); 123 dcl mca_ioi_idx fixed bin int static init (0); 124 dcl mca_name char (4) init (""); 125 dcl model_index fixed bin; 126 dcl NAME char (4) aligned; 127 dcl nchn fixed bin; 128 dcl ndevices fixed bin; 129 dcl od char (136); 130 dcl ol fixed bin; 131 dcl out_data char (10000); 132 dcl prph_name char (4) aligned; 133 dcl p99 pic "99" based; 134 dcl ret_len fixed bin (21); 135 dcl retry_sw bit (1); 136 dcl str_info bit (1) init ("0"b); 137 dcl ss_info bit (1) init ("0"b); 138 dcl session_over bit (1) init ("0"b); 139 dcl static_config_ptr ptr int static init (null ()); 140 dcl status_a bit (72) init ("0"b); 141 dcl sub_ptr ptr int static; 142 dcl subsys bit (1) init ("0"b); 143 dcl term bit (1) init ("0"b); 144 dcl total_chars_read fixed bin (21); 145 dcl trm bit (1) init ("0"b); 146 147 148 /* Structures */ 149 150 dcl 1 mca_sub based (sub_ptr) unal, 151 2 data_p bit (1) unal, 152 2 mbz bit (3) unal, 153 2 term_state bit (2) unal; 154 155 156 157 158 159 160 161 if eq_type ^= "" then do; /* if equip type = some type user wants partial config */ 162 if length (eq_type) = 4 then str_info = "1"b; /* user wants info on a device */ 163 else if length (eq_type) = 3 then ss_info = "1"b; /* user wants all info on a device */ 164 else do; /* must be invalid arg */ 165 if exec = "isolts" then /* if isolts use ioa */ 166 call ioa_ ("tolts_pcd_: Invalid length ARG received"); 167 else call tolts_qttyio_$rs (0, "tolts_pcd_: Invalid lenght ARG received"); 168 return; 169 end; 170 171 call ioa_$rsnnl ("^/ ^/^a configuration:^/ ^/", out_data, ol, substr (eq_type, 1, 3)); 172 if substr (eq_type, 1, 3) = "cpu" | /* if cpu or mem */ 173 substr (eq_type, 1, 3) = "mem" then do; 174 if substr (eq_type, 1, 3) = "cpu" then call cpu_fig; 175 else if substr (eq_type, 1, 3) = "mem" then call mem_fig; 176 call ioa_ ("^a", out_data); 177 return; 178 end; 179 else if substr (eq_type, 1, 3) = "fnp" then call fnp_fig; 180 else if substr (eq_type, 1, 3) = "dia" then call dia_fig; 181 else if substr (eq_type, 1, 3) = "iom" 182 | substr (eq_type, 1, 3) = "imu" then call iom_fig; 183 else if substr (eq_type, 1, 3) = "mca" then do; 184 if str_info then call mca_fig ("mca" || substr (eq_type, 4)); 185 else call mca_fig (""); 186 end; 187 else if substr (eq_type, 1, 3) = "ccu" | 188 substr (eq_type, 1, 3) = "hch" | 189 substr (eq_type, 1, 3) = "opc" | 190 substr (eq_type, 1, 3) = "prt" | 191 substr (eq_type, 1, 3) = "pun" | 192 substr (eq_type, 1, 3) = "rdr" then call sing_fig; 193 else if substr (eq_type, 1, 3) = "dsk" then call disk_fig; 194 else if substr (eq_type, 1, 3) = "tap" then call tape_fig; 195 else do; /* can't find a match */ 196 if exec = "isolts" then 197 call ioa_ ("tolts_pcd_: Unreconizable ARG received."); 198 else call tolts_qttyio_$rs (0, "tolts_pcd_: Unreconizable ARG received."); 199 return; 200 end; 201 out_data = rtrim (out_data) || rtrim (mca_data); 202 call tolts_qttyio_ (out_data, 10); 203 return; 204 end; 205 206 else str_info, ss_info = "0"b; /* user wants config */ 207 208 call ioa_$rsnnl ("^/ ^/^a configuration:^/ ^/", out_data, ol, exec); 209 210 if exec = "colt " then do; 211 call dia_fig; /* output dia configuration first */ 212 call fnp_fig; /* now output fnp configuration */ 213 end; 214 215 216 if exec = "isolts" then do; 217 call cpu_fig; 218 call mem_fig; 219 call ioa_ ("^a", out_data); 220 return; 221 end; 222 if exec = "polt " | exec = "molt " then do; 223 call iom_fig; /* output iom configuration second */ 224 call disk_fig; /* output disk configuration second */ 225 call tape_fig; /* followed by tape configuration */ 226 call sing_fig; /* and all other peripherals */ 227 call mca_fig (""); 228 end; 229 out_data = rtrim (out_data) || rtrim (mca_data); 230 call tolts_qttyio_ (out_data, 10); /* output config */ 231 return; /* thats it folks */ 232 233 234 /* dia_fig - internal procedure to format dia configuration for the DN8 FEP */ 235 236 dia_fig: proc; 237 238 declare dia_number fixed bin; 239 240 241 prph_cardp = null; /* start at the beginning of the config deck */ 242 term = "0"b; /* reset terminate condition */ 243 do while (^term); /* check all cards */ 244 call tolts_util_$find_card ("prph", prph_cardp); /* get pointer to fnp config card */ 245 if prph_cardp = null then term = "1"b; /* no card found */ 246 else if (str_info & prph_card.name = eq_type) 247 | (substr (prph_card.name, 1, 3) = "dia" & ^str_info) then do; 248 249 dia_number = rank (substr (prph_card.name, 4, 1)) 250 - rank ("a") + 1; /* dia a is 1 */ 251 call ioa_$rsnnl ("dia ^a (^d) on iom ^a ^d", 252 od, ol, tags (dia_number), dia_number - 1, tags (iom), chan); 253 call ioa_$rsnnl ("^a^/", od, ol, od); /* add new line to output */ 254 out_data = rtrim (out_data) || od; /* add to to output */ 255 if str_info then term = "1"b; 256 end; 257 end; 258 end dia_fig; 259 260 261 262 /* fnp_fig - internal procedure to format fnp configuration */ 263 264 265 fnp_fig: proc; 266 267 declare fnp_number fixed bin; 268 1 1 /* BEGIN INCLUDE FILE ... config_prph_fnp_card.incl.pl1 BIM 1983 */ 1 2 /* format: style3 */ 1 3 1 4 dcl prph_fnp_cardp ptr; /* Pointer to a PRPH fnpx card. */ 1 5 1 6 dcl 1 prph_fnp_card based (prph_fnp_cardp) aligned, 1 7 /* PRPH fnpx card declaration */ 1 8 2 word char (4), /* "prph" */ 1 9 2 name char (4), /* "fnpX" */ 1 10 2 iom fixed bin (3), /* IOM number */ 1 11 2 chan fixed bin (8), /* channel number */ 1 12 2 model fixed bin, /* model number */ 1 13 2 state char (4) aligned, /* ON/OFF */ 1 14 2 pad (9) bit (36) aligned, 1 15 2 type_word aligned, 1 16 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 1 17 3 pad1 bit (4) unaligned, 1 18 3 n_fields fixed bin (4) unsigned unaligned; 1 19 /* number of fields used on card */ 1 20 1 21 /* END INCLUDE FILE ... config_prph_fnp_card.incl.pl1 */ 269 270 271 prph_fnp_cardp = null; /* start at the beginning of the config deck */ 272 term = "0"b; /* reset terminate condition */ 273 call hcs_$initiate (">sc1", "cdt", "", 0, 0, cdtp, code); 274 do while (^term); /* check all cards */ 275 call tolts_util_$find_card ("prph", prph_fnp_cardp); /* get pointer to fnp config card */ 276 if prph_fnp_cardp = null then term = "1"b; /* no card found */ 277 else if (str_info & name = eq_type) 278 | (substr (name, 1, 3) = "fnp" & ^str_info) then do; 279 280 fnp_number = rank (substr (name, 4, 1)) - rank ("a") + 1; /* fnp a is 1 */ 281 fnpep = addr (cdt.fnp_entry (fnp_number)); 282 call ioa_$rsnnl ("fnp ^a (^d) on iom ^a ^d is a ^6a with ^d k of memory and ^d hslas is ^a", 283 od, ol, tags (fnp_number), fnp_number - 1, 284 tags (iom), chan, types (fnpe.type), fnpe.memory, fnpe.nhslas, fnp_state (fnpe.mpxe.state)); 285 call ioa_$rsnnl ("^a^/", od, ol, od); /* add new line to output */ 286 out_data = rtrim (out_data) || od; /* add to to output */ 287 if str_info then term = "1"b; 288 end; 289 end; 290 end fnp_fig; 291 292 293 /* cpu_fig - internal procedure to format cpu configuration */ 294 295 cpu_fig: proc; 296 297 2 1 /* BEGIN INCLUDE FILE ... config_cpu_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 2 2 /* format: style4 */ 2 3 2 4 dcl cpu_cardp pointer; /* pointer to CPU card */ 2 5 2 6 dcl 1 cpu_card aligned based (cpu_cardp), /* CPU card declaration */ 2 7 2 word char (4), /* "cpu" */ 2 8 2 tag fixed bin (3), /* CPU tag from switches, plus one */ 2 9 2 port fixed bin (3), /* Controller port for CPU */ 2 10 2 state char (4), /* "on", "off", "shut", or "test" */ 2 11 2 type char (4), /* "l68", "dps", "dps8" */ 2 12 2 13 2 model fixed bin, /* 60., 80., or 70. */ 2 14 2 cache_size fixed bin, /* either 0. 2. 8. 16. or 32. */ 2 15 2 expander_port fixed bin (3), /* If present, indicates expander sub-port */ 2 16 2 17 2 pad (7) bit (36) aligned, /* Pad to 15 fields */ 2 18 2 19 2 type_word aligned, 2 20 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 2 21 3 pad1 bit (4) unaligned, 2 22 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 2 23 2 24 dcl CPU_CARD_WORD char (4) aligned internal static options (constant) init ("cpu"); 2 25 2 26 /* END INCLUDE FILE ... config_cpu_card.incl.pl1 */ 298 299 300 301 term = "0"b; 302 cpu_cardp = null; /* set config ptr to null */ 303 do while (^term); /* loop through all cpu cards first */ 304 call tolts_util_$find_card ("cpu ", cpu_cardp); 305 if cpu_cardp = null then term = "1"b; /* the last card */ 306 307 else if (str_info & (string (rtrim (word)) || tags (tag)) = eq_type) 308 | (word = "cpu" & ^str_info) then do; 309 310 call ioa_$rsnnl ("cpu ^a a^[ ^dK cache ^; ^s^]^a/^d cpu on scu port ^d is ^[on-line & unavailable for test ^;^[off-line & available for test ^;^[currently under test ^]^]^] ", 311 od, ol, tags (tag), (cache_size > 0), (cache_size), type, model, 312 port, (state = "on "), (state = "off "), (state = "test ")); 313 call ioa_$rsnnl ("^a^/", od, ol, od); /* add a new line to output */ 314 out_data = rtrim (out_data) || od; 315 if str_info then term = "1"b; 316 end; 317 end; 318 end cpu_fig; 319 320 321 322 /* mem_fig - internal procedure to format mem configuration */ 323 324 mem_fig: proc; 325 3 1 /* BEGIN INCLUDE FILE ... config_mem_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 3 2 3 3 dcl mem_cardp pointer; /* pointer to MEM card */ 3 4 3 5 dcl 1 mem_card aligned based (mem_cardp), /* MEM card declaration */ 3 6 2 word char (4), /* "mem" */ 3 7 2 tag fixed bin (3), /* One more than module port to which controller is attached */ 3 8 2 size fixed bin (18), /* Number of pages in memory controller */ 3 9 2 state char (4), /* State: "on" or "off" */ 3 10 3 11 2 pad (11) bit (36) aligned, /* Pad to 15 fields */ 3 12 3 13 2 type_word aligned, 3 14 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 3 15 3 pad1 bit (4) unaligned, 3 16 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 3 17 3 18 dcl MEM_CARD_WORD char (4) aligned internal static options (constant) init ("mem"); 3 19 3 20 /* END INCLUDE FILE ... config_mem_card.incl.pl1 */ 326 327 328 329 term = "0"b; 330 mem_cardp = null; /* set config ptr to null */ 331 do while (^term); /* loop through all cpu cards first */ 332 call tolts_util_$find_card ("mem ", mem_cardp); 333 if mem_cardp = null then term = "1"b; /* the last card */ 334 else if (str_info & (string (rtrim (word)) || tags (tag)) = eq_type) 335 | (word = "mem" & ^str_info) then do; 336 337 call ioa_$rsnnl ("scu ^a has ^4dk words of memory & is ^[the bootload scu & is unavailable ^;^[on-line & available ^;^[off-line & unavailable ^]^]for test", 338 od, ol, tags (tag), size, (state = "on " & k = 0), 339 (state = "on " & k > 0), (state = "off ")); 340 k = k + 1; 341 call ioa_$rsnnl ("^a^/", od, ol, od); /* add a new line to output */ 342 out_data = rtrim (out_data) || od; 343 if str_info then term = "1"b; 344 end; 345 end; 346 end mem_fig; 347 348 /* iom_fig - internal procedure to formatiom configuration */ 349 350 iom_fig: proc; 351 352 4 1 /* BEGIN INCLUDE FILE ... config_iom_card.incl.pl1 ... 11/37/80 W. Olin Sibert */ 4 2 4 3 dcl iom_cardp pointer; /* pointer to IOM card */ 4 4 4 5 dcl 1 iom_card aligned based (iom_cardp), /* IOM card declaration */ 4 6 2 word char (4), /* "iom" */ 4 7 2 tag fixed bin (3), /* One more than IOM tag set in maintenance panel switches */ 4 8 2 port fixed bin (3), /* Controller port to which IOM is connected */ 4 9 2 model char (4), /* IOM model number: "iomb", "nsa", "iioc" */ 4 10 2 state char (4), /* State: "on" or "off" */ 4 11 4 12 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 4 13 4 14 2 type_word aligned, 4 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 4 16 3 pad1 bit (4) unaligned, 4 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 4 18 4 19 dcl IOM_CARD_WORD char (4) aligned internal static options (constant) init ("iom"); 4 20 4 21 /* END INCLUDE FILE ... config_iom_card.incl.pl1 */ 353 354 355 356 term = "0"b; 357 iom_cardp = null; /* set config ptr to null */ 358 do while (^term); /* loop through all iom cards first */ 359 call tolts_util_$find_card ("iom ", iom_cardp); 360 if iom_cardp = null then term = "1"b; /* the last card */ 361 362 else if (str_info & (string (rtrim (word)) || tags (tag)) = eq_type) 363 | (word = "iom" & ^str_info) then do; 364 365 call ioa_$rsnnl ("iom ^a a ^a iom on scu port ^d is ^[on-line ^;^[off-line ^;^[currently under test ^]^]^] ", 366 od, ol, tags (tag), model, port, (state = "on "), 367 (state = "off "), (state = "test ")); 368 call ioa_$rsnnl ("^a^/", od, ol, od); /* add a new line to output */ 369 out_data = rtrim (out_data) || od; 370 if str_info then term = "1"b; 371 end; 372 end; 373 end iom_fig; 374 375 376 /* disk_fig - internal procedure to format disk configuration */ 377 378 disk_fig: proc; 379 5 1 /* BEGIN INCLUDE FILE ... config_prph_dsk_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 5 2 5 3 dcl prph_dsk_cardp ptr; /* Pointer to a PRPH DSKx card. */ 5 4 5 5 dcl 1 prph_dsk_card based (prph_dsk_cardp) aligned, /* PRPH DSKx card declaration */ 5 6 2 word char (4), /* "prph" */ 5 7 2 name char (4), /* "dskX" */ 5 8 2 iom fixed bin (3), /* IOM number */ 5 9 2 chan fixed bin (8), /* channel number */ 5 10 2 nchan fixed bin, /* number of channels */ 5 11 5 12 2 group (5), 5 13 3 model fixed bin, /* model number */ 5 14 3 ndrives fixed bin, /* number of drives */ 5 15 5 16 2 type_word aligned, 5 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 5 18 3 pad1 bit (4) unaligned, 5 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 5 20 5 21 dcl 1 prph_dsk_card_array aligned based (prph_dsk_cardp), /* Overlay for drive group array */ 5 22 2 pad1 (5) bit (36) aligned, 5 23 2 group (divide (max (0, (prph_dsk_card.n_fields - 4)), 2, 17, 0)), 5 24 3 model fixed bin, /* model number */ 5 25 3 ndrives fixed bin; /* number of drives */ 5 26 5 27 /* END INCLUDE FILE ... config_prph_dsk_card.incl.pl1 */ 380 381 382 383 term = "0"b; 384 prph_dsk_cardp = null; /* start at beginning of config deck */ 385 386 do while (^term); /* get all disk subsystems */ 387 call tolts_util_$find_card ("prph", prph_dsk_cardp); /* get next config card */ 388 if prph_dsk_cardp = null then term = "1"b; /* if last card, thats it */ 389 else if (str_info & name = eq_type) 390 | (substr (name, 1, 3) = "dsk" & ^str_info) then do; 391 392 ndevices = 0; 393 fips, subsys = "0"b; 394 do i = 1 to hbound (prph_dsk_card.group, 1) 395 while (prph_dsk_card.group (i).model ^= -1); /* loop thru all dev pairs */ 396 if prph_dsk_card.group (i).model ^= 0 then do; /* if not 0 devices */ 397 fips = tolts_util_$dev0_valid 398 (addr (config_data_$disk_drive_model_names), prph_dsk_card.group (i).model); 399 if ^fips & ^subsys then ndevices = ndevices + 1; 400 call ioa_$rsnnl ("^[^a^;^s ^] ^3d ^2d units;^-starting with device no. ^d^/", 401 od, ol, ^subsys, name, prph_dsk_card.group (i).model, prph_dsk_card.group (i).ndrives, ndevices); 402 out_data = rtrim (out_data) || od; /* at line to output */ 403 subsys = "1"b; /* indicate we have output subsystem */ 404 end; 405 ndevices = ndevices + prph_dsk_card.group (i).ndrives; /* add incremental device numbers */ 406 end; 407 NAME = name; 408 call find_mpc (iom, chan, nchan, fips); /* get mpc card for this prph */ 409 call find_chnl (fips); /* go output associated chnl cards if present */ 410 if str_info then term = "1"b; 411 end; 412 end; 413 414 end disk_fig; 415 416 417 /* tape_fig - internal procedure to format tape configuration */ 418 419 tape_fig: proc; 420 6 1 /* BEGIN INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 6 2 6 3 dcl prph_tap_cardp ptr; /* Pointer to a PRPH TAPx card. */ 6 4 6 5 dcl 1 prph_tap_card based (prph_tap_cardp) aligned, /* PRPH TAPx card declaration */ 6 6 2 word char (4), /* "prph" */ 6 7 2 name char (4), /* "tapX" */ 6 8 2 iom fixed bin (3), /* IOM number */ 6 9 2 chan fixed bin (8), /* channel number */ 6 10 2 nchan fixed bin, /* number of channels */ 6 11 6 12 2 group (5), 6 13 3 model fixed bin, /* model number */ 6 14 3 ndrives fixed bin, /* number of drives */ 6 15 6 16 2 type_word aligned, 6 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 6 18 3 pad1 bit (4) unaligned, 6 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 6 20 6 21 dcl 1 prph_tap_card_array aligned based (prph_tap_cardp), /* Overlay for drive group array */ 6 22 2 pad1 (5) bit (36) aligned, 6 23 2 group (divide (max (0, (prph_tap_card.n_fields - 4)), 2, 17, 0)), 6 24 3 model fixed bin, /* model number */ 6 25 3 ndrives fixed bin; /* number of drives */ 6 26 6 27 /* END INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 421 422 423 424 term = "0"b; 425 prph_tap_cardp = null; /* start at beginning of tolts_util_$find_card deck */ 426 427 do while (^term); /* get all tape subsystems */ 428 call tolts_util_$find_card ("prph", prph_tap_cardp); /* get next config card */ 429 if prph_tap_cardp = null then term = "1"b; /* if last card, thats it */ 430 else if (str_info & name = eq_type) 431 | (substr (name, 1, 3) = "tap" & ^str_info) then do; 432 433 ndevices = 0; 434 subsys = "0"b; /* start by outputting subsystem */ 435 do i = 1 to hbound (prph_tap_card.group, 1) 436 while (prph_tap_card.group (i).model ^= -1); /* loop thru all dev pairs */ 437 if prph_tap_card.group (i).model ^= 0 then do; /* if not 0 devices */ 438 fips = tolts_util_$dev0_valid 439 (addr (config_data_$tape_drive_model_names), prph_tap_card.group (i).model); 440 if ^fips & ^subsys then ndevices = ndevices + 1; 441 call ioa_$rsnnl ("^[^a^;^s ^] ^3d ^2d units;^-starting with device no. ^d^/", 442 od, ol, ^subsys, name, prph_tap_card.group (i).model, prph_tap_card.group (i).ndrives, ndevices); 443 out_data = rtrim (out_data) || od; /* at line to output */ 444 subsys = "1"b; /* indicate we have output subsystem */ 445 end; 446 ndevices = ndevices + prph_tap_card.group (i).ndrives; /* add incremental device numbers */ 447 end; 448 NAME = name; 449 call find_mpc (iom, chan, nchan, fips); /* get mpc card for this prph */ 450 call find_chnl (fips); /* go output associated chnl cards if present */ 451 if str_info then term = "1"b; 452 end; 453 end; 454 455 end tape_fig; 456 457 458 /* sing_fig - internal procedure to format all single line peripherals (rdr,pun,opc,prt) */ 459 460 sing_fig: proc; 461 7 1 /* BEGIN INCLUDE FILE ... config_prph_opc_card.incl.pl1 ... 11/27/80, W. Olin Sibert */ 7 2 7 3 /* Modified 830613 to add state and line_leng fields to card... -E. A. Ranzenbach */ 7 4 /* Modified 841205 to add mask field... -E. A. Ranzenbach */ 7 5 7 6 dcl prph_opc_cardp ptr; /* pointer to PRPH OPC card */ 7 7 7 8 dcl 1 prph_opc_card based (prph_opc_cardp) aligned, /* PRPH OPC card declaration */ 7 9 2 word char (4), /* "prph" */ 7 10 2 name char (4), /* "opc" */ 7 11 2 iom fixed bin (3), /* IOM number */ 7 12 2 chan fixed bin (8), /* channel number */ 7 13 2 model fixed bin, /* console model number */ 7 14 2 line_leng fixed bin, /* line length of the console... */ 7 15 2 state char (4), /* "io", "on", "alt", "off" or "inop"... */ 7 16 2 mask char (4), /* "mask" means read_unechoed option is not installed... */ 7 17 2 pad (7) bit (36) aligned, /* pad to 15 fields */ 7 18 7 19 2 type_word aligned, 7 20 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 7 21 3 pad1 bit (4) unaligned, 7 22 3 n_fields fixed bin (5) unsigned unaligned; /* number of fields used on card */ 7 23 7 24 /* END INCLUDE FILE ... config_prph_opc_card.incl.pl1 */ 462 8 1 /* BEGIN INCLUDE FILE ... config_prph_prt_card.incl.pl1 ... 11/11/80, W. Olin Sibert */ 8 2 8 3 dcl prph_prt_cardp ptr; /* pointer to PRPH PRTx card */ 8 4 8 5 dcl 1 prph_prt_card based (prph_prt_cardp) aligned, /* PRPH PRTx card declaration */ 8 6 2 word char (4), /* "prph" */ 8 7 2 name char (4), /* "prtX" */ 8 8 2 iom fixed bin (3), /* IOM number */ 8 9 2 chan fixed bin (8), /* channel number */ 8 10 2 model fixed bin, /* printer model number */ 8 11 8 12 2 train fixed bin, /* print train ID */ 8 13 2 line_length fixed bin, /* printer line length */ 8 14 8 15 2 pad (8) bit (36) aligned, /* pad to 15 fields */ 8 16 8 17 2 type_word aligned, 8 18 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 8 19 3 pad1 bit (4) unaligned, 8 20 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 8 21 8 22 /* END INCLUDE FILE ... config_prph_prt_card.incl.pl1 */ 463 464 465 dcl (term, term1, trm) bit (1) init ("0"b); 466 nchn = 1; 467 prph_cardp = null; /* start at beginning of config deck */ 468 469 do while (^term); /* get all other peripherals */ 470 fips, trm = "0"b; 471 if ss_info then term1 = "0"b; 472 call tolts_util_$find_card ("prph", prph_cardp); /* get next config card */ 473 if prph_cardp = null then term = "1"b; /* if last card, thats it */ 474 else if str_info & eq_type = (substr (prph_card.name, 1, 4)) then term1 = "1"b; 475 else if ss_info & eq_type = (substr (prph_card.name, 1, 3)) then term1 = "1"b; 476 477 else if exec = "polt" & (^str_info & ^ss_info) then do; 478 if substr (prph_card.name, 1, 3) = "prt" /* if printer */ 479 | substr (prph_card.name, 1, 3) = "pun" /* or punch */ 480 | substr (prph_card.name, 1, 3) = "rdr" /* or reader */ 481 | substr (prph_card.name, 1, 3) = "opc" /* or console */ 482 | substr (prph_card.name, 1, 3) = "ccu" /* or combined card unit */ 483 then trm = "1"b; /* display it */ 484 end; 485 else if exec = "molt" & (^str_info & ^ss_info) then do; 486 if substr (prph_card.name, 1, 3) = "prt" /* if printer */ 487 | substr (prph_card.name, 1, 3) = "pun" /* or punch */ 488 | substr (prph_card.name, 1, 3) = "rdr" /* or reader */ 489 | substr (prph_card.name, 1, 3) = "hch" /* or hyperchannel */ 490 | substr (prph_card.name, 1, 3) = "ccu" /* or combined card unit */ 491 then trm = "1"b; /* display it */ 492 end; 493 494 if ^term & trm & ^str_info 495 | ^term & ^trm & (str_info | ss_info) & term1 then do; 496 497 prph_opc_cardp, prph_prt_cardp = prph_cardp; 498 model_index = 0; 499 d_sw = "1"b; /* device 1 in most cases */ 500 if substr (prph_card.name, 1, 3) = "opc " then do; /* if console */ 501 model_index = CONSOLE_MODEL_TO_INDEX_FCN (prph_opc_card.model); 502 if model_index > 0 503 then d_sw = ^CONSOLE_IS_BCD (model_index); 504 end; 505 if substr (prph_card.name, 1, 3) = "hch" then d_sw = "0"b; 506 call ioa_$rsnnl ("^4a ^d^[0^]^d^[01^;00^] model ^d ^[^a ^[is available for test ^;is the^[ alternate^]^[^s^] system console ^]^s ^;^4s^a^] ^[with ^d columns and a ^d print belt ^]", 507 od, ol, prph_card.name, prph_card.iom - 1, (prph_card.chan < 10), prph_card.chan, 508 d_sw, prph_card.model, (model_index > 0), con_types (model_index), (prph_opc_card.state = "io") | (prph_opc_card.state = "inop"), 509 (prph_opc_card.state = "alt "), (prph_opc_card.state = "on"), 510 (substr (prph_card.name, 1, 3)), (substr (prph_card.name, 1, 3) = "prt"), line_length, train); 511 512 call ioa_$rsnnl ("^a^/", od, ol, od); /* add new line */ 513 out_data = rtrim (out_data) || od; /* add to line */ 514 if substr (prph_card.name, 1, 3) ^= "opc" 515 | substr (prph_card.name, 1, 3) ^= "hch" then do; /* might be mpc device */ 516 NAME = prph_card.name; 517 call find_mpc (prph_card.iom, prph_card.chan, nchn, fips); /* get mpc card for this perph */ 518 call find_chnl (fips); /* find chnl cards if present */ 519 end; 520 else call set_cline (prph_card.iom - 1, prph_card.chan, 0, "", -1); /* tell them no mpc card found */ 521 if str_info then term = "1"b; 522 end; 523 end; 524 525 end sing_fig; 526 527 528 /* find_mpc - internal procedure to find mpc card given iom and channel, and return mpc number */ 529 530 find_mpc: proc (iom, a_chan, a_nchan, fips); 531 9 1 /* BEGIN INCLUDE FILE ... config_ipc_card.incl.pl1 ... */ 9 2 /****^ HISTORY COMMENTS: 9 3* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 9 4* audit(86-03-08,CLJones), install(86-03-21,MR12.0-1033): 9 5* Create IPC card. 9 6* END HISTORY COMMENTS */ 9 7 9 8 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 9 9 9 10 dcl ipc_cardp ptr; /* card pointer */ 9 11 9 12 dcl 1 ipc_card aligned based (ipc_cardp), 9 13 2 word char (4), /* "ipc" */ 9 14 2 type char (4), /* Type of this IPC - e.g., "fips" */ 9 15 2 iom fixed bin (3), /* IOM number */ 9 16 2 chan fixed bin (8), /* Channel number. */ 9 17 2 nchan fixed bin, /* Number of logical channels on this channel. */ 9 18 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 9 19 2 type_word aligned, 9 20 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 9 21 3 pad1 bit (4) unaligned, 9 22 3 n_fields fixed bin (4) unsigned unaligned; 9 23 /* number of fields used on card */ 9 24 9 25 dcl IPC_CARD_WORD char (4) aligned internal static options (constant) init ("ipc"); 9 26 dcl IPC_FIPS char (4) aligned internal static options (constant) init ("fips"); 9 27 9 28 /* END INCLUDE FILE ... config_ipc_card.incl.pl1 */ 532 10 1 /* BEGIN INCLUDE FILE ... config_mpc_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 10 2 10 3 dcl mpc_cardp ptr; /* Pointer to an MPC card. */ 10 4 10 5 dcl 1 mpc_card aligned based (mpc_cardp), 10 6 2 word char (4), /* "mpc" */ 10 7 2 name char (4), /* Name of this MPC - e.g., "mspa" */ 10 8 2 model fixed bin, /* Model of this MPC - e.g., 601. */ 10 9 2 port (4), /* Per port information. 12 fields total */ 10 10 3 iom fixed bin (3), /* IOM number */ 10 11 3 chan fixed bin (8), /* Channel number. */ 10 12 3 nchan fixed bin, /* Number of logical channels on this channel. */ 10 13 10 14 2 type_word aligned, 10 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 10 16 3 pad1 bit (4) unaligned, 10 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 10 18 10 19 dcl 1 mpc_card_array aligned based (mpc_cardp), /* Overlay for MPC port array */ 10 20 2 pad1 (3) bit (36) aligned, 10 21 2 port (divide (max (0, (mpc_card.n_fields - 2)), 3, 17, 0)), 10 22 3 iom fixed bin (3), /* IOM number */ 10 23 3 chan fixed bin (8), /* Channel number. */ 10 24 3 nchan fixed bin; /* Number of logical channels on this channel. */ 10 25 10 26 dcl MPC_CARD_WORD char (4) aligned internal static options (constant) init ("mpc"); 10 27 10 28 /* END INCLUDE FILE ... config_mpc_card.incl.pl1 */ 533 534 dcl fips bit (1); 535 dcl (chan, a_chan) fixed bin (8); 536 dcl iom fixed bin (3); 537 dcl (i, j, a_nchan, nchan) fixed bin; 538 dcl cont_cardp ptr; 539 dcl 1 cont_card aligned based (cont_cardp) like mpc_card; 540 541 542 chan = a_chan; /* copy parameters */ 543 nchan = a_nchan; 544 cont_cardp = null (); /* start at beginning of deck */ 545 trm = "0"b; /* reset terminate condition */ 546 do while (^trm); /* find mpc card */ 547 if ^fips then call tolts_util_$find_card ("mpc ", cont_cardp); 548 else call tolts_util_$find_card ("ipc", cont_cardp); /* look for an fips card */ 549 if cont_cardp = null () then trm = "1"b; 550 else if fips then do; 551 ipc_cardp = cont_cardp; 552 j = 1; 553 if ipc_card.iom = iom then /* if match on iom number */ 554 if (chan >= ipc_card.chan 555 & chan <= ipc_card.chan + (ipc_card.nchan - 1)) then do; 556 if chan ^= ipc_card.chan then j = 2; 557 call set_cline (iom - 1, (chan), ipc_card.nchan, 558 ipc_card.type, j); /* output chan line */ 559 if nchan <= ipc_card.nchan then /* if this is all chanels */ 560 trm = "1"b; /* and chan number, this is it */ 561 else do; /* more channels on diffent mpc cards */ 562 chan = chan + ipc_card.nchan; /* add in channels processed */ 563 nchan = nchan - ipc_card.nchan; /* and subtract number of chans */ 564 end; 565 end; 566 567 end; 568 else do i = 1 to hbound (cont_card.port, 1) while (cont_card.port (i).iom ^= -1 & ^trm); 569 j = i; 570 if cont_card.port (i).iom = iom then /* if match on iom number */ 571 if (chan >= cont_card.port (i).chan 572 & chan <= cont_card.port (i).chan + (cont_card.port (i).nchan - 1)) then do; 573 if chan ^= cont_card.port (i).chan then j = 2; 574 call set_cline (iom - 1, (chan), cont_card.port (i).nchan, cont_card.name, j); /* output chan line */ 575 if nchan <= cont_card.port (i).nchan then /* if this is all chanels */ 576 trm = "1"b; /* and chan number, this is it */ 577 else do; /* more channels on diffent mpc cards */ 578 chan = chan + cont_card.port (i).nchan;/* add in channels processed */ 579 nchan = nchan - cont_card.port (i).nchan; /* and subtract number of chans */ 580 end; 581 end; 582 583 end; 584 end; 585 if cont_cardp = null () then /* if we didn't find an mpc */ 586 call set_cline (iom - 1, chan, 0, "", -1); /* tell them no mpc card found */ 587 588 end find_mpc; 589 590 591 /* find_chnl - internal procdure to find chnl card associated with prph card and output info */ 592 593 find_chnl: proc (fips); 594 11 1 /* BEGIN INCLUDE FILE ... config_chnl_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 11 2 11 3 dcl chnl_cardp ptr; /* Pointer to a CHNL card. */ 11 4 11 5 dcl 1 chnl_card based (chnl_cardp) aligned, /* CHNL card declaration */ 11 6 2 word char (4), /* "chnl" */ 11 7 2 name char (4), /* subsystem name */ 11 8 2 group (3), /* Channel groups for this subsystem -- 9 fields total */ 11 9 3 iom fixed bin (3), /* IOM number */ 11 10 3 chan fixed bin (8), /* channel number */ 11 11 3 nchan fixed bin, /* number of channels */ 11 12 11 13 2 pad (4) bit (36) aligned, /* pad to 15 fields */ 11 14 11 15 2 type_word aligned, 11 16 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 11 17 3 pad1 bit (4) unaligned, 11 18 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 11 19 11 20 dcl 1 chnl_card_array aligned based (chnl_cardp), /* Overlay for channel group array */ 11 21 2 pad1 (2) bit (36) aligned, 11 22 2 group (min (3, divide (max (0, (chnl_card.n_fields - 1)), 3, 17, 0))), 11 23 3 iom fixed bin (3), /* IOM number */ 11 24 3 chan fixed bin (8), /* Channel number. */ 11 25 3 nchan fixed bin; /* Number of logical channels on this channel. */ 11 26 11 27 dcl CHNL_CARD_WORD char (4) aligned internal static options (constant) init ("chnl"); 11 28 11 29 /* END INCLUDE FILE ... config_chnl_card.incl.pl1 */ 595 596 dcl fips bit (1); 597 598 chnl_cardp = null; /* start at beginning */ 599 trm = "0"b; /* and find possible chnl card */ 600 do while (^trm); 601 call tolts_util_$find_card ("chnl", chnl_cardp); 602 if chnl_cardp = null then trm = "1"b; /* if last card, no chnl card */ 603 else if name = NAME then do; /* if for right subsystem */ 604 trm = "1"b; /* set terminate condition */ 605 do i = 1 to 3 while (chnl_card.group (i).iom ^= -1); /* loop through all fields of chnl card */ 606 call find_mpc (chnl_card.group (i).iom, chnl_card.group (i).chan, chnl_card.group (i).nchan, fips); /* find mpc card */ 607 end; 608 end; 609 end; 610 611 end find_chnl; 612 613 /* mca_fig - int proc to attach a MCA, reads its config table and add the info to the out_data buffer. */ 614 615 mca_fig: proc (MCA_NAME); 616 12 1 /* BEGIN INCLUDE FILE ... config_iom_card.incl.pl1 ... 11/37/80 W. Olin Sibert */ 12 2 12 3 dcl iom_cardp pointer; /* pointer to IOM card */ 12 4 12 5 dcl 1 iom_card aligned based (iom_cardp), /* IOM card declaration */ 12 6 2 word char (4), /* "iom" */ 12 7 2 tag fixed bin (3), /* One more than IOM tag set in maintenance panel switches */ 12 8 2 port fixed bin (3), /* Controller port to which IOM is connected */ 12 9 2 model char (4), /* IOM model number: "iomb", "nsa", "iioc" */ 12 10 2 state char (4), /* State: "on" or "off" */ 12 11 12 12 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 12 13 12 14 2 type_word aligned, 12 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 12 16 3 pad1 bit (4) unaligned, 12 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 12 18 12 19 dcl IOM_CARD_WORD char (4) aligned internal static options (constant) init ("iom"); 12 20 12 21 /* END INCLUDE FILE ... config_iom_card.incl.pl1 */ 617 618 619 620 dcl MCA_NAME char (4); 621 622 mca_config_file_ptr = null; 623 iom_cardp = null; /* set config ptr to null */ 624 625 on linkage_error begin; 626 call com_err_ (error_table_$moderr, "mca_fig", "mca_"); 627 goto mca_fig_end; /* exit */ 628 end; 629 630 631 on cleanup begin; 632 if mca_config_file_ptr ^= null then 633 call release_temp_segment_ ("tolts_pcd_", mca_config_file_ptr, code); 634 635 call mtdsim_$clean_up (); /* call our normal handler */ 636 goto mca_fig_end; 637 end; 638 639 entry_var = mca_$attach_mca; 640 revert linkage_error; 641 642 call get_temp_segment_ ("tolts_pcd_", mca_config_file_ptr, code); 643 data_ptr, static_config_ptr = mca_config_file_ptr; 644 next: 645 if MCA_NAME = "" then do; /* loop through all iom cards first */ 646 call tolts_util_$find_card ("iom ", iom_cardp); 647 if iom_cardp = null then return; /* the last card */ 648 if iom_card.model = "imu" then 649 mca_name = "mca" || tags (iom_card.tag); 650 else goto next; 651 end; 652 else mca_name = MCA_NAME; 653 retry_sw = "1"b; 654 655 retry_attach: 656 657 call ioa_ ("attaching ^a for configuration read", mca_name); /* let the user know */ 658 call mca_$attach_mca (mca_name, mca_ev_chn, mca_ioi_idx, code); 659 if code ^= 0 then do; 660 if code = error_table_$timeout then do; 661 if retry_sw then do; 662 retry_sw = "0"b; 663 call com_err_ (code, "tolts_pcd_", "Attaching ^a, will retry..", mca_name); 664 goto retry_attach; 665 end; 666 end; 667 if addr (code) -> status.t & addr (code) -> status.major = "0"b 668 then call com_err_ (0, "mca_$attach_mca", "status ^w", code); 669 else call com_err_ (code, "tolts_pcd_", 670 "Attempting to attach ^a", mca_name); 671 return; 672 end; 673 call ioa_ ("^a attached for configuration read", mca_name); 674 call rd_config; 675 676 DONE: 677 if mca_ioi_idx ^= -1 then 678 call mca_$detach_mca (mca_ioi_idx, code); 679 if code ^= 0 then do; 680 call com_err_ (code, "tolts_pcd_", "Attempting to detach ^a", mca_name); 681 end; 682 if mca_config_file_ptr ^= null () then 683 call release_temp_segment_ 684 ("tolts_pcd_", mca_config_file_ptr, code); 685 if MCA_NAME = "" & iom_cardp ^= null then goto next; 686 687 revert cleanup; /* re-enable previous cleanup handler */ 688 689 mca_fig_end: 690 691 end mca_fig; 692 693 694 /* rd_config - int proc that actually reads the MCA config & formats the data */ 695 rd_config: proc; 696 697 total_chars_read = 0; 698 call mca_$config ((mca_ioi_idx), mca_config_file_ptr, 699 (4 * size (mca_config_file)), ret_len, status_a, code); 700 if code ^= 0 then do; 701 call com_err_ (code, "mca_$config", "status_a ^w", status_a); 702 end; 703 else do; 704 call read_more (mca_config_file_ptr); /* go read the rest of the data */ 705 if code ^= 0 then return; 706 iom_num = index ("abcd", substr (mca_name, 4, 1)); 707 do i = 0 to max_imu_channels; 708 CHAN_NUM = channel_data (i).prim_ch_num; 709 call find_config_card_$prph_for_channel (iom_num, CHAN_NUM, prph_cardp); 710 if prph_cardp = null () then prph_name = ""; 711 else prph_name = prph_card.name; 712 ipc_type = TYPE (channel_data (i).lvl_1_id_type); 713 if channel_data (i).fw_id = "00001000"b 714 then ipc_type = rtrim (ipc_type) || "_tape"; 715 if channel_data (i).fw_id = "00001001"b 716 then ipc_type = rtrim (ipc_type) || "_disk"; 717 if channel_data (i).lvl_1_state ^= 1 then do; 718 call ioa_$rsnnl 719 ("^2xIPC_^2a ^9a ch ^2d for ^2d ^4a state = ^d dt ^d ^[fw_rev ^a^]^/", 720 od, ol, convert (p99, i), ipc_type, channel_data (i).prim_ch_num, 721 channel_data (i).num_of_log_ch, prph_name, 722 channel_data (i).lvl_1_state, channel_data (i).disk_tab, 723 (channel_data (i).fw_id ^= "0000"b), channel_data (i).fw_rev); 724 mca_data = rtrim (mca_data) || od; /* at line to output */ 725 end; 726 end; 727 end; 728 end rd_config; 729 730 731 732 /* read_more - int proc to contine to read the mca config data until it is all read */ 733 734 read_more: proc (start_ptr); 735 dcl start_ptr ptr; 736 dcl read_ptr ptr; 737 738 read_ptr = start_ptr; 739 one_more_time: 740 total_chars_read = ret_len + total_chars_read; 741 if ^check_status_ok () then return; 742 if data_present then 743 read_ptr = add_char_offset_ (read_ptr, ret_len); 744 if ^session_over then do; 745 call mca_$read_data (mca_ioi_idx, read_ptr, 746 (16 * 1024), ret_len, status_a, code); 747 if code ^= 0 then do; 748 call com_err_ (code, "mca_$read_data", "status_a ^w", status_a); 749 return; 750 end; 751 goto one_more_time; 752 end; 753 end read_more; 754 755 756 757 /* check_status_ok - int proc to examine the MCA status & return the state */ 758 759 check_status_ok: proc () returns (bit (1)); 760 761 dcl state bit (1) init ("1"b); /* assume the return status is ok */ 762 763 data_present = "0"b; 764 session_over = "0"b; 765 766 statp = addr (status_a); 767 if ^status.t then do; 768 call ioa_ ("Returned status was no good. (^w)", unspec (status)); 769 state = "0"b; 770 goto return_state; 771 end; 772 773 if status.power then do; 774 state = "0"b; 775 goto return_state; 776 end; 777 778 if (status.channel_stat | status.central_stat) ^= "0"b then do; 779 state = "0"b; 780 goto return_state; 781 end; 782 783 sub_ptr = addr (status.sub); 784 data_present = mca_sub.data_p; 785 786 if status.major ^= ""b then do; 787 state = "0"b; 788 end; 789 790 if mca_sub.mbz ^= ""b then do; 791 state = "0"b; 792 end; 793 794 if mca_sub.term_state = MAINT_ABNORMAL_TERM then do; 795 session_over = "1"b; 796 state = "0"b; 797 end; 798 if mca_sub.term_state = MAINT_NORMAL_TERM then session_over = "1"b; 799 return_state: 800 return (state); 801 end check_status_ok; 802 803 804 805 /* 806* 807* The following function returns the 'console model index' given the console 808* model number. If the model number is not known, -1 is returned. 809* 810**/ 811 812 CONSOLE_MODEL_TO_INDEX_FCN: procedure (model_number) returns (fixed bin); 813 814 815 dcl model_number fixed bin; 816 dcl i fixed bin; 817 818 819 do i = 1 to hbound (CONSOLE_MODEL_NUMBER, 1); 820 if model_number = CONSOLE_MODEL_NUMBER (i) 821 then return (CONSOLE_MODEL_INDEX (i)); 822 end; 823 824 return (-1); 825 826 827 end CONSOLE_MODEL_TO_INDEX_FCN; 828 829 830 831 /* set_cline - internal procedure to add channel line to output */ 832 833 set_cline: proc (iom, chan, lchan, mpcnm, fldno); 834 835 dcl iom fixed bin (3); 836 dcl chan fixed bin (8); 837 dcl (lchan, fldno) fixed bin; 838 dcl mpcnm char (4) aligned; 839 840 call ioa_$rsnnl (" ^d^[0^]^dxx^-^[ special purpose chan ^3s^;^[primary^]^[secondary^] channel of ^d logical channel^[s^] on mpc card ^a ^]^/", 841 od, ol, (iom), (chan < 10), (chan), (mpcnm = ""), (fldno = 1), (fldno > 1), (lchan), (lchan > 1), mpcnm); 842 out_data = rtrim (out_data) || od; /* add to end of line */ 843 844 end set_cline; 845 846 13 1 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 13 2 13 3 /* This include file declares the "author" substructure 13 4* in a form suitable for using the PL/I "like" attribute. 13 5* 13 6* Written 750304 by PG 13 7**/ 13 8 13 9 dcl 1 author_dcl aligned based, 14 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 14 2 14 3 /* the "author" items must always be the first ones in the table. The 14 4* module which moves the converted table to the System Control process 14 5* fills in these data items and assumes them to be at the head of the segment 14 6* regardless of the specific table's actual declaration. The variables 14 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 14 8* respectively. For tables installed in multiple processes, these 14 9* are to be used to lock out multiple installations. */ 14 10 14 11 /* Lock should be used as a modification lock. Since, in general, 14 12* entries may not be moved in system tables, even by installations, 14 13* it is sufficient for only installers and programs that change threads 14 14* to set or respect the lock. Simply updating data in an entry 14 15* requires no such protection. 14 16* 14 17* Last_install_time is used by readers of system tables to detect 14 18* installations or other serious modifications. By checking it before 14 19* and after copying a block of data, they can be protected against 14 20* modifications. 14 21* 14 22* Modules that set the lock should save proc_group_id, and then 14 23* put their group id there for the time they hold the lock. 14 24* if they do not actually install the, they should restore the group id. 14 25**/ 14 26 14 27 2 author aligned, /* validation data about table's author */ 14 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 14 29 3 lock bit (36), /* installation lock */ 14 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 14 31 3 update_authorization bit (1) unal, /* update only authorizations */ 14 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 14 33 3 pad bit (33) unaligned, 14 34 3 last_install_time fixed bin (71), 14 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 14 36 3 w_dir char (64), /* author's working directory */ 14 37 14 38 /* END INCLUDE FILE author.incl.pl1 */ 13 10 13 11 2 pad; 13 12 13 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 847 848 15 1 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 15 2 15 3 /* format: style3,idind25,indcomtxt */ 15 4 15 5 /* Channel Definition Table. 15 6* This table lists all of the hardware channels (ports) connected 15 7* to the system, and maintains the attributes of each one. 15 8* 15 9* PG 741230 15 10* Modified by Mike Grady 5/6/76 to add FNP info. 15 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 15 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 15 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 15 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 15 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 15 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 15 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 15 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 15 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 15 20* Modified August 1982 by E. N. Kittlitz for check_acs. 15 21* Modified January 1983 by Keith Loepere for generic_destination. 15 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 15 23* Modified 831216 by E. N. Kittlitz for required_access_class. 15 24* Modified 84-04-01 by BIM to finish communications AIM: 15 25* access class ranges, 15 26* access_control flags. 15 27**/ 15 28 15 29 15 30 /****^ HISTORY COMMENTS: 15 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 15 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 15 33* Add support for answering service to use IOCBs when tty_ cannot be 15 34* used to service login channels. 15 35* END HISTORY COMMENTS */ 15 36 15 37 15 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 15 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 15 40 15 41 dcl (cdtp, cdtep, fnpep, mpxep) 15 42 ptr; 15 43 15 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 15 45 2 author like author_dcl.author, /* standard header */ 15 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 15 47 2 current_size fixed bin, /* number of last cdte. */ 15 48 2 version fixed bin, 15 49 2 freep fixed bin, /* chain of free cdte's */ 15 50 2 n_cdtes fixed bin, /* number of used cdte's */ 15 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 15 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 15 53 2 cpu_in_dialup fixed bin (71), /* .. */ 15 54 2 pf_in_dialup fixed bin, /* .. */ 15 55 2 pp_in_dialup fixed bin, /* .. */ 15 56 2 entries_to_dialup fixed bin, /* .. */ 15 57 2 flags, 15 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 15 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 15 60 3 mux_mgr_system_init 15 61 bit (1) unal, /* mux mgr has loaded top-levels */ 15 62 3 pad1 bit (33) unal, 15 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 15 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 15 65 2 threads aligned like channel_threads, 15 66 /* root of non-fnp-top-level-multiplexers */ 15 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 15 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 15 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 15 70 15 71 15 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 15 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 15 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 15 75 2 pad1 bit (36) aligned, 15 76 2 name char (32), /* ASCII name of channel */ 15 77 2 access_class (2) bit (72) aligned, /* access class range */ 15 78 2 comment char (48), /* printable message about channel */ 15 79 2 charge_type fixed bin (17) unal, /* billing group */ 15 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 15 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 15 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 15 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 15 84 2 pad2 bit (18) unaligned, 15 85 2 answerback char (8), /* answerback string expected */ 15 86 2 initial_terminal_type 15 87 char (32) unal, /* as specified in the CMF */ 15 88 2 mpx_data unal, /* data used only for multiplexed channels */ 15 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 15 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 15 91 2 flags, 15 92 ( 3 attributes, 15 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 15 94 4 audit_access_error 15 95 bit (1), /* ON means ck that person auth is inside access class range */ 15 96 /* this implies that the access_class describes a range of 15 97* legitimate user auths. */ 15 98 4 hardwired bit (1), /* ON means it is */ 15 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 15 100 4 dont_read_answerback 15 101 bit (1), /* ON means don't try to read answerback */ 15 102 4 pada bit (4), 15 103 3 access_control unaligned, /* As below */ 15 104 4 dial_out bit (1), /* dialing user must be on ACS */ 15 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 15 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 15 107 4 login bit (1), /* logging in user must be on acs */ 15 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 15 109 4 pado bit (3), 15 110 3 options, 15 111 4 execute_initial_command 15 112 bit (1), /* ON means to do it */ 15 113 4 attached_by_operator 15 114 bit (1), /* ON means temporary attachment. */ 15 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 15 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 15 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 15 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 15 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 15 120 4 generic_destination_present 15 121 bit (1), /* ON means that the initial_command field contains 15 122* a generic destination to match on dial_out or priv attach */ 15 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 15 124 4 pado bit (9) 15 125 ) unaligned, 15 126 2 initial_command char (64), /* pseudo first input line */ 15 127 /**** The following variables represent dynamic control info, and 15 128* are used mostly by dialup_ and asu_ */ 15 129 2 event fixed bin (71), /* event call channel for channel events */ 15 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 15 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 15 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 15 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 15 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 15 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 15 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 15 137 /* 0 = dialup_, 1 = mc_tty_ */ 15 138 3 save_arg bit (1) unal, /* -save login arg given */ 15 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 15 140 3 detach_after_hangup 15 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 15 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 15 143 3 hold_arg bit (1) unal, /* -hold arg given */ 15 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 15 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 15 146 3 current_access_class_valid 15 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 15 148 3 pad bit (7) unal, 15 149 2 twx fixed bin, /* channel device index */ 15 150 2 state fixed bin, /* channel state */ 15 151 2 tty_id_code char (4), /* channel id (answerback) */ 15 152 2 current_terminal_type 15 153 char (32) unal, /* most recently-set terminal type */ 15 154 2 process ptr unal, /* ptr to ATE owning this channel */ 15 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 15 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 15 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 15 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 15 159* We do not yet define multi-class connections, but we will someday. */ 15 160 2 disconnected_ate_index 15 161 fixed bin (17) unal, /* index of ate of disconnected process */ 15 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 15 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 15 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 15 165 2 pad3 bit (14) unaligned, 15 166 /**** The following variables are kept for metering purposes. */ 15 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 15 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 15 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 15 170 2 dialup_time fixed bin (71), /* time of present dialup */ 15 171 2 disconnected_proc_command 15 172 fixed bin (12) unsigned unal, 15 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 15 174 2 disconnected_proc_number 15 175 fixed bin (12) unsigned unal, 15 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 15 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 15 178 /* number of disconnected processes that user has */ 15 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 15 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 15 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 15 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 15 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 15 184 /**** had the space. */ 15 185 2 threads aligned like channel_threads, 15 186 /**** The use name is that of the user who gave the dial or slave ****/ 15 187 /**** preaccess request. ****/ 15 188 2 user_name unaligned, 15 189 3 person char (20) unaligned, 15 190 3 project char (9) unaligned, 15 191 3 pad char (3) unaligned, /* no tag */ 15 192 2 iocbp ptr unaligned; /* 104 words */ 15 193 15 194 15 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 15 196* overlays initial_command field for slave and autocall lines */ 15 197 15 198 15 199 15 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 15 201 /* These variables are filled in from the CMF */ 15 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 15 203 2 memory fixed bin, /* amount of memory on this FNP */ 15 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 15 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 15 206 2 service_type fixed bin, /* service type */ 15 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 15 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 15 209 /**** The following are used during system operation to remember the state of the FNP */ 15 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 15 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 15 212 2 mpxe like mpxe, /* standard multiplexer data */ 15 213 2 threads aligned like channel_threads, 15 214 /* same mpx threads as channel */ 15 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 15 216 15 217 /* This structure describes the data necessary to control a multiplexer. 15 218* For FNP's., a copy appears in the fnpe. For communications lines, it 15 219* overlays the initial_command field in the cdte. */ 15 220 15 221 dcl 1 mpxe based (mpxep) aligned, 15 222 2 state fixed bin, /* current state, up, down, loading */ 15 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 15 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 15 225 2 n_bootloads fixed bin, /* count of load attempts */ 15 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 15 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 15 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 15 229 2 time_load_start fixed bin (71), /* time current load started */ 15 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 15 231 2 flags unal, 15 232 3 go bit (1), /* start MPX after it loads */ 15 233 3 listening bit (1), /* listen has been done on subchannels */ 15 234 3 check bit (1), /* loaded with check option */ 15 235 3 retry_load bit (1), /* reload if load fails */ 15 236 3 pad1 bit (32), 15 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 15 238 15 239 /* These threads define the tree of multiplexers in the cdt. */ 15 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 15 241 /* by alpha sort order of the channel name. Daughter points to the */ 15 242 /* first child of this node, if any. Daughter count is the number */ 15 243 /* of children, as a consistency check. Mother is a back pointer to */ 15 244 /* the parent, present in all the children, not just the first. */ 15 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 15 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 15 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 15 248 15 249 dcl 1 channel_threads aligned based, 15 250 2 next_sister fixed bin unaligned, 15 251 2 prev_sister fixed bin unaligned, 15 252 2 daughter fixed bin unaligned, 15 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 15 254 2 pad bit (18) unaligned, 15 255 2 daughter_count fixed bin unaligned; 15 256 15 257 /* Values for cdte.service_type field */ 15 258 15 259 dcl ( 15 260 ANS_SERVICE init (1), /* login or dial */ 15 261 FTP_SERVICE init (2), /* file transfer service */ 15 262 MC_SERVICE init (3), /* message coordinator */ 15 263 SLAVE_SERVICE init (4), /* special channel */ 15 264 DIAL_SERVICE init (5), /* transient state */ 15 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 15 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 15 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 15 268 ) fixed bin internal static options (constant); 15 269 15 270 /* Values for service type in both cdte and fnpe */ 15 271 15 272 dcl ( 15 273 INACTIVE init (7), /* not to be used, even though configured */ 15 274 ACTIVE init (1) 15 275 ) /* for FNP only, configured and to be used */ 15 276 fixed bin internal static options (constant); 15 277 15 278 /* Value for both cdte.in_use and fnpe.state */ 15 279 15 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 15 281 /* was not configured at Multics bootload time */ 15 282 15 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 15 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 15 285 15 286 /* Value for cdte.in_use */ 15 287 15 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 15 289 /* channel deleted by CDT installation */ 15 290 15 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 15 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 15 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 15 294 15 295 15 296 /* Values for mpxe.state field */ 15 297 15 298 dcl ( 15 299 FNP_FREE init (0), /* this fnpe is not used */ 15 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 15 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 15 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 15 303 FNP_UP init (4) /* FNP is up and running fine */ 15 304 ) fixed bin internal static options (constant); 15 305 15 306 dcl ( 15 307 MPX_FREE init (0), /* this mpxe is not used */ 15 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 15 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 15 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 15 311 MPX_UP init (4) /* MPX is up and running fine */ 15 312 ) fixed bin internal static options (constant); 15 313 16 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 16 2 16 3 16 4 16 5 /****^ HISTORY COMMENTS: 16 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 16 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 16 8* Add data needed for the uncp multiplexer (DSA gateway) interface 16 9* implementation. 16 10* END HISTORY COMMENTS */ 16 11 16 12 16 13 /* Values for fnpe.type field */ 16 14 /* 16 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 16 16* Added in March 1982 - DN7100.fd. 16 17**/ 16 18 16 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 16 20 DN6600 init (2), /* a DataNet 6600 FNP */ 16 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 16 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 16 23 ) fixed bin internal static options (constant); 16 24 16 25 dcl fnp_types (4) char (8) int static options (constant) 16 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 16 27 16 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 16 29 init (355, 6600, 6670, 7100); 16 30 16 31 dcl supported_fnp (4) bit (1) int static options (constant) 16 32 init ("0"b, "0"b, "1"b, "1"b); 16 33 16 34 16 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 15 314 15 315 15 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 849 850 17 1 /* Begin include file config_data_dcls.incl.pl1 BIM 9/82 */ 17 2 17 3 /****^ HISTORY COMMENTS: 17 4* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 17 5* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 17 6* Add changes made to 17 7* config_data_.cds. 17 8* 2) change(86-10-21,Fawcett), approve(86-10-21,PBF7381), 17 9* audit(86-10-23,Farley), install(86-10-28,MR12.0-1200): 17 10* Corrected the number of tape drive models supported. 17 11* END HISTORY COMMENTS */ 17 12 17 13 /* format: style3 */ 17 14 /* Modified 830523 to add console io_type and line_leng fields for different 17 15* operator's consoles and to fix a size bug... -E. A. Ranzenbach */ 17 16 /* Modified 841101 by Paul Farley to add changes made to config_data_.cds */ 17 17 17 18 /* WARNING WARNING */ 17 19 17 20 /* Due to the awful PL/I restriction that prohibits any expressions */ 17 21 /* in external variable extents, the arrays here have integers for */ 17 22 /* extents. Changes to config_data_.cds should be reflected here, */ 17 23 /* Because the declares in config_data_.cds use the "like" attribute. */ 17 24 /* Just in case, though, do NOT use hbound. Use the .count fields */ 17 25 /* in the structures instead. */ 17 26 17 27 declare config_data_$chnl_cardx 17 28 fixed binary external static; 17 29 declare config_data_$clok_cardx 17 30 fixed binary external static; 17 31 declare config_data_$cpu_cardx 17 32 fixed binary external static; 17 33 declare config_data_$fnp_cardx 17 34 fixed binary external static; 17 35 declare config_data_$intk_cardx 17 36 fixed binary external static; 17 37 declare config_data_$iom_cardx 17 38 fixed binary external static; 17 39 declare config_data_$mem_cardx 17 40 fixed binary external static; 17 41 declare config_data_$mpc_msp_cardx 17 42 fixed binary external static; 17 43 declare config_data_$mpc_mtp_cardx 17 44 fixed binary external static; 17 45 declare config_data_$ipc_fips_cardx 17 46 fixed binary external static; 17 47 declare config_data_$mpc_urp_cardx 17 48 fixed binary external static; 17 49 declare config_data_$mpc_cardx 17 50 fixed binary external static; 17 51 declare config_data_$mpcs_msp_cardx 17 52 fixed binary external static; 17 53 declare config_data_$mpcs_mtp_cardx 17 54 fixed binary external static; 17 55 declare config_data_$mpcs_urp_cardx 17 56 fixed binary external static; 17 57 declare config_data_$mpcs_cardx 17 58 fixed binary external static; 17 59 declare config_data_$parm_cardx 17 60 fixed binary external static; 17 61 declare config_data_$part_cardx 17 62 fixed binary external static; 17 63 declare config_data_$prph_dsk_cardx 17 64 fixed binary external static; 17 65 declare config_data_$prph_prt_cardx 17 66 fixed binary external static; 17 67 declare config_data_$prph_rdr_cardx 17 68 fixed binary external static; 17 69 declare config_data_$prph_pun_cardx 17 70 fixed binary external static; 17 71 declare config_data_$prph_ccu_cardx 17 72 fixed binary external static; 17 73 declare config_data_$prph_tap_cardx 17 74 fixed binary external static; 17 75 declare config_data_$prph_opc_cardx 17 76 fixed binary external static; 17 77 declare config_data_$prph_cardx 17 78 fixed binary external static; 17 79 declare config_data_$root_cardx 17 80 fixed binary external static; 17 81 declare config_data_$salv_cardx 17 82 fixed binary external static; 17 83 declare config_data_$schd_cardx 17 84 fixed binary external static; 17 85 declare config_data_$sst_cardx 17 86 fixed binary external static; 17 87 declare config_data_$stok_cardx 17 88 fixed binary external static; 17 89 declare config_data_$tbls_cardx 17 90 fixed binary external static; 17 91 declare config_data_$udsk_cardx 17 92 fixed binary external static; 17 93 17 94 declare 1 config_data_$config_cards 17 95 aligned external static, 17 96 2 count fixed binary, 17 97 2 per_card (32) aligned, 17 98 3 name char (4) aligned, 17 99 3 second_field char (4) aligned, 17 100 3 flags aligned, 17 101 4 match_second bit (1) unaligned, /* PRPH FOO */ 17 102 4 match_only_3 bit (1) unaligned; /* XXXn type */ 17 103 17 104 declare 1 config_data_$mpc_msp_model_names 17 105 aligned external static, 17 106 2 count fixed binary, 17 107 2 names (9) aligned, 17 108 3 model fixed binary, 17 109 3 name character (8), 17 110 3 fw_tag character (16), 17 111 3 valid_drives (16) fixed binary unaligned; 17 112 17 113 declare 1 config_data_$mpc_mtp_model_names 17 114 aligned external static, 17 115 2 count fixed binary, 17 116 2 names (7) aligned, 17 117 3 model fixed binary, 17 118 3 name character (8), 17 119 3 fw_tag character (16), 17 120 3 valid_drives (16) fixed binary unaligned; 17 121 17 122 declare 1 config_data_$mpc_urp_model_names 17 123 aligned external static, 17 124 2 count fixed binary, 17 125 2 names (6) aligned, 17 126 3 model fixed binary, 17 127 3 name character (8), 17 128 3 fw_tag character (16); /* "EURC" for EURC */ 17 129 17 130 declare 1 config_data_$ipc_msp_model_names 17 131 aligned external static, 17 132 2 count fixed binary, 17 133 2 names (1) aligned, 17 134 3 model fixed binary, 17 135 3 name character (8), 17 136 3 fw_tag character (16), 17 137 3 valid_drives (16) fixed binary unaligned; 17 138 17 139 declare 1 config_data_$ipc_mtp_model_names 17 140 aligned external static, 17 141 2 count fixed binary, 17 142 2 names (1) aligned, 17 143 3 model fixed binary, 17 144 3 name character (8), 17 145 3 fw_tag character (16), 17 146 3 valid_drives (16) fixed binary unaligned; 17 147 17 148 declare 1 config_data_$disk_drive_model_names 17 149 aligned external static, 17 150 2 count fixed binary, 17 151 2 names (5) aligned, 17 152 3 model fixed binary, 17 153 3 name character (8), 17 154 3 device_0_valid bit (1); 17 155 17 156 declare 1 config_data_$tape_drive_model_names 17 157 aligned external static, 17 158 2 count fixed binary, 17 159 2 names (9) aligned, 17 160 3 model fixed binary, 17 161 3 name character (8), 17 162 3 device_0_valid bit (1); 17 163 17 164 declare 1 config_data_$printer_model_names 17 165 aligned external static, 17 166 2 count fixed binary, 17 167 2 names (5) aligned, 17 168 3 model fixed binary, 17 169 3 name character (8); 17 170 17 171 declare 1 config_data_$reader_model_names 17 172 aligned external static, 17 173 2 count fixed binary, 17 174 2 names (4) aligned, 17 175 3 model fixed binary, 17 176 3 name character (8); 17 177 17 178 declare 1 config_data_$ccu_model_names 17 179 aligned external static, 17 180 2 count fixed binary, 17 181 2 names (1) aligned, 17 182 3 model fixed binary, 17 183 3 name character (8); 17 184 17 185 declare 1 config_data_$punch_model_names 17 186 aligned external static, 17 187 2 count fixed binary, 17 188 2 names (3) aligned, 17 189 3 model fixed binary, 17 190 3 name character (8); 17 191 17 192 declare 1 config_data_$console_model_names 17 193 aligned external static, 17 194 2 count fixed binary, 17 195 2 names (3) aligned, 17 196 3 model fixed binary, 17 197 3 name character (8), 17 198 3 line_leng fixed bin (17), 17 199 3 io_type character (4); 17 200 17 201 /* End include file config_data_dcls.incl.pl1 */ 851 852 18 1 /* BEGIN INCLUDE FILE ... config_prph_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 18 2 18 3 dcl prph_cardp ptr; /* Pointer to a PRPH card. */ 18 4 18 5 dcl 1 prph_card based (prph_cardp) aligned, /* PRPH card declaration */ 18 6 2 word char (4), /* "prph" */ 18 7 2 name char (4), /* subsystem name */ 18 8 2 iom fixed bin (3), /* IOM number */ 18 9 2 chan fixed bin (8), /* channel number */ 18 10 2 model fixed bin, /* model number */ 18 11 2 state char (4), /* ON/OFF state */ 18 12 2 pad (9) bit (36) aligned, /* pad to 15 fields */ 18 13 18 14 2 type_word aligned, 18 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 18 16 3 pad1 bit (4) unaligned, 18 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 18 18 18 19 dcl PRPH_CARD_WORD char (4) aligned internal static options (constant) init ("prph"); 18 20 18 21 /* END INCLUDE FILE ... config_prph_card.incl.pl1 */ 853 854 19 1 /* BEGIN INCLUDE FILE ... console_device_specs.incl.pl1 ... 7/15/81, MRJ */ 19 2 19 3 /* 19 4* 19 5* The following array defines supported console device model numbers. 19 6* Once the index to this array is known it is then used to get the 19 7* 'console model index' from the next array. 19 8* 19 9**/ 19 10 19 11 19 12 dcl CONSOLE_MODEL_NUMBER (8) fixed bin static options (constant) 19 13 init (8030, 8031, 6001, 6002, 6004, 6005, 6601, 6000); 19 14 /* ibm ibm emc scc emc scc lcc scc */ 19 15 19 16 19 17 /* 19 18* 19 19* 19 20* The following array is used to get the 'console model index' that is used 19 21* throughout the system to identify which console type is being supported. 19 22* 19 23* 19 24**/ 19 25 19 26 19 27 dcl CONSOLE_MODEL_INDEX (8) fixed bin static options (constant) 19 28 init (1, 1, 2, 3, 2, 3, 4, 3); 19 29 19 30 19 31 /* 19 32* 19 33* The following array is indexed by the 'console model index' to determine if 19 34* the device is only cabable of BCD support (no ASCII support). 19 35* 19 36**/ 19 37 19 38 19 39 dcl CONSOLE_IS_BCD (4) bit (1) static options (constant) 19 40 init ((1)(1)"1"b, (3)(1)"0"b); 19 41 19 42 19 43 /* 19 44* 19 45* The following array is indexed by the 'console model index' to determine 19 46* if prompting is required by default. This is true for those consoles where 19 47* there is no 'input' light. 19 48* 19 49**/ 19 50 19 51 19 52 dcl CONSOLE_PROMPT_BY_DEFAULT (4) bit (1) static options (constant) 19 53 init ((3)(1)"0"b, (1)(1)"1"b); 19 54 19 55 19 56 /* 19 57* 19 58* The following array gives the GCOS device type for the specified 'console 19 59* model index'. 19 60* 19 61**/ 19 62 19 63 19 64 dcl CONSOLE_GCOS_TYPE (4) bit (6) static options (constant) 19 65 init ("30"b3, "31"b3, "31"b3, "31"b3); 19 66 19 67 19 68 /* END INCLUDE FILE ... console_device_specs.incl.pl1 */ 855 856 20 1 /* Begin mca_area.incl.pl1 */ 20 2 20 3 20 4 /****^ HISTORY COMMENTS: 20 5* 1) change(86-03-19,Fawcett), approve(86-03-19,MCR7374), 20 6* audit(86-04-28,Lippard), install(86-09-16,MR12.0-1159): 20 7* This is the structure returned to the user after IO completion. 20 8* END HISTORY COMMENTS */ 20 9 20 10 dcl 1 mca_area aligned based (mca_area_ptr), 20 11 2 version char (8), /* version of structure */ 20 12 2 io_outstanding bit (1) aligned, /* true if section is not complete */ 20 13 2 mca_attach_state fixed bin (17), /* State of the attachment process, refer to mca_data.incl.pl1 */ 20 14 2 mca_status bit (72), /* status from io */ 20 15 2 ret_len fixed bin (21); /* length in characters of data returned */ 20 16 20 17 dcl mca_area_ptr ptr; 20 18 20 19 dcl MCA_area_version_1 char (8) int static options 20 20 (constant) init ("MCA00001"); /* current version */ 20 21 20 22 20 23 /* End mca_area.incl.pl1 */ 858 21 1 /* Begin mca_config_file.incl.pl1 */ 21 2 21 3 21 4 /****^ HISTORY COMMENTS: 21 5* 1) change(86-03-19,Fawcett), approve(86-03-19,MCR7374), 21 6* audit(86-04-28,Lippard), install(86-09-16,MR12.0-1159): 21 7* This is used to view the configuration file obtained from the MCA. 21 8* END HISTORY COMMENTS */ 21 9 21 10 /* Created by R. A. Fawcett Sept 1984 based on data obtained from 21 11* "EPS-1 Dipper Firmware Loading" Rev B (July 05x 1983) 21 12* section 3.5.1 starting on sheet 25 */ 21 13 21 14 dcl mca_config_file_ptr ptr; 21 15 21 16 dcl 1 mca_config_file based (mca_config_file_ptr), 21 17 2 diskette_data, /* total of 20 chars (bytes) */ 21 18 3 unique_id char (8), /* User ID assiged to diskette from which FW was loaded */ 21 19 3 date_created char (6), /* MMDDYY */ 21 20 3 date_late_changed char (6), /* MMDDYY */ 21 21 2 iioc_data, /* total of 31 chars (bytes) */ 21 22 3 iioc_config char (8), /* mca path_name of file used to load from */ 21 23 3 iioc_state_control, 21 24 4 will_be_zero_1 bit (1), /* zero because of 8 bit-byte to 9 bit-byte */ 21 25 4 state_counter fixed bin (5) unsigned unal, /* values are not defined */ 21 26 /* control bits ??? */ 21 27 4 RFU_1 bit (1), 21 28 4 RFU_2 bit (1), 21 29 4 write_protect_ptw_sw bit (1), 21 30 3 operating_system fixed bin (9) unal unsigned, /* better be a value equal to Multics */ 21 31 3 iioc_num fixed bin (9) unal unsigned, /* the number of the imu */ 21 32 3 iioc_disk_tab fixed bin (9) unal unsigned, 21 33 /* The value of the TAB number of the Diskette_Product_Set 21 34* containing the proper revision of diagnostics for IIOC */ 21 35 3 p_s_disk_tab fixed bin (9) unal unsigned, 21 36 /* same as iioc_disk_tab only for the Port Select */ 21 37 3 port_select_state fixed bin (9) unal unsigned, 21 38 /* State counter values will exists which uniquely define: 21 39* o P. S. not loaded 21 40* o Single port 21 41* o Load failed 21 42* o Read failed 21 43* o Verify failed 21 44* o P. S. loaded */ 21 45 3 config_valid char (1), /* ascii number of drive this config was read from. if value = "000"b3 drive door has been opened. */ 21 46 3 iioc_rfu char (2), 21 47 2 bootstrap_data, /* total of 15 chars (bytes) */ 21 48 3 control fixed bin (9) unal unsigned, 21 49 /* 0 = bootstrap not configured 21 50* 1 = bootstrap allowed 21 51* 2 = auto boot at power up */ 21 52 3 imu_port_at_scu fixed bin (9) unal unsigned, /* port number for bootstrap (0 to 7) */ 21 53 3 chan_num fixed bin (9) unal unsigned, /* bootstrap channel number (8 to 63) */ 21 54 3 dev_num fixed bin (9) unal unsigned, /* bootstrap device number (1 to 63) */ 21 55 3 int_base char (4), 21 56 3 mb_base char (4), 21 57 3 boot_src fixed bin (9) unal unsigned, /* bootstrap source 1=card, 2=tape, 3=disk */ 21 58 3 unatt_op fixed bin (9) unal unsigned, /* 1 = unattended operation */ 21 59 3 boot_rfu bit (9), 21 60 2 port_data (0:3), /* total 28 chars (bytes) */ 21 61 3 enable fixed bin (9) unal unsigned, /* 1 = port enable */ 21 62 3 init fixed bin (9) unal unsigned, /* 1 = init allowed */ 21 63 3 ilace char (1), /* no interlace = "000"b3, A,B,C,D = the other port for interlace */ 21 64 3 port_size, 21 65 4 msb_ign1 bit (1), 21 66 4 msb bit (8), 21 67 4 lsb_ign1 bit (1), 21 68 4 lsb bit (8), 21 69 3 disk_tab fixed bin (9) unal unsigned, /* value of TAB number of the 21 70* D_P_S containing the proper revision of diagnostics 21 71* for port adapter. */ 21 72 3 assignment fixed bin (9) unal unsigned, /* (0 - 3) */ 21 73 2 channel_data (0:15), /* total of 160 bytes */ 21 74 3 lvl_1_state fixed bin (9) unal unsigned, /* State counter valuse define: 21 75* = No config present 21 76* = Not configured 21 77* = Phyically not present 21 78* = Basic ROM test failed (mico IPCs only) 21 79* = Jam test failed (mico IPCs only) 21 80* = Self test failed (mico IPCs only) 21 81* = HW ID does not match config ID 21 82* = Console set up failed (console only) 21 83* = RSO failed (PSIA only) 21 84* = FW not found on diskette (FW loadable IPCS only) 21 85* = Alter file not found 21 86* = Alter load failed 21 87* = FW execute failed (FW loadable IPCS only) 21 88* = Operational 21 89* = Stop On condition occured 21 90* */ 21 91 3 lvl_1_ctl_att, 21 92 4 ctl_ign1 bit (1), 21 93 4 ctl1 bit (1), /* if master console true = rmt_maint 21 94* else true = RSO required at init */ 21 95 4 ctl2 bit (1), /* if master console true = master 21 96* else reserved of future use */ 21 97 4 ctl3 bit (1), /* if master console true = active/slave 21 98* else true = 18X */ 21 99 4 ctl_p2 bit (5), 21 100 3 disk_tab fixed bin (9) unal unsigned, 21 101 /* Tab number of the D_P_S containing the proper revision of diagnostics for this adapter */ 21 102 3 fw_id_ign1 bit (1), 21 103 3 fw_id bit (8), /* this will become the 8th char in path_name???? */ 21 104 3 lvl_1_id_ign1 bit (1), 21 105 3 no_lev_2 bit (1), /* true = Do not ask for lvl-2 info. */ 21 106 3 micro_ctl bit (1), /* true = micro-procesor controled */ 21 107 3 fbus_latch bit (1), /* true = F-Bus Disable Latch is true */ 21 108 3 lvl_1_id_type fixed bin (5) unsigned unal, /* unique Lvl-1 type */ 21 109 3 fw_rev char (1), 21 110 3 prim_ch_num fixed bin (9) unal unsigned, /* primary channel number (8 to 63) */ 21 111 3 num_of_log_ch fixed bin (9) unal unsigned, /* number of logical channels */ 21 112 3 num_of_busses fixed bin (9) unal unsigned, /* number of data busses */ 21 113 3 cont_byte_ign1 bit (1), 21 114 3 cont_byte_rfu bit (5), 21 115 3 cont_byte_soc bit (1), /* true = Stop-On-Condition present */ 21 116 3 cont_byte_mpfp bit (1), /* true = maint. panel fuction present */ 21 117 3 cont_byte_mc bit (1), /* true = has been set to Master Console */ 21 118 2 adapter_data (0:15, 0:7), 21 119 3 lvl_2_state fixed bin (9) unal unsigned, 21 120 3 lvl_2_clt_att fixed bin (9) unal unsigned, 21 121 3 disk_tab fixed bin (9) unal unsigned, 21 122 3 fw_idfixed bin (9) unal unsigned, 21 123 3 lvl_2_id fixed bin (9) unal unsigned, 21 124 3 fw_rev_ign1 bit (1), 21 125 3 fw_rev bit (8), 21 126 3 rfu bit (1), 21 127 2 uses_less_data char (200); 21 128 21 129 21 130 /* End mca_config_file.incl.pl1 */ 859 860 22 1 /* Begin mca_constants.incl.pl1 */ 22 2 22 3 22 4 22 5 22 6 /****^ HISTORY COMMENTS: 22 7* 1) change(86-03-19,Fawcett), approve(86-03-19,MCR7374), 22 8* audit(86-04-28,Lippard), install(86-09-16,MR12.0-1159): 22 9* Constants used for values returned from MCA. 22 10* END HISTORY COMMENTS */ 22 11 22 12 dcl NO_CONFIG_PRESENT fixed bin init (0) static options (constant); 22 13 dcl NOT_CONFIGED fixed bin init (1) static options (constant); 22 14 dcl PH_NOT_PRESENT fixed bin init (2) static options (constant); 22 15 dcl BASIC_ROM_FAILED fixed bin init (3) static options (constant); 22 16 dcl JAM_FAILED fixed bin init (4) static options (constant); 22 17 dcl SELF_FAILED fixed bin init (5) static options (constant); 22 18 dcl HW_ID_NO_MATCH fixed bin init (6) static options (constant); 22 19 dcl CON_SET_UP_FAILED fixed bin init (7) static options (constant); 22 20 dcl RSO_FAILED fixed bin init (8) static options (constant); 22 21 dcl FW_NOT_FOUND fixed bin init (9) static options (constant); 22 22 dcl FW_LOAD_FAILED fixed bin init (10) static options (constant); 22 23 dcl ALTER_NOT_FOUND fixed bin init (11) static options (constant); 22 24 dcl ALTER_LOAD_FAILED fixed bin init (12) static options (constant); 22 25 dcl FW_EXEC_FAILED fixed bin init (13) static options (constant); 22 26 dcl OPERATIONAL fixed bin init (14) static options (constant); 22 27 dcl STOP_ON_COND fixed bin init (15) static options (constant); 22 28 22 29 dcl PSIA_2_TRIP fixed bin init (1) static options (constant); 22 30 dcl IPC_PDSI fixed bin init (2) static options (constant); 22 31 dcl IPC_CONS_2 fixed bin init (3) static options (constant); 22 32 dcl IPC_DAI fixed bin init (4) static options (constant); 22 33 dcl IPC_IDI fixed bin init (5) static options (constant); 22 34 dcl IPC_TAPE_FIPS fixed bin init (6) static options (constant); 22 35 dcl IPC_DISK_FIPS fixed bin init (7) static options (constant); 22 36 dcl NDIC fixed bin init (9) static options (constant); 22 37 dcl PSIA_4_TRIP fixed bin init (15) static options (constant); 22 38 22 39 dcl TYPE (0:15) char (9) init ("N/A","psia_2","ur-pdsi","cons_2","ur-dai", 22 40 "idi","fips","fips","N/A","ndic", 22 41 "N/A","N/A","N/A","N/A","N/A","psia_4"); 22 42 22 43 22 44 /* End mca_constants.incl.pl1 */ 862 23 1 23 2 /* Begin include file ...... iom_stat.incl.pl1 */ 23 3 /* Last modified on 10/31/74 by Noel I. Morris */ 23 4 23 5 dcl statp ptr; /* pointer to status */ 23 6 23 7 dcl 1 status based (statp) aligned, /* IOM status information */ 23 8 (2 t bit (1), /* set to "1"b by IOM */ 23 9 2 power bit (1), /* non-zero if peripheral absent or power off */ 23 10 2 major bit (4), /* major status */ 23 11 2 sub bit (6), /* substatus */ 23 12 2 eo bit (1), /* even/odd bit */ 23 13 2 marker bit (1), /* non-zero if marker status */ 23 14 2 soft bit (2), /* software status */ 23 15 2 initiate bit (1), /* initiate bit */ 23 16 2 abort bit (1), /* software abort bit */ 23 17 2 channel_stat bit (3), /* IOM channel status */ 23 18 2 central_stat bit (3), /* IOM central status */ 23 19 2 mbz bit (6), 23 20 2 rcount bit (6), /* record count residue */ 23 21 2 address bit (18), /* DCW address residue */ 23 22 2 char_pos bit (3), /* character position residue */ 23 23 2 r bit (1), /* non-zero if reading */ 23 24 2 type bit (2), /* type of last DCW */ 23 25 2 tally bit (12)) unal; /* DCW tally residue */ 23 26 23 27 dcl 1 faultword based (statp) aligned, /* system fault word */ 23 28 (2 mbz1 bit (9), 23 29 2 channel bit (9), /* channel number */ 23 30 2 serv_req bit (5), /* service request */ 23 31 2 mbz2 bit (3), 23 32 2 controller_fault bit (4), /* system controller fault code */ 23 33 2 io_fault bit (6)) unal; /* I/O fault code */ 23 34 23 35 dcl 1 special_status based (statp) aligned, /* special status from PSIA */ 23 36 (2 t bit (1), /* entry present bit */ 23 37 2 channel bit (8), /* channel number */ 23 38 2 pad1 bit (3), 23 39 2 device bit (6), /* device address */ 23 40 2 pad2 bit (1), 23 41 2 byte2 bit (8), /* device dependent information */ 23 42 2 pad3 bit (1), 23 43 2 byte3 bit (8)) unal; /* device dependent information */ 23 44 23 45 /* End of include file iom_stat.incl.pl1 */ 23 46 863 864 865 866 end tolts_pcd_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/19/88 1536.9 tolts_pcd_.pl1 >special_ldd>install>MR12.2-1061>tolts_pcd_.pl1 269 1 10/31/84 1315.5 config_prph_fnp_card.incl.pl1 >ldd>include>config_prph_fnp_card.incl.pl1 298 2 10/14/83 0957.2 config_cpu_card.incl.pl1 >ldd>include>config_cpu_card.incl.pl1 326 3 05/08/81 1853.6 config_mem_card.incl.pl1 >ldd>include>config_mem_card.incl.pl1 353 4 05/08/81 1853.6 config_iom_card.incl.pl1 >ldd>include>config_iom_card.incl.pl1 380 5 05/08/81 1853.7 config_prph_dsk_card.incl.pl1 >ldd>include>config_prph_dsk_card.incl.pl1 421 6 11/08/82 1005.8 config_prph_tap_card.incl.pl1 >ldd>include>config_prph_tap_card.incl.pl1 462 7 02/01/85 0748.0 config_prph_opc_card.incl.pl1 >ldd>include>config_prph_opc_card.incl.pl1 463 8 05/08/81 1853.7 config_prph_prt_card.incl.pl1 >ldd>include>config_prph_prt_card.incl.pl1 532 9 03/27/86 1120.0 config_ipc_card.incl.pl1 >ldd>include>config_ipc_card.incl.pl1 533 10 05/08/81 1853.6 config_mpc_card.incl.pl1 >ldd>include>config_mpc_card.incl.pl1 595 11 05/08/81 1853.6 config_chnl_card.incl.pl1 >ldd>include>config_chnl_card.incl.pl1 617 12 05/08/81 1853.6 config_iom_card.incl.pl1 >ldd>include>config_iom_card.incl.pl1 847 13 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 13-10 14 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 849 15 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 15-314 16 07/19/88 1524.1 fnp_types.incl.pl1 >special_ldd>install>MR12.2-1061>fnp_types.incl.pl1 851 17 10/30/86 2010.5 config_data_dcls.incl.pl1 >ldd>include>config_data_dcls.incl.pl1 853 18 10/31/84 1315.5 config_prph_card.incl.pl1 >ldd>include>config_prph_card.incl.pl1 855 19 08/24/81 0955.0 console_device_specs.incl.pl1 >ldd>include>console_device_specs.incl.pl1 857 20 09/18/86 1317.5 mca_area.incl.pl1 >ldd>include>mca_area.incl.pl1 859 21 09/18/86 1317.5 mca_config_file.incl.pl1 >ldd>include>mca_config_file.incl.pl1 861 22 09/18/86 1317.5 mca_constants.incl.pl1 >ldd>include>mca_constants.incl.pl1 863 23 01/10/75 1343.6 iom_stat.incl.pl1 >ldd>include>iom_stat.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. CHAN_NUM 000101 automatic fixed bin(6,0) dcl 107 set ref 708* 709* CONSOLE_IS_BCD constant bit(1) initial array packed unaligned dcl 19-39 ref 502 CONSOLE_MODEL_INDEX 000000 constant fixed bin(17,0) initial array dcl 19-27 ref 820 CONSOLE_MODEL_NUMBER 000010 constant fixed bin(17,0) initial array dcl 19-12 ref 819 820 MAINT_ABNORMAL_TERM constant bit(2) initial packed unaligned dcl 67 ref 794 MAINT_NORMAL_TERM constant bit(2) initial packed unaligned dcl 68 ref 798 MCA_NAME parameter char(4) packed unaligned dcl 620 ref 615 644 652 685 NAME 002074 automatic char(4) dcl 126 set ref 407* 448* 516* 603 TYPE 007072 automatic char(9) initial array packed unaligned dcl 22-39 set ref 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 22-39* 712 a_chan parameter fixed bin(8,0) dcl 535 ref 530 542 a_nchan parameter fixed bin(17,0) dcl 537 ref 530 543 add_char_offset_ 000026 constant entry external dcl 86 ref 742 addr builtin function dcl 52 ref 281 397 397 438 438 667 667 766 783 author based structure level 2 dcl 13-9 author_dcl based structure level 1 dcl 13-9 c_sw 000102 automatic bit(1) initial packed unaligned dcl 108 set ref 108* cache_size 6 based fixed bin(17,0) level 2 dcl 2-6 ref 310 310 cdt based structure level 1 dcl 15-44 cdte based structure level 1 dcl 15-72 cdtp 007062 automatic pointer dcl 15-41 set ref 273* 281 central_stat 0(21) based bit(3) level 2 packed packed unaligned dcl 23-7 ref 778 chan 007262 automatic fixed bin(8,0) dcl 535 in procedure "find_mpc" set ref 542* 553 553 556 557 562* 562 570 570 573 574 578* 578 585* chan parameter fixed bin(8,0) dcl 836 in procedure "set_cline" ref 833 840 840 chan 3 based fixed bin(8,0) level 2 in structure "ipc_card" dcl 9-12 in procedure "find_mpc" ref 553 553 556 chan 3 based fixed bin(8,0) level 2 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 449* chan 3 based fixed bin(8,0) array level 3 in structure "chnl_card" dcl 11-5 in procedure "find_chnl" set ref 606* chan 3 based fixed bin(8,0) level 2 in structure "prph_card" dcl 18-5 in procedure "tolts_pcd_" set ref 251* 506 506* 517* 520* chan 3 based fixed bin(8,0) level 2 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 408* chan 4 based fixed bin(8,0) array level 3 in structure "cont_card" dcl 539 in procedure "find_mpc" ref 570 570 573 chan 3 based fixed bin(8,0) level 2 in structure "prph_fnp_card" dcl 1-6 in procedure "fnp_fig" set ref 282* channel_data 24 based structure array level 2 packed packed unaligned dcl 21-16 channel_stat 0(18) based bit(3) level 2 packed packed unaligned dcl 23-7 ref 778 channel_threads based structure level 1 dcl 15-249 chnl_card based structure level 1 dcl 11-5 chnl_cardp 007276 automatic pointer dcl 11-3 set ref 598* 601* 602 603 605 606 606 606 cleanup 000000 stack reference condition dcl 56 ref 631 687 code 000100 automatic fixed bin(35,0) initial dcl 106 set ref 106* 273* 632* 642* 658* 659 660 663* 667 667 667* 669* 676* 679 680* 682* 698* 700 701* 705 745* 747 748* com_err_ 000030 constant entry external dcl 87 ref 626 663 667 669 680 701 748 con_types 000045 constant char(3) initial array packed unaligned dcl 63 set ref 506* config_data_$disk_drive_model_names 000070 external static structure level 1 dcl 17-148 set ref 397 397 config_data_$tape_drive_model_names 000072 external static structure level 1 dcl 17-156 set ref 438 438 cont_card based structure level 1 dcl 539 cont_cardp 007266 automatic pointer dcl 538 set ref 544* 547* 548* 549 551 568 568 570 570 570 570 573 574 574 575 578 579 585 cpu_card based structure level 1 dcl 2-6 cpu_cardp 007172 automatic pointer dcl 2-4 set ref 302* 304* 305 307 307 307 310 310 310 310 310 310 310 310 310 d_sw 000103 automatic bit(1) initial packed unaligned dcl 110 set ref 110* 499* 502* 505* 506* data_p based bit(1) level 2 packed packed unaligned dcl 150 ref 784 data_present 000104 automatic bit(1) initial packed unaligned dcl 111 set ref 111* 742 763* 784* data_ptr 000010 internal static pointer dcl 109 set ref 643* dia_number 007150 automatic fixed bin(17,0) dcl 238 set ref 249* 251 251 disk_tab 24(18) based fixed bin(9,0) array level 3 packed packed unsigned unaligned dcl 21-16 set ref 718* entry_var 000106 automatic entry variable dcl 112 set ref 639* eq_type parameter char packed unaligned dcl 114 ref 46 161 162 163 171 171 172 172 174 175 179 180 181 181 183 184 187 187 187 187 187 187 193 194 246 277 307 334 362 389 430 474 475 error_table_$moderr 000022 external static fixed bin(35,0) dcl 80 set ref 626* error_table_$timeout 000024 external static fixed bin(35,0) dcl 81 ref 660 exec parameter char(6) packed unaligned dcl 113 set ref 46 165 196 208* 210 216 222 222 477 485 find_config_card_$prph_for_channel 000032 constant entry external dcl 88 ref 709 fips parameter bit(1) packed unaligned dcl 596 in procedure "find_chnl" set ref 593 606* fips parameter bit(1) packed unaligned dcl 534 in procedure "find_mpc" ref 530 547 550 fips 000112 automatic bit(1) initial packed unaligned dcl 115 in procedure "tolts_pcd_" set ref 115* 393* 397* 399 408* 409* 438* 440 449* 450* 470* 517* 518* fldno parameter fixed bin(17,0) dcl 837 ref 833 840 840 fnp_entry 120 based structure array level 2 dcl 15-44 set ref 281 fnp_number 007160 automatic fixed bin(17,0) dcl 267 set ref 280* 281 282 282 fnp_state 000034 constant char(7) initial array packed unaligned dcl 65 set ref 282* fnpe based structure level 1 dcl 15-200 fnpep 007064 automatic pointer dcl 15-41 set ref 281* 282 282 282 282 fw_id 24(28) based bit(8) array level 3 packed packed unaligned dcl 21-16 ref 713 715 718 fw_rev 25(09) based char(1) array level 3 packed packed unaligned dcl 21-16 set ref 718* get_temp_segment_ 000034 constant entry external dcl 89 ref 642 group 5 based structure array level 2 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 394 group 2 based structure array level 2 in structure "chnl_card" dcl 11-5 in procedure "find_chnl" group 5 based structure array level 2 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 435 hbound builtin function dcl 52 ref 394 435 568 819 hcs_$initiate 000042 constant entry external dcl 92 ref 273 i 007263 automatic fixed bin(17,0) dcl 537 in procedure "find_mpc" set ref 568* 568* 569 570 570 570 570 573 574 575 578 579* i 007306 automatic fixed bin(17,0) dcl 816 in procedure "CONSOLE_MODEL_TO_INDEX_FCN" set ref 819* 820 820* i 000113 automatic fixed bin(17,0) initial dcl 116 in procedure "tolts_pcd_" set ref 116* 394* 394* 396 397 400 400 405* 435* 435* 437 438 441 441 446* 605* 605* 606 606 606* 707* 708 712 713 715 717 718 718 718 718 718 718 718 718* ioa_ 000036 constant entry external dcl 90 ref 165 176 196 219 655 673 768 ioa_$rsnnl 000040 constant entry external dcl 91 ref 171 208 251 253 282 285 310 313 337 341 365 368 400 441 506 512 718 840 iom 2 based fixed bin(3,0) level 2 in structure "ipc_card" dcl 9-12 in procedure "find_mpc" ref 553 iom parameter fixed bin(3,0) dcl 536 in procedure "find_mpc" ref 530 553 557 570 574 585 iom 2 based fixed bin(3,0) level 2 in structure "prph_fnp_card" dcl 1-6 in procedure "fnp_fig" ref 282 iom 2 based fixed bin(3,0) level 2 in structure "prph_card" dcl 18-5 in procedure "tolts_pcd_" set ref 251 506 517* 520 iom parameter fixed bin(3,0) dcl 835 in procedure "set_cline" ref 833 840 iom 2 based fixed bin(3,0) level 2 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 449* iom 2 based fixed bin(3,0) array level 3 in structure "chnl_card" dcl 11-5 in procedure "find_chnl" set ref 605 606* iom 2 based fixed bin(3,0) level 2 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 408* iom 3 based fixed bin(3,0) array level 3 in structure "cont_card" dcl 539 in procedure "find_mpc" ref 568 570 iom_card based structure level 1 dcl 12-5 in procedure "mca_fig" iom_card based structure level 1 dcl 4-5 in procedure "iom_fig" iom_cardp 000100 automatic pointer dcl 12-3 in procedure "mca_fig" set ref 623* 646* 647 648 648 685 iom_cardp 007212 automatic pointer dcl 4-3 in procedure "iom_fig" set ref 357* 359* 360 362 362 362 365 365 365 365 365 365 iom_num 000114 automatic fixed bin(3,0) dcl 117 set ref 706* 709* ipc_card based structure level 1 dcl 9-12 ipc_cardp 007260 automatic pointer dcl 9-10 set ref 551* 553 553 553 553 556 557 557 559 562 563 ipc_type 000115 automatic char(9) packed unaligned dcl 118 set ref 712* 713* 713 715* 715 718* j 007264 automatic fixed bin(17,0) dcl 537 in procedure "find_mpc" set ref 552* 556* 557* 569* 573* 574* j 000120 automatic fixed bin(17,0) initial dcl 119 in procedure "tolts_pcd_" set ref 119* k 000121 automatic fixed bin(17,0) initial dcl 120 set ref 120* 337 337 340* 340 lchan parameter fixed bin(17,0) dcl 837 ref 833 840 840 line_length 6 based fixed bin(17,0) level 2 dcl 8-5 set ref 506* linkage_error 000000 stack reference condition dcl 57 ref 625 640 lvl_1_id_type 25(04) based fixed bin(5,0) array level 3 packed packed unsigned unaligned dcl 21-16 ref 712 lvl_1_state 24 based fixed bin(9,0) array level 3 packed packed unsigned unaligned dcl 21-16 set ref 717 718* major 0(02) based bit(4) level 2 packed packed unaligned dcl 23-7 ref 667 786 max_imu_channels constant fixed bin(17,0) initial dcl 69 ref 707 mbz 0(01) based bit(3) level 2 packed packed unaligned dcl 150 ref 790 mca_$attach_mca 000044 constant entry external dcl 93 ref 639 658 mca_$config 000046 constant entry external dcl 94 ref 698 mca_$detach_mca 000050 constant entry external dcl 95 ref 676 mca_$read_data 000052 constant entry external dcl 96 ref 745 mca_config_file based structure level 1 packed packed unaligned dcl 21-16 set ref 698 mca_config_file_ptr 007070 automatic pointer dcl 21-14 set ref 622* 632 632* 642* 643 682 682* 698* 698 704* 708 712 713 715 717 718 718 718 718 718 718 mca_data 000122 automatic char(4000) initial packed unaligned dcl 121 set ref 121* 201 229 724* 724 mca_ev_chn 000012 internal static fixed bin(71,0) initial dcl 122 set ref 658* mca_ioi_idx 000014 internal static fixed bin(17,0) initial dcl 123 set ref 658* 676 676* 698 745* mca_name 002072 automatic char(4) initial packed unaligned dcl 124 set ref 124* 648* 652* 655* 658* 663* 669* 673* 680* 706 mca_sub based structure level 1 packed packed unaligned dcl 150 mem_card based structure level 1 dcl 3-5 mem_cardp 007202 automatic pointer dcl 3-3 set ref 330* 332* 333 334 334 334 337 337 337 337 337 memory 1 based fixed bin(17,0) level 2 dcl 15-200 set ref 282* model 5 based fixed bin(17,0) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" set ref 310* model 3 based char(4) level 2 in structure "iom_card" dcl 12-5 in procedure "mca_fig" ref 648 model 4 based fixed bin(17,0) level 2 in structure "prph_opc_card" dcl 7-8 in procedure "sing_fig" set ref 501* model 5 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 435 437 438* 441* model 4 based fixed bin(17,0) level 2 in structure "prph_card" dcl 18-5 in procedure "tolts_pcd_" set ref 506* model 5 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 394 396 397* 400* model 3 based char(4) level 2 in structure "iom_card" dcl 4-5 in procedure "iom_fig" set ref 365* model_index 002073 automatic fixed bin(17,0) dcl 125 set ref 498* 501* 502 502 506 506 model_number parameter fixed bin(17,0) dcl 815 ref 812 820 mpc_card based structure level 1 dcl 10-5 mpcnm parameter char(4) dcl 838 set ref 833 840 840* mpxe 64 based structure level 2 in structure "fnpe" dcl 15-200 in procedure "tolts_pcd_" mpxe based structure level 1 dcl 15-221 in procedure "tolts_pcd_" mtdsim_$clean_up 000054 constant entry external dcl 97 ref 635 name 1 based char(4) level 2 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 430 430 441* 448 name 1 based char(4) level 2 in structure "cont_card" dcl 539 in procedure "find_mpc" set ref 574* name 1 based char(4) level 2 in structure "chnl_card" dcl 11-5 in procedure "find_chnl" ref 603 name 1 based char(4) level 2 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 389 389 400* 407 name 1 based char(4) level 2 in structure "prph_fnp_card" dcl 1-6 in procedure "fnp_fig" ref 277 277 280 name 1 based char(4) level 2 in structure "prph_card" dcl 18-5 in procedure "tolts_pcd_" set ref 246 246 249 474 475 478 478 478 478 478 486 486 486 486 486 500 505 506* 506 506 514 514 516 711 nchan 4 based fixed bin(17,0) level 2 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 408* nchan 4 based fixed bin(17,0) level 2 in structure "ipc_card" dcl 9-12 in procedure "find_mpc" set ref 553 557* 559 562 563 nchan 4 based fixed bin(17,0) array level 3 in structure "chnl_card" dcl 11-5 in procedure "find_chnl" set ref 606* nchan 007265 automatic fixed bin(17,0) dcl 537 in procedure "find_mpc" set ref 543* 559 563* 563 575 579* 579 nchan 5 based fixed bin(17,0) array level 3 in structure "cont_card" dcl 539 in procedure "find_mpc" set ref 570 574* 575 578 579 nchan 4 based fixed bin(17,0) level 2 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 449* nchn 002075 automatic fixed bin(17,0) dcl 127 set ref 466* 517* ndevices 002076 automatic fixed bin(17,0) dcl 128 set ref 392* 399* 399 400* 405* 405 433* 440* 440 441* 446* 446 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 6-5 in procedure "tape_fig" set ref 441* 446 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 5-5 in procedure "disk_fig" set ref 400* 405 nhslas 3 based fixed bin(17,0) level 2 dcl 15-200 set ref 282* null builtin function dcl 52 ref 241 245 271 276 302 305 330 333 357 360 384 388 425 429 467 473 544 549 585 598 602 622 623 632 647 682 685 710 num_of_log_ch 25(27) based fixed bin(9,0) array level 3 packed packed unsigned unaligned dcl 21-16 set ref 718* od 002077 automatic char(136) packed unaligned dcl 129 set ref 251* 253* 253* 254 282* 285* 285* 286 310* 313* 313* 314 337* 341* 341* 342 365* 368* 368* 369 400* 402 441* 443 506* 512* 512* 513 718* 724 840* 842 ol 002141 automatic fixed bin(17,0) dcl 130 set ref 171* 208* 251* 253* 282* 285* 310* 313* 337* 341* 365* 368* 400* 441* 506* 512* 718* 840* out_data 002142 automatic char(10000) packed unaligned dcl 131 set ref 171* 176* 201* 201 202* 208* 219* 229* 229 230* 254* 254 286* 286 314* 314 342* 342 369* 369 402* 402 443* 443 513* 513 842* 842 p99 based picture(2) packed unaligned dcl 133 ref 718 718 port 2 based fixed bin(3,0) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" set ref 310* port 3 based structure array level 2 in structure "cont_card" dcl 539 in procedure "find_mpc" set ref 568 port 2 based fixed bin(3,0) level 2 in structure "iom_card" dcl 4-5 in procedure "iom_fig" set ref 365* power 0(01) based bit(1) level 2 packed packed unaligned dcl 23-7 ref 773 prim_ch_num 25(18) based fixed bin(9,0) array level 3 packed packed unsigned unaligned dcl 21-16 set ref 708 718* prph_card based structure level 1 dcl 18-5 prph_cardp 007066 automatic pointer dcl 18-3 set ref 241* 244* 245 246 246 249 251 251 467* 472* 473 474 475 478 478 478 478 478 486 486 486 486 486 497 500 505 506 506 506 506 506 506 506 514 514 516 517 517 520 520 709* 710 711 prph_dsk_card based structure level 1 dcl 5-5 prph_dsk_cardp 007222 automatic pointer dcl 5-3 set ref 384* 387* 388 389 389 394 394 396 397 400 400 400 405 407 408 408 408 prph_fnp_card based structure level 1 dcl 1-6 prph_fnp_cardp 007162 automatic pointer dcl 1-4 set ref 271* 275* 276 277 277 280 282 282 prph_name 007046 automatic char(4) dcl 132 set ref 710* 711* 718* prph_opc_card based structure level 1 dcl 7-8 prph_opc_cardp 007242 automatic pointer dcl 7-6 set ref 497* 501 506 506 506 506 prph_prt_card based structure level 1 dcl 8-5 prph_prt_cardp 007244 automatic pointer dcl 8-3 set ref 497* 506 506 prph_tap_card based structure level 1 dcl 6-5 prph_tap_cardp 007232 automatic pointer dcl 6-3 set ref 425* 428* 429 430 430 435 435 437 438 441 441 441 446 448 449 449 449 read_ptr 000134 automatic pointer dcl 736 set ref 738* 742* 742* 745* release_temp_segment_ 000056 constant entry external dcl 98 ref 632 682 ret_len 007047 automatic fixed bin(21,0) dcl 134 set ref 698* 739 742* 745* retry_sw 007050 automatic bit(1) packed unaligned dcl 135 set ref 653* 661 662* rtrim builtin function dcl 52 ref 201 201 229 229 254 286 307 314 334 342 362 369 402 443 513 713 715 724 842 session_over 007053 automatic bit(1) initial packed unaligned dcl 138 set ref 138* 744 764* 795* 798* size 2 based fixed bin(18,0) level 2 dcl 3-5 set ref 337* ss_info 007052 automatic bit(1) initial packed unaligned dcl 137 set ref 137* 163* 206* 471 475 477 485 494 start_ptr parameter pointer dcl 735 ref 734 738 state 3 based char(4) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" ref 310 310 310 state 64 based fixed bin(17,0) level 3 in structure "fnpe" dcl 15-200 in procedure "tolts_pcd_" ref 282 state 3 based char(4) level 2 in structure "mem_card" dcl 3-5 in procedure "mem_fig" ref 337 337 337 state 6 based char(4) level 2 in structure "prph_opc_card" dcl 7-8 in procedure "sing_fig" ref 506 506 506 506 state 000144 automatic bit(1) initial packed unaligned dcl 761 in procedure "check_status_ok" set ref 761* 769* 774* 779* 787* 791* 796* 799 state 4 based char(4) level 2 in structure "iom_card" dcl 4-5 in procedure "iom_fig" ref 365 365 365 static_config_ptr 000016 internal static pointer initial dcl 139 set ref 643* statp 007136 automatic pointer dcl 23-5 set ref 766* 767 768 768 773 778 778 783 786 status based structure level 1 dcl 23-7 set ref 768 768 status_a 007054 automatic bit(72) initial packed unaligned dcl 140 set ref 140* 698* 701* 745* 748* 766 str_info 007051 automatic bit(1) initial packed unaligned dcl 136 set ref 136* 162* 184 206* 246 246 255 277 277 287 307 307 315 334 334 343 362 362 370 389 389 410 430 430 451 474 477 485 494 494 521 sub 0(06) based bit(6) level 2 packed packed unaligned dcl 23-7 set ref 783 sub_ptr 000020 internal static pointer dcl 141 set ref 783* 784 790 794 798 substr builtin function dcl 52 ref 171 171 172 172 174 175 179 180 181 181 183 184 187 187 187 187 187 187 193 194 246 249 277 280 389 430 474 475 478 478 478 478 478 486 486 486 486 486 500 505 506 506 514 514 706 subsys 007056 automatic bit(1) initial packed unaligned dcl 142 set ref 142* 393* 399 400 403* 434* 440 441 444* t based bit(1) level 2 packed packed unaligned dcl 23-7 ref 667 767 tag 1 based fixed bin(3,0) level 2 in structure "iom_card" dcl 4-5 in procedure "iom_fig" ref 362 365 tag 1 based fixed bin(3,0) level 2 in structure "iom_card" dcl 12-5 in procedure "mca_fig" ref 648 tag 1 based fixed bin(3,0) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" ref 307 310 tag 1 based fixed bin(3,0) level 2 in structure "mem_card" dcl 3-5 in procedure "mem_fig" ref 334 337 tags 000025 constant char(1) initial array packed unaligned dcl 70 set ref 251* 251* 282* 282* 307 310* 334 337* 362 365* 648 term 007246 automatic bit(1) initial packed unaligned dcl 465 in procedure "sing_fig" set ref 465* 469 473* 494 494 521* term 007057 automatic bit(1) initial packed unaligned dcl 143 in procedure "tolts_pcd_" set ref 143* 242* 243 245* 255* 272* 274 276* 287* 301* 303 305* 315* 329* 331 333* 343* 356* 358 360* 370* 383* 386 388* 410* 424* 427 429* 451* term1 007247 automatic bit(1) initial packed unaligned dcl 465 set ref 465* 471* 474* 475* 494 term_state 0(04) based bit(2) level 2 packed packed unaligned dcl 150 ref 794 798 tolts_qttyio_ 000062 constant entry external dcl 100 ref 202 230 tolts_qttyio_$rs 000060 constant entry external dcl 99 ref 167 198 tolts_util_$dev0_valid 000064 constant entry external dcl 101 ref 397 438 tolts_util_$find_card 000066 constant entry external dcl 102 ref 244 275 304 332 359 387 428 472 547 548 601 646 total_chars_read 007060 automatic fixed bin(21,0) dcl 144 set ref 697* 739* 739 train 5 based fixed bin(17,0) level 2 dcl 8-5 set ref 506* trm 007250 automatic bit(1) initial packed unaligned dcl 465 in procedure "sing_fig" set ref 465* 470* 478* 486* 494 494 trm 007061 automatic bit(1) initial packed unaligned dcl 145 in procedure "tolts_pcd_" set ref 145* 545* 546 549* 559* 568 575* 599* 600 602* 604* type 1 based char(4) level 2 in structure "ipc_card" dcl 9-12 in procedure "find_mpc" set ref 557* type based fixed bin(17,0) level 2 in structure "fnpe" dcl 15-200 in procedure "tolts_pcd_" ref 282 type 4 based char(4) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" set ref 310* types 000020 constant char(6) initial array packed unaligned dcl 73 set ref 282* word based char(4) level 2 in structure "iom_card" dcl 4-5 in procedure "iom_fig" ref 362 362 word based char(4) level 2 in structure "mem_card" dcl 3-5 in procedure "mem_fig" ref 334 334 word based char(4) level 2 in structure "cpu_card" dcl 2-6 in procedure "cpu_fig" ref 307 307 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTIVE internal static fixed bin(17,0) initial dcl 15-272 ADAPTER_FAILURE internal static bit(2) initial packed unaligned dcl 62 ALTER_LOAD_FAILED internal static fixed bin(17,0) initial dcl 22-24 ALTER_NOT_FOUND internal static fixed bin(17,0) initial dcl 22-23 ANS_SERVICE internal static fixed bin(17,0) initial dcl 15-259 BASIC_ROM_FAILED internal static fixed bin(17,0) initial dcl 22-15 CDT_version internal static fixed bin(17,0) initial dcl 15-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 15-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 15-288 CHNL_CARD_WORD internal static char(4) initial dcl 11-27 CONSOLE_GCOS_TYPE internal static bit(6) initial array packed unaligned dcl 19-64 CONSOLE_PROMPT_BY_DEFAULT internal static bit(1) initial array packed unaligned dcl 19-52 CON_SET_UP_FAILED internal static fixed bin(17,0) initial dcl 22-19 CPU_CARD_WORD internal static char(4) initial dcl 2-24 DIAL_OUT_SERVICE internal static fixed bin(17,0) initial dcl 15-259 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 15-259 DN355 internal static fixed bin(17,0) initial dcl 16-19 DN6600 internal static fixed bin(17,0) initial dcl 16-19 DN6670 internal static fixed bin(17,0) initial dcl 16-19 DN7100 internal static fixed bin(17,0) initial dcl 16-19 FNP_BOOT internal static fixed bin(17,0) initial dcl 15-298 FNP_DOWN internal static fixed bin(17,0) initial dcl 15-298 FNP_FREE internal static fixed bin(17,0) initial dcl 15-298 FNP_UNKNOWN internal static fixed bin(17,0) initial dcl 15-298 FNP_UP internal static fixed bin(17,0) initial dcl 15-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 15-259 FW_EXEC_FAILED internal static fixed bin(17,0) initial dcl 22-25 FW_LOAD_FAILED internal static fixed bin(17,0) initial dcl 22-22 FW_NOT_FOUND internal static fixed bin(17,0) initial dcl 22-21 HW_ID_NO_MATCH internal static fixed bin(17,0) initial dcl 22-18 INACTIVE internal static fixed bin(17,0) initial dcl 15-272 IOM_CARD_WORD internal static char(4) initial dcl 4-19 in procedure "iom_fig" IOM_CARD_WORD internal static char(4) initial dcl 12-19 in procedure "mca_fig" IPC_CARD_WORD internal static char(4) initial dcl 9-25 IPC_CONS_2 internal static fixed bin(17,0) initial dcl 22-31 IPC_DAI internal static fixed bin(17,0) initial dcl 22-32 IPC_DISK_FIPS internal static fixed bin(17,0) initial dcl 22-35 IPC_FIPS internal static char(4) initial dcl 9-26 IPC_IDI internal static fixed bin(17,0) initial dcl 22-33 IPC_PDSI internal static fixed bin(17,0) initial dcl 22-30 IPC_TAPE_FIPS internal static fixed bin(17,0) initial dcl 22-34 JAM_FAILED internal static fixed bin(17,0) initial dcl 22-16 MCA_area_version_1 internal static char(8) initial packed unaligned dcl 20-19 MC_SERVICE internal static fixed bin(17,0) initial dcl 15-259 MEM_CARD_WORD internal static char(4) initial dcl 3-18 MPC_CARD_WORD internal static char(4) initial dcl 10-26 MPX_BOOT internal static fixed bin(17,0) initial dcl 15-306 MPX_DOWN internal static fixed bin(17,0) initial dcl 15-306 MPX_FREE internal static fixed bin(17,0) initial dcl 15-306 MPX_SERVICE internal static fixed bin(17,0) initial dcl 15-259 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 15-306 MPX_UP internal static fixed bin(17,0) initial dcl 15-306 NDIC internal static fixed bin(17,0) initial dcl 22-36 NOT_CONFIGED internal static fixed bin(17,0) initial dcl 22-13 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 15-280 NO_CONFIG_PRESENT internal static fixed bin(17,0) initial dcl 22-12 OPERATIONAL internal static fixed bin(17,0) initial dcl 22-26 PH_NOT_PRESENT internal static fixed bin(17,0) initial dcl 22-14 PRPH_CARD_WORD internal static char(4) initial dcl 18-19 PSIA_2_TRIP internal static fixed bin(17,0) initial dcl 22-29 PSIA_4_TRIP internal static fixed bin(17,0) initial dcl 22-37 RSO_FAILED internal static fixed bin(17,0) initial dcl 22-20 SELF_FAILED internal static fixed bin(17,0) initial dcl 22-17 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 15-259 STOP_ON_COND internal static fixed bin(17,0) initial dcl 22-27 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 15-259 addrel builtin function dcl 52 cdtep automatic pointer dcl 15-41 chnl_card_array based structure level 1 dcl 11-20 config_data_$ccu_model_names external static structure level 1 dcl 17-178 config_data_$chnl_cardx external static fixed bin(17,0) dcl 17-27 config_data_$clok_cardx external static fixed bin(17,0) dcl 17-29 config_data_$config_cards external static structure level 1 dcl 17-94 config_data_$console_model_names external static structure level 1 dcl 17-192 config_data_$cpu_cardx external static fixed bin(17,0) dcl 17-31 config_data_$fnp_cardx external static fixed bin(17,0) dcl 17-33 config_data_$intk_cardx external static fixed bin(17,0) dcl 17-35 config_data_$iom_cardx external static fixed bin(17,0) dcl 17-37 config_data_$ipc_fips_cardx external static fixed bin(17,0) dcl 17-45 config_data_$ipc_msp_model_names external static structure level 1 dcl 17-130 config_data_$ipc_mtp_model_names external static structure level 1 dcl 17-139 config_data_$mem_cardx external static fixed bin(17,0) dcl 17-39 config_data_$mpc_cardx external static fixed bin(17,0) dcl 17-49 config_data_$mpc_msp_cardx external static fixed bin(17,0) dcl 17-41 config_data_$mpc_msp_model_names external static structure level 1 dcl 17-104 config_data_$mpc_mtp_cardx external static fixed bin(17,0) dcl 17-43 config_data_$mpc_mtp_model_names external static structure level 1 dcl 17-113 config_data_$mpc_urp_cardx external static fixed bin(17,0) dcl 17-47 config_data_$mpc_urp_model_names external static structure level 1 dcl 17-122 config_data_$mpcs_cardx external static fixed bin(17,0) dcl 17-57 config_data_$mpcs_msp_cardx external static fixed bin(17,0) dcl 17-51 config_data_$mpcs_mtp_cardx external static fixed bin(17,0) dcl 17-53 config_data_$mpcs_urp_cardx external static fixed bin(17,0) dcl 17-55 config_data_$parm_cardx external static fixed bin(17,0) dcl 17-59 config_data_$part_cardx external static fixed bin(17,0) dcl 17-61 config_data_$printer_model_names external static structure level 1 dcl 17-164 config_data_$prph_cardx external static fixed bin(17,0) dcl 17-77 config_data_$prph_ccu_cardx external static fixed bin(17,0) dcl 17-71 config_data_$prph_dsk_cardx external static fixed bin(17,0) dcl 17-63 config_data_$prph_opc_cardx external static fixed bin(17,0) dcl 17-75 config_data_$prph_prt_cardx external static fixed bin(17,0) dcl 17-65 config_data_$prph_pun_cardx external static fixed bin(17,0) dcl 17-69 config_data_$prph_rdr_cardx external static fixed bin(17,0) dcl 17-67 config_data_$prph_tap_cardx external static fixed bin(17,0) dcl 17-73 config_data_$punch_model_names external static structure level 1 dcl 17-185 config_data_$reader_model_names external static structure level 1 dcl 17-171 config_data_$root_cardx external static fixed bin(17,0) dcl 17-79 config_data_$salv_cardx external static fixed bin(17,0) dcl 17-81 config_data_$schd_cardx external static fixed bin(17,0) dcl 17-83 config_data_$sst_cardx external static fixed bin(17,0) dcl 17-85 config_data_$stok_cardx external static fixed bin(17,0) dcl 17-87 config_data_$tbls_cardx external static fixed bin(17,0) dcl 17-89 config_data_$udsk_cardx external static fixed bin(17,0) dcl 17-91 faultword based structure level 1 dcl 23-27 fnp_models internal static fixed bin(17,0) initial array dcl 16-28 fnp_types internal static char(8) initial array packed unaligned dcl 16-25 generic_destination based char(32) packed unaligned dcl 15-195 mca_area based structure level 1 dcl 20-10 mca_area_ptr automatic pointer dcl 20-17 mpc_card_array based structure level 1 dcl 10-19 mpc_cardp automatic pointer dcl 10-3 mpxep automatic pointer dcl 15-41 prph_dsk_card_array based structure level 1 dcl 5-21 prph_tap_card_array based structure level 1 dcl 6-21 special_status based structure level 1 dcl 23-35 supported_fnp internal static bit(1) initial array packed unaligned dcl 16-31 NAMES DECLARED BY EXPLICIT CONTEXT. CONSOLE_MODEL_TO_INDEX_FCN 007341 constant entry internal dcl 812 ref 501 DONE 006272 constant label dcl 676 check_status_ok 007212 constant entry internal dcl 759 ref 741 cpu_fig 002554 constant entry internal dcl 295 ref 174 217 dia_fig 002004 constant entry internal dcl 236 ref 180 211 disk_fig 003612 constant entry internal dcl 378 ref 193 224 find_chnl 005456 constant entry internal dcl 593 ref 409 450 518 find_mpc 005157 constant entry internal dcl 530 ref 408 449 517 606 fnp_fig 002231 constant entry internal dcl 265 ref 179 212 iom_fig 003331 constant entry internal dcl 350 ref 181 223 mca_fig 005553 constant entry internal dcl 615 ref 184 185 227 mca_fig_end 006420 constant label dcl 689 ref 627 636 mem_fig 003051 constant entry internal dcl 324 ref 175 218 next 005747 constant label dcl 644 ref 648 685 one_more_time 007072 constant label dcl 739 ref 751 rd_config 006421 constant entry internal dcl 695 ref 674 read_more 007065 constant entry internal dcl 734 ref 704 retry_attach 006026 constant label dcl 655 ref 664 return_state 007333 constant label dcl 799 ref 770 775 780 set_cline 007367 constant entry internal dcl 833 ref 520 557 574 585 sing_fig 004354 constant entry internal dcl 460 ref 187 226 tape_fig 004074 constant entry internal dcl 419 ref 194 225 tolts_pcd_ 000761 constant entry external dcl 46 NAMES DECLARED BY CONTEXT OR IMPLICATION. convert builtin function ref 718 718 index builtin function ref 706 length builtin function ref 162 163 rank builtin function ref 249 249 280 280 size builtin function ref 698 string builtin function ref 307 334 362 unspec builtin function ref 768 768 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 10076 10172 7573 10106 Length 11146 7573 74 737 303 12 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tolts_pcd_ 4618 external procedure is an external procedure. dia_fig internal procedure shares stack frame of external procedure tolts_pcd_. fnp_fig internal procedure shares stack frame of external procedure tolts_pcd_. cpu_fig internal procedure shares stack frame of external procedure tolts_pcd_. mem_fig internal procedure shares stack frame of external procedure tolts_pcd_. iom_fig internal procedure shares stack frame of external procedure tolts_pcd_. disk_fig internal procedure shares stack frame of external procedure tolts_pcd_. tape_fig internal procedure shares stack frame of external procedure tolts_pcd_. sing_fig internal procedure shares stack frame of external procedure tolts_pcd_. find_mpc internal procedure shares stack frame of external procedure tolts_pcd_. find_chnl internal procedure shares stack frame of external procedure tolts_pcd_. mca_fig 304 internal procedure enables or reverts conditions. on unit on line 625 82 on unit on unit on line 631 82 on unit rd_config internal procedure shares stack frame of internal procedure mca_fig. read_more internal procedure shares stack frame of internal procedure mca_fig. check_status_ok internal procedure shares stack frame of internal procedure mca_fig. CONSOLE_MODEL_TO_INDEX_FCN internal procedure shares stack frame of external procedure tolts_pcd_. set_cline internal procedure shares stack frame of external procedure tolts_pcd_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 data_ptr tolts_pcd_ 000012 mca_ev_chn tolts_pcd_ 000014 mca_ioi_idx tolts_pcd_ 000016 static_config_ptr tolts_pcd_ 000020 sub_ptr tolts_pcd_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mca_fig 000100 iom_cardp mca_fig 000134 read_ptr read_more 000144 state check_status_ok tolts_pcd_ 000100 code tolts_pcd_ 000101 CHAN_NUM tolts_pcd_ 000102 c_sw tolts_pcd_ 000103 d_sw tolts_pcd_ 000104 data_present tolts_pcd_ 000106 entry_var tolts_pcd_ 000112 fips tolts_pcd_ 000113 i tolts_pcd_ 000114 iom_num tolts_pcd_ 000115 ipc_type tolts_pcd_ 000120 j tolts_pcd_ 000121 k tolts_pcd_ 000122 mca_data tolts_pcd_ 002072 mca_name tolts_pcd_ 002073 model_index tolts_pcd_ 002074 NAME tolts_pcd_ 002075 nchn tolts_pcd_ 002076 ndevices tolts_pcd_ 002077 od tolts_pcd_ 002141 ol tolts_pcd_ 002142 out_data tolts_pcd_ 007046 prph_name tolts_pcd_ 007047 ret_len tolts_pcd_ 007050 retry_sw tolts_pcd_ 007051 str_info tolts_pcd_ 007052 ss_info tolts_pcd_ 007053 session_over tolts_pcd_ 007054 status_a tolts_pcd_ 007056 subsys tolts_pcd_ 007057 term tolts_pcd_ 007060 total_chars_read tolts_pcd_ 007061 trm tolts_pcd_ 007062 cdtp tolts_pcd_ 007064 fnpep tolts_pcd_ 007066 prph_cardp tolts_pcd_ 007070 mca_config_file_ptr tolts_pcd_ 007072 TYPE tolts_pcd_ 007136 statp tolts_pcd_ 007150 dia_number dia_fig 007160 fnp_number fnp_fig 007162 prph_fnp_cardp fnp_fig 007172 cpu_cardp cpu_fig 007202 mem_cardp mem_fig 007212 iom_cardp iom_fig 007222 prph_dsk_cardp disk_fig 007232 prph_tap_cardp tape_fig 007242 prph_opc_cardp sing_fig 007244 prph_prt_cardp sing_fig 007246 term sing_fig 007247 term1 sing_fig 007250 trm sing_fig 007260 ipc_cardp find_mpc 007262 chan find_mpc 007263 i find_mpc 007264 j find_mpc 007265 nchan find_mpc 007266 cont_cardp find_mpc 007276 chnl_cardp find_chnl 007306 i CONSOLE_MODEL_TO_INDEX_FCN THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_g_a r_e_as r_ne_as alloc_char_temp call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 enable_op shorten_stack ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. add_char_offset_ com_err_ find_config_card_$prph_for_channel get_temp_segment_ hcs_$initiate ioa_ ioa_$rsnnl mca_$attach_mca mca_$config mca_$detach_mca mca_$read_data mtdsim_$clean_up release_temp_segment_ tolts_qttyio_ tolts_qttyio_$rs tolts_util_$dev0_valid tolts_util_$find_card THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. config_data_$disk_drive_model_names config_data_$tape_drive_model_names error_table_$moderr error_table_$timeout LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 46 000755 106 000774 108 000775 110 000776 111 000777 115 001000 116 001001 119 001002 120 001003 121 001004 124 001007 136 001011 137 001012 138 001013 140 001014 142 001016 143 001017 145 001020 22 39 001021 161 001163 162 001172 163 001200 165 001205 167 001226 168 001246 171 001247 172 001302 174 001314 175 001320 176 001323 177 001342 179 001343 180 001347 181 001353 183 001361 184 001363 185 001413 186 001424 187 001425 193 001443 194 001447 196 001453 198 001475 199 001516 201 001517 202 001563 203 001603 206 001604 208 001606 210 001635 211 001643 212 001644 216 001645 217 001655 218 001656 219 001657 220 001676 222 001677 223 001703 224 001704 225 001705 226 001706 227 001707 229 001717 230 001763 231 002003 236 002004 241 002005 242 002007 243 002010 244 002012 245 002025 246 002034 249 002055 251 002065 253 002145 254 002173 255 002222 257 002227 258 002230 265 002231 271 002232 272 002234 273 002235 274 002304 275 002306 276 002321 277 002330 280 002351 281 002361 282 002365 285 002470 286 002516 287 002545 289 002552 290 002553 295 002554 301 002555 302 002556 303 002560 304 002562 305 002575 307 002604 310 002651 313 002765 314 003013 315 003042 317 003047 318 003050 324 003051 329 003052 330 003053 331 003055 332 003060 333 003073 334 003102 337 003147 340 003244 341 003245 342 003273 343 003322 345 003327 346 003330 350 003331 356 003332 357 003333 358 003335 359 003340 360 003353 362 003362 365 003427 368 003526 369 003554 370 003603 372 003610 373 003611 378 003612 383 003613 384 003614 386 003616 387 003620 388 003633 389 003642 392 003663 393 003664 394 003667 396 003703 397 003706 399 003723 400 003731 402 004004 403 004033 405 004036 406 004043 407 004045 408 004050 409 004064 410 004066 412 004072 414 004073 419 004074 424 004075 425 004076 427 004100 428 004102 429 004115 430 004124 433 004145 434 004146 435 004147 437 004163 438 004166 440 004203 441 004211 443 004264 444 004313 446 004316 447 004323 448 004325 449 004330 450 004344 451 004346 453 004352 455 004353 460 004354 465 004355 466 004360 467 004362 469 004364 470 004366 471 004371 472 004374 473 004407 474 004416 475 004433 477 004453 478 004475 484 004512 485 004513 486 004523 494 004540 497 004562 498 004565 499 004566 500 004570 501 004577 502 004610 505 004623 506 004633 512 005014 513 005042 514 005071 516 005102 517 005104 518 005120 519 005122 520 005123 521 005151 523 005155 525 005156 530 005157 542 005161 543 005163 544 005165 545 005167 546 005170 547 005172 548 005214 549 005227 550 005236 551 005244 552 005246 553 005250 556 005264 557 005271 559 005314 562 005323 563 005325 567 005327 568 005330 569 005344 570 005346 573 005363 574 005371 575 005414 578 005427 579 005431 583 005433 584 005435 585 005436 588 005455 593 005456 598 005460 599 005462 600 005463 601 005466 602 005501 603 005510 604 005514 605 005516 606 005531 607 005546 609 005550 611 005551 615 005552 622 005560 623 005563 625 005564 626 005600 627 005624 631 005627 632 005643 635 005676 636 005703 639 005706 640 005714 642 005715 643 005742 644 005747 646 005761 647 005774 648 006000 651 006017 652 006020 653 006023 655 006026 658 006047 659 006075 660 006100 661 006103 662 006105 663 006106 664 006142 667 006143 669 006211 671 006250 673 006251 674 006271 676 006272 679 006307 680 006312 682 006352 685 006405 687 006417 689 006420 695 006421 697 006422 698 006424 700 006451 701 006454 702 006511 704 006512 705 006520 706 006524 707 006535 708 006544 709 006555 710 006570 711 006600 712 006603 713 006622 715 006657 717 006711 718 006721 724 007032 725 007061 726 007062 728 007064 734 007065 738 007067 739 007072 741 007075 742 007103 744 007121 745 007124 747 007147 748 007152 749 007207 751 007210 753 007211 759 007212 761 007214 763 007216 764 007220 766 007221 767 007223 768 007226 769 007251 770 007252 773 007253 774 007256 775 007257 778 007260 779 007271 780 007272 783 007273 784 007300 786 007304 787 007307 790 007310 791 007314 794 007315 795 007323 796 007325 798 007326 799 007333 812 007341 819 007343 820 007351 822 007361 824 007363 833 007367 840 007371 842 007506 844 007535 ----------------------------------------------------------- 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