COMPILATION LISTING OF SEGMENT tolts_device_info_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/09/86 1529.2 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 /* original coding by J. A. Bush 79/02/13. 13* Modified by Michael R. Jordan 79/10/09 for new MPC card format. 14* Modified by G. Haney & R. Fakoury 80/13/24 to set up secondary sct, rcp for alternate device. 15* Modified by R. Fakoury 08/80 include 501 config card and to examine the entire chan config card 16* Modified by R. Fakoury 09/80 to remove rcp_ area initialization. 17* Modified by R.Fakoury 11/80 to allow mtar to run on 400 type devices 18* Modified by R.Fakoury 12/80 to fix bug in chnl card interrupter. 19* Modified by R.Fakoury 04/80 & 05/80 to fix a bug in the mpc card interrupter. 20* Modified by M.R. Jordan 7/81 for changes in PRPH OPC card format. 21* Modified by R. Fakoury 04/82 to add pr54 support and fix ccu bug. 22* Modified by C. Horning 08/82 to support new tape config card. 23* Modified by R. Fakoury 09/82 to allow booting the eurc from a non-lo order chan. 24* Modified by R. Fakoury 11/82 to correct eurc problems and allow cp120 & 121 devices, 25* allow mtg, mtc & mdc test request & 128 chan support. 26* Modified by R. Fakoury 05/83 to allow mdr testing from non logical 0 chans. 27* Modified by R. Fakoury 06/09/83 to corect a mpc attachment problem and answer TRs' 13296, 14742, 15343. 28* Modified by R. Fakoury 06/15/83 to correct a problem caused by the changes made for the new tape prph card. 29* Modified by R. Fakoury 08/19/83 to support the new opc config card and correct 128chan support bug. 30* Modified by R. Fakoury 11/83 to support hyperchannel. 31* Modified by R Fakoury 11/83 to make more corrections to support the tape config card. 32* Modified by R Fakoury 12/83 to put back a conditional check for a com prph prior to checking for an mpc card. 33* Also added changes to remove the restriction on running itrs on non-logical zero channels. 34* Modified by R. Fakoury 01/84 to close a hole in an mpc601 and mth610 possible configuration. 35* Modified by R Fakoury 04/84 to support the DAU. 36* Modified by R Fakoury 10/84 to correct an extranous check to compare an mpc card to a mpc device string. 37* Modified by R. Fakoury 10/84 to utilize the system prph card incls. 38* Modified by R Fakoury 2/85 to fix a hyperchannel bug. 39* Modified by R Fakoury 4/26 to fix a dau bug. 40**/ 41 42 43 /****^ HISTORY COMMENTS: 44* 1) change(86-06-04,Hartogs), approve(86-06-04,MCR7383), 45* audit(86-06-05,Coppola), install(86-07-18,MR12.0-1098): 46* Changed to use version constant in rcp_device_info.incl.pl1. 47* 2) change(86-08-21,Fakoury), approve(86-08-21,MCR7514), 48* audit(86-12-01,Martinson), install(86-12-04,MR12.0-1235): 49* to correct an error in attaching the mpc for disk and tape mdrs. 50* to correct an extranous check to compare to a mpc device string. 51* to utilize the system prph card incls. 52* to support Dipper FIPS tape & disk 53* to implement test nio request. 54* to implement responder test request. 55* END HISTORY COMMENTS */ 56 57 58 /* tolts_device_info_ - procedure to find a prph by IOM, channel and device and return info. 59* 60* 61*/* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 62 tolts_device_info_: proc (icdtp, px, type_error); 63 64 65 /* Entry parameters */ 66 67 dcl icdtp ptr; /* ptr to iom, chan, & device info (see icdt structure below) */ 68 dcl px fixed bin; /* test page index */ 69 dcl type_error fixed bin; /* error code (returned) */ 70 71 /* Automatic */ 72 73 74 dcl (IOM, CHAN, device2, device, di, MODEL, NDRIVES, i, k) fixed bin; 75 dcl model_index fixed bin; 76 dcl code fixed bin (35); 77 dcl rs_mode fixed bin (5); 78 dcl (spec_chan, term, term1, trm, urcitr) bit (1) init ("0"b); 79 dcl rcpsp ptr; 80 dcl (dname, altname) char (8); 81 dcl mdr_cat char (5); 82 dcl xregp ptr; 83 dcl cont_cardp ptr; 84 85 86 87 /* Structures and based variables */ 88 89 dcl xreg3 bit (36) based (xregp); 90 dcl 1 cont_card aligned based (cont_cardp) like mpc_card; 91 dcl 1 icdt based (icdtp) aligned, /* structure defining input parameters */ 92 (2 ficcdd bit (18), /* iom, chan and device */ 93 2 tt bit (6), /* test type: 0 = polt, C = ITRs, R = MDRs, T = MTAR */ 94 2 u_opt bit (6), /* if = bcd "U", then set disk/tape to "T&D_Volume" */ 95 2 pad1 bit (6)) unaligned; 96 97 98 /* Static, builtins, and external entries */ 99 100 dcl ioa_$rsnnl entry options (variable); 101 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 102 dcl hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 103 dcl tolts_util_$dev0_valid entry (ptr, fixed bin) returns (bit (1)); 104 dcl tolts_util_$find_card entry (char (4), ptr); 105 106 dcl one_sec fixed bin (35) int static options (constant) init (1000000); /* in micro sec */ 107 dcl one_min fixed bin (35) int static options (constant) init (60000000); /* in micro sec */ 108 dcl five_min fixed bin (35) int static options (constant) init (300000000); /* in micro sec */ 109 dcl execute bit (5) int static options (constant) init ("00100"b); 110 111 dcl tags (1:8) char (1) static options (constant) init 112 ("a", "b", "c", "d", "e", "f", "g", "h"); 113 114 dcl (addr, addrel, bin, bit, fixed, hbound, mod, null, substr, unspec) builtin; 115 116 117 118 119 120 if icdt.tt ^= "0"b & icdt.tt ^= "22"b3 & icdt.tt ^= "23"b3 121 & icdt.tt ^= "24"b3 & icdt.tt ^= "25"b3 & icdt.tt ^= "30"b3 122 & icdt.tt ^= "41"b3 & icdt.tt ^= "45"b3 & icdt.tt ^= "51"b3 123 & icdt.tt ^= "63"b3 & icdt.tt ^= "71"b3 then goto t_err23; /* if invalid test type - set error */ 124 io_info_ptr = addr (pages (px)); /* get ptr to our page entry */ 125 unspec (io_info.devsct) = "0"b; /* initilize device sct */ 126 io_info.cat_name, io_info.device_name = ""; 127 type_error = 0; /* reset return error code */ 128 if icdt.tt = "71"b3 then do; 129 prph_cardp = null; 130 term = "0"b; 131 do while (^term); 132 call tolts_util_$find_card ("prph", prph_cardp); 133 if prph_cardp = null then goto t_err0; 134 else if prph_card.name = "dia" || tags (io_info.fnp_num + 1) then do; 135 term = "1"b; 136 dname = prph_card.name; 137 IOM = prph_card.iom; 138 CHAN = prph_card.chan; 139 goto c_info; 140 end; 141 end; 142 end; 143 else if substr (icdt.ficcdd, 4, 1) then do; /* if new format */ 144 io_info.nff = "1"b; /* set new format flag */ 145 xregp = addrel (execp, 33); /* get ptr to chan number */ 146 CHAN = fixed (substr (xreg3, 28, 9)); /* save channel number */ 147 io_info.devsct.icc = "0"b || substr (icdt.ficcdd, 5, 2) /* save icc in devsct */ 148 || substr (xreg3, 29, 8); 149 IOM = fixed (substr (icdt.ficcdd, 5, 2)); /* set iom number */ 150 end; 151 else do; /* else old format */ 152 io_info.nff = "0"b; /* not new format */ 153 substr (io_info.devsct.icc, 1, 9) = substr (icdt.ficcdd, 4, 9); /* save iom and channel */ 154 CHAN = fixed (substr (icdt.ficcdd, 7, 6)); /* and channel number */ 155 IOM = fixed (substr (icdt.ficcdd, 4, 3)); /* set iom number */ 156 end; 157 device = fixed (substr (icdt.ficcdd, 13, 6)); /* and device number */ 158 io_info.devsct.device_no = substr (icdt.ficcdd, 13, 6); /* set device number in device sct */ 159 160 /* first validate IOM number */ 161 162 chnl_cardp, iom_cardp, mpc_cardp = null; 163 term = "0"b; /* reset terminate condition */ 164 do while (^term); /* find all iom cards */ 165 call tolts_util_$find_card ("iom ", iom_cardp); /* find iom card */ 166 if iom_cardp = null then /* didn't find iom card, get out of loop */ 167 goto t_err0; /* error, invalid IOM number */ 168 else if tag - 1 = IOM then do; /* found right card */ 169 if iom_card.state ^= "on " then goto t_err1; 170 if iom_card.model = "imu " then io_info.sct_info.ioc_type = "0001"b; 171 term = "1"b; 172 end; 173 end; 174 if CHAN = 3 then do; 175 if iom_card.model ^= "imu" then goto t_err23; 176 else dname = "mca" || tags (iom_card.tag); 177 goto c_info; 178 end; 179 180 181 /* now validate channel with iom */ 182 183 prph_cardp = null; /* reset prph_cardp to start at beginning of deck */ 184 term = "0"b; /* reset terminate condition */ 185 do while (^term); /* go thru prph cards to find chan, and iom */ 186 call tolts_util_$find_card ("prph", prph_cardp); /* find next config card */ 187 if prph_cardp = null then term = "1"b; /* if last card in deck passed */ 188 else do; 189 if prph_card.iom - 1 = IOM then /* found iom number */ 190 if prph_card.chan = CHAN then /* and channel */ 191 term = "1"b; /* set terminate condition */ 192 else if substr (prph_card.name, 1, 3) = "dsk" then do; /* if disk */ 193 prph_dsk_cardp = prph_cardp; 194 if CHAN >= prph_dsk_card.chan 195 & CHAN < prph_dsk_card.chan + prph_dsk_card.nchan then 196 term = "1"b; /* special case for disks */ 197 end; 198 else if substr (prph_card.name, 1, 3) = "tap" then do; /* if tape */ 199 prph_tap_cardp = prph_cardp; 200 if CHAN >= prph_tap_card.chan 201 & CHAN < prph_tap_card.chan + prph_tap_card.nchan then 202 term = "1"b; /* special case for tapes */ 203 end; 204 end; 205 end; 206 term = "0"b; /* reset terminate condition */ 207 if prph_cardp = null then do; 208 do while (^term); /* look at chanl cards */ 209 call tolts_util_$find_card ("chnl", chnl_cardp); 210 if chnl_cardp = null then /* if last card in deck passed */ 211 goto t_err1; /* channel not assignable */ 212 else do i = 1 to 3 while (chnl_card.group (i).iom ^= -1 & ^term); 213 if IOM = chnl_card.group (i).iom - 1 then do; 214 if CHAN >= chnl_card.group (i).chan /* found chan in range */ 215 & CHAN <= (chnl_card.group (i).chan + chnl_card.group (i).nchan - 1) then do; 216 term = "1"b; 217 prph_cardp = chnl_cardp; 218 altname, dname = chnl_card.name; 219 end; 220 end; 221 end; 222 end; 223 224 if prph_cardp ^= null 225 & icdt.tt = "51"b3 & ^io_info.p2_att then /* if first attach request & mdr */ 226 if substr (dname, 1, 3) = "tap" | /* if tape or disk */ 227 substr (dname, 1, 3) = "dsk" then do; 228 term = "0"b; /* reset terminate condition */ 229 mpc_cardp = null; /* set config ptr to start at top */ 230 do while (^term); 231 call tolts_util_$find_card ("mpc ", mpc_cardp); /* find mpc card */ 232 if mpc_cardp = null () then /* shouldn't happen */ 233 goto t_err1; /* channel unassignable */ 234 do i = 1 to 4 while (mpc_card.port (i).iom ^= -1 & ^term); /* ck each field */ 235 if mpc_card.port (i).iom - 1 = IOM then/* if match on iom */ 236 if CHAN >= mpc_card.port (i).chan 237 & CHAN <= mpc_card.port (i).chan + (mpc_card.port (i).nchan - 1) /* match */ 238 then term = "1"b; /* set terminate condition */ 239 device = 0; /* want to atatch the mpc first */ 240 end; 241 end; 242 end; 243 244 245 term = "0"b; 246 prph_cardp = null; 247 do while (^term); /* now find prph card that goes with chnl */ 248 call tolts_util_$find_card ("prph", prph_cardp); 249 if prph_cardp = null then goto t_err1; 250 else if prph_card.name = dname then term = "1"b;/* found it */ 251 end; 252 253 if prph_cardp = null then /* if this is true, error */ 254 goto t_err1; 255 end; 256 else do; 257 dname, altname = prph_card.name; 258 if icdt.tt = "51"b3 & ^io_info.p2_att then /* if first attach request & mdr */ 259 if substr (dname, 1, 3) = "tap" | /* if tape or disk */ 260 substr (dname, 1, 3) = "dsk" then device = 0; 261 262 end; 263 264 MODEL, NDRIVES = 0; /* set device range to 0 initialy */ 265 term = "0"b; 266 267 if substr (dname, 1, 3) = "dsk" then do; 268 call ioa_$rsnnl ("^a_^[0^]^d", dname, i, 269 dname, (device < 10), device); /* set in ascii device */ 270 271 prph_dsk_cardp = prph_cardp; 272 if icdt.tt = "23"b3 /* if running itrs */ 273 | icdt.tt = "51"b3 then do; 274 do i = 1 to 5 while (prph_dsk_card (i).model ^= -1); 275 if prph_dsk_card.group (i).model > MODEL then/* if this model higher than prev */ 276 MODEL = prph_dsk_card.group (i).model; /* use this one */ 277 end; 278 end; 279 else do; 280 do i = 1 to 5 while ((prph_dsk_card.group (i).model ^= -1) & ^term); 281 /* go through each possible pair */ 282 if prph_dsk_card.group (i).model ^= 0 then do; /* if not fence */ 283 if device >= NDRIVES 284 & device <= NDRIVES + prph_dsk_card.group (i).ndrives then do; 285 MODEL = prph_dsk_card.group (i).model; /* found model */ 286 if tolts_util_$dev0_valid (addr (config_data_$disk_drive_model_names), MODEL) then 287 io_info.sct_info.cnt_type = "0011"b; 288 289 if io_info.sct_info.cnt_type ^= "0011"b 290 & device = 0 then goto t_err2; 291 292 term = "1"b; 293 di = i; 294 end; 295 else NDRIVES = NDRIVES + prph_dsk_card.group (i).ndrives; 296 end; 297 else NDRIVES = NDRIVES + prph_dsk_card.group (i).ndrives; 298 end; 299 if ^term then goto t_err2; /* invalid device */ 300 end; 301 end; 302 303 else if substr (dname, 1, 3) = "tap" then do; 304 prph_tap_cardp = prph_cardp; 305 call ioa_$rsnnl ("^a_^[0^]^d", dname, i, 306 dname, (device < 10), device); /* set in ascii device */ 307 if (device = 0) & (icdt.tt = "23"b3 | icdt.tt = "51"b3) then do; 308 do i = 1 to 5 while (prph_tap_card.group (i).model ^= -1); 309 if prph_tap_card.group (i).model > MODEL then 310 MODEL = prph_tap_card.group (i).model; 311 end; 312 end; 313 else do; 314 315 do i = 1 to 5 while ((prph_tap_card.group (i).model ^= -1) & ^term); 316 if prph_tap_card.group (i).model ^= 0 then do; 317 if (device >= NDRIVES) 318 & (device <= NDRIVES + prph_tap_card.group (i).ndrives) then do; 319 MODEL = prph_tap_card.group (i).model; 320 if tolts_util_$dev0_valid (addr (config_data_$tape_drive_model_names), MODEL) then 321 io_info.sct_info.cnt_type = "0011"b; 322 323 if io_info.sct_info.cnt_type ^= "0011"b 324 & device = 0 then goto t_err2; 325 term = "1"b; 326 end; 327 else NDRIVES = NDRIVES + prph_tap_card.group (i).ndrives; 328 end; 329 else NDRIVES = NDRIVES + prph_tap_card.group (i).ndrives; 330 end; 331 if ^term then goto t_err2; 332 end; 333 end; 334 335 336 337 338 /* at this point we have ptr to correct prph card */ 339 340 c_info: 341 mdr_cat = "card "; /* set default mdr catalog suffix */ 342 io_info.lostit_time = /* default lostit time is 1 sec (+ 1min from exec) */ 343 divide ((one_min + one_sec) * 64, 1000, 35); 344 device_info_ptr = addr (io_info.rcp_area (1)); /* set general RCP info first */ 345 device_info.version_num = DEVICE_INFO_VERSION_1; /* structure version DEVICE_INFO_VERSION_1 */ 346 device_info.version_num = 1; /* structure version 1 */ 347 device_info.usage_time = 0; /* T&D will use resource for an indefinite time */ 348 device_info.wait_time = 0; /* T&D will not wait for the resource */ 349 device_info.system_flag = "0"b; /* T&D is not a system process */ 350 if substr (dname, 1, 3) = "ccu" then call set_ccu; /* if combined card unit */ 351 else if substr (dname, 1, 3) = "dsk" then call set_disk; /* if disk subsystem */ 352 else if substr (dname, 1, 3) = "dia" then call set_dia; /* if dia */ 353 else if substr (dname, 1, 3) = "hch" then call set_hch; /* if hyperchannel */ 354 else if substr (dname, 1, 3) = "mca" then call set_mca; /* if mca */ 355 else if substr (dname, 1, 3) = "opc" then call set_opc; /* if system console */ 356 else if substr (dname, 1, 3) = "prt" then call set_prt; /* if printer */ 357 else if substr (dname, 1, 3) = "pun" then call set_pun; /* if card punch */ 358 else if substr (dname, 1, 3) = "rdr" then call set_rdr; /* if card reader */ 359 else if substr (dname, 1, 3) = "tap" then call set_tape; /* if tape subsystem */ 360 else goto t_err1; /* invalid prph */ 361 io_info.device_name = dname; /* copy device name */ 362 io_info.devsct.com_prph = ck_com_prph (); 363 if ^spec_chan 364 & ^io_info.devsct.com_prph then call ck_mpc; /* go check mpc card */ 365 device_info.device_name = io_info.device_name; /* set device for rcp */ 366 if icdt.tt = "0"b then 367 io_info.io_type = polt_io_type; /* set io type (0 = POLT) */ 368 else if icdt.tt = "22"b3 then 369 io_info.io_type = mtc_io_type; /* MTC io */ 370 else if icdt.tt = "23"b3 then 371 io_info.io_type = itr_io_type; /* ITR io */ 372 else if icdt.tt = "24"b3 then 373 io_info.io_type = mtg_io_type; /* MTG io */ 374 else if icdt.tt = "25"b3 then 375 io_info.io_type = mdc_io_type; /* MDC io */ 376 else if icdt.tt = "30"b3 then 377 io_info.io_type = mhp_io_type; /* MHP io */ 378 else if icdt.tt = "41"b3 then 379 io_info.io_type = mdc_io_type; /* MFC io like MDC io */ 380 else if icdt.tt = "45"b3 then 381 io_info.io_type = mca_io_type; /* NIO io */ 382 else if icdt.tt = "51"b3 then 383 io_info.io_type = mdr_io_type; /* MDR io */ 384 else if icdt.tt = "63"b3 then 385 io_info.io_type = mtar_io_type; /* MTAR io */ 386 else if icdt.tt = "71"b3 then 387 io_info.io_type = rspd_io_type; /* RSPD io */ 388 389 io_info.test_hdr = ""; /* build ascii test header */ 390 call ioa_$rsnnl ("**^d(^[p^;itr^;mdr^;mtr^;itr^;mtc^;mtg^;mdc^;mhp^;nio^;rsp^]^d^[0^]^d^[^2s^;^[0^]^d^]):", 391 io_info.test_hdr, i, px - 1, io_info.io_type + 1, IOM, (CHAN < 10), 392 CHAN, (io_info.io_type = 1), (device < 10), device); 393 return; 394 395 t_err0: type_error = m_iv_iom; /* set error, invalid IOM number */ 396 return; 397 t_err1: type_error = ch_not_ass; /* set error, unrecognized prph */ 398 return; 399 t_err2: type_error = iv_dev; /* set error, invalid device */ 400 return; 401 t_err9: type_error = not_psia; /* set error, not a psia channel */ 402 return; 403 t_err10: type_error = not_log_0; /* set error, not logical channel 0 of mpc */ 404 return; 405 t_err21: type_error = dev_busy; /* set error, device attached by system */ 406 return; 407 t_err23: type_error = inv_tt; /* set error, invalid test type */ 408 return; 409 410 411 /* ck_com_prph - function to check if common prph and if molts in control, return "0"b, 412* return "1"b if ok and set io_info.com_prph flag */ 413 414 415 ck_com_prph: proc returns (bit (1)); 416 417 if spec_chan then return ("0"b); /* special channel don't bother */ 418 term = "0"b; 419 cont_cardp = null; 420 do while (^term); 421 if io_info.sct_info.cnt_type = "0011"b then 422 call tolts_util_$find_card ("ipc", cont_cardp); 423 else call tolts_util_$find_card ("mpc ", cont_cardp); 424 if cont_cardp = null () then return ("1"b); /* If no mpc | ipc cards found */ 425 426 427 if io_info.sct_info.cnt_type = "0011"b then do; 428 ipc_cardp = cont_cardp; 429 if ipc_card.iom - 1 = IOM then /* if match on iom */ 430 if CHAN >= ipc_card.chan 431 & CHAN <= ipc_card.chan + (ipc_card.nchan - 1) then do; /* match */ 432 term = "1"b; /* set terminate condition */ 433 return ("0"b); /* must be an mpc device */ 434 end; 435 end; 436 else do i = 1 to 4 while (cont_card.port (i).iom ^= -1 & ^term); /* ck each field */ 437 mpc_cardp = cont_cardp; 438 if cont_card.port (i).iom - 1 = IOM then /* if match on iom */ 439 if CHAN >= cont_card.port (i).chan 440 & CHAN <= cont_card.port (i).chan + (cont_card.port (i).nchan - 1) then do; /* match */ 441 term = "1"b; /* set terminate condition */ 442 return ("0"b); /* must be an mpc device */ 443 end; 444 end; 445 end; 446 447 448 end ck_com_prph; 449 450 451 /* ck_mpc - internal procedure to check mpc cards */ 452 453 ck_mpc: proc; 454 455 if cont_card.model >= 8000 456 & cont_card.model < 8005 then do; /* must be a EURC */ 457 io_info.crcst.volatile = "0"b; /* make it a eurc mpc */ 458 io_info.crcst.mpc = "1"b; /* set mpc flag */ 459 io_info.sct_info.cnt_type = "0010"b; 460 urcitr = "0"b; /* reset urcitr flag as firmware is not needed */ 461 end; 462 else do; 463 io_info.crcst.mpc = "1"b; /* set mpc flag */ 464 io_info.crcst.volatile = "1"b; /* make it a old style mpc */ 465 if cont_card.model = 800 then 466 io_info.sct_info.cnt_type = "0001"b; 467 end; 468 if icdt.tt = "23"b3 & io_info.crcst.volatile /* if running itrs */ 469 & CHAN ^= cont_card.port (1).chan /* and not on log chan 0 */ 470 & ((substr (cont_card.name, 1, 3) = "msp" & cont_card.model < 600) 471 | (substr (cont_card.name, 1, 3) = "msp" & cont_card.model = 800) 472 | (substr (cont_card.name, 1, 3) = "mtp" & cont_card.model < 610)) 473 then goto t_err10; /* error, not on log chan 0 */ 474 if icdt.tt = "23"b3 then call set_itr_cat; /* go decode mpc card to determine itr catalog name */ 475 476 477 478 479 if urcitr then do; /* if running itrs on urc, find all firmware */ 480 io_info.mpc_dev_cnt = mpc_card.port (1).nchan; /* save number of log channels */ 481 prph_cardp = null; /* start at beginning of deck */ 482 do i = 1 to io_info.mpc_dev_cnt; /* get each device */ 483 trm = "0"b; /* reset terminate condition */ 484 do while (^trm); /* loop until we find right kind of card */ 485 call tolts_util_$find_card ("prph", prph_cardp); /* find prph config card */ 486 if prph_cardp = null then trm = "1"b; /* this should not happen */ 487 else if prph_card.iom - 1 = IOM /* if on right iom */ 488 & prph_card.chan >= mpc_card.port (1).chan 489 & prph_card.chan <= mpc_card.port (1).chan + (mpc_card.port (1).nchan - 1) then do; /* if in range */ 490 trm = "1"b; /* set terminate condition */ 491 CHAN = prph_card.chan - mpc_card.port (1).chan + 1; /* get right log chan */ 492 if substr (prph_card.name, 1, 3) = "rdr" /* if reader */ 493 | substr (prph_card.name, 1, 3) = "pun" /* if punch */ 494 | substr (prph_card.name, 1, 3) = "ccu" then /* if combined reader and punch */ 495 call set_mask ("ucrp"); 496 else if substr (prph_card.name, 1, 3) = "prt" then /* if printer */ 497 call set_mask ("u400"); 498 end; 499 end; 500 end; 501 do k = 1 to 4 while (io_info.dev_firm (k).mask ^= "0"b); /* get true device count */ 502 end; 503 io_info.mpc_dev_cnt = k - 1; /* set adjusted device count */ 504 end; 505 end ck_mpc; 506 507 508 /* ck_urcd - fuction to check device code on urcmpc device */ 509 510 ck_urcd: proc returns (bit (1)); 511 512 if icdt.tt = "0"b | icdt.tt = "51"b3 then /* if polts or mdrs */ 513 if device ^= 1 then /* device code must be device 1 */ 514 return ("0"b); /* return false */ 515 if icdt.tt = "51"b3 then /* if mdrs to be run */ 516 io_info.cat_name = "mdr." || mdr_cat; /* set mdr catalog name */ 517 else if icdt.tt = "23"b3 then do; /* if itrs on urmpc */ 518 if device ^= 0 then /* and device not 0 */ 519 return ("0"b); 520 urcitr = "1"b; /* set flag to set up firmware */ 521 end; 522 return ("1"b); 523 524 end ck_urcd; 525 526 527 /* The following function returns the 'console model index' given the console 528* model number. If the model number is not known, -1 is returned. */ 529 530 CONSOLE_MODEL_TO_INDEX_FCN: procedure (model_number) returns (fixed bin); 531 532 dcl (i, model_number) fixed bin; 533 534 do i = 1 to hbound (CONSOLE_MODEL_NUMBER, 1); 535 if model_number = CONSOLE_MODEL_NUMBER (i) 536 then return (CONSOLE_MODEL_INDEX (i)); 537 end; 538 539 return (-1); 540 541 end CONSOLE_MODEL_TO_INDEX_FCN; 542 543 544 /* set_ccu - internal procdure to set type codes for combined card (CCU) equitment */ 545 546 set_ccu: proc; 547 1 1 /* BEGIN INCLUDE FILE ... config_prph_ccu_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 1 2 1 3 dcl prph_ccu_cardp pointer; /* pointer to PRPH card for Combination Card Unit */ 1 4 1 5 dcl 1 prph_ccu_card aligned based (prph_ccu_cardp), /* PRPH_CCU card declaration */ 1 6 2 word char (4), /* "prph" */ 1 7 2 name char (4), /* "ccuX" */ 1 8 2 iom fixed bin (3), /* IOM number */ 1 9 2 chan fixed bin (8), /* Channel number */ 1 10 2 model fixed bin, /* Model number of card punch */ 1 11 1 12 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 1 13 1 14 2 type_word aligned, 1 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 1 16 3 pad1 bit (4) unaligned, 1 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 1 18 1 19 /* END INCLUDE FILE ... config_prph_ccu_card.incl.pl1 */ 548 549 550 prph_ccu_cardp = prph_cardp; 551 if model = 401 then do; /* if correct model */ 552 io_info.devsct.type_code = "22"b3; /* set correct type code */ 553 if ^ck_urcd () then /* ck device number */ 554 goto t_err2; /* error, invalid device */ 555 if ^io_info.ccu_pun then do; /* if mme setpun has not been called... */ 556 io_info.rcp_name = DEVICE_TYPE (READER_DTYPEX); /* set default rcp type to reader */ 557 substr (dname, 1, 3) = "rdr"; 558 end; 559 else do; 560 io_info.rcp_name = DEVICE_TYPE (PUNCH_DTYPEX); /* otherwise set for punch */ 561 substr (dname, 1, 3) = "pun"; 562 end; 563 end; 564 else goto t_err1; /* not supported */ 565 end set_ccu; 566 567 568 /* set_disk - internal procedure to set type codes for disk subsystems */ 569 570 set_disk: proc; 571 572 /* *************************************************** 573* * if mtar 500/501, check for alternate device * 574* *************************************************** */ 575 576 if icdt.tt = "63"b3 & (MODEL = 500 | MODEL = 501) then do; 577 io_info.alt_dev_flag = "1"b; 578 if mod (device, 2) = 1 /* odd device */ 579 & device + 1 > prph_dsk_card.group (di).ndrives + NDRIVES then 580 goto t_err2; 581 else if device - 1 < NDRIVES then goto t_err2; 582 end; 583 584 if MODEL = 181 then io_info.devsct.type_code = "60"b3; 585 else if MODEL = 190 then io_info.devsct.type_code = "61"b3; 586 else if MODEL = 191 | MODEL = 400 then io_info.devsct.type_code = "62"b3; 587 else if MODEL = 451 then io_info.devsct.type_code = "65"b3; 588 else if MODEL = 500 then io_info.devsct.type_code = "66"b3; 589 else if MODEL = 501 then io_info.devsct.type_code = "67"b3; 590 else if MODEL = 509 then io_info.devsct.type_code = "70"b3; 591 else if MODEL = 3380 then io_info.devsct.type_code = "53"b3; 592 else if MODEL = 3381 then io_info.devsct.type_code = "55"b3; 593 else goto t_err1; /* set error */ 594 if MODEL >= 500 & MODEL < 510 then io_info.crcst.ms500 = "1"b; /* set ms500 indicator */ 595 if icdt.tt = "51"b3 then /* if running mdrs */ 596 io_info.cat_name = "mdr.disk"; /* set mdr catalog name */ 597 598 if icdt.tt = "23"b3 /* if running ITRs */ 599 | (icdt.tt = "51"b3 & ^io_info.p2_att) then /* if running MDRs & the first attachment */ 600 io_info.rcp_name = DEVICE_TYPE (SPECIAL_DTYPEX); /* set "special" designator */ 601 else do; /* other wise set up specific info */ 602 disk_info_ptr = device_info_ptr; 603 io_info.rcp_name = DEVICE_TYPE (DISK_DRIVE_DTYPEX); 604 disk_info.write_flag = "1"b; 605 if icdt.u_opt = "64"b3 then /* if unload option in force... */ 606 disk_info.volume_name = "T&D_Volume"; /* set special volume name */ 607 else disk_info.volume_name = "scratch"; /* otherwise have operator load and authenicate mount */ 608 disk_info.device_name = dname; 609 disk_info.model = MODEL; 610 611 612 613 /* ************************************************* 614* * set up alternate sct/rcp if mtar 500/501 * 615* ************************************************* */ 616 617 if io_info.alt_dev_flag then do; 618 io_info.altsct = io_info.devsct; /* copy sct */ 619 if mod (device, 2) ^= 0 then 620 io_info.altsct.device_no = bit (bin (bin (io_info.devsct.device_no, 6) + 1, 6), 6); /* odd device */ 621 else io_info.altsct.device_no = bit (bin (bin (io_info.devsct.device_no, 6) - 1, 6), 6); 622 io_info.alt_rcp_area = io_info.rcp_area; /* build alternate device name */ 623 device2 = fixed (io_info.altsct.device_no); 624 disk_info_ptr = addr (io_info.alt_rcp_area); 625 if icdt.u_opt = "64"b3 then 626 disk_info.volume_name = "T&D_Volume"; 627 else disk_info.volume_name = "scratch"; 628 call ioa_$rsnnl ("^a_^[0^]^d", altname, i, altname, (device2 < 10), device2); 629 disk_info.device_name = altname; /* store alternate device name in rcp */ 630 io_info.alt_device_name = altname; 631 disk_info.model = MODEL; 632 disk_info_ptr = addr (io_info.rcp_area); /* restore pointer */ 633 end; 634 635 /* check users access to the rcp_sys_ gate. If he has access, make him a system process */ 636 637 call hcs_$initiate (">system_library_1", "rcp_sys_", "", 0, 0, rcpsp, code); 638 if rcpsp ^= null then do; 639 call hcs_$fs_get_mode (rcpsp, rs_mode, code); 640 if code = 0 then 641 if bit (rs_mode) & execute then 642 disk_info.system_flag = "1"b; /* make him a system process */ 643 disk_info_ptr = addr (io_info.alt_rcp_area); /* set pointer to alternate rcp area */ 644 disk_info.system_flag = "1"b; /* set alternate system flag in case needed */ 645 disk_info_ptr = addr (io_info.rcp_area); /* restore pointer */ 646 end; 647 end; 648 649 end set_disk; 650 651 652 /* set_dia - internal procedure to set device info for a Colts RSPD request */ 653 654 set_dia: proc; 655 656 spec_chan = "1"b; 657 io_info.rcp_name = DEVICE_TYPE (SPECIAL_DTYPEX); /* set "special" designator */ 658 device_info.device_name = dname; 659 device_info.model = 0; 660 661 end set_dia; 662 663 664 /* set_hch - internal procedure to set type code for hyperchannels */ 665 666 set_hch: proc; 667 if substr (dname, 1, 3) = "hch" then do; 668 spec_chan = "1"b; /* special channel */ 669 io_info.devsct.type_code = "07"b3; 670 io_info.rcp_name = DEVICE_TYPE (SPECIAL_DTYPEX); /* set "special" designator */ 671 end; 672 else goto t_err2; 673 end set_hch; 674 675 676 /* set_itr_cat - int procedure to set up itr catalog name from mpc card info */ 677 678 set_itr_cat: proc; 679 680 if substr (mpc_card.name, 1, 3) = "urp" then /* urmpc is easy */ 681 io_info.cat_name = "itr.urcmpc"; 682 else if substr (mpc_card.name, 1, 3) = "mtp" then do; /* mag tapes */ 683 684 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 685 /* 686* /* Since we are here because we are running itrs and the correct mpc is located, the correct 687* /* devsct.type_code will also be set. */ 688 /* */ 689 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 690 691 692 if mpc_card.model >= 500 & mpc_card.model < 601 /* mtc500 type */ 693 then io_info.cat_name = "itr.mtc500"; 694 695 else if mpc_card.model = 601 | mpc_card.model = 602 then do; /* mtp601 */ 696 io_info.cat_name = "itr.mtp601"; 697 if io_info.devsct.type_code = "13"b3 698 then io_info.devsct.type_code = "15"b3; 699 else io_info.devsct.type_code = "16"b3; 700 io_info.crcst.mtp610 = "0"b; /* if mpc601 there should not be any mth610 devices. */ 701 end; 702 else if mpc_card.model = 610 | mpc_card.model = 611 then do; /* mtp610 */ 703 io_info.cat_name = "itr.mtp610"; 704 if io_info.devsct.type_code = "13"b3 705 then io_info.devsct.type_code = "15"b3; 706 else io_info.devsct.type_code = "16"b3; 707 end; 708 else goto t_err1; /* should go to something for invalid mpc card */ 709 end; 710 else if substr (mpc_card.name, 1, 3) = "msp" then do; /* disks */ 711 if mpc_card.model = 181 then /* dsc181 */ 712 io_info.cat_name = "itr.dsc181"; 713 else if mpc_card.model = 190 then /* dsc190 */ 714 io_info.cat_name = "itr.dsc190"; 715 else if mpc_card.model = 191 716 | mpc_card.model = 400 717 | mpc_card.model = 451 718 | (mpc_card.model >= 600 & mpc_card.model <= 603) then 719 io_info.cat_name = "itr.dsc191"; /* dsc191 */ 720 else if mpc_card.model >= 604 & mpc_card.model <= 612 then do; /* dsc500 */ 721 io_info.cat_name = "itr.dsc500"; 722 io_info.crcst.ms500 = "1"b; 723 end; 724 else if mpc_card.model = 800 then do; /* msp800 */ 725 io_info.cat_name = "itr.msp800"; 726 end; 727 else goto t_err1; 728 end; 729 else goto t_err1; 730 731 end set_itr_cat; 732 733 734 735 /* set_mask - internal procedure to set device mask for urcmpc devices */ 736 737 set_mask: proc (en); 738 739 dcl en char (4); /* device firmware edit name */ 740 741 term = "0"b; /* reset terminate condition */ 742 do k = 1 to 4 while (^term); /* go through all masks */ 743 if unspec (io_info.dev_firm (k).edit_name) = "0"b 744 | io_info.dev_firm (k).edit_name = en then do; /* if found match */ 745 term = "1"b; 746 io_info.dev_firm (k).edit_name = en; /* set edit name, in case it wasn't set */ 747 substr (io_info.dev_firm (k).mask, CHAN + 1, 1) = "1"b; /* set port mask */ 748 end; 749 end; 750 751 end set_mask; 752 753 754 755 /* set_mca - internal procedure to setup io_info for mca */ 756 757 set_mca: proc; 758 759 if substr (dname, 1, 3) = "mca" then do; 760 io_info.lostit_time = /* lostit time for the mca is 5min + 1 sec */ 761 divide ((five_min + one_sec) * 64, 1000, 35); 762 spec_chan = "1"b; /* special channel */ 763 io_info.cat_name = "nio.IMU"; 764 end; 765 else goto t_err2; 766 end set_mca; 767 768 769 /* set_opc - internal procedure to set up type codes for operators consoles */ 770 771 set_opc: proc; 772 2 1 /* BEGIN INCLUDE FILE ... config_prph_opc_card.incl.pl1 ... 11/27/80, W. Olin Sibert */ 2 2 2 3 /* Modified 830613 to add state and line_leng fields to card... -E. A. Ranzenbach */ 2 4 /* Modified 841205 to add mask field... -E. A. Ranzenbach */ 2 5 2 6 dcl prph_opc_cardp ptr; /* pointer to PRPH OPC card */ 2 7 2 8 dcl 1 prph_opc_card based (prph_opc_cardp) aligned, /* PRPH OPC card declaration */ 2 9 2 word char (4), /* "prph" */ 2 10 2 name char (4), /* "opc" */ 2 11 2 iom fixed bin (3), /* IOM number */ 2 12 2 chan fixed bin (8), /* channel number */ 2 13 2 model fixed bin, /* console model number */ 2 14 2 line_leng fixed bin, /* line length of the console... */ 2 15 2 state char (4), /* "io", "on", "alt", "off" or "inop"... */ 2 16 2 mask char (4), /* "mask" means read_unechoed option is not installed... */ 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 (5) unsigned unaligned; /* number of fields used on card */ 2 23 2 24 /* END INCLUDE FILE ... config_prph_opc_card.incl.pl1 */ 773 774 775 776 prph_opc_cardp = prph_cardp; 777 if icdt.tt ^= "0"b then /* if molts in control */ 778 goto t_err9; 779 780 if state = "on " | state = "alt " then goto t_err21; 781 782 model_index = CONSOLE_MODEL_TO_INDEX_FCN (prph_opc_card.model); 783 if model_index < 0 then goto t_err1; 784 785 io_info.devsct.type_code = CONSOLE_GCOS_TYPE (model_index); 786 787 if CONSOLE_IS_BCD (model_index) then 788 if device ^= 0 then /* device 0 is only legal device code */ 789 goto t_err2; 790 else ; 791 else if device ^= 1 then /* device 1 is only legal device code */ 792 goto t_err2; 793 794 spec_chan = "1"b; /* special channel */ 795 io_info.rcp_name = DEVICE_TYPE (CONSOLE_DTYPEX); /* set rcp designator */ 796 797 end set_opc; 798 799 800 /* set_prt - internal procedure to set type codes for printers */ 801 802 set_prt: proc; 803 3 1 /* BEGIN INCLUDE FILE ... config_prph_prt_card.incl.pl1 ... 11/11/80, W. Olin Sibert */ 3 2 3 3 dcl prph_prt_cardp ptr; /* pointer to PRPH PRTx card */ 3 4 3 5 dcl 1 prph_prt_card based (prph_prt_cardp) aligned, /* PRPH PRTx card declaration */ 3 6 2 word char (4), /* "prph" */ 3 7 2 name char (4), /* "prtX" */ 3 8 2 iom fixed bin (3), /* IOM number */ 3 9 2 chan fixed bin (8), /* channel number */ 3 10 2 model fixed bin, /* printer model number */ 3 11 3 12 2 train fixed bin, /* print train ID */ 3 13 2 line_length fixed bin, /* printer line length */ 3 14 3 15 2 pad (8) bit (36) aligned, /* pad to 15 fields */ 3 16 3 17 2 type_word aligned, 3 18 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 3 19 3 pad1 bit (4) unaligned, 3 20 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 3 21 3 22 /* END INCLUDE FILE ... config_prph_prt_card.incl.pl1 */ 804 805 806 prph_prt_cardp = prph_cardp; 807 if model = 301 then do; /* if prt301 */ 808 if icdt.tt ^= "0"b then /* if Molts in control... */ 809 goto t_err9; /* can't run Itrs or mdrs on com prph */ 810 if device ^= 0 then /* common perp urc equip is device 0 */ 811 goto t_err2; /* error, invalid device */ 812 io_info.devsct.type_code = "25"b3; 813 end; 814 else if model = 1000 | model = 1200 | model = 1600 then /* if pru1200/1600 */ 815 io_info.devsct.type_code = "24"b3; 816 else if model = 500 | model = 501 817 | model = 901 | model = 1201 then do; /* check for pr54 id */ 818 io_info.devsct.type_code = "24"b3; 819 io_info.devsct.cr501_pr54 = "1"b; /* set pr54 flag */ 820 io_info.crcst.volatile = "0"b; /* make it a eurc mpc */ 821 io_info.crcst.mpc = "1"b; /* set mpc flag */ 822 io_info.sct_info.cnt_type = "0010"b; 823 spec_chan = "1"b; /* and it is a special channel */ 824 end; 825 else goto t_err1; /* not supported */ 826 mdr_cat = "print"; /* set mdr catalog suffix */ 827 if model >= 900 then /* if urcmpc device */ 828 if ^ck_urcd () then /* ck device number */ 829 goto t_err2; /* error, invalid device */ 830 io_info.devsct.ptrain = train; /* set print train number */ 831 if line_length = 160 then /* if line length is 160 ... */ 832 io_info.devsct.ll160 = "1"b; /* set it */ 833 printer_info_ptr = device_info_ptr; /* set up rcp info */ 834 printer_info.line_length = line_length; 835 printer_info.print_train = train; /* set print train number */ 836 io_info.rcp_name = DEVICE_TYPE (PRINTER_DTYPEX); 837 838 end set_prt; 839 840 841 /* set_pun - internal procedure to set type codes for card punches */ 842 843 set_pun: proc; 844 4 1 /* BEGIN INCLUDE FILE ... config_prph_pun_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 4 2 4 3 dcl prph_pun_cardp pointer; /* pointer to PRPH card for card punch */ 4 4 4 5 dcl 1 prph_pun_card aligned based (prph_pun_cardp), /* PRPH PUNx card declaration */ 4 6 2 word char (4), /* "prph" */ 4 7 2 name char (4), /* "punX" */ 4 8 2 iom fixed bin (3), /* IOM number */ 4 9 2 chan fixed bin (8), /* Channel number */ 4 10 2 model fixed bin, /* Model number of card punch */ 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 /* END INCLUDE FILE ... config_prph_pun_card.incl.pl1 */ 845 846 847 848 prph_pun_cardp = prph_cardp; 849 if model = 201 then do; 850 if icdt.tt ^= "0"b then /* if Molts in control... */ 851 goto t_err9; /* can't run itrs or mdrs on com prph */ 852 if device ^= 0 then /* common perp urc equip is device 0 */ 853 goto t_err2; /* error, invalid device */ 854 io_info.devsct.type_code = "23"b3; /* set type code */ 855 end; 856 else if model > 201 & ^ck_urcd () then /* ck device number */ 857 goto t_err2; /* error, invalid device */ 858 else if model = 300 | model = 120 | model = 121 then 859 io_info.devsct.type_code = "32"b3; 860 else if model = 301 then 861 io_info.devsct.type_code = "33"b3; 862 else if model = 401 then do; /* if ccu goto ccu proc */ 863 call set_ccu; 864 goto end_sp; 865 end; 866 else goto t_err1; /* not supported */ 867 io_info.rcp_name = DEVICE_TYPE (PUNCH_DTYPEX); /* set rcp designator */ 868 end_sp: end set_pun; 869 870 871 872 /* set_rdr - internal procedure to set type codes for card readers */ 873 874 set_rdr: proc; 875 5 1 /* BEGIN INCLUDE FILE ... config_prph_rdr_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 5 2 5 3 dcl prph_rdr_cardp pointer; /* pointer to PRPH card for card reader */ 5 4 5 5 dcl 1 prph_rdr_card aligned based (prph_rdr_cardp), /* PRPH RDRx card declaration */ 5 6 2 word char (4), /* "prph" */ 5 7 2 name char (4), /* "rdrX" */ 5 8 2 iom fixed bin (3), /* IOM number */ 5 9 2 chan fixed bin (8), /* Channel number */ 5 10 2 model fixed bin, /* Model number of card reader */ 5 11 5 12 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 5 13 5 14 2 type_word aligned, 5 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 5 16 3 pad1 bit (4) unaligned, 5 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 5 18 5 19 /* END INCLUDE FILE ... config_prph_rdr_card.incl.pl1 */ 876 877 878 prph_rdr_cardp = prph_cardp; 879 if model = 201 then do; /* if type 201 reader */ 880 if icdt.tt ^= "0"b then /* if Molts in control... */ 881 goto t_err9; /* can't run itrs or mdrs on com prph */ 882 if device ^= 0 then /* common perp urc equip is device 0 */ 883 goto t_err2; /* error, invalid device */ 884 io_info.devsct.type_code = "21"b3; /* set type code */ 885 if model = 500 | model = 501 then 886 io_info.devsct.cr501_pr54 = "1"b; /* set cr500 flag */ 887 end; 888 if model > 201 /* if urcmpc device */ 889 & ^ck_urcd () then goto t_err2; /* ck device number- error invalid device */ 890 else do; 891 if model = 301 | model = 500 | model = 501 then /* if type 301 or 500/501 */ 892 io_info.devsct.type_code = "34"b3; 893 if model = 401 then /* if ccu goto ccu proc */ 894 call set_ccu; 895 else goto t_err1; /* not supported */ 896 end; 897 io_info.rcp_name = DEVICE_TYPE (READER_DTYPEX); /* set rcp designator */ 898 end set_rdr; 899 900 901 902 /* set_tape - internal procdure to set type codes for tapes */ 903 904 set_tape: proc; 905 906 if MODEL = 500 then io_info.devsct.type_code = "14"b3; 907 else if MODEL = 507 then io_info.devsct.type_code = "13"b3; 908 else if MODEL = 600 then io_info.devsct.type_code = "16"b3; 909 else if MODEL = 610 then io_info.devsct.type_code = "16"b3; 910 else if MODEL = 630 then io_info.devsct.type_code = "16"b3; 911 912 else if io_info.sct_info.cnt_type = "0011"b then /* if fips controler */ 913 io_info.devsct.type_code = "16"b3; /* set type = 16 */ 914 else goto t_err1; 915 916 if MODEL = 610 | MODEL = 630 then io_info.crcst.mtp610 = "1"b; 917 io_info.devsct.den_cap = "0100"b; /* set for nrzi, and 1600 for now */ 918 if icdt.tt = "51"b3 then /* if running mdrs */ 919 920 io_info.cat_name = "mdr.tape"; /* set mdr catalog name */ 921 if icdt.tt = "23"b3 /* if running ITRs */ 922 | (icdt.tt = "51"b3 & ^io_info.p2_att) then /* if running MDRs & the first attachment */ 923 io_info.rcp_name = DEVICE_TYPE (SPECIAL_DTYPEX); /* set "special" designator */ 924 else do; /* other wise set up specific info */ 925 tape_info_ptr = device_info_ptr; /* set structure ptr */ 926 tape_info.version_num = tape_info_version_2; /* set version 2 for tapes */ 927 io_info.rcp_name = DEVICE_TYPE (TAPE_DRIVE_DTYPEX); 928 tape_info.write_flag = "1"b; 929 if icdt.u_opt = "64"b3 then /* if unload option in force... */ 930 tape_info.volume_name = "T&D_Volume"; /* set special volume name */ 931 else tape_info.volume_name = "scratch"; /* no, let opr load and authenticate mount */ 932 tape_info.device_name = dname; 933 tape_info.model = MODEL; 934 if MODEL = 507 then tape_info.tracks = 7; 935 else tape_info.tracks = 9; 936 io_info.lostit_time = 64000 * 180; /* 3 min lostit time on tapes */ 937 end; 938 939 end set_tape; 940 941 6 1 /* BEGIN INCLUDE FILE ... console_device_specs.incl.pl1 ... 7/15/81, MRJ */ 6 2 6 3 /* 6 4* 6 5* The following array defines supported console device model numbers. 6 6* Once the index to this array is known it is then used to get the 6 7* 'console model index' from the next array. 6 8* 6 9**/ 6 10 6 11 6 12 dcl CONSOLE_MODEL_NUMBER (8) fixed bin static options (constant) 6 13 init (8030, 8031, 6001, 6002, 6004, 6005, 6601, 6000); 6 14 /* ibm ibm emc scc emc scc lcc scc */ 6 15 6 16 6 17 /* 6 18* 6 19* 6 20* The following array is used to get the 'console model index' that is used 6 21* throughout the system to identify which console type is being supported. 6 22* 6 23* 6 24**/ 6 25 6 26 6 27 dcl CONSOLE_MODEL_INDEX (8) fixed bin static options (constant) 6 28 init (1, 1, 2, 3, 2, 3, 4, 3); 6 29 6 30 6 31 /* 6 32* 6 33* The following array is indexed by the 'console model index' to determine if 6 34* the device is only cabable of BCD support (no ASCII support). 6 35* 6 36**/ 6 37 6 38 6 39 dcl CONSOLE_IS_BCD (4) bit (1) static options (constant) 6 40 init ((1)(1)"1"b, (3)(1)"0"b); 6 41 6 42 6 43 /* 6 44* 6 45* The following array is indexed by the 'console model index' to determine 6 46* if prompting is required by default. This is true for those consoles where 6 47* there is no 'input' light. 6 48* 6 49**/ 6 50 6 51 6 52 dcl CONSOLE_PROMPT_BY_DEFAULT (4) bit (1) static options (constant) 6 53 init ((3)(1)"0"b, (1)(1)"1"b); 6 54 6 55 6 56 /* 6 57* 6 58* The following array gives the GCOS device type for the specified 'console 6 59* model index'. 6 60* 6 61**/ 6 62 6 63 6 64 dcl CONSOLE_GCOS_TYPE (4) bit (6) static options (constant) 6 65 init ("30"b3, "31"b3, "31"b3, "31"b3); 6 66 6 67 6 68 /* END INCLUDE FILE ... console_device_specs.incl.pl1 */ 942 943 7 1 /* Begin include file config_data_dcls.incl.pl1 BIM 9/82 */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 7 5* audit(86-01-17,CLJones), install(86-03-21,MR12.0-1033): 7 6* Add changes made to 7 7* config_data_.cds. 7 8* 2) change(86-10-21,Fawcett), approve(86-10-21,PBF7381), 7 9* audit(86-10-23,Farley), install(86-10-28,MR12.0-1200): 7 10* Corrected the number of tape drive models supported. 7 11* END HISTORY COMMENTS */ 7 12 7 13 /* format: style3 */ 7 14 /* Modified 830523 to add console io_type and line_leng fields for different 7 15* operator's consoles and to fix a size bug... -E. A. Ranzenbach */ 7 16 /* Modified 841101 by Paul Farley to add changes made to config_data_.cds */ 7 17 7 18 /* WARNING WARNING */ 7 19 7 20 /* Due to the awful PL/I restriction that prohibits any expressions */ 7 21 /* in external variable extents, the arrays here have integers for */ 7 22 /* extents. Changes to config_data_.cds should be reflected here, */ 7 23 /* Because the declares in config_data_.cds use the "like" attribute. */ 7 24 /* Just in case, though, do NOT use hbound. Use the .count fields */ 7 25 /* in the structures instead. */ 7 26 7 27 declare config_data_$chnl_cardx 7 28 fixed binary external static; 7 29 declare config_data_$clok_cardx 7 30 fixed binary external static; 7 31 declare config_data_$cpu_cardx 7 32 fixed binary external static; 7 33 declare config_data_$fnp_cardx 7 34 fixed binary external static; 7 35 declare config_data_$intk_cardx 7 36 fixed binary external static; 7 37 declare config_data_$iom_cardx 7 38 fixed binary external static; 7 39 declare config_data_$mem_cardx 7 40 fixed binary external static; 7 41 declare config_data_$mpc_msp_cardx 7 42 fixed binary external static; 7 43 declare config_data_$mpc_mtp_cardx 7 44 fixed binary external static; 7 45 declare config_data_$ipc_fips_cardx 7 46 fixed binary external static; 7 47 declare config_data_$mpc_urp_cardx 7 48 fixed binary external static; 7 49 declare config_data_$mpc_cardx 7 50 fixed binary external static; 7 51 declare config_data_$mpcs_msp_cardx 7 52 fixed binary external static; 7 53 declare config_data_$mpcs_mtp_cardx 7 54 fixed binary external static; 7 55 declare config_data_$mpcs_urp_cardx 7 56 fixed binary external static; 7 57 declare config_data_$mpcs_cardx 7 58 fixed binary external static; 7 59 declare config_data_$parm_cardx 7 60 fixed binary external static; 7 61 declare config_data_$part_cardx 7 62 fixed binary external static; 7 63 declare config_data_$prph_dsk_cardx 7 64 fixed binary external static; 7 65 declare config_data_$prph_prt_cardx 7 66 fixed binary external static; 7 67 declare config_data_$prph_rdr_cardx 7 68 fixed binary external static; 7 69 declare config_data_$prph_pun_cardx 7 70 fixed binary external static; 7 71 declare config_data_$prph_ccu_cardx 7 72 fixed binary external static; 7 73 declare config_data_$prph_tap_cardx 7 74 fixed binary external static; 7 75 declare config_data_$prph_opc_cardx 7 76 fixed binary external static; 7 77 declare config_data_$prph_cardx 7 78 fixed binary external static; 7 79 declare config_data_$root_cardx 7 80 fixed binary external static; 7 81 declare config_data_$salv_cardx 7 82 fixed binary external static; 7 83 declare config_data_$schd_cardx 7 84 fixed binary external static; 7 85 declare config_data_$sst_cardx 7 86 fixed binary external static; 7 87 declare config_data_$stok_cardx 7 88 fixed binary external static; 7 89 declare config_data_$tbls_cardx 7 90 fixed binary external static; 7 91 declare config_data_$udsk_cardx 7 92 fixed binary external static; 7 93 7 94 declare 1 config_data_$config_cards 7 95 aligned external static, 7 96 2 count fixed binary, 7 97 2 per_card (32) aligned, 7 98 3 name char (4) aligned, 7 99 3 second_field char (4) aligned, 7 100 3 flags aligned, 7 101 4 match_second bit (1) unaligned, /* PRPH FOO */ 7 102 4 match_only_3 bit (1) unaligned; /* XXXn type */ 7 103 7 104 declare 1 config_data_$mpc_msp_model_names 7 105 aligned external static, 7 106 2 count fixed binary, 7 107 2 names (9) aligned, 7 108 3 model fixed binary, 7 109 3 name character (8), 7 110 3 fw_tag character (16), 7 111 3 valid_drives (16) fixed binary unaligned; 7 112 7 113 declare 1 config_data_$mpc_mtp_model_names 7 114 aligned external static, 7 115 2 count fixed binary, 7 116 2 names (7) aligned, 7 117 3 model fixed binary, 7 118 3 name character (8), 7 119 3 fw_tag character (16), 7 120 3 valid_drives (16) fixed binary unaligned; 7 121 7 122 declare 1 config_data_$mpc_urp_model_names 7 123 aligned external static, 7 124 2 count fixed binary, 7 125 2 names (6) aligned, 7 126 3 model fixed binary, 7 127 3 name character (8), 7 128 3 fw_tag character (16); /* "EURC" for EURC */ 7 129 7 130 declare 1 config_data_$ipc_msp_model_names 7 131 aligned external static, 7 132 2 count fixed binary, 7 133 2 names (1) aligned, 7 134 3 model fixed binary, 7 135 3 name character (8), 7 136 3 fw_tag character (16), 7 137 3 valid_drives (16) fixed binary unaligned; 7 138 7 139 declare 1 config_data_$ipc_mtp_model_names 7 140 aligned external static, 7 141 2 count fixed binary, 7 142 2 names (1) aligned, 7 143 3 model fixed binary, 7 144 3 name character (8), 7 145 3 fw_tag character (16), 7 146 3 valid_drives (16) fixed binary unaligned; 7 147 7 148 declare 1 config_data_$disk_drive_model_names 7 149 aligned external static, 7 150 2 count fixed binary, 7 151 2 names (5) aligned, 7 152 3 model fixed binary, 7 153 3 name character (8), 7 154 3 device_0_valid bit (1); 7 155 7 156 declare 1 config_data_$tape_drive_model_names 7 157 aligned external static, 7 158 2 count fixed binary, 7 159 2 names (9) aligned, 7 160 3 model fixed binary, 7 161 3 name character (8), 7 162 3 device_0_valid bit (1); 7 163 7 164 declare 1 config_data_$printer_model_names 7 165 aligned external static, 7 166 2 count fixed binary, 7 167 2 names (5) aligned, 7 168 3 model fixed binary, 7 169 3 name character (8); 7 170 7 171 declare 1 config_data_$reader_model_names 7 172 aligned external static, 7 173 2 count fixed binary, 7 174 2 names (4) aligned, 7 175 3 model fixed binary, 7 176 3 name character (8); 7 177 7 178 declare 1 config_data_$ccu_model_names 7 179 aligned external static, 7 180 2 count fixed binary, 7 181 2 names (1) aligned, 7 182 3 model fixed binary, 7 183 3 name character (8); 7 184 7 185 declare 1 config_data_$punch_model_names 7 186 aligned external static, 7 187 2 count fixed binary, 7 188 2 names (3) aligned, 7 189 3 model fixed binary, 7 190 3 name character (8); 7 191 7 192 declare 1 config_data_$console_model_names 7 193 aligned external static, 7 194 2 count fixed binary, 7 195 2 names (3) aligned, 7 196 3 model fixed binary, 7 197 3 name character (8), 7 198 3 line_leng fixed bin (17), 7 199 3 io_type character (4); 7 200 7 201 /* End include file config_data_dcls.incl.pl1 */ 944 945 8 1 /* BEGIN INCLUDE FILE ... config_chnl_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 8 2 8 3 dcl chnl_cardp ptr; /* Pointer to a CHNL card. */ 8 4 8 5 dcl 1 chnl_card based (chnl_cardp) aligned, /* CHNL card declaration */ 8 6 2 word char (4), /* "chnl" */ 8 7 2 name char (4), /* subsystem name */ 8 8 2 group (3), /* Channel groups for this subsystem -- 9 fields total */ 8 9 3 iom fixed bin (3), /* IOM number */ 8 10 3 chan fixed bin (8), /* channel number */ 8 11 3 nchan fixed bin, /* number of channels */ 8 12 8 13 2 pad (4) bit (36) aligned, /* pad to 15 fields */ 8 14 8 15 2 type_word aligned, 8 16 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 8 17 3 pad1 bit (4) unaligned, 8 18 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 8 19 8 20 dcl 1 chnl_card_array aligned based (chnl_cardp), /* Overlay for channel group array */ 8 21 2 pad1 (2) bit (36) aligned, 8 22 2 group (min (3, divide (max (0, (chnl_card.n_fields - 1)), 3, 17, 0))), 8 23 3 iom fixed bin (3), /* IOM number */ 8 24 3 chan fixed bin (8), /* Channel number. */ 8 25 3 nchan fixed bin; /* Number of logical channels on this channel. */ 8 26 8 27 dcl CHNL_CARD_WORD char (4) aligned internal static options (constant) init ("chnl"); 8 28 8 29 /* END INCLUDE FILE ... config_chnl_card.incl.pl1 */ 946 947 9 1 /* BEGIN INCLUDE FILE ... config_iom_card.incl.pl1 ... 11/37/80 W. Olin Sibert */ 9 2 9 3 dcl iom_cardp pointer; /* pointer to IOM card */ 9 4 9 5 dcl 1 iom_card aligned based (iom_cardp), /* IOM card declaration */ 9 6 2 word char (4), /* "iom" */ 9 7 2 tag fixed bin (3), /* One more than IOM tag set in maintenance panel switches */ 9 8 2 port fixed bin (3), /* Controller port to which IOM is connected */ 9 9 2 model char (4), /* IOM model number: "iomb", "nsa", "iioc" */ 9 10 2 state char (4), /* State: "on" or "off" */ 9 11 9 12 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 9 13 9 14 2 type_word aligned, 9 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 9 16 3 pad1 bit (4) unaligned, 9 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 9 18 9 19 dcl IOM_CARD_WORD char (4) aligned internal static options (constant) init ("iom"); 9 20 9 21 /* END INCLUDE FILE ... config_iom_card.incl.pl1 */ 948 949 10 1 /* BEGIN INCLUDE FILE ... config_ipc_card.incl.pl1 ... */ 10 2 /****^ HISTORY COMMENTS: 10 3* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 10 4* audit(86-03-08,CLJones), install(86-03-21,MR12.0-1033): 10 5* Create IPC card. 10 6* END HISTORY COMMENTS */ 10 7 10 8 /* format: style4,delnl,insnl,indattr,ifthen,declareind10,dclind10 */ 10 9 10 10 dcl ipc_cardp ptr; /* card pointer */ 10 11 10 12 dcl 1 ipc_card aligned based (ipc_cardp), 10 13 2 word char (4), /* "ipc" */ 10 14 2 type char (4), /* Type of this IPC - e.g., "fips" */ 10 15 2 iom fixed bin (3), /* IOM number */ 10 16 2 chan fixed bin (8), /* Channel number. */ 10 17 2 nchan fixed bin, /* Number of logical channels on this channel. */ 10 18 2 pad (10) bit (36) aligned, /* Pad to 15 fields */ 10 19 2 type_word aligned, 10 20 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 10 21 3 pad1 bit (4) unaligned, 10 22 3 n_fields fixed bin (4) unsigned unaligned; 10 23 /* number of fields used on card */ 10 24 10 25 dcl IPC_CARD_WORD char (4) aligned internal static options (constant) init ("ipc"); 10 26 dcl IPC_FIPS char (4) aligned internal static options (constant) init ("fips"); 10 27 10 28 /* END INCLUDE FILE ... config_ipc_card.incl.pl1 */ 950 951 11 1 /* BEGIN INCLUDE FILE ... config_mpc_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 11 2 11 3 dcl mpc_cardp ptr; /* Pointer to an MPC card. */ 11 4 11 5 dcl 1 mpc_card aligned based (mpc_cardp), 11 6 2 word char (4), /* "mpc" */ 11 7 2 name char (4), /* Name of this MPC - e.g., "mspa" */ 11 8 2 model fixed bin, /* Model of this MPC - e.g., 601. */ 11 9 2 port (4), /* Per port information. 12 fields total */ 11 10 3 iom fixed bin (3), /* IOM number */ 11 11 3 chan fixed bin (8), /* Channel number. */ 11 12 3 nchan fixed bin, /* Number of logical channels on this channel. */ 11 13 11 14 2 type_word aligned, 11 15 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 11 16 3 pad1 bit (4) unaligned, 11 17 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 11 18 11 19 dcl 1 mpc_card_array aligned based (mpc_cardp), /* Overlay for MPC port array */ 11 20 2 pad1 (3) bit (36) aligned, 11 21 2 port (divide (max (0, (mpc_card.n_fields - 2)), 3, 17, 0)), 11 22 3 iom fixed bin (3), /* IOM number */ 11 23 3 chan fixed bin (8), /* Channel number. */ 11 24 3 nchan fixed bin; /* Number of logical channels on this channel. */ 11 25 11 26 dcl MPC_CARD_WORD char (4) aligned internal static options (constant) init ("mpc"); 11 27 11 28 /* END INCLUDE FILE ... config_mpc_card.incl.pl1 */ 952 953 12 1 /* BEGIN INCLUDE FILE ... config_prph_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 12 2 12 3 dcl prph_cardp ptr; /* Pointer to a PRPH card. */ 12 4 12 5 dcl 1 prph_card based (prph_cardp) aligned, /* PRPH card declaration */ 12 6 2 word char (4), /* "prph" */ 12 7 2 name char (4), /* subsystem name */ 12 8 2 iom fixed bin (3), /* IOM number */ 12 9 2 chan fixed bin (8), /* channel number */ 12 10 2 model fixed bin, /* model number */ 12 11 2 state char (4), /* ON/OFF state */ 12 12 2 pad (9) 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 PRPH_CARD_WORD char (4) aligned internal static options (constant) init ("prph"); 12 20 12 21 /* END INCLUDE FILE ... config_prph_card.incl.pl1 */ 954 955 13 1 /* BEGIN INCLUDE FILE ... config_prph_dsk_card.incl.pl1 ... 11/27/80 W. Olin Sibert */ 13 2 13 3 dcl prph_dsk_cardp ptr; /* Pointer to a PRPH DSKx card. */ 13 4 13 5 dcl 1 prph_dsk_card based (prph_dsk_cardp) aligned, /* PRPH DSKx card declaration */ 13 6 2 word char (4), /* "prph" */ 13 7 2 name char (4), /* "dskX" */ 13 8 2 iom fixed bin (3), /* IOM number */ 13 9 2 chan fixed bin (8), /* channel number */ 13 10 2 nchan fixed bin, /* number of channels */ 13 11 13 12 2 group (5), 13 13 3 model fixed bin, /* model number */ 13 14 3 ndrives fixed bin, /* number of drives */ 13 15 13 16 2 type_word aligned, 13 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 13 18 3 pad1 bit (4) unaligned, 13 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 13 20 13 21 dcl 1 prph_dsk_card_array aligned based (prph_dsk_cardp), /* Overlay for drive group array */ 13 22 2 pad1 (5) bit (36) aligned, 13 23 2 group (divide (max (0, (prph_dsk_card.n_fields - 4)), 2, 17, 0)), 13 24 3 model fixed bin, /* model number */ 13 25 3 ndrives fixed bin; /* number of drives */ 13 26 13 27 /* END INCLUDE FILE ... config_prph_dsk_card.incl.pl1 */ 956 957 14 1 /* BEGIN INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 14 2 14 3 dcl prph_tap_cardp ptr; /* Pointer to a PRPH TAPx card. */ 14 4 14 5 dcl 1 prph_tap_card based (prph_tap_cardp) aligned, /* PRPH TAPx card declaration */ 14 6 2 word char (4), /* "prph" */ 14 7 2 name char (4), /* "tapX" */ 14 8 2 iom fixed bin (3), /* IOM number */ 14 9 2 chan fixed bin (8), /* channel number */ 14 10 2 nchan fixed bin, /* number of channels */ 14 11 14 12 2 group (5), 14 13 3 model fixed bin, /* model number */ 14 14 3 ndrives fixed bin, /* number of drives */ 14 15 14 16 2 type_word aligned, 14 17 3 field_type (14) bit (2) unaligned, /* type of each field; see config_deck.incl.pl1 */ 14 18 3 pad1 bit (4) unaligned, 14 19 3 n_fields fixed bin (4) unsigned unaligned; /* number of fields used on card */ 14 20 14 21 dcl 1 prph_tap_card_array aligned based (prph_tap_cardp), /* Overlay for drive group array */ 14 22 2 pad1 (5) bit (36) aligned, 14 23 2 group (divide (max (0, (prph_tap_card.n_fields - 4)), 2, 17, 0)), 14 24 3 model fixed bin, /* model number */ 14 25 3 ndrives fixed bin; /* number of drives */ 14 26 14 27 /* END INCLUDE FILE ... config_prph_tap_card.incl.pl1 */ 958 959 15 1 /* Begin include file rcp_device_info.incl.pl1 15 2** 15 3** Created on 01/08/75 by Bill Silver. 15 4** This include file defines the RCP device info structure for a general device. 15 5**/ 15 6 15 7 15 8 /****^ HISTORY COMMENTS: 15 9* 1) change(86-06-04,Hartogs), approve(86-06-04,MCR7383), 15 10* audit(86-06-05,Coppola), install(86-07-18,MR12.0-1098): 15 11* Added DEVICE_INFO_VERSION_1 constant. 15 12* END HISTORY COMMENTS */ 15 13 15 14 15 15 dcl device_info_ptr ptr; /* Pointer to general device info structure. */ 15 16 15 17 dcl 1 device_info based(device_info_ptr) aligned, /* RCP device info structure for any device. */ 15 18 2 version_num fixed bin, /* Version number of this structure. */ 15 19 2 usage_time fixed bin, /* Number of minutes device will/may be used. */ 15 20 2 wait_time fixed bin, /* Number of minutes user will/must wait. */ 15 21 2 system_flag bit(1), /* ON => user wants to be a system process. */ 15 22 2 device_name char(8), /* Device name. */ 15 23 2 model fixed bin, /* Device model number. */ 15 24 2 qualifiers(4) fixed bin(35); /* Qualifying characteristics. */ 15 25 15 26 dcl DEVICE_INFO_VERSION_1 fixed bin int static options (constant) init (1); 15 27 15 28 /* End of include file ... rcp_device_info.incl.pl1 */ 960 961 16 1 /* Begin include file rcp_disk_info.incl.pl1 16 2** 16 3** Created on 03/31/74 by Bill Silver. 16 4** This include file defines the RCP device info structure for disks. 16 5**/ 16 6 16 7 16 8 16 9 16 10 /****^ HISTORY COMMENTS: 16 11* 1) change(86-06-03,Hartogs), approve(86-06-03,MCR7383), 16 12* audit(86-06-06,GWMay), install(86-07-18,MR12.0-1098): 16 13* Added DISK_INFO_VERSION_1 constant. 16 14* END HISTORY COMMENTS */ 16 15 16 16 16 17 dcl disk_info_ptr ptr; /* Pointer to disk device info structure. */ 16 18 16 19 dcl 1 disk_info based(disk_info_ptr) aligned, /* RCP device info structure for disks. */ 16 20 2 version_num fixed bin, /* Version number of this structure. */ 16 21 2 usage_time fixed bin, /* Number of minutes drive will/may be used. */ 16 22 2 wait_time fixed bin, /* Number of minutes user will/must wait. */ 16 23 2 system_flag bit(1), /* ON => user wants to be a system process. */ 16 24 2 device_name char(8), /* Disk drive name. */ 16 25 2 model fixed bin, /* Disk drive model number. */ 16 26 2 volume_name char(32), /* Disk pack name. */ 16 27 2 write_flag bit(1); /* ON => writing on disk pack. */ 16 28 16 29 dcl DISK_INFO_VERSION_1 fixed bin int static options (constant) init (1); 16 30 16 31 /* End of include file ... rcp_disk_info.incl.pl1 */ 962 963 17 1 /* Begin include file rcp_printer_info.incl.pl1 17 2** 17 3** Created on 01/08/75 by Bill Silver. 17 4** This include file defines the RCP device info structure for printers. 17 5**/ 17 6 17 7 17 8 /****^ HISTORY COMMENTS: 17 9* 1) change(86-06-04,Hartogs), approve(86-06-04,MCR7383), 17 10* audit(86-06-05,Coppola), install(86-07-18,MR12.0-1098): 17 11* Added version constant PRINTER_INFO_VERSION_1. 17 12* END HISTORY COMMENTS */ 17 13 17 14 17 15 dcl printer_info_ptr ptr; /* Pointer to printer device info structure. */ 17 16 17 17 dcl 1 printer_info based(printer_info_ptr) aligned, /* RCP device info structure for printers. */ 17 18 2 version_num fixed bin, /* Version number of this structure. */ 17 19 2 usage_time fixed bin, /* Number of minutes printer will/may be used. */ 17 20 2 wait_time fixed bin, /* Number of minutes user will/must wait. */ 17 21 2 system_flag bit(1), /* ON => user wants to be a system process. */ 17 22 2 device_name char(8), /* Printer name. */ 17 23 2 model fixed bin, /* Printer model number. */ 17 24 2 print_train fixed bin, /* Print train type. */ 17 25 2 line_length fixed bin; /* Printer line length. -1 => not specified. */ 17 26 17 27 dcl PRINTER_INFO_VERSION_1 fixed bin int static options (constant) init (1); 17 28 17 29 /* End of include file ... rcp_printer_info.incl.pl1 */ 964 965 18 1 /* Begin include file ... rcp_resource_types.incl.pl1 18 2* * 18 3* * Created 3/79 by Michael R. Jordan for MR7.0R 18 4* * 18 5* * This include file defines the official RCP resource types. 18 6* * The array of names is indexed by the corresponding device type. 18 7* * MOD by RAF for MCA 18 8**/ 18 9 18 10 18 11 18 12 /****^ HISTORY COMMENTS: 18 13* 1) change(85-09-09,Fawcett), approve(85-09-09,MCR6979), 18 14* audit(85-12-09,CLJones), install(86-03-21,MR12.0-1033): 18 15* Support of MCA. 18 16* END HISTORY COMMENTS */ 18 17 18 18 dcl DEVICE_TYPE (8) char (32) 18 19 internal static options (constant) 18 20 init ("tape_drive", "disk_drive", "console", "printer", "punch", "reader", "special", "mca"); 18 21 18 22 dcl NUM_QUALIFIERS (8) fixed bin /* Number of qualifiers for each device type. */ 18 23 internal static init (3, 0, 0, 2, 0, 0, 0, 0); 18 24 18 25 dcl VOLUME_TYPE (8) char (32) 18 26 internal static options (constant) 18 27 init ("tape_vol", "disk_vol", "", "", "", "", "", ""); 18 28 18 29 dcl TAPE_DRIVE_DTYPEX fixed bin static internal options (constant) init (1); 18 30 dcl DISK_DRIVE_DTYPEX fixed bin static internal options (constant) init (2); 18 31 dcl CONSOLE_DTYPEX fixed bin static internal options (constant) init (3); 18 32 dcl PRINTER_DTYPEX fixed bin static internal options (constant) init (4); 18 33 dcl PUNCH_DTYPEX fixed bin static internal options (constant) init (5); 18 34 dcl READER_DTYPEX fixed bin static internal options (constant) init (6); 18 35 dcl SPECIAL_DTYPEX fixed bin static internal options (constant) init (7); 18 36 dcl MCA_DTYPEX fixed bin static internal options (constant) init (8); 18 37 dcl TAPE_VOL_VTYPEX fixed bin static internal options (constant) init (1); 18 38 dcl DISK_VOL_VTYPEX fixed bin static internal options (constant) init (2); 18 39 18 40 18 41 /* End include file ... rcp_resource_types.incl.pl1 */ 966 967 19 1 /* Begin include file rcp_tape_info.incl.pl1 19 2* * 19 3* * Created on 12/16/74 by Bill Silver. 19 4* * Modified on 11/17/78 by Michael R. Jordan to add speed qualifier. 19 5* * Modified on 09/30/82 by J. A. Bush for version 3 structure info 19 6* * This include file defines the RCP device info structure for tapes. 19 7**/ 19 8 /* format: style4 */ 19 9 19 10 dcl tape_info_ptr ptr; /* Pointer to tape device info structure. */ 19 11 19 12 dcl tape_info_version_2 fixed bin internal static options (constant) init (2); 19 13 dcl tape_info_version_3 fixed bin internal static options (constant) init (3); 19 14 19 15 dcl 1 tape_info based (tape_info_ptr) aligned, /* RCP device info structure for tapes. */ 19 16 2 version_num fixed bin, /* Version number of this structure. */ 19 17 2 usage_time fixed bin, /* Number of minutes drive will/may be used. */ 19 18 2 wait_time fixed bin, /* Number of minutes user will/must wait. */ 19 19 2 system_flag bit (1), /* ON => user wants to be a system process. */ 19 20 2 device_name char (8), /* Tape drive name. */ 19 21 2 model fixed bin, /* Tape drive model number. */ 19 22 2 tracks fixed bin, /* Track type, 7 or 9. */ 19 23 2 density bit (36), /* Density capability: 200, 556, 800, 1600, 6250. */ 19 24 2 speed bit (36), /* Speed: 75, 125, 200. */ 19 25 2 unused_qualifier bit (36), /* Unused qualifier (must be "0"b). */ 19 26 2 volume_name char (32), /* Tape reel name. */ 19 27 2 write_flag bit (1), /* ON => writing on tape reel. */ 19 28 2 position_index fixed bin (35), /* Counter used to determine tape reel position. */ 19 29 19 30 /* Limit of version 2 structure, info below returned if version 3 or greater */ 19 31 19 32 2 volume_type fixed bin, /* Use rcp_volume_formats.incl.pl1 for decodes */ 19 33 2 volume_density fixed bin, /* 1 - 5 = 200, 556, 800, 1600, or 6250 BPI */ 19 34 2 opr_auth bit (1); /* "1"b => Operator Authentication was required */ 19 35 19 36 /* End of include file ... rcp_tape_info.incl.pl1 */ 968 969 20 1 20 2 /* BEGIN INCLUDE FILE tolts_err_codes.incl.pl1 */ 20 3 20 4 dcl (iv_iom init (0), /* invalid IOM number */ 20 5 ch_not_ass init (1), /* channel not assignable */ 20 6 iv_dev init (2), /* invalid device number */ 20 7 mlt_act init (3), /* Molts active on this mpc (gcos only) */ 20 8 ptrain init (4), /* enter "ptrain" verb and retry (gcos only) */ 20 9 uns_rdr init (5), /* can't unspec reader (gcos only) */ 20 10 os_deny init (6), /* Operating system denies test request */ 20 11 rem_sp_pri init (7), /* can't test removable spindle */ 20 12 rem_sp_sec init (8), /* can't test removable spindle on alt dev */ 20 13 not_psia init (9), /* not a PSIA channel */ 20 14 not_boot_psia init (10), /* not a bootable psia channel */ 20 15 not_log_0 init (11), /* not logical channel 0 of mpc */ 20 16 not_sec_mpc init (12), /* not a secondary mpc */ 20 17 plt_act init (13), /* polts active on mpc (gcos only) */ 20 18 gc_files init (14), /* gcos files on mpc (gcos only) */ 20 19 no_sv_file init (15), /* no file space for sv file (gcos only) */ 20 20 no_pat init (16), /* no pat space for sv file (gcos only) */ 20 21 mem_test init (17), /* memory already in test */ 20 22 mem_not_rel init (18), /* memory not released */ 20 23 split_rlsec init (19), /* can't split rlsec table (gcos only) */ 20 24 no_s2_test init (20), /* can't test the S2 (gcos only) */ 20 25 dev_busy init (21), /* device busy */ 20 26 alt_dev_busy init (22), /* alternate device busy */ 20 27 inv_tt init (23), /* invalid test type */ 20 28 m_iv_iom init (24) /* Multics invalid IOM number */ 20 29 ) fixed bin (18) unsigned int static options (constant); 20 30 20 31 /* END INCLUDE FILE tolts_err_codes.incl.pl1 */ 20 32 970 971 21 1 /* BEGIN INCLUDE FILE tolts_info.incl.pl1 */ 21 2 21 3 21 4 21 5 21 6 21 7 21 8 21 9 /****^ HISTORY COMMENTS: 21 10* 1) change(80-03-24,Fakoury), approve(), audit(86-11-25,Martinson), 21 11* install(86-12-04,MR12.0-1235): 21 12* to add second sct for 500/501 MTAR 21 13* 2) change(80-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 14* install(86-12-04,MR12.0-1235): 21 15* to init rcp_area and alt_rcp_area to 0. 21 16* 3) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 17* install(86-12-04,MR12.0-1235): 21 18* to add new statements for colts. 21 19* 4) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 20* install(86-12-04,MR12.0-1235): 21 21* to increase the dcw_list size. 21 22* 5) change(82-04-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 23* install(86-12-04,MR12.0-1235): 21 24* to add crcst and redefine devsct. 21 25* 6) change(82-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 26* install(86-12-04,MR12.0-1235): 21 27* to increase the console buffer size for mtar. 21 28* 7) change(82-11-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 29* install(86-12-04,MR12.0-1235): 21 30* for 128chan support. 21 31* 8) change(83-07-01,Fakoury), approve(), audit(86-11-25,Martinson), 21 32* install(86-12-04,MR12.0-1235): 21 33* to increase the dcw_list size for mtar perm file track repair. 21 34* 9) change(84-04-10,Fakoury), approve(86-08-21,MCR7514), 21 35* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 21 36* to add sct_info needed to support the DAU & DIPPER. 21 37* 10) change(85-02-21,Fakoury), approve(86-08-21,MCR7514), 21 38* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 21 39* 2/85 to support test nio request. 21 40* 11) change(85-04-01,Fakoury), approve(86-08-21,MCR7514), 21 41* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 21 42* for extended status store. 21 43* 12) change(85-12-21,Fakoury), approve(86-08-21,MCR7514), 21 44* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 21 45* for Colts Responder changes. 21 46* 13) change(86-02-01,Fakoury), approve(86-08-20,MCR7514), 21 47* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 21 48* implement the test nio request. 21 49* support of a Colts responder test request. 21 50* END HISTORY COMMENTS */ 21 51 21 52 21 53 21 54 21 55 21 56 21 57 /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 21 58 21 59 dcl polt_io_type fixed bin int static options (constant) init (0); 21 60 dcl itr_io_type fixed bin int static options (constant) init (1); 21 61 dcl mdr_io_type fixed bin int static options (constant) init (2); 21 62 dcl mtar_io_type fixed bin int static options (constant) init (3); 21 63 dcl firm_ld_io_type fixed bin int static options (constant) init (4); 21 64 dcl mtc_io_type fixed bin int static options (constant) init (5); 21 65 dcl mtg_io_type fixed bin int static options (constant) init (6); 21 66 dcl mdc_io_type fixed bin int static options (constant) init (7); 21 67 dcl mhp_io_type fixed bin int static options (constant) init (8); 21 68 dcl mca_io_type fixed bin int static options (constant) init (9); 21 69 dcl rspd_io_type fixed bin int static options (constant) init (10); 21 70 21 71 dcl tolts_infop ptr external static; /* ext static ptr to tolts_info structure */ 21 72 dcl colts_info_ptr ptr; /* ptr to individual test page data */ 21 73 dcl io_info_ptr ptr; /* ptr to individual test page data */ 21 74 dcl dmap ptr; /* pointer to dial_manager_arg */ 21 75 dcl 1 tolts_info based (tolts_infop) aligned, /* data structure used for tolts routines */ 21 76 2 cdtptr ptr, 21 77 2 df_iocbp ptr, /* deckfile iocb ptr */ 21 78 2 dm_event fixed bin (71), /* dial_manager event_channel */ 21 79 2 exec char (4), /* executive name (polt, molt, colt etc) */ 21 80 2 exec_dta_cnt fixed bin, /* inter slave request count */ 21 81 2 exec_page_count fixed bin, /* number of test pages active */ 21 82 2 exec_term_io_wait bit (1), /* waiting for io to complete for exec termination */ 21 83 2 execp ptr, /* ptr to slave polt or molt segment */ 21 84 2 file_attach bit (1), /* = "1"b if print file attached */ 21 85 2 file_open bit (1), /* = "1"b if print file open */ 21 86 2 finish_cond bit (1), /* = "1"b if finish condition has been signaled */ 21 87 2 first_request_done bit (1), /* first terminal io request complete */ 21 88 2 gc_date bit (36), /* gcos 6 char bcd date (set at init time, updated at rollover) */ 21 89 2 gewake_active bit (1), /* = "1"b if gewake alarm timer is active */ 21 90 2 gewake_event fixed bin (71), /* gewake alarm timer event channel id */ 21 91 2 glob_int_cnt fixed bin, /* total number of outstanding test IOs */ 21 92 2 hdir char (168), /* users home directory pathname */ 21 93 2 init_time fixed bin (71), /* gcos time of executive initialize (mme poinit) */ 21 94 2 max_to fixed bin (71), /* max ioi timeout ( from rcp_$check_attach) */ 21 95 2 max_wks_sz fixed bin (19), /* max ioi wkspace size (from rcp_$check_attach) */ 21 96 2 micro_time fixed bin (71), /* time at midnight in usecs. (set at init time, updated at rollover */ 21 97 2 optflag fixed bin, /* option request flag */ 21 98 2 padx (2) fixed bin, /* reserved area */ 21 99 2 pf_iocbp ptr, /* print file iocb ptr */ 21 100 2 pf_name char (32), /* seg name of print file */ 21 101 2 process bit (36), /* T & D users process id */ 21 102 2 quith_event fixed bin (71), /* quit handler event call channel id */ 21 103 2 special_fault bit (1), /* error on reconnect after special int */ 21 104 2 term_io_in_prog bit (1), /* terminal io in progress */ 21 105 2 term_io_req_cnt fixed bin, /* outstanding terminal io requests */ 21 106 2 tty_ccc_event fixed bin (71), /* term io courtesy call event call channel id */ 21 107 2 tty_display_event fixed bin (71), /* term io display event channel id */ 21 108 2 tty_issue_event fixed bin (71), /* term io issue event call channel id */ 21 109 2 wks_sz fixed bin, /* workspace size in words (4096 for polts, 6144 for molts) */ 21 110 2 exec_dta (16), /* inter slave request queue */ 21 111 3 word (4) bit (36), /* inter slave data */ 21 112 2 ccc_queue, /* courtesy call queue */ 21 113 3 ccc_requests fixed bin, /* courtesy call requests */ 21 114 3 icivlu (16) bit (36), /* ic and ind of courtesy call routine */ 21 115 2 isc_queue, /* interslave communication queue */ 21 116 3 icivlu bit (36), /* ic and i of queue entry */ 21 117 3 status_add fixed bin, /* :: */ 21 118 3 data_add fixed bin, /* :: */ 21 119 21 120 2 tadio (8), /* T & D user io rqt queue */ 21 121 3 optrd bit (1), /* = "1"b if options are to be read */ 21 122 3 inuse bit (1), /* = "1"b if queue entry in use */ 21 123 3 return_word (3) bit (36), /* data returned from mme tadiod */ 21 124 3 option bit (6 * 84), /* bcd option string */ 21 125 2 wait_list, /* wait list for dispatcher block */ 21 126 3 nchan fixed bin, /* number of event wait channels */ 21 127 3 wait_pad fixed bin, /* will make wait_event_id on even boundary */ 21 128 3 wait_event_id (2) fixed bin (71), /* dispatcher event wait chan id */ 21 129 2 clt_sw char (32), 21 130 2 att_desc char (32), 21 131 2 cdt_pointer ptr, /* save pointer to cdt */ 21 132 2 fnp_exec_cnt fixed bin init (0), 21 133 2 fnp (0:7), 21 134 3 exec_active bit (1) init ("0"b), 21 135 3 exec_chan char (32), 21 136 3 status_word bit (36) init ("0"b), 21 137 3 fnp_execp ptr, 21 138 3 type fixed bin, 21 139 3 exec_type_code bit (6) init ("0"b), 21 140 3 cdt_name (8) char (32) init ("empty"), /* cdt name built from test request */ 21 141 3 dm_arg like dial_manager_arg, 21 142 2 mess_buf, /* terminal io message buffers */ 21 143 3 first ptr, /* ptr to start of message buffer */ 21 144 3 nxt ptr, /* ptr to nxt queue entry */ 21 145 3 term_queue (8192) fixed bin, /* message queu as fixed bin */ 21 146 3 q_end bit (0), /* to find end of queue */ 21 147 3 q_pad (1024) fixed bin, /* padding area */ 21 148 3 mult_ans char (28) varying, /* answer to local Multics question */ 21 149 3 cv_buf char (4000) varying, /* temporary conversion storage */ 21 150 2 colts_pages (8) like colts_info, 21 151 2 pages (8) like io_info, /* test pages (8 posible) */ 21 152 2 firm_buf (10240) fixed bin; /* storage for loading firmware */ 21 153 21 154 21 155 dcl 1 io_info based (io_info_ptr) aligned, /* this maps test pages in tolts_info */ 21 156 2 alloc_wait bit (1), /* = "1"b if waiting for delayed allocation */ 21 157 2 allocated bit (1), /* = "1"b if device allocated to this page */ 21 158 2 alt_dev_flag bit (1), /* = "1"b if 2nd logical device configured (MTAR 500/501 only */ 21 159 2 alt_device_index fixed bin (12), /* ioi device index */ 21 160 2 alt_device_name char (8), /* alternate allocated device name */ 21 161 2 alt_rcp_area (24) fixed bin init (0), /* alternate device rcp */ 21 162 2 alt_rcp_id bit (36) aligned, /* rcp id for alternate attach/check_attach */ 21 163 2 attach_err fixed bin (35), /* error code returned durning attach */ 21 164 2 cata_cycle bit (1), /* cycle check for cata */ 21 165 2 cat_name char (10), /* itr or mdr catalog suffix */ 21 166 2 n_keys fixed bin aligned, /* number of catalog keys below */ 21 167 2 cata_keys (10) char (24) aligned, /* array of catalog keys */ 21 168 2 catp ptr, /* ptr to itr or mdr catalog in deckfile */ 21 169 2 catx fixed bin, /* current cata_info.index */ 21 170 2 ccu_pun bit (1), /* = "1"b if ccu to be used as punch */ 21 171 2 chan_suspended bit (1), /* = "1"b if channel has been suspended */ 21 172 2 chan_time fixed bin (35), /* channel time (in 1/64th miliseconds) */ 21 173 2 con_time fixed bin (35), /* abs time of connect (in 1/64 th miliseconds) */ 21 174 2 cur_wks_sz fixed bin, /* current size of ioi workspace (normally tolts_info.wks_sz) */ 21 175 2 dcw_list (330) bit (36), /* test page dcw list in unaltered form */ 21 176 2 dev_busy bit (1), /* = "1"b if device busy before */ 21 177 2 device_index fixed bin (12), /* ioi device index */ 21 178 2 device_name char (8), /* allocated device name (in ascii) */ 21 179 2 ev_ch_ass bit (1), /* = "1"b if status event chan assigned to this page */ 21 180 2 ext_status_add fixed bin, /* extended status store address */ 21 181 2 fnp_num fixed bin, 21 182 2 fpinfo_ptr ptr, /* ptr to rspd info table */ 21 183 2 ignore_term bit (1), /* = "1"b if term int to be ignored, wait for special (ITR) */ 21 184 2 in_use bit (1), /* = "1"b if this test page in use */ 21 185 2 int_time fixed bin (35), /* abs time of interrupt (in 1/64 th miliseconds) */ 21 186 2 io_in_progress bit (1), /* = "1"b if io in progress for this page */ 21 187 2 io_trc_flag bit (1), /* = "1"b if io is being traced */ 21 188 2 io_type fixed bin, /* 0 = polt, 1 = ITR, 2 = MDR, 3 = MTAR, 4 = firmware load */ 21 189 2 iocp ptr, 21 190 2 ipc_attached bit (1), 21 191 2 ipc_id char (3), 21 192 2 ipc_number fixed bin, 21 193 2 lostit_time fixed bin (35), /* lost interrupt time in 1/64 th miliseconds */ 21 194 2 mca_attach_state fixed bin, 21 195 2 mcata_idx fixed bin, /* mca catalog indexer */ 21 196 2 mcata_nkeys fixed bin aligned, /* no of keys in a mca catalog */ 21 197 2 mcata_keys (100) char (24) aligned, /* mca catalog entries */ 21 198 2 mca_ioi_idx fixed bin, /* ioi index of attached mca / 21 199* 2 mca_iop ptr, /* mca io ptr */ 21 200 2 mca_workspace_ptr ptr, 21 201 2 mpc_dev_cnt fixed bin, /* if urmpc to be booted, # of devices */ 21 202 2 nff bit (1), /* = "1"b new format flag */ 21 203 2 num_connects fixed bin, /* number of connects issued by this page */ 21 204 2 p2_att bit (1), /* ="1"b if alternate device is attached (MTAR 500/501 only) */ 21 205 2 p_att bit (1), /* = "1"b if perp. device attached to this page */ 21 206 2 page_base fixed bin (18) uns, /* base of this test page in slave seg */ 21 207 2 pcwa bit (36), /* pcw */ 21 208 2 rcp_area (24) fixed bin init (0), /* storage for rcp device info */ 21 209 2 rcp_id bit (36) aligned, /* rcp id for attach/check_attach */ 21 210 2 rcp_name char (32), /* rcp name for this device */ 21 211 2 rcp_state fixed bin, /* rcp attach state flag */ 21 212 2 release_chan bit (1), /* = "1"b if ioi_$release devices to be called */ 21 213 2 rew_wait bit (1), /* = "1"b if waiting for special on rewind complete */ 21 214 2 sp_flag bit (1), /* = "1"b if special status available */ 21 215 2 sp_status bit (36), /* special interrupt status storage */ 21 216 2 spare1 bit (1), 21 217 2 status_add fixed bin, /* address to store status in test page */ 21 218 2 status_event fixed bin (71), /* io completion status event call channel id */ 21 219 2 suspend_chan bit (1), /* = "1"b if ioi_$suspend devices to be called */ 21 220 2 tolts_rspd_wksp ptr, 21 221 2 test_hdr char (16), /* test header used for Multics local messages */ 21 222 2 tio_off fixed bin (18), /* dcw list offset for ioi */ 21 223 2 to_no_cc bit (1), /* = "1"b if timeout expected (set after mme ipcw) */ 21 224 2 workspace_ptr ptr, /* ioi workspace ptr */ 21 225 2 altsct, /* sct for MTAR alternate device */ 21 226 (3 w1, /* device sct word 1 */ 21 227 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 21 228 4 device_no bit (6), /* device number */ 21 229 4 com_prph bit (1), /* = "1"b if common perph. device */ 21 230 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 21 231 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 21 232 4 pad1 bit (2), 21 233 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 21 234 4 icc bit (11), /* iom and channel (true channel index) */ 21 235 4 pad2 bit (7), 21 236 3 w2, /* device sct word 2 */ 21 237 4 ptrain fixed bin (14), /* print train number */ 21 238 4 nmods bit (3), /* not used in Multics */ 21 239 4 pad4 bit (3), 21 240 4 den_cap bit (4), /* density capability for tapes */ 21 241 4 pad5 bit (11)) unaligned, 21 242 2 crcst, /* controller sct */ 21 243 (3 pad1 bit (1), 21 244 3 volatile bit (1), /* reloadable firmware */ 21 245 3 mpc bit (1), /* = "1"b if mpc */ 21 246 3 pad2 bit (4), 21 247 3 ms500 bit (1), /* = "1"b if mss500 device */ 21 248 3 mtp610 bit (1), /* = "1"b if mtp 610 device */ 21 249 3 pad3 bit (27)) unaligned, 21 250 2 dev_firm (4), /* storage for device firmware edit names */ 21 251 3 edit_name char (4), /* for urmpc firmware */ 21 252 3 mask bit (36), /* port mask for this firmware */ 21 253 2 devsct, /* 2 word device sct entry */ 21 254 (3 w1, /* device sct word 1 */ 21 255 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 21 256 4 device_no bit (6), /* device number */ 21 257 4 com_prph bit (1), /* = "1"b if common perph. device */ 21 258 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 21 259 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 21 260 4 pad1 bit (2), 21 261 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 21 262 4 icc bit (11), /* iom and channel (true channel index) */ 21 263 4 pad2 bit (7), 21 264 3 w2, /* device sct word 2 */ 21 265 4 ptrain fixed bin (14), /* print train number */ 21 266 4 nmods bit (3), /* not used in Multics */ 21 267 4 pad4 bit (3), 21 268 4 den_cap bit (4), /* density capability for tapes */ 21 269 4 pad5 bit (11)) unaligned, 21 270 2 icivlu, /* ic and i for courtesy call on io completion */ 21 271 3 ic bit (18) unaligned, /* instruction counter */ 21 272 3 ind bit (18) unaligned, /* indicator register */ 21 273 2 sct_info, 21 274 (3 cntsct bit (18), /* unchanged from before */ 21 275 3 ioc_type bit (4), /* 0 = IOM, 1 = IMU, 2 = IOX */ 21 276 3 cnt_type bit (4), /* 0 = MPC, 1 = DAU, 2 = EURC, 3 = FIPS */ 21 277 3 pad1 bit (1), 21 278 3 xioc_type bit (4), /* not used in Multics */ 21 279 3 xcnt_type bit (4), /* not used in Multics */ 21 280 3 pad2 bit (1)) unaligned, 21 281 2 test_req aligned, 21 282 (3 fnccss bit (18), 21 283 3 tt bit (6), 21 284 3 pad1 bit (6)) unaligned; 21 285 21 286 21 287 dcl 1 colts_info aligned based (colts_info_ptr), 21 288 2 cdt_name char (32), 21 289 2 chanp pointer, /* iox pointer to chan under test */ 21 290 2 dm_arg aligned like dial_manager_arg, 21 291 2 fnp_num fixed bin (4), 21 292 2 in_use bit (1) unaligned init ("0"b), 21 293 2 status_word bit (36) aligned init ("0"b), 21 294 2 type_code bit (6) unaligned init ("0"b); 21 295 21 296 21 297 21 298 22 1 /* BEGIN INCLUDE FILE ... dial_manager_arg.incl.pl1 */ 22 2 22 3 /* Modified by E. N. Kittlitz 11/80 to add reservation string, move dial-out 22 4* destination from dial_qualifier, add dial_message. 22 5* Modified by Robert Coren 4/83 to add required access class stuff. 22 6* Modified 1984-08-27 BIM for V4, privileged_operation. 22 7**/ 22 8 22 9 22 10 dcl dial_manager_arg_version_2 fixed bin internal static initial (2) options (constant); 22 11 dcl dial_manager_arg_version_3 fixed bin internal static initial (3) options (constant); 22 12 dcl dial_manager_arg_version_4 fixed bin internal static initial (4) options (constant); 22 13 22 14 dcl 1 dial_manager_arg based aligned, 22 15 2 version fixed bin, /* = 4 */ 22 16 2 dial_qualifier char (22), /* identify different processes with same process group id */ 22 17 2 dial_channel fixed bin (71), /* event wait channel */ 22 18 2 channel_name char (32), /* channel name for privileged attach */ 22 19 /* limit of version 1 structure */ 22 20 2 dial_out_destination char (32), /* dial-out destination (e.g. phone_no) */ 22 21 2 reservation_string char (256), /* reservation string */ 22 22 2 dial_message fixed bin (71), /* OUTPUT: A.S. message received by dial_manager_ */ 22 23 /* limit of version 2 structure */ 22 24 2 access_class bit (72), /* access class to be associated with the attachment */ 22 25 2 flags aligned, 22 26 3 access_class_required bit (1) unaligned, /* indicates whether to enforce access_class */ 22 27 3 privileged_operation bit (1) unaligned, /* for accept_dials, accepts dials from */ 22 28 /* system_low:access_class */ 22 29 /* no effect on other operations yet. */ 22 30 3 mbz bit (34) unaligned; /* must be zero */ 22 31 22 32 /* END INCLUDE FILE ... dial_manager_arg.incl.pl1 */ 21 299 21 300 21 301 21 302 21 303 21 304 /* END INCLUDE FILE tolts_info.incl.pl1 */ 972 973 974 975 end tolts_device_info_; 976 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/09/86 1520.9 tolts_device_info_.pl1 >special_ldd>install>MR12.0-1235>tolts_device_info_.pl1 548 1 05/08/81 1853.7 config_prph_ccu_card.incl.pl1 >ldd>include>config_prph_ccu_card.incl.pl1 773 2 02/01/85 0748.0 config_prph_opc_card.incl.pl1 >ldd>include>config_prph_opc_card.incl.pl1 804 3 05/08/81 1853.7 config_prph_prt_card.incl.pl1 >ldd>include>config_prph_prt_card.incl.pl1 845 4 05/08/81 1853.7 config_prph_pun_card.incl.pl1 >ldd>include>config_prph_pun_card.incl.pl1 876 5 05/08/81 1853.7 config_prph_rdr_card.incl.pl1 >ldd>include>config_prph_rdr_card.incl.pl1 942 6 08/24/81 0955.0 console_device_specs.incl.pl1 >ldd>include>console_device_specs.incl.pl1 944 7 10/30/86 2010.5 config_data_dcls.incl.pl1 >ldd>include>config_data_dcls.incl.pl1 946 8 05/08/81 1853.6 config_chnl_card.incl.pl1 >ldd>include>config_chnl_card.incl.pl1 948 9 05/08/81 1853.6 config_iom_card.incl.pl1 >ldd>include>config_iom_card.incl.pl1 950 10 03/27/86 1120.0 config_ipc_card.incl.pl1 >ldd>include>config_ipc_card.incl.pl1 952 11 05/08/81 1853.6 config_mpc_card.incl.pl1 >ldd>include>config_mpc_card.incl.pl1 954 12 10/31/84 1315.5 config_prph_card.incl.pl1 >ldd>include>config_prph_card.incl.pl1 956 13 05/08/81 1853.7 config_prph_dsk_card.incl.pl1 >ldd>include>config_prph_dsk_card.incl.pl1 958 14 11/08/82 1005.8 config_prph_tap_card.incl.pl1 >ldd>include>config_prph_tap_card.incl.pl1 960 15 07/24/86 2051.8 rcp_device_info.incl.pl1 >ldd>include>rcp_device_info.incl.pl1 962 16 07/24/86 2051.8 rcp_disk_info.incl.pl1 >ldd>include>rcp_disk_info.incl.pl1 964 17 07/24/86 2051.8 rcp_printer_info.incl.pl1 >ldd>include>rcp_printer_info.incl.pl1 966 18 03/27/86 1120.0 rcp_resource_types.incl.pl1 >ldd>include>rcp_resource_types.incl.pl1 968 19 04/05/83 0853.0 rcp_tape_info.incl.pl1 >ldd>include>rcp_tape_info.incl.pl1 970 20 05/23/79 1612.1 tolts_err_codes.incl.pl1 >ldd>include>tolts_err_codes.incl.pl1 972 21 12/09/86 1521.3 tolts_info.incl.pl1 >special_ldd>install>MR12.0-1235>tolts_info.incl.pl1 21-299 22 09/13/84 0921.5 dial_manager_arg.incl.pl1 >ldd>include>dial_manager_arg.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 000101 automatic fixed bin(17,0) dcl 74 set ref 138* 146* 154* 174 189 194 194 200 200 214 214 235 235 390 390* 429 429 438 438 468 491* 747 CONSOLE_DTYPEX constant fixed bin(17,0) initial dcl 18-31 ref 795 CONSOLE_GCOS_TYPE 000100 constant bit(6) initial array unaligned dcl 6-64 ref 785 CONSOLE_IS_BCD constant bit(1) initial array unaligned dcl 6-39 ref 787 CONSOLE_MODEL_INDEX 000101 constant fixed bin(17,0) initial array dcl 6-27 ref 535 CONSOLE_MODEL_NUMBER 000111 constant fixed bin(17,0) initial array dcl 6-12 ref 534 535 DEVICE_INFO_VERSION_1 constant fixed bin(17,0) initial dcl 15-26 ref 345 DEVICE_TYPE 000000 constant char(32) initial array unaligned dcl 18-18 ref 556 560 598 603 657 670 795 836 867 897 921 927 DISK_DRIVE_DTYPEX constant fixed bin(17,0) initial dcl 18-30 ref 603 IOM 000100 automatic fixed bin(17,0) dcl 74 set ref 137* 149* 155* 168 189 213 235 390* 429 438 487 MODEL 000105 automatic fixed bin(17,0) dcl 74 set ref 264* 275 275* 285* 286* 309 309* 319* 320* 576 576 584 585 586 586 587 588 589 590 591 592 594 594 609 631 906 907 908 909 910 916 916 933 934 NDRIVES 000106 automatic fixed bin(17,0) dcl 74 set ref 264* 283 283 295* 295 297* 297 317 317 327* 327 329* 329 578 581 PRINTER_DTYPEX constant fixed bin(17,0) initial dcl 18-32 ref 836 PUNCH_DTYPEX constant fixed bin(17,0) initial dcl 18-33 ref 560 867 READER_DTYPEX constant fixed bin(17,0) initial dcl 18-34 ref 556 897 SPECIAL_DTYPEX constant fixed bin(17,0) initial dcl 18-35 ref 598 657 670 921 TAPE_DRIVE_DTYPEX constant fixed bin(17,0) initial dcl 18-29 ref 927 addr builtin function dcl 114 ref 124 286 286 320 320 344 624 632 643 645 addrel builtin function dcl 114 ref 145 alt_dev_flag 2 based bit(1) level 2 dcl 21-155 set ref 577* 617 alt_device_name 4 based char(8) level 2 dcl 21-155 set ref 630* alt_rcp_area 6 based fixed bin(17,0) initial array level 2 dcl 21-155 set ref 622* 624 643 altname 000126 automatic char(8) unaligned dcl 80 set ref 218* 257* 628* 628* 629 630 altsct 2146 based structure level 2 dcl 21-155 set ref 618* bin builtin function dcl 114 ref 619 619 621 621 bit builtin function dcl 114 ref 619 621 640 cat_name 41 based char(10) level 2 dcl 21-155 set ref 126* 515* 595* 680* 692* 696* 703* 711* 713* 715* 721* 725* 763* 918* ccu_pun 145 based bit(1) level 2 dcl 21-155 ref 555 ch_not_ass constant fixed bin(18,0) initial unsigned dcl 20-4 ref 397 chan 3 based fixed bin(8,0) level 2 in structure "ipc_card" dcl 10-12 in procedure "tolts_device_info_" ref 429 429 chan 4 based fixed bin(8,0) array level 3 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" ref 438 438 468 chan 4 based fixed bin(8,0) array level 3 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" ref 235 235 487 487 491 chan 3 based fixed bin(8,0) level 2 in structure "prph_card" dcl 12-5 in procedure "tolts_device_info_" ref 138 189 487 487 491 chan 3 based fixed bin(8,0) level 2 in structure "prph_tap_card" dcl 14-5 in procedure "tolts_device_info_" ref 200 200 chan 3 based fixed bin(8,0) array level 3 in structure "chnl_card" dcl 8-5 in procedure "tolts_device_info_" ref 214 214 chan 3 based fixed bin(8,0) level 2 in structure "prph_dsk_card" dcl 13-5 in procedure "tolts_device_info_" ref 194 194 chnl_card based structure level 1 dcl 8-5 chnl_cardp 000136 automatic pointer dcl 8-3 set ref 162* 209* 210 212 213 214 214 214 217 218 cnt_type 2164(22) based bit(4) level 3 packed unaligned dcl 21-155 set ref 286* 289 320* 323 421 427 459* 465* 822* 912 code 000112 automatic fixed bin(35,0) dcl 76 set ref 637* 639* 640 colts_info based structure level 1 dcl 21-287 com_prph 2161(12) based bit(1) level 4 packed unaligned dcl 21-155 set ref 362* 363 config_data_$disk_drive_model_names 000022 external static structure level 1 dcl 7-148 set ref 286 286 config_data_$tape_drive_model_names 000024 external static structure level 1 dcl 7-156 set ref 320 320 cont_card based structure level 1 dcl 90 cont_cardp 000134 automatic pointer dcl 83 set ref 419* 421* 423* 424 428 436 437 438 438 438 438 455 455 465 468 468 468 468 468 468 468 cr501_pr54 2161(17) based bit(1) level 4 packed unaligned dcl 21-155 set ref 819* 885* crcst 2150 based structure level 2 dcl 21-155 den_cap 2162(21) based bit(4) level 4 packed unaligned dcl 21-155 set ref 917* dev_busy constant fixed bin(18,0) initial unsigned dcl 20-4 ref 405 dev_firm 2151 based structure array level 2 dcl 21-155 device 000103 automatic fixed bin(17,0) dcl 74 set ref 157* 239* 258* 268 268* 283 283 289 305 305* 307 317 317 323 390 390* 512 518 578 578 581 619 787 791 810 852 882 device2 000102 automatic fixed bin(17,0) dcl 74 set ref 623* 628 628* device_info based structure level 1 dcl 15-17 device_info_ptr 000154 automatic pointer dcl 15-15 set ref 344* 345 346 347 348 349 365 602 658 659 833 925 device_name 666 based char(8) level 2 in structure "io_info" dcl 21-155 in procedure "tolts_device_info_" set ref 126* 361* 365 device_name 4 based char(8) level 2 in structure "disk_info" dcl 16-19 in procedure "tolts_device_info_" set ref 608* 629* device_name 4 based char(8) level 2 in structure "device_info" dcl 15-17 in procedure "tolts_device_info_" set ref 365* 658* device_name 4 based char(8) level 2 in structure "tape_info" dcl 19-15 in procedure "tolts_device_info_" set ref 932* device_no 2161(06) based bit(6) level 4 in structure "io_info" packed unaligned dcl 21-155 in procedure "tolts_device_info_" set ref 158* 619 621 device_no 2146(06) based bit(6) level 4 in structure "io_info" packed unaligned dcl 21-155 in procedure "tolts_device_info_" set ref 619* 621* 623 devsct 2161 based structure level 2 dcl 21-155 set ref 125* 618 di 000104 automatic fixed bin(17,0) dcl 74 set ref 293* 578 dial_manager_arg based structure level 1 dcl 22-14 disk_info based structure level 1 dcl 16-19 disk_info_ptr 000156 automatic pointer dcl 16-17 set ref 602* 604 605 607 608 609 624* 625 627 629 631 632* 640 643* 644 645* dname 000124 automatic char(8) unaligned dcl 80 set ref 136* 176* 218* 224 224 250 257* 258 258 267 268* 268* 303 305* 305* 350 351 352 353 354 355 356 357 358 359 361 557* 561* 608 658 667 759 932 edit_name 2151 based char(4) array level 3 dcl 21-155 set ref 743 743 746* en parameter char(4) unaligned dcl 739 ref 737 743 746 execp 12 based pointer level 2 dcl 21-75 ref 145 execute constant bit(5) initial unaligned dcl 109 ref 640 ficcdd based bit(18) level 2 packed unaligned dcl 91 ref 143 147 149 153 154 155 157 158 five_min 000124 constant fixed bin(35,0) initial dcl 108 ref 760 fixed builtin function dcl 114 ref 146 149 154 155 157 623 fnp_num 672 based fixed bin(17,0) level 2 dcl 21-155 ref 134 group 5 based structure array level 2 in structure "prph_tap_card" dcl 14-5 in procedure "tolts_device_info_" group 5 based structure array level 2 in structure "prph_dsk_card" dcl 13-5 in procedure "tolts_device_info_" group 2 based structure array level 2 in structure "chnl_card" dcl 8-5 in procedure "tolts_device_info_" hbound builtin function dcl 114 ref 534 hcs_$fs_get_mode 000014 constant entry external dcl 102 ref 639 hcs_$initiate 000012 constant entry external dcl 101 ref 637 i 000220 automatic fixed bin(17,0) dcl 532 in procedure "CONSOLE_MODEL_TO_INDEX_FCN" set ref 534* 535 535* i 000107 automatic fixed bin(17,0) dcl 74 in procedure "tolts_device_info_" set ref 212* 212* 213 214 214 214* 234* 234* 235 235 235 235* 268* 274* 274* 275 275* 280* 280* 282 283 285 293 295 297* 305* 308* 308* 309 309* 315* 315* 316 317 319 327 329* 390* 436* 436* 438 438 438 438* 482* 628* icc 2161(18) based bit(11) level 4 packed unaligned dcl 21-155 set ref 147* 153* icdt based structure level 1 dcl 91 icdtp parameter pointer dcl 67 ref 62 120 120 120 120 120 120 120 120 120 120 120 128 143 147 149 153 154 155 157 158 224 258 272 272 307 307 366 368 370 372 374 376 378 380 382 384 386 468 474 512 512 515 517 576 595 598 598 605 625 777 808 850 880 918 921 921 929 inv_tt constant fixed bin(18,0) initial unsigned dcl 20-4 ref 407 io_info based structure level 1 dcl 21-155 io_info_ptr 000164 automatic pointer dcl 21-73 set ref 124* 125 126 126 134 144 147 152 153 158 170 224 258 286 289 320 323 342 344 361 362 363 365 366 368 370 372 374 376 378 380 382 384 386 389 390 390 390 421 427 457 458 459 463 464 465 468 480 482 501 503 515 552 555 556 560 577 584 585 586 587 588 589 590 591 592 594 595 598 598 603 617 618 618 619 619 621 621 622 622 623 624 630 632 643 645 657 669 670 680 692 696 697 697 699 700 703 704 704 706 711 713 715 721 722 725 743 743 746 747 760 763 785 795 812 814 818 819 820 821 822 830 831 836 854 858 860 867 884 885 891 897 906 907 908 909 910 912 912 916 917 918 921 921 927 936 io_type 703 based fixed bin(17,0) level 2 dcl 21-155 set ref 366* 368* 370* 372* 374* 376* 378* 380* 382* 384* 386* 390 390 ioa_$rsnnl 000010 constant entry external dcl 100 ref 268 305 390 628 ioc_type 2164(18) based bit(4) level 3 packed unaligned dcl 21-155 set ref 170* iom 2 based fixed bin(3,0) array level 3 in structure "chnl_card" dcl 8-5 in procedure "tolts_device_info_" ref 212 213 iom 3 based fixed bin(3,0) array level 3 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" ref 234 235 iom 2 based fixed bin(3,0) level 2 in structure "prph_card" dcl 12-5 in procedure "tolts_device_info_" ref 137 189 487 iom 2 based fixed bin(3,0) level 2 in structure "ipc_card" dcl 10-12 in procedure "tolts_device_info_" ref 429 iom 3 based fixed bin(3,0) array level 3 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" ref 436 438 iom_card based structure level 1 dcl 9-5 iom_cardp 000140 automatic pointer dcl 9-3 set ref 162* 165* 166 168 169 170 175 176 ipc_card based structure level 1 dcl 10-12 ipc_cardp 000142 automatic pointer dcl 10-10 set ref 428* 429 429 429 429 itr_io_type constant fixed bin(17,0) initial dcl 21-60 ref 370 iv_dev constant fixed bin(18,0) initial unsigned dcl 20-4 ref 399 k 000110 automatic fixed bin(17,0) dcl 74 set ref 501* 501* 503 742* 743 743 746 747* line_length 10 based fixed bin(17,0) level 2 in structure "printer_info" dcl 17-17 in procedure "tolts_device_info_" set ref 834* line_length 6 based fixed bin(17,0) level 2 in structure "prph_prt_card" dcl 3-5 in procedure "set_prt" ref 831 834 ll160 2161(14) based bit(1) level 4 packed unaligned dcl 21-155 set ref 831* lostit_time 711 based fixed bin(35,0) level 2 dcl 21-155 set ref 342* 760* 936* m_iv_iom constant fixed bin(18,0) initial unsigned dcl 20-4 ref 395 mask 2152 based bit(36) array level 3 dcl 21-155 set ref 501 747* mca_io_type constant fixed bin(17,0) initial dcl 21-68 ref 380 mdc_io_type constant fixed bin(17,0) initial dcl 21-66 ref 374 378 mdr_cat 000130 automatic char(5) unaligned dcl 81 set ref 340* 515 826* mdr_io_type constant fixed bin(17,0) initial dcl 21-61 ref 382 mhp_io_type constant fixed bin(17,0) initial dcl 21-67 ref 376 mod builtin function dcl 114 ref 578 619 model 6 based fixed bin(17,0) level 2 in structure "disk_info" dcl 16-19 in procedure "tolts_device_info_" set ref 609* 631* model 4 based fixed bin(17,0) level 2 in structure "prph_ccu_card" dcl 1-5 in procedure "set_ccu" ref 551 model 3 based char(4) level 2 in structure "iom_card" dcl 9-5 in procedure "tolts_device_info_" ref 170 175 model 4 based fixed bin(17,0) level 2 in structure "prph_rdr_card" dcl 5-5 in procedure "set_rdr" ref 879 885 885 888 891 891 891 893 model 5 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 14-5 in procedure "tolts_device_info_" ref 308 309 309 315 316 319 model 6 based fixed bin(17,0) level 2 in structure "tape_info" dcl 19-15 in procedure "tolts_device_info_" set ref 933* model 4 based fixed bin(17,0) level 2 in structure "prph_pun_card" dcl 4-5 in procedure "set_pun" ref 849 856 858 858 858 860 862 model 2 based fixed bin(17,0) level 2 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" ref 455 455 465 468 468 468 model 4 based fixed bin(17,0) level 2 in structure "prph_prt_card" dcl 3-5 in procedure "set_prt" ref 807 814 814 814 816 816 816 816 827 model 2 based fixed bin(17,0) level 2 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" ref 692 692 695 695 702 702 711 713 715 715 715 715 715 720 720 724 model 6 based fixed bin(17,0) level 2 in structure "device_info" dcl 15-17 in procedure "tolts_device_info_" set ref 659* model 4 based fixed bin(17,0) level 2 in structure "prph_opc_card" dcl 2-8 in procedure "set_opc" set ref 782* model 5 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 13-5 in procedure "tolts_device_info_" ref 274 275 275 280 282 285 model_index 000111 automatic fixed bin(17,0) dcl 75 set ref 782* 783 785 787 model_number parameter fixed bin(17,0) dcl 532 ref 530 535 mpc 2150(02) based bit(1) level 3 packed unaligned dcl 21-155 set ref 458* 463* 821* mpc_card based structure level 1 dcl 11-5 mpc_cardp 000144 automatic pointer dcl 11-3 set ref 162* 229* 231* 232 234 235 235 235 235 437* 480 487 487 487 491 680 682 692 692 695 695 702 702 710 711 713 715 715 715 715 715 720 720 724 mpc_dev_cnt 2050 based fixed bin(17,0) level 2 dcl 21-155 set ref 480* 482 503* ms500 2150(07) based bit(1) level 3 packed unaligned dcl 21-155 set ref 594* 722* mtar_io_type constant fixed bin(17,0) initial dcl 21-62 ref 384 mtc_io_type constant fixed bin(17,0) initial dcl 21-64 ref 368 mtg_io_type constant fixed bin(17,0) initial dcl 21-65 ref 372 mtp610 2150(08) based bit(1) level 3 packed unaligned dcl 21-155 set ref 700* 916* name 1 based char(4) level 2 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" ref 468 468 468 name 1 based char(4) level 2 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" ref 680 682 710 name 1 based char(4) level 2 in structure "prph_card" dcl 12-5 in procedure "tolts_device_info_" ref 134 136 192 198 250 257 492 492 492 496 name 1 based char(4) level 2 in structure "chnl_card" dcl 8-5 in procedure "tolts_device_info_" ref 218 nchan 5 based fixed bin(17,0) array level 3 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" ref 235 480 487 nchan 4 based fixed bin(17,0) level 2 in structure "ipc_card" dcl 10-12 in procedure "tolts_device_info_" ref 429 nchan 4 based fixed bin(17,0) level 2 in structure "prph_dsk_card" dcl 13-5 in procedure "tolts_device_info_" ref 194 nchan 4 based fixed bin(17,0) array level 3 in structure "chnl_card" dcl 8-5 in procedure "tolts_device_info_" ref 214 nchan 4 based fixed bin(17,0) level 2 in structure "prph_tap_card" dcl 14-5 in procedure "tolts_device_info_" ref 200 nchan 5 based fixed bin(17,0) array level 3 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" ref 438 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_dsk_card" dcl 13-5 in procedure "tolts_device_info_" ref 283 295 297 578 ndrives 6 based fixed bin(17,0) array level 3 in structure "prph_tap_card" dcl 14-5 in procedure "tolts_device_info_" ref 317 327 329 nff 2051 based bit(1) level 2 dcl 21-155 set ref 144* 152* not_log_0 constant fixed bin(18,0) initial unsigned dcl 20-4 ref 403 not_psia constant fixed bin(18,0) initial unsigned dcl 20-4 ref 401 null builtin function dcl 114 ref 129 133 162 166 183 187 207 210 224 229 232 246 249 253 419 424 481 486 638 one_min 000125 constant fixed bin(35,0) initial dcl 107 ref 342 one_sec 000126 constant fixed bin(35,0) initial dcl 106 ref 342 760 p2_att 2053 based bit(1) level 2 dcl 21-155 ref 224 258 598 921 pages 31102 based structure array level 2 dcl 21-75 set ref 124 polt_io_type constant fixed bin(17,0) initial dcl 21-59 ref 366 port 3 based structure array level 2 in structure "cont_card" dcl 90 in procedure "tolts_device_info_" port 3 based structure array level 2 in structure "mpc_card" dcl 11-5 in procedure "tolts_device_info_" print_train 7 based fixed bin(17,0) level 2 dcl 17-17 set ref 835* printer_info based structure level 1 dcl 17-17 printer_info_ptr 000160 automatic pointer dcl 17-15 set ref 833* 834 835 prph_card based structure level 1 dcl 12-5 prph_cardp 000146 automatic pointer dcl 12-3 set ref 129* 132* 133 134 136 137 138 183* 186* 187 189 189 192 193 198 199 207 217* 224 246* 248* 249 250 253 257 271 304 481* 485* 486 487 487 487 491 492 492 492 496 550 776 806 848 878 prph_ccu_card based structure level 1 dcl 1-5 prph_ccu_cardp 000230 automatic pointer dcl 1-3 set ref 550* 551 prph_dsk_card based structure level 1 dcl 13-5 prph_dsk_cardp 000150 automatic pointer dcl 13-3 set ref 193* 194 194 194 271* 274 275 275 280 282 283 285 295 297 578 prph_opc_card based structure level 1 dcl 2-8 prph_opc_cardp 000304 automatic pointer dcl 2-6 set ref 776* 780 780 782 prph_prt_card based structure level 1 dcl 3-5 prph_prt_cardp 000314 automatic pointer dcl 3-3 set ref 806* 807 814 814 814 816 816 816 816 827 830 831 834 835 prph_pun_card based structure level 1 dcl 4-5 prph_pun_cardp 000324 automatic pointer dcl 4-3 set ref 848* 849 856 858 858 858 860 862 prph_rdr_card based structure level 1 dcl 5-5 prph_rdr_cardp 000334 automatic pointer dcl 5-3 set ref 878* 879 885 885 888 891 891 891 893 prph_tap_card based structure level 1 dcl 14-5 prph_tap_cardp 000152 automatic pointer dcl 14-3 set ref 199* 200 200 200 304* 308 309 309 315 316 317 319 327 329 ptrain 2162 based fixed bin(14,0) level 4 packed unaligned dcl 21-155 set ref 830* px parameter fixed bin(17,0) dcl 68 ref 62 124 390 rcp_area 2057 based fixed bin(17,0) initial array level 2 dcl 21-155 set ref 344 622 632 645 rcp_name 2110 based char(32) level 2 dcl 21-155 set ref 556* 560* 598* 603* 657* 670* 795* 836* 867* 897* 921* 927* rcpsp 000122 automatic pointer dcl 79 set ref 637* 638 639* rs_mode 000113 automatic fixed bin(5,0) dcl 77 set ref 639* 640 rspd_io_type constant fixed bin(17,0) initial dcl 21-69 ref 386 sct_info 2164 based structure level 2 dcl 21-155 spec_chan 000114 automatic bit(1) initial unaligned dcl 78 set ref 78* 363 417 656* 668* 762* 794* 823* state 6 based char(4) level 2 in structure "prph_opc_card" dcl 2-8 in procedure "set_opc" ref 780 780 state 4 based char(4) level 2 in structure "iom_card" dcl 9-5 in procedure "tolts_device_info_" ref 169 substr builtin function dcl 114 set ref 143 146 147 147 149 153* 153 154 155 157 158 192 198 224 224 258 258 267 303 350 351 352 353 354 355 356 357 358 359 468 468 468 492 492 492 496 557* 561* 667 680 682 710 747* 759 system_flag 3 based bit(1) level 2 in structure "disk_info" dcl 16-19 in procedure "tolts_device_info_" set ref 640* 644* system_flag 3 based bit(1) level 2 in structure "device_info" dcl 15-17 in procedure "tolts_device_info_" set ref 349* tag 1 based fixed bin(3,0) level 2 dcl 9-5 ref 168 176 tags 000122 constant char(1) initial array unaligned dcl 111 ref 134 176 tape_info based structure level 1 dcl 19-15 tape_info_ptr 000162 automatic pointer dcl 19-10 set ref 925* 926 928 929 931 932 933 934 935 tape_info_version_2 constant fixed bin(17,0) initial dcl 19-12 ref 926 term 000115 automatic bit(1) initial unaligned dcl 78 set ref 78* 130* 131 135* 163* 164 171* 184* 185 187* 189* 194* 200* 206* 208 212 216* 228* 230 234 235* 245* 247 250* 265* 280 292* 299 315 325* 331 418* 420 432* 436 441* 741* 742 745* term1 000116 automatic bit(1) initial unaligned dcl 78 set ref 78* test_hdr 2136 based char(16) level 2 dcl 21-155 set ref 389* 390* tolts_info based structure level 1 dcl 21-75 tolts_infop 000026 external static pointer dcl 21-71 ref 124 145 tolts_util_$dev0_valid 000016 constant entry external dcl 103 ref 286 320 tolts_util_$find_card 000020 constant entry external dcl 104 ref 132 165 186 209 231 248 421 423 485 tracks 7 based fixed bin(17,0) level 2 dcl 19-15 set ref 934* 935* train 5 based fixed bin(17,0) level 2 dcl 3-5 ref 830 835 trm 000117 automatic bit(1) initial unaligned dcl 78 set ref 78* 483* 484 486* 490* tt 0(18) based bit(6) level 2 packed unaligned dcl 91 ref 120 120 120 120 120 120 120 120 120 120 120 128 224 258 272 272 307 307 366 368 370 372 374 376 378 380 382 384 386 468 474 512 512 515 517 576 595 598 598 777 808 850 880 918 921 921 type_code 2161 based bit(6) level 4 packed unaligned dcl 21-155 set ref 552* 584* 585* 586* 587* 588* 589* 590* 591* 592* 669* 697 697* 699* 704 704* 706* 785* 812* 814* 818* 854* 858* 860* 884* 891* 906* 907* 908* 909* 910* 912* type_error parameter fixed bin(17,0) dcl 69 set ref 62 127* 395* 397* 399* 401* 403* 405* 407* u_opt 0(24) based bit(6) level 2 packed unaligned dcl 91 ref 605 625 929 unspec builtin function dcl 114 set ref 125* 743 urcitr 000120 automatic bit(1) initial unaligned dcl 78 set ref 78* 460* 479 520* usage_time 1 based fixed bin(17,0) level 2 dcl 15-17 set ref 347* version_num based fixed bin(17,0) level 2 in structure "tape_info" dcl 19-15 in procedure "tolts_device_info_" set ref 926* version_num based fixed bin(17,0) level 2 in structure "device_info" dcl 15-17 in procedure "tolts_device_info_" set ref 345* 346* volatile 2150(01) based bit(1) level 3 packed unaligned dcl 21-155 set ref 457* 464* 468 820* volume_name 13 based char(32) level 2 in structure "tape_info" dcl 19-15 in procedure "tolts_device_info_" set ref 929* 931* volume_name 7 based char(32) level 2 in structure "disk_info" dcl 16-19 in procedure "tolts_device_info_" set ref 605* 607* 625* 627* w1 2146 based structure level 3 in structure "io_info" packed unaligned dcl 21-155 in procedure "tolts_device_info_" w1 2161 based structure level 3 in structure "io_info" packed unaligned dcl 21-155 in procedure "tolts_device_info_" w2 2162 based structure level 3 packed unaligned dcl 21-155 wait_time 2 based fixed bin(17,0) level 2 dcl 15-17 set ref 348* write_flag 23 based bit(1) level 2 in structure "tape_info" dcl 19-15 in procedure "tolts_device_info_" set ref 928* write_flag 17 based bit(1) level 2 in structure "disk_info" dcl 16-19 in procedure "tolts_device_info_" set ref 604* xreg3 based bit(36) unaligned dcl 89 ref 146 147 xregp 000132 automatic pointer dcl 82 set ref 145* 146 147 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CHNL_CARD_WORD internal static char(4) initial dcl 8-27 CONSOLE_PROMPT_BY_DEFAULT internal static bit(1) initial array unaligned dcl 6-52 DISK_INFO_VERSION_1 internal static fixed bin(17,0) initial dcl 16-29 DISK_VOL_VTYPEX internal static fixed bin(17,0) initial dcl 18-38 IOM_CARD_WORD internal static char(4) initial dcl 9-19 IPC_CARD_WORD internal static char(4) initial dcl 10-25 IPC_FIPS internal static char(4) initial dcl 10-26 MCA_DTYPEX internal static fixed bin(17,0) initial dcl 18-36 MPC_CARD_WORD internal static char(4) initial dcl 11-26 NUM_QUALIFIERS internal static fixed bin(17,0) initial array dcl 18-22 PRINTER_INFO_VERSION_1 internal static fixed bin(17,0) initial dcl 17-27 PRPH_CARD_WORD internal static char(4) initial dcl 12-19 TAPE_VOL_VTYPEX internal static fixed bin(17,0) initial dcl 18-37 VOLUME_TYPE internal static char(32) initial array unaligned dcl 18-25 alt_dev_busy internal static fixed bin(18,0) initial unsigned dcl 20-4 chnl_card_array based structure level 1 dcl 8-20 colts_info_ptr automatic pointer dcl 21-72 config_data_$ccu_model_names external static structure level 1 dcl 7-178 config_data_$chnl_cardx external static fixed bin(17,0) dcl 7-27 config_data_$clok_cardx external static fixed bin(17,0) dcl 7-29 config_data_$config_cards external static structure level 1 dcl 7-94 config_data_$console_model_names external static structure level 1 dcl 7-192 config_data_$cpu_cardx external static fixed bin(17,0) dcl 7-31 config_data_$fnp_cardx external static fixed bin(17,0) dcl 7-33 config_data_$intk_cardx external static fixed bin(17,0) dcl 7-35 config_data_$iom_cardx external static fixed bin(17,0) dcl 7-37 config_data_$ipc_fips_cardx external static fixed bin(17,0) dcl 7-45 config_data_$ipc_msp_model_names external static structure level 1 dcl 7-130 config_data_$ipc_mtp_model_names external static structure level 1 dcl 7-139 config_data_$mem_cardx external static fixed bin(17,0) dcl 7-39 config_data_$mpc_cardx external static fixed bin(17,0) dcl 7-49 config_data_$mpc_msp_cardx external static fixed bin(17,0) dcl 7-41 config_data_$mpc_msp_model_names external static structure level 1 dcl 7-104 config_data_$mpc_mtp_cardx external static fixed bin(17,0) dcl 7-43 config_data_$mpc_mtp_model_names external static structure level 1 dcl 7-113 config_data_$mpc_urp_cardx external static fixed bin(17,0) dcl 7-47 config_data_$mpc_urp_model_names external static structure level 1 dcl 7-122 config_data_$mpcs_cardx external static fixed bin(17,0) dcl 7-57 config_data_$mpcs_msp_cardx external static fixed bin(17,0) dcl 7-51 config_data_$mpcs_mtp_cardx external static fixed bin(17,0) dcl 7-53 config_data_$mpcs_urp_cardx external static fixed bin(17,0) dcl 7-55 config_data_$parm_cardx external static fixed bin(17,0) dcl 7-59 config_data_$part_cardx external static fixed bin(17,0) dcl 7-61 config_data_$printer_model_names external static structure level 1 dcl 7-164 config_data_$prph_cardx external static fixed bin(17,0) dcl 7-77 config_data_$prph_ccu_cardx external static fixed bin(17,0) dcl 7-71 config_data_$prph_dsk_cardx external static fixed bin(17,0) dcl 7-63 config_data_$prph_opc_cardx external static fixed bin(17,0) dcl 7-75 config_data_$prph_prt_cardx external static fixed bin(17,0) dcl 7-65 config_data_$prph_pun_cardx external static fixed bin(17,0) dcl 7-69 config_data_$prph_rdr_cardx external static fixed bin(17,0) dcl 7-67 config_data_$prph_tap_cardx external static fixed bin(17,0) dcl 7-73 config_data_$punch_model_names external static structure level 1 dcl 7-185 config_data_$reader_model_names external static structure level 1 dcl 7-171 config_data_$root_cardx external static fixed bin(17,0) dcl 7-79 config_data_$salv_cardx external static fixed bin(17,0) dcl 7-81 config_data_$schd_cardx external static fixed bin(17,0) dcl 7-83 config_data_$sst_cardx external static fixed bin(17,0) dcl 7-85 config_data_$stok_cardx external static fixed bin(17,0) dcl 7-87 config_data_$tbls_cardx external static fixed bin(17,0) dcl 7-89 config_data_$udsk_cardx external static fixed bin(17,0) dcl 7-91 dial_manager_arg_version_2 internal static fixed bin(17,0) initial dcl 22-10 dial_manager_arg_version_3 internal static fixed bin(17,0) initial dcl 22-11 dial_manager_arg_version_4 internal static fixed bin(17,0) initial dcl 22-12 dmap automatic pointer dcl 21-74 firm_ld_io_type internal static fixed bin(17,0) initial dcl 21-63 gc_files internal static fixed bin(18,0) initial unsigned dcl 20-4 iv_iom internal static fixed bin(18,0) initial unsigned dcl 20-4 mem_not_rel internal static fixed bin(18,0) initial unsigned dcl 20-4 mem_test internal static fixed bin(18,0) initial unsigned dcl 20-4 mlt_act internal static fixed bin(18,0) initial unsigned dcl 20-4 mpc_card_array based structure level 1 dcl 11-19 no_pat internal static fixed bin(18,0) initial unsigned dcl 20-4 no_s2_test internal static fixed bin(18,0) initial unsigned dcl 20-4 no_sv_file internal static fixed bin(18,0) initial unsigned dcl 20-4 not_boot_psia internal static fixed bin(18,0) initial unsigned dcl 20-4 not_sec_mpc internal static fixed bin(18,0) initial unsigned dcl 20-4 os_deny internal static fixed bin(18,0) initial unsigned dcl 20-4 plt_act internal static fixed bin(18,0) initial unsigned dcl 20-4 prph_dsk_card_array based structure level 1 dcl 13-21 prph_tap_card_array based structure level 1 dcl 14-21 ptrain internal static fixed bin(18,0) initial unsigned dcl 20-4 rem_sp_pri internal static fixed bin(18,0) initial unsigned dcl 20-4 rem_sp_sec internal static fixed bin(18,0) initial unsigned dcl 20-4 split_rlsec internal static fixed bin(18,0) initial unsigned dcl 20-4 tape_info_version_3 internal static fixed bin(17,0) initial dcl 19-13 uns_rdr internal static fixed bin(18,0) initial unsigned dcl 20-4 NAMES DECLARED BY EXPLICIT CONTEXT. CONSOLE_MODEL_TO_INDEX_FCN 003053 constant entry internal dcl 530 ref 782 c_info 001732 constant label dcl 340 ref 139 177 ck_com_prph 002317 constant entry internal dcl 415 ref 362 ck_mpc 002521 constant entry internal dcl 453 ref 363 ck_urcd 002766 constant entry internal dcl 510 ref 553 827 856 888 end_sp 004501 constant label dcl 868 ref 864 set_ccu 003101 constant entry internal dcl 546 ref 350 863 893 set_dia 003640 constant entry internal dcl 654 ref 352 set_disk 003143 constant entry internal dcl 570 ref 351 set_hch 003657 constant entry internal dcl 666 ref 353 set_itr_cat 003677 constant entry internal dcl 678 ref 474 set_mask 004105 constant entry internal dcl 737 ref 492 496 set_mca 004150 constant entry internal dcl 757 ref 354 set_opc 004177 constant entry internal dcl 771 ref 355 set_prt 004263 constant entry internal dcl 802 ref 356 set_pun 004410 constant entry internal dcl 843 ref 357 set_rdr 004502 constant entry internal dcl 874 ref 358 set_tape 004572 constant entry internal dcl 904 ref 359 t_err0 002263 constant label dcl 395 ref 133 166 t_err1 002267 constant label dcl 397 ref 169 210 232 249 253 359 551 592 702 710 724 783 816 862 893 912 t_err10 002303 constant label dcl 403 ref 468 t_err2 002273 constant label dcl 399 ref 289 299 323 331 553 578 581 667 759 787 791 810 827 852 856 882 888 t_err21 002307 constant label dcl 405 ref 780 t_err23 002313 constant label dcl 407 ref 120 175 t_err9 002277 constant label dcl 401 ref 777 808 850 880 tolts_device_info_ 000334 constant entry external dcl 62 NAME DECLARED BY CONTEXT OR IMPLICATION. divide builtin function ref 342 760 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5146 5176 5015 5156 Length 6100 5015 30 666 130 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tolts_device_info_ 416 external procedure is an external procedure. ck_com_prph internal procedure shares stack frame of external procedure tolts_device_info_. ck_mpc internal procedure shares stack frame of external procedure tolts_device_info_. ck_urcd internal procedure shares stack frame of external procedure tolts_device_info_. CONSOLE_MODEL_TO_INDEX_FCN internal procedure shares stack frame of external procedure tolts_device_info_. set_ccu internal procedure shares stack frame of external procedure tolts_device_info_. set_disk internal procedure shares stack frame of external procedure tolts_device_info_. set_dia internal procedure shares stack frame of external procedure tolts_device_info_. set_hch internal procedure shares stack frame of external procedure tolts_device_info_. set_itr_cat internal procedure shares stack frame of external procedure tolts_device_info_. set_mask internal procedure shares stack frame of external procedure tolts_device_info_. set_mca internal procedure shares stack frame of external procedure tolts_device_info_. set_opc internal procedure shares stack frame of external procedure tolts_device_info_. set_prt internal procedure shares stack frame of external procedure tolts_device_info_. set_pun internal procedure shares stack frame of external procedure tolts_device_info_. set_rdr internal procedure shares stack frame of external procedure tolts_device_info_. set_tape internal procedure shares stack frame of external procedure tolts_device_info_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tolts_device_info_ 000100 IOM tolts_device_info_ 000101 CHAN tolts_device_info_ 000102 device2 tolts_device_info_ 000103 device tolts_device_info_ 000104 di tolts_device_info_ 000105 MODEL tolts_device_info_ 000106 NDRIVES tolts_device_info_ 000107 i tolts_device_info_ 000110 k tolts_device_info_ 000111 model_index tolts_device_info_ 000112 code tolts_device_info_ 000113 rs_mode tolts_device_info_ 000114 spec_chan tolts_device_info_ 000115 term tolts_device_info_ 000116 term1 tolts_device_info_ 000117 trm tolts_device_info_ 000120 urcitr tolts_device_info_ 000122 rcpsp tolts_device_info_ 000124 dname tolts_device_info_ 000126 altname tolts_device_info_ 000130 mdr_cat tolts_device_info_ 000132 xregp tolts_device_info_ 000134 cont_cardp tolts_device_info_ 000136 chnl_cardp tolts_device_info_ 000140 iom_cardp tolts_device_info_ 000142 ipc_cardp tolts_device_info_ 000144 mpc_cardp tolts_device_info_ 000146 prph_cardp tolts_device_info_ 000150 prph_dsk_cardp tolts_device_info_ 000152 prph_tap_cardp tolts_device_info_ 000154 device_info_ptr tolts_device_info_ 000156 disk_info_ptr tolts_device_info_ 000160 printer_info_ptr tolts_device_info_ 000162 tape_info_ptr tolts_device_info_ 000164 io_info_ptr tolts_device_info_ 000220 i CONSOLE_MODEL_TO_INDEX_FCN 000230 prph_ccu_cardp set_ccu 000304 prph_opc_cardp set_opc 000314 prph_prt_cardp set_prt 000324 prph_pun_cardp set_pun 000334 prph_rdr_cardp set_rdr THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_g_a r_e_as alloc_char_temp call_ext_out_desc call_ext_out return_mac mpfx2 mdfx1 signal_op shorten_stack ext_entry divide_fx3 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hcs_$fs_get_mode hcs_$initiate ioa_$rsnnl 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 tolts_infop LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 62 000330 78 000341 120 000346 124 000401 125 000407 126 000412 127 000420 128 000421 129 000424 130 000426 131 000427 132 000432 133 000445 134 000451 135 000464 136 000466 137 000472 138 000474 139 000476 141 000477 142 000500 143 000501 144 000504 145 000506 146 000513 147 000521 149 000540 150 000544 152 000545 153 000546 154 000551 155 000555 157 000561 158 000571 162 000575 163 000601 164 000602 165 000604 166 000617 168 000623 169 000630 170 000635 171 000645 173 000647 174 000650 175 000653 176 000661 177 000673 183 000674 184 000676 185 000677 186 000702 187 000715 189 000724 192 000737 193 000744 194 000745 197 000757 198 000760 199 000762 200 000763 205 000775 206 000776 207 000777 208 001003 209 001006 210 001021 212 001025 213 001043 214 001046 216 001057 217 001061 218 001062 221 001073 222 001075 224 001076 228 001123 229 001124 230 001126 231 001130 232 001143 234 001147 235 001164 239 001203 240 001204 241 001206 245 001207 246 001210 247 001212 248 001214 249 001227 250 001233 251 001243 253 001244 255 001250 257 001251 258 001263 264 001305 265 001307 267 001310 268 001315 271 001360 272 001362 274 001374 275 001407 277 001412 278 001414 280 001415 282 001433 283 001436 285 001445 286 001447 289 001474 292 001504 293 001506 294 001510 295 001511 296 001513 297 001514 298 001516 299 001520 301 001522 303 001523 304 001525 305 001527 307 001572 308 001606 309 001621 311 001624 312 001626 315 001627 316 001645 317 001650 319 001657 320 001661 323 001706 325 001716 326 001720 327 001721 328 001723 329 001724 330 001726 331 001730 340 001732 342 001734 344 001750 345 001752 346 001754 347 001756 348 001757 349 001760 350 001761 351 001770 352 001774 353 002000 354 002004 355 002010 356 002014 357 002020 358 002024 359 002030 361 002033 362 002037 363 002047 365 002056 366 002064 368 002076 370 002103 372 002110 374 002115 376 002122 378 002127 380 002134 382 002141 384 002146 386 002153 389 002157 390 002162 393 002262 395 002263 396 002266 397 002267 398 002272 399 002273 400 002276 401 002277 402 002302 403 002303 404 002306 405 002307 406 002312 407 002313 408 002316 415 002317 417 002321 418 002330 419 002331 420 002333 421 002336 423 002360 424 002373 427 002405 428 002413 429 002415 432 002432 433 002434 435 002442 436 002443 437 002460 438 002462 441 002502 442 002504 444 002512 445 002514 448 002515 453 002521 455 002522 457 002530 458 002533 459 002535 460 002541 461 002542 463 002543 464 002546 465 002550 468 002556 474 002622 479 002626 480 002630 481 002634 482 002636 483 002645 484 002646 485 002650 486 002663 487 002672 490 002710 491 002712 492 002716 496 002734 499 002742 500 002743 501 002745 502 002757 503 002761 505 002765 510 002766 512 002770 515 003011 517 003031 518 003034 520 003043 522 003045 530 003053 534 003055 535 003063 537 003073 539 003075 546 003101 550 003102 551 003104 552 003110 553 003113 555 003120 556 003123 557 003130 558 003132 560 003133 561 003140 565 003142 570 003143 576 003144 577 003160 578 003163 581 003202 584 003206 585 003215 586 003223 587 003233 588 003241 589 003247 590 003255 591 003263 592 003271 594 003276 595 003304 598 003315 602 003331 603 003333 604 003340 605 003343 607 003354 608 003357 609 003362 617 003364 618 003366 619 003371 621 003410 622 003422 623 003425 624 003431 625 003433 627 003444 628 003447 629 003512 630 003516 631 003521 632 003523 637 003525 638 003575 639 003601 640 003614 643 003627 644 003632 645 003634 649 003637 654 003640 656 003641 657 003643 658 003651 659 003655 661 003656 666 003657 667 003660 668 003664 669 003666 670 003671 673 003676 678 003677 680 003700 682 003715 692 003717 695 003734 696 003740 697 003746 699 003755 700 003757 701 003761 702 003762 703 003766 704 003775 706 004004 709 004006 710 004007 711 004011 713 004023 715 004035 720 004056 721 004062 722 004071 723 004073 724 004074 725 004076 731 004104 737 004105 741 004107 742 004110 743 004117 745 004134 746 004136 747 004140 749 004145 751 004147 757 004150 759 004151 760 004155 762 004171 763 004173 766 004176 771 004177 776 004200 777 004202 780 004207 782 004220 783 004230 785 004232 787 004237 790 004247 791 004250 794 004253 795 004255 797 004262 802 004263 806 004264 807 004266 808 004272 810 004277 812 004301 813 004304 814 004305 816 004317 818 004327 819 004332 820 004334 821 004336 822 004340 823 004344 826 004346 827 004350 830 004360 831 004367 833 004374 834 004376 835 004400 836 004402 838 004407 843 004410 848 004411 849 004413 850 004417 852 004424 854 004426 855 004431 856 004432 858 004446 860 004461 862 004467 863 004471 864 004472 867 004473 868 004501 874 004502 878 004503 879 004505 880 004511 882 004516 884 004520 885 004523 888 004532 891 004546 893 004560 897 004563 898 004571 904 004572 906 004573 907 004602 908 004610 909 004616 910 004624 912 004632 916 004642 917 004651 918 004655 921 004670 925 004704 926 004706 927 004710 928 004715 929 004720 931 004731 932 004734 933 004737 934 004741 935 004747 936 004751 939 004753 ----------------------------------------------------------- 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