COMPILATION LISTING OF SEGMENT as_uncp_mpx_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/20/88 1018.3 mst Wed Options: optimize map 1 /****^ ****************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* ****************************************************** */ 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(88-06-13,Berno), approve(88-07-13,MCR7928), 13* audit(88-06-13,Parisek), install(88-07-19,MR12.2-1061): 14* Created to implement the uncp multiplexer interface for the DSA gateway. 15* END HISTORY COMMENTS */ 16 17 /* AS_UNCP_MPX_ - Provides an interface for the answering service for fnp loading and dumping 18* that makes FNP's look like just another multiplexer */ 19 20 /* Written August 1978 by Larry Johnson */ 21 /* Changed April 1978 from as_fnp_mpx_ to as_mcss 22* s_mpx_ by Larry Johnson */ 23 /* cv_cmf entry added at that time */ 24 /* changed July 1979 to implement fnp_crash_notify.ec */ 25 /* Modified 79 August 21 by Art Beattie to pass FNP type and memory size to fdump_fnp_ and add checks on FNP */ 26 /* definition in mcs_cv_cmf entry. */ 27 /* Modified June 1981 by T. Casey for MR9.0 for new wakeup priorities. */ 28 /* change le nom en as_uncp_mpx_ */ 29 /* modifications dans wakeup handler */ 30 /* Modifie en Aout 1982 pour le load du DN 7100 */ 31 /* Modified April 1982 by Robert Coren to support baud rates up to 72000. */ 32 /* Modified June 1982 by Robert Coren to accept memory sizes up to 256K. */ 33 /* Modified August 1982 by Robert Coren for additional argument to multiplexer_mgr_$mpx_crashed. */ 34 35 /* THE FOLLOWING HISTORY COMMENTS REFER TO as_uncp_mpx_ VERSION NOT 36* as_mcs_mpx_. THIS CODE WAS EXTRACTED FROM as_mcs_mpx_.pl1. */ 37 38 /* Reported in June 1983 the modifications for the Datanet 7100. */ 39 /* Reported in September 1985 the modifications for MR11 */ 40 /* Modified 25 Oct 85 by PL Schramm to set admin_sci_ptr if null to allow sc_commands in fnp_notify exec_com */ 41 /* Modified in December 1986 for MR12 & DSA-Compact f.d */ 42 /* Modified in January 1987 for mise a niveau MR12.0 fd. */ 43 /* Modified by JL Berno for attendre 60 secondes apres le load avant de 44* dire qu'il y a probleme. */ 45 46 /* Date of the last modification 22/06/87 */ 47 48 49 /* format: style4,delnl,insnl,^ifthendo */ 50 51 as_uncp_mpx_ : 52 proc; 53 54 /* Parameters */ 55 56 dcl arg_mpx_name char (*); /* Name of the multiplxer (fnp) */ 57 dcl arg_cdtp ptr; /* Address of the cdt */ 58 dcl arg_fnpep ptr; /* Pointer to cdte entry for this fnp */ 59 dcl arg_chan_listp ptr; /* Pointer to a structure of channels to init */ 60 61 dcl arg_check_sw bit (1) aligned; /* Says whether or not to check configuration */ 62 dcl arg_event_infop ptr; 63 dcl arg_code fixed bin (35); 64 dcl arg_error_proc entry variable; 65 66 /* Automatic */ 67 68 dcl up_time fixed bin; /* pour le dn 7100 */ 69 dcl code fixed bin (35); 70 dcl fnp_no fixed bin; 71 dcl mpx_name char (32); 72 dcl chan_listp ptr; 73 dcl event_infop ptr; 74 dcl ev_msg_array (2) bit (36); 75 dcl ev_msg_char char (8); 76 dcl ename char (32); 77 dcl (i, j) fixed bin; 78 dcl lsla_count (0:5) fixed bin; 79 dcl hsla_configured (0:2) bit (1); 80 dcl adapt_type bit (1); 81 dcl adapt_no fixed bin; 82 dcl chan_no fixed bin; 83 dcl sync_line bit (1); 84 dcl error_proc entry (fixed bin, fixed bin, char (*), char (*), char (*), char (*)) variable; 85 86 /* Constants */ 87 88 dcl TOO_MANY_BOOTLOADS fixed bin int static options (constant) init (2); 89 dcl DEFAULT_MEMORY fixed bin int static options (constant) init (192); 90 dcl MAX_MEMORY fixed bin int static options (constant) init (510); 91 dcl MOD_OF_MEMORY fixed bin int static options (constant) init (64); 92 dcl MAX_LSLAS fixed bin int static options (constant) init (6); 93 dcl MAX_HSLAS fixed bin int static options (constant) init (3); 94 dcl SPECIAL_CHN fixed bin int static options (constant) init (7); 95 dcl fnp_boot_timeout_secs fixed bin (71) init (120) int static options (constant); 96 dcl name char (12) int static options (constant) init ("as_uncp_mpx_"); 97 dcl sync_baud_rates (10) fixed bin int static options (constant) 98 init (1200, 1800, 2400, 4800, 7200, 9600, 19200, 40800, 50000, 72000); 99 100 101 /* Static */ 102 103 dcl static_cdtp ptr int static init (null); /* Remember where cdt is */ 104 105 /* Entrees ajoutees pour le Datanet 7100. */ 106 dcl multiplexer_mgr_$load_mpx entry (char (*), bit (1) aligned, bit (1) aligned, bit (1) aligned, fixed bin (35)); 107 dcl multiplexer_mgr_$shutdown_mpx entry (char (*), bit (1) aligned, fixed bin (35)); 108 109 dcl ipc_$create_ev_chn entry (fixed bin (71), fixed bin (35)); 110 dcl ipc_$decl_ev_call_chn entry (fixed bin (71), entry, ptr, fixed bin, fixed bin (35)); 111 dcl sys_log_ entry options (variable); 112 dcl load_uncp_ entry (fixed bin, ptr, ptr, bit (1) aligned, fixed bin (35)); 113 dcl sys_log_$error_log entry options (variable); 114 dcl timer_manager_$reset_alarm_wakeup entry (fixed bin (71)); 115 dcl timer_manager_$alarm_wakeup entry (fixed bin (71), bit (2), fixed bin (71)); 116 dcl ipc_$drain_chn entry (fixed bin (71), fixed bin (35)); 117 dcl get_process_id_ entry returns (bit (36) aligned); 118 dcl multiplexer_mgr_$mpx_load_failed entry (char (*), fixed bin (35)); 119 dcl multiplexer_mgr_$mpx_loaded entry (char (*), fixed bin (35)); 120 dcl multiplexer_mgr_$mpx_crashed entry (char (*), bit (1) aligned, fixed bin (35)); 121 122 dcl ioa_$rsnnl entry options (variable); 123 dcl parse_tty_name_ entry (char (*), fixed bin, bit (1), fixed bin, fixed bin); 124 dcl error_table_$action_not_performed ext fixed bin (35); 125 126 dcl (addr, char, clock, divide, hbound, index, lbound, ltrim, mod, string, 127 unspec) builtin; 128 dcl get_fnp_name_ entry (fixed binary) returns (character (32)); 129 130 /* Based */ 131 132 dcl 1 chan_list aligned based (chan_listp), /* List of cdte entries of channels to boot */ 133 2 count fixed bin, 134 2 cdte_ptr (0 refer (chan_list.count)) ptr unal; 135 136 dcl 1 event_info aligned based (event_infop), 137 2 channel_id fixed bin (71), 138 2 message fixed bin (71), 139 2 sender_procid bit (36), 140 2 origin, 141 3 dev_signal bit (18) unal, 142 3 ring bit (18) unal, 143 2 data_ptr ptr; 144 145 dcl 1 fnp_msg aligned based (addr (event_info.message)), 146 2 fnp_no fixed bin (17) unal, 147 2 state fixed bin (17) unal, 148 2 pad fixed bin (35); 149 150 151 /* Entry to load a fnp */ 152 153 154 uncp_load: 155 entry (arg_mpx_name, arg_cdtp, arg_fnpep, arg_chan_listp, arg_check_sw, arg_code); 156 157 mpx_name = arg_mpx_name; 158 cdtp, static_cdtp = arg_cdtp; 159 fnpep = arg_fnpep; 160 chan_listp = arg_chan_listp; 161 mpxep = addr (fnpe.mpxe); 162 163 call compute_fnp_no; 164 if code ^= 0 then do; 165 arg_code = code; 166 return; 167 end; 168 169 if fnpe.boot_ev_chan = 0 170 then do; 171 call ipc_$create_ev_chn (fnpe.boot_ev_chan, code); 172 if code ^= 0 173 then do; 174 ev_chan_err: 175 call sys_log_$error_log (SL_LOG, code, name, "Creating event channel for FNP ^a.", mpx_name); 176 arg_code = error_table_$action_not_performed; 177 return; 178 end; 179 call ipc_$decl_ev_call_chn (fnpe.boot_ev_chan, uncp_wakeup_handler, fnpep, MPX_LOAD_PRIO, code); 180 if code ^= 0 181 then go to ev_chan_err; 182 end; 183 184 call timer_manager_$reset_alarm_wakeup (fnpe.boot_ev_chan); 185 call ipc_$drain_chn (fnpe.boot_ev_chan, code); /* Just in case */ 186 if code ^= 0 187 then do; 188 189 call sys_log_$error_log (SL_LOG, code, name, "Resetting event channel for FNP ^a.", mpx_name); 190 arg_code = error_table_$action_not_performed; 191 return; 192 end; 193 194 call load_uncp_ (fnp_no, cdtp, chan_listp, arg_check_sw, code); 195 if code ^= 0 196 then do; 197 arg_code = code; 198 mpxe.state = FNP_UNKNOWN; 199 return; 200 end; 201 202 call timer_manager_$alarm_wakeup ((60), RELATIVE_SECONDS, fnpe.boot_ev_chan); 203 204 arg_code = 0; 205 return; 206 207 /* Take a dump of an fnp */ 208 209 uncp_dump: 210 entry (arg_mpx_name, arg_cdtp, arg_fnpep, arg_code); 211 mpx_name = arg_mpx_name; 212 call sys_log_ (SL_LOG, "^a: FNP ^a stopped. All lines disconnected.", name, mpx_name); 213 arg_code = 0; 214 return; 215 216 /* Wakeup handler for wakeups on the bootload event channel */ 217 218 uncp_wakeup_handler: 219 entry (arg_event_infop); 220 221 event_infop = arg_event_infop; 222 cdtp = static_cdtp; 223 fnpep = event_info.data_ptr; 224 mpxep = addr (fnpe.mpxe); 225 226 227 if event_info.ring ^= "0"b 228 then /* If not ring-0 */ 229 if event_info.sender_procid ^= get_process_id_ () 230 then do; /* Trust only myself */ 231 string (ev_msg_array) = unspec (event_info.message); 232 233 call sys_log_ (SL_LOG, "^a: Unexpected wakeup (^w ^w) from process ^w.", name, ev_msg_array, 234 event_info.sender_procid); 235 return; 236 end; 237 238 call compute_fnp_no; 239 if code ^= 0 240 then do; 241 call sys_log_ (SL_LOG, "^a: Wakeup with bad data pointer ignored: ^p", name, fnpep); 242 return; 243 end; 244 245 mpx_name = get_fnp_name_ (fnp_no); 246 247 unspec (ev_msg_char) = unspec (event_info.message); 248 249 call timer_manager_$reset_alarm_wakeup (fnpe.boot_ev_chan); 250 251 if ev_msg_char = "alarm___" 252 then do; 253 call sys_log_ (SL_LOG_BEEP, "^a: FNP ^a needs to be loaded.", name, mpx_name); 254 255 return; 256 end; 257 258 259 260 if ev_msg_char = "inituncp" 261 then do; 262 if mpxe.state = MPX_BOOT 263 then do; 264 call multiplexer_mgr_$shutdown_mpx (mpx_name, "0"b, code); 265 if code ^= 0 266 then return; 267 268 269 call multiplexer_mgr_$load_mpx (mpx_name, "0"b, "1"b, "0"b, code); 270 return; 271 end; 272 if mpxe.state = MPX_UP 273 then do; 274 call sys_log_ (SL_LOG, "^a: FNP ^a reinitialized (init received from DN7100).", 275 name, mpx_name); 276 mpxe.time_last_crash = clock (); 277 call multiplexer_mgr_$shutdown_mpx (mpx_name, "0"b, code); 278 if code ^= 0 279 then return; 280 281 up_time = divide (mpxe.time_last_crash - mpxe.time_last_load, 60000000, 17, 0); 282 /* Time it stayed up */ 283 code = 0; 284 285 if mpxe.current_service_type = INACTIVE 286 then /* Stopped by operator */ 287 call sys_log_ (SL_LOG, "^a: FNP ^a is inactive and needs to be loaded.", name, mpx_name); 288 289 else if cdt.acceptable_fnp_tbf = 0 290 then /* No auto reloading */ 291 call sys_log_ (SL_LOG, "^a: FNP ^a automatic reloading is disabled and will not be loaded.", name, mpx_name); 292 293 else if (mpxe.n_bootloads >= TOO_MANY_BOOTLOADS) & (up_time < cdt.acceptable_fnp_tbf) 294 & (mpxe.last_tbf < cdt.acceptable_fnp_tbf) 295 then call sys_log_ (SL_LOG, "^a: FNP ^a is in apparent crash loop and will not be reloaded", name, mpx_name); 296 297 else call multiplexer_mgr_$load_mpx (mpx_name, "0"b, "1"b, "0"b, code); 298 299 mpxe.last_tbf = up_time; /* Save for next crash */ 300 return; /* ignore other inituncp wakeup */ 301 end; 302 end; 303 304 if fnp_msg.fnp_no ^= fnp_no 305 then do; /* Garbage msg */ 306 call sys_log_ (SL_LOG, 307 "^a: Invalid wakeup received for FNP ^a. Wakeup appears to be for GATEWAY #^d", 308 name, mpx_name, fnp_msg.fnp_no); 309 return; 310 end; 311 312 if fnp_msg.state < FNP_UNKNOWN | fnp_msg.state > FNP_UP 313 then do; 314 call sys_log_ (SL_LOG, "^a: Wakeup for FNP ^a has invalid state code: ^d.", name, fnp_msg.state); 315 return; 316 end; 317 318 if mpxe.state = FNP_BOOT 319 then do; /* Now booting */ 320 321 if fnp_msg.state = FNP_DOWN 322 then do; /* Boot failed */ 323 mpxe.flags.retry_load = "0"b; /* don't loop to boot the datanet */ 324 call multiplexer_mgr_$mpx_load_failed (mpx_name, code); 325 call sys_log_ (SL_LOG, "^a: Load failed for FNP ^a.", name, mpx_name); 326 end; 327 else if fnp_msg.state = FNP_UP /* Boot succeeded */ 328 then call multiplexer_mgr_$mpx_loaded (mpx_name, code); 329 /* don't report anything now, the gateway did it before */ 330 else 331 bad_wakeup: 332 call sys_log_ (SL_LOG, 333 "^a: Inconsistent wakeup received from FNP ^a. FNP state = ^a, msg state = ^a", 334 name, mpx_name, MPXE_STATE ((mpxe.state)), MPXE_STATE ((fnp_msg.state))); 335 336 return; 337 end; 338 339 else if mpxe.state = FNP_UP 340 then do; /* Currently running ok */ 341 if fnp_msg.state = FNP_DOWN 342 then do; /* It crashed */ 343 call multiplexer_mgr_$mpx_crashed (mpx_name, "1"b, code); 344 /* don't reload if deconfigured */ 345 call sys_log_ (SL_LOG, "^a: Crash signalled for FNP ^a.", name, mpx_name); 346 end; 347 else go to bad_wakeup; 348 end; 349 else go to bad_wakeup; 350 return; 351 352 /* Procedure to get fnp number given a fnp entry ptr in cdt */ 353 354 compute_fnp_no: 355 proc; 356 357 dcl i fixed bin; 358 dcl p ptr; 359 360 do i = 1 to hbound (cdt.fnp_entry, 1); 361 p = addr (cdt.fnp_entry (i)); 362 if p = fnpep 363 then do; /* Got it */ 364 fnp_no = i; 365 code = 0; 366 return; 367 end; 368 end; 369 call sys_log_ (SL_LOG, "^a: Procedure called with bad fnpep into cdt: ^p", name, fnpep); 370 code = error_table_$action_not_performed; 371 return; 372 373 end compute_fnp_no; 374 375 376 377 378 /* Procedure to free the boot segment */ 379 380 /* free_boot_seg: proc (abort_sw); 381* 382* dcl abort_sw bit (1); 383* 384* if fnpe.boot_segp = null () then return; 385* if abort_sw then call hphcs_$abort_fnp_load (fnp_no); 386* else call hphcs_$release_fnp_seg (fnp_no); 387* call hcs_$delentry_seg (fnpe.boot_segp, code); 388* fnpe.boot_segp = null (); 389* return; 390* 391* end free_boot_seg; 392**/ 393 394 /* This entry is called at cv_cmf time to validate the CMF entries for an FNP */ 395 396 /* Summary of errors detected: 397* 1 - Invalid memory size. 398* 2 - Invalid LSLA count. 399* 3 - Invalid HSLA count. 400* 4 - DN6670 configured with LSLA's. 401* 5 - Illegal channel name. 402* 6 - No baud rate specified. 403* 7 - Synchronous line type spcified on LSLA channel. 404* 8 - Baud rate invalid on syncrhonous line. 405* 9 - HSLA subchannel > 31 specified. 406* 10 - LSLA subchannel > 51 specified. 407* 11 - LSLA subchannel specified as autobaud. 408* 12 - Baud rate invalid on LSLA channel. 409* 13 - LSLA has too many time slots configured. 410* 14 - Channels configured on more LSLA's than specified in lsla statement. 411* 15 - Channels configured on more HSLA's than specified in hsla statement. 412* 16 - Not configured as top-level multiplexer. 413* 17 - FNP other than DN6670 configured for more than 32K of memory. 414**/ 415 416 uncp_cv_cmf: 417 entry (arg_cdtp, arg_fnpep, arg_mpx_name, arg_chan_listp, arg_error_proc); 418 419 cdtp = arg_cdtp; 420 fnpep = arg_fnpep; 421 mpx_name = arg_mpx_name; 422 chan_listp = arg_chan_listp; 423 error_proc = arg_error_proc; 424 425 if index (mpx_name, ".") > 0 426 then do; 427 call error_proc (16, 2, "uncp multiplexer can only be configured for an FNP, not ^a", "^a", mpx_name, 428 ""); 429 return; 430 end; 431 432 /* Apply some defaults */ 433 434 if fnpe.memory = 0 435 then fnpe.memory = DEFAULT_MEMORY; /* The default */ 436 if fnpe.type = 0 437 then fnpe.type = DN7100; 438 if fnpe.coreimage = "" 439 then fnpe.coreimage = "uncp"; 440 441 /* Check memory size */ 442 443 if fnpe.memory < DEFAULT_MEMORY | fnpe.memory > MAX_MEMORY 444 then do; 445 memory_error_size: 446 call ioa_$rsnnl ("^dk", ename, (0), fnpe.memory); 447 call error_proc (1, 2, "Invalid memory size of ""^a"" on FNP ^a.", "^a on FNP ^a", ename, mpx_name); 448 return; 449 end; 450 451 if mod (fnpe.memory, MOD_OF_MEMORY) ^= 0 452 then do; 453 if fnpe.memory ^= MAX_MEMORY 454 then goto memory_error_size; 455 end; /* Check number of adapters */ 456 457 if fnpe.nlslas < 0 | fnpe.nlslas > MAX_LSLAS 458 then call error_proc (2, 2, "Invalid lsla count on FNP ""^a"".", "FNP ^a", mpx_name, ""); 459 if fnpe.nhslas < 0 | fnpe.nhslas > MAX_HSLAS 460 then call error_proc (3, 2, "Invalid hsla count on FNP ""^a"".", "FNP ^a", mpx_name, ""); 461 if fnpe.type = DN7100 & fnpe.nlslas ^= 0 462 then do; 463 fnpe.nlslas = 0; 464 call error_proc (4, 2, "DN7100 (FNP ^a) configured with lsla's", "FNP ^a", mpx_name, ""); 465 end; 466 467 /* Now loop thru all the channels */ 468 469 lsla_count (*) = 0; 470 hsla_configured (*) = "0"b; 471 472 do i = 1 to chan_list.count; 473 cdtep = chan_list.cdte_ptr (i); 474 call parse_tty_name_ ((cdte.name), fnp_no, adapt_type, adapt_no, chan_no); 475 if fnp_no < 0 476 then do; 477 call error_proc (5, 2, "Illegal channel name ""^a"".", "^a", (cdte.name), ""); 478 go to next_channel; 479 end; 480 481 if cdte.baud_rate = 0 & ^cdte.autobaud 482 then call error_proc (6, 2, "No baud rate specified for ""^a"".", "^a", (cdte.name), ""); 483 484 sync_line = "0"b; 485 do j = 1 to hbound (sync_line_type, 1) while (^sync_line); 486 if cdte.line_type = sync_line_type (j) 487 then sync_line = "1"b; 488 end; 489 if sync_line 490 then do; 491 if ^adapt_type 492 then call error_proc (7, 2, "Synchronous line type specified on LSLA channel ""^a"".", "^a", 493 (cdte.name), ""); 494 do j = 1 to hbound (sync_baud_rates, 1) while (cdte.baud_rate ^= sync_baud_rates (j)); 495 end; 496 if j > hbound (sync_baud_rates, 1) 497 then call error_proc (8, 2, "Invalid synchronous baud rate specified for ""^a"".", "^a", (cdte.name), 498 ""); 499 end; 500 501 if adapt_type /* Hsla */ 502 then if adapt_no ^= SPECIAL_CHN /* if not special channel */ 503 then do; 504 hsla_configured (adapt_no) = "1"b; 505 if chan_no > 63 506 then call error_proc (9, 2, "HSLA subchannel > 31 specified for ""^a"".", "^a", (cdte.name), ""); 507 end; 508 else ; 509 510 else do; 511 call error_proc (10, 2, "LSLA forbidden with uncp for ""^a"".", "^a", (cdte.name), ""); 512 /* For the DN7100 */ 513 514 515 if chan_no > 51 then call error_proc (10, 2, "LSLA subchannel > 51 specified for ""^a"".", "^a", 516 (cdte.name), ""); 517 if cdte.autobaud then call error_proc (11, 2, "LSLA subchannel ""^a"" specified as autobaud.", 518 "^a", (cdte.name), ""); 519 if cdte.baud_rate = 110 then lsla_count (adapt_no) = lsla_count (adapt_no) + 1; 520 else if cdte.baud_rate = 133 | cdte.baud_rate = 150 then 521 lsla_count (adapt_no) = lsla_count (adapt_no) + 2; 522 else if cdte.baud_rate = 300 then lsla_count (adapt_no) = lsla_count (adapt_no) + 3; 523 else call error_proc (12, 2, "Invalid baud rate specified for LSLA channel ""^a"".", "^a", 524 (cdte.name), ""); 525 526 end; 527 528 next_channel: 529 end; 530 531 /* Some final consistency checks */ 532 533 j = 0; 534 do i = lbound (lsla_count, 1) to hbound (lsla_count, 1); 535 if lsla_count (i) > 0 then do; 536 j = j + 1; 537 if lsla_count (i) > 52 then do; 538 call ioa_$rsnnl ("LSLA ^d", ename, (0), i); 539 call error_proc (13, 2, "^a on FNP ^a has too many time slots configured.", "^a on FNP ^a", 540 ename, mpx_name); 541 end; 542 end; 543 end; 544 if j > fnpe.nlslas then 545 call error_proc (14, 2, "More LSLA's configured on FNP ^a than specified in lsla statement.", 546 "FNP ^a", mpx_name, ""); 547 548 549 j = 0; 550 do i = lbound (hsla_configured, 1) to hbound (hsla_configured, 1); 551 if hsla_configured (i) 552 then j = j + 1; 553 end; 554 if j > fnpe.nhslas 555 then call error_proc (15, 2, "More HSLA's configured on FNP ^a than specified in hsla statement.", "FNP ^a", 556 mpx_name, ""); 557 558 return; 559 560 MPXE_STATE: 561 procedure (state) returns (char (32)); 562 563 declare state fixed bin; 564 565 if state < lbound (MPXE_STATE_NAMES, 1) | state > hbound (MPXE_STATE_NAMES, 1) 566 then return (ltrim (char (state))); 567 else return (MPXE_STATE_NAMES (state)); 568 end MPXE_STATE; 569 1 1 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 1 2 1 3 /* format: style3,idind25,indcomtxt */ 1 4 1 5 /* Channel Definition Table. 1 6* This table lists all of the hardware channels (ports) connected 1 7* to the system, and maintains the attributes of each one. 1 8* 1 9* PG 741230 1 10* Modified by Mike Grady 5/6/76 to add FNP info. 1 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 1 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 1 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 1 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 1 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 1 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 1 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 1 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 1 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 1 20* Modified August 1982 by E. N. Kittlitz for check_acs. 1 21* Modified January 1983 by Keith Loepere for generic_destination. 1 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 1 23* Modified 831216 by E. N. Kittlitz for required_access_class. 1 24* Modified 84-04-01 by BIM to finish communications AIM: 1 25* access class ranges, 1 26* access_control flags. 1 27**/ 1 28 1 29 1 30 /****^ HISTORY COMMENTS: 1 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 1 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 1 33* Add support for answering service to use IOCBs when tty_ cannot be 1 34* used to service login channels. 1 35* END HISTORY COMMENTS */ 1 36 1 37 1 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 1 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 1 40 1 41 dcl (cdtp, cdtep, fnpep, mpxep) 1 42 ptr; 1 43 1 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 1 45 2 author like author_dcl.author, /* standard header */ 1 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 1 47 2 current_size fixed bin, /* number of last cdte. */ 1 48 2 version fixed bin, 1 49 2 freep fixed bin, /* chain of free cdte's */ 1 50 2 n_cdtes fixed bin, /* number of used cdte's */ 1 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 1 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 1 53 2 cpu_in_dialup fixed bin (71), /* .. */ 1 54 2 pf_in_dialup fixed bin, /* .. */ 1 55 2 pp_in_dialup fixed bin, /* .. */ 1 56 2 entries_to_dialup fixed bin, /* .. */ 1 57 2 flags, 1 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 1 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 1 60 3 mux_mgr_system_init 1 61 bit (1) unal, /* mux mgr has loaded top-levels */ 1 62 3 pad1 bit (33) unal, 1 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 1 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 1 65 2 threads aligned like channel_threads, 1 66 /* root of non-fnp-top-level-multiplexers */ 1 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 1 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 1 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 1 70 1 71 1 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 1 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 1 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 1 75 2 pad1 bit (36) aligned, 1 76 2 name char (32), /* ASCII name of channel */ 1 77 2 access_class (2) bit (72) aligned, /* access class range */ 1 78 2 comment char (48), /* printable message about channel */ 1 79 2 charge_type fixed bin (17) unal, /* billing group */ 1 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 1 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 1 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 1 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 1 84 2 pad2 bit (18) unaligned, 1 85 2 answerback char (8), /* answerback string expected */ 1 86 2 initial_terminal_type 1 87 char (32) unal, /* as specified in the CMF */ 1 88 2 mpx_data unal, /* data used only for multiplexed channels */ 1 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 1 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 1 91 2 flags, 1 92 ( 3 attributes, 1 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 1 94 4 audit_access_error 1 95 bit (1), /* ON means ck that person auth is inside access class range */ 1 96 /* this implies that the access_class describes a range of 1 97* legitimate user auths. */ 1 98 4 hardwired bit (1), /* ON means it is */ 1 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 1 100 4 dont_read_answerback 1 101 bit (1), /* ON means don't try to read answerback */ 1 102 4 pada bit (4), 1 103 3 access_control unaligned, /* As below */ 1 104 4 dial_out bit (1), /* dialing user must be on ACS */ 1 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 1 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 1 107 4 login bit (1), /* logging in user must be on acs */ 1 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 1 109 4 pado bit (3), 1 110 3 options, 1 111 4 execute_initial_command 1 112 bit (1), /* ON means to do it */ 1 113 4 attached_by_operator 1 114 bit (1), /* ON means temporary attachment. */ 1 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 1 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 1 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 1 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 1 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 1 120 4 generic_destination_present 1 121 bit (1), /* ON means that the initial_command field contains 1 122* a generic destination to match on dial_out or priv attach */ 1 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 1 124 4 pado bit (9) 1 125 ) unaligned, 1 126 2 initial_command char (64), /* pseudo first input line */ 1 127 /**** The following variables represent dynamic control info, and 1 128* are used mostly by dialup_ and asu_ */ 1 129 2 event fixed bin (71), /* event call channel for channel events */ 1 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 1 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 1 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 1 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 1 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 1 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 1 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 1 137 /* 0 = dialup_, 1 = mc_tty_ */ 1 138 3 save_arg bit (1) unal, /* -save login arg given */ 1 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 1 140 3 detach_after_hangup 1 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 1 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 1 143 3 hold_arg bit (1) unal, /* -hold arg given */ 1 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 1 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 1 146 3 current_access_class_valid 1 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 1 148 3 pad bit (7) unal, 1 149 2 twx fixed bin, /* channel device index */ 1 150 2 state fixed bin, /* channel state */ 1 151 2 tty_id_code char (4), /* channel id (answerback) */ 1 152 2 current_terminal_type 1 153 char (32) unal, /* most recently-set terminal type */ 1 154 2 process ptr unal, /* ptr to ATE owning this channel */ 1 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 1 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 1 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 1 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 1 159* We do not yet define multi-class connections, but we will someday. */ 1 160 2 disconnected_ate_index 1 161 fixed bin (17) unal, /* index of ate of disconnected process */ 1 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 1 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 1 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 1 165 2 pad3 bit (14) unaligned, 1 166 /**** The following variables are kept for metering purposes. */ 1 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 1 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 1 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 1 170 2 dialup_time fixed bin (71), /* time of present dialup */ 1 171 2 disconnected_proc_command 1 172 fixed bin (12) unsigned unal, 1 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 1 174 2 disconnected_proc_number 1 175 fixed bin (12) unsigned unal, 1 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 1 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 1 178 /* number of disconnected processes that user has */ 1 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 1 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 1 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 1 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 1 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 1 184 /**** had the space. */ 1 185 2 threads aligned like channel_threads, 1 186 /**** The use name is that of the user who gave the dial or slave ****/ 1 187 /**** preaccess request. ****/ 1 188 2 user_name unaligned, 1 189 3 person char (20) unaligned, 1 190 3 project char (9) unaligned, 1 191 3 pad char (3) unaligned, /* no tag */ 1 192 2 iocbp ptr unaligned; /* 104 words */ 1 193 1 194 1 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 1 196* overlays initial_command field for slave and autocall lines */ 1 197 1 198 1 199 1 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 1 201 /* These variables are filled in from the CMF */ 1 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 1 203 2 memory fixed bin, /* amount of memory on this FNP */ 1 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 1 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 1 206 2 service_type fixed bin, /* service type */ 1 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 1 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 1 209 /**** The following are used during system operation to remember the state of the FNP */ 1 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 1 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 1 212 2 mpxe like mpxe, /* standard multiplexer data */ 1 213 2 threads aligned like channel_threads, 1 214 /* same mpx threads as channel */ 1 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 1 216 1 217 /* This structure describes the data necessary to control a multiplexer. 1 218* For FNP's., a copy appears in the fnpe. For communications lines, it 1 219* overlays the initial_command field in the cdte. */ 1 220 1 221 dcl 1 mpxe based (mpxep) aligned, 1 222 2 state fixed bin, /* current state, up, down, loading */ 1 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 1 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 1 225 2 n_bootloads fixed bin, /* count of load attempts */ 1 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 1 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 1 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 1 229 2 time_load_start fixed bin (71), /* time current load started */ 1 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 1 231 2 flags unal, 1 232 3 go bit (1), /* start MPX after it loads */ 1 233 3 listening bit (1), /* listen has been done on subchannels */ 1 234 3 check bit (1), /* loaded with check option */ 1 235 3 retry_load bit (1), /* reload if load fails */ 1 236 3 pad1 bit (32), 1 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 1 238 1 239 /* These threads define the tree of multiplexers in the cdt. */ 1 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 1 241 /* by alpha sort order of the channel name. Daughter points to the */ 1 242 /* first child of this node, if any. Daughter count is the number */ 1 243 /* of children, as a consistency check. Mother is a back pointer to */ 1 244 /* the parent, present in all the children, not just the first. */ 1 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 1 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 1 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 1 248 1 249 dcl 1 channel_threads aligned based, 1 250 2 next_sister fixed bin unaligned, 1 251 2 prev_sister fixed bin unaligned, 1 252 2 daughter fixed bin unaligned, 1 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 1 254 2 pad bit (18) unaligned, 1 255 2 daughter_count fixed bin unaligned; 1 256 1 257 /* Values for cdte.service_type field */ 1 258 1 259 dcl ( 1 260 ANS_SERVICE init (1), /* login or dial */ 1 261 FTP_SERVICE init (2), /* file transfer service */ 1 262 MC_SERVICE init (3), /* message coordinator */ 1 263 SLAVE_SERVICE init (4), /* special channel */ 1 264 DIAL_SERVICE init (5), /* transient state */ 1 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 1 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 1 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 1 268 ) fixed bin internal static options (constant); 1 269 1 270 /* Values for service type in both cdte and fnpe */ 1 271 1 272 dcl ( 1 273 INACTIVE init (7), /* not to be used, even though configured */ 1 274 ACTIVE init (1) 1 275 ) /* for FNP only, configured and to be used */ 1 276 fixed bin internal static options (constant); 1 277 1 278 /* Value for both cdte.in_use and fnpe.state */ 1 279 1 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 1 281 /* was not configured at Multics bootload time */ 1 282 1 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 1 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 1 285 1 286 /* Value for cdte.in_use */ 1 287 1 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 1 289 /* channel deleted by CDT installation */ 1 290 1 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 1 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 1 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 1 294 1 295 1 296 /* Values for mpxe.state field */ 1 297 1 298 dcl ( 1 299 FNP_FREE init (0), /* this fnpe is not used */ 1 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 1 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 1 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 1 303 FNP_UP init (4) /* FNP is up and running fine */ 1 304 ) fixed bin internal static options (constant); 1 305 1 306 dcl ( 1 307 MPX_FREE init (0), /* this mpxe is not used */ 1 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 1 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 1 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 1 311 MPX_UP init (4) /* MPX is up and running fine */ 1 312 ) fixed bin internal static options (constant); 1 313 2 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 2 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 2 8* Add data needed for the uncp multiplexer (DSA gateway) interface 2 9* implementation. 2 10* END HISTORY COMMENTS */ 2 11 2 12 2 13 /* Values for fnpe.type field */ 2 14 /* 2 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 2 16* Added in March 1982 - DN7100.fd. 2 17**/ 2 18 2 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 2 20 DN6600 init (2), /* a DataNet 6600 FNP */ 2 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 2 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 2 23 ) fixed bin internal static options (constant); 2 24 2 25 dcl fnp_types (4) char (8) int static options (constant) 2 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 2 27 2 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 2 29 init (355, 6600, 6670, 7100); 2 30 2 31 dcl supported_fnp (4) bit (1) int static options (constant) 2 32 init ("0"b, "0"b, "1"b, "1"b); 2 33 2 34 2 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 1 314 1 315 1 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 570 571 3 1 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 3 2 3 3 /* This include file declares the "author" substructure 3 4* in a form suitable for using the PL/I "like" attribute. 3 5* 3 6* Written 750304 by PG 3 7**/ 3 8 3 9 dcl 1 author_dcl aligned based, 4 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 4 2 4 3 /* the "author" items must always be the first ones in the table. The 4 4* module which moves the converted table to the System Control process 4 5* fills in these data items and assumes them to be at the head of the segment 4 6* regardless of the specific table's actual declaration. The variables 4 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 4 8* respectively. For tables installed in multiple processes, these 4 9* are to be used to lock out multiple installations. */ 4 10 4 11 /* Lock should be used as a modification lock. Since, in general, 4 12* entries may not be moved in system tables, even by installations, 4 13* it is sufficient for only installers and programs that change threads 4 14* to set or respect the lock. Simply updating data in an entry 4 15* requires no such protection. 4 16* 4 17* Last_install_time is used by readers of system tables to detect 4 18* installations or other serious modifications. By checking it before 4 19* and after copying a block of data, they can be protected against 4 20* modifications. 4 21* 4 22* Modules that set the lock should save proc_group_id, and then 4 23* put their group id there for the time they hold the lock. 4 24* if they do not actually install the, they should restore the group id. 4 25**/ 4 26 4 27 2 author aligned, /* validation data about table's author */ 4 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 4 29 3 lock bit (36), /* installation lock */ 4 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 4 31 3 update_authorization bit (1) unal, /* update only authorizations */ 4 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 4 33 3 pad bit (33) unaligned, 4 34 3 last_install_time fixed bin (71), 4 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 4 36 3 w_dir char (64), /* author's working directory */ 4 37 4 38 /* END INCLUDE FILE author.incl.pl1 */ 3 10 3 11 2 pad; 3 12 3 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 572 5 1 /* Begin include file as_mpx_state_names_.incl.pl1 */ 5 2 /* format: style3 */ 5 3 5 4 declare MPXE_STATE_NAMES (0:4) char (32) int static options (constant) 5 5 init ("free", "unknown", "down", "booting", "up"); 5 6 5 7 /* End include file as_mpx_state_names_.incl.pl1 */ 573 6 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 6 2 6 3 /* Written November 10 1975 by Paul Green */ 6 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 6 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 6 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 6 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 6 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 6 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 6 10 6 11 6 12 /****^ HISTORY COMMENTS: 6 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 6 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 15* Add a DSA line type. 6 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 6 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 18* Add HASP_OPR to identify HASP workstation consoles with login service. 6 19* END HISTORY COMMENTS */ 6 20 6 21 6 22 declare (LINE_MC initial (-2), 6 23 LINE_TELNET initial (-1), 6 24 LINE_UNKNOWN initial (0), 6 25 LINE_ASCII initial (1), 6 26 LINE_1050 initial (2), 6 27 LINE_2741 initial (3), 6 28 LINE_ARDS initial (4), 6 29 LINE_SYNCH initial (5), 6 30 LINE_G115 initial (6), 6 31 LINE_BSC initial (7), 6 32 LINE_ETX initial (8), 6 33 LINE_VIP initial (9), 6 34 LINE_ASYNC1 initial (10), 6 35 LINE_ASYNC2 initial (11), 6 36 LINE_ASYNC3 initial (12), 6 37 LINE_SYNC1 initial (13), 6 38 LINE_SYNC2 initial (14), 6 39 LINE_SYNC3 initial (15), 6 40 LINE_POLLED_VIP initial (16), 6 41 LINE_X25LAP initial (17), 6 42 LINE_HDLC initial (18), 6 43 LINE_COLTS initial (19), 6 44 LINE_DSA initial (20), 6 45 LINE_HASP_OPR initial (21) 6 46 ) fixed bin internal static options (constant); 6 47 6 48 dcl max_line_type fixed bin int static options (constant) init (21); 6 49 6 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 6 51 6 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 6 53 6 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 6 55 "MC", /* -2 */ 6 56 "TELNET", /* -1 */ 6 57 "none", /* 0 */ 6 58 "ASCII", /* 1 */ 6 59 "1050", /* 2 */ 6 60 "2741", /* 3 */ 6 61 "ARDS", /* 4 */ 6 62 "Sync", /* 5 */ 6 63 "G115", /* 6 */ 6 64 "BSC", /* 7 */ 6 65 "202ETX", /* 8 */ 6 66 "VIP", /* 9 */ 6 67 "ASYNC1", /* 10 */ 6 68 "ASYNC2", /* 11 */ 6 69 "ASYNC3", /* 12 */ 6 70 "SYNC1", /* 13 */ 6 71 "SYNC2", /* 14 */ 6 72 "SYNC3", /* 15 */ 6 73 "POLLED_VIP", /* 16 */ 6 74 "X25LAP", /* 17 */ 6 75 "HDLC", /* 18 */ 6 76 "COLTS", /* 19 */ 6 77 "DSA", /* 20 */ 6 78 "HASP_OPR"); /* 21 */ 6 79 6 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 574 575 7 1 /* BEGIN INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 7 2 7 3 /* This include file defines the priorities of all of the event channels used by the answering service. 7 4* 7 5* They are declared as named constants. They are used in calls to ipc_$decl_ev_call_chn. 7 6* The names correspond to the functions of the event call handlers. 7 7* For brevity in names, MC means message coordinator, and LOGIN includes logout as well. 7 8* 7 9* The comment on each constant lists the procedure(s) that use it to set event channel priorities. 7 10* See the code in those procedures for information on the handlers themselves 7 11* (which are entry variables in some cases, and thus could not be documented in this file). 7 12* 7 13* The priorities range from zero (highest) to 22 (lowest used by the answering service). 7 14* 7 15* The event wait channel on which the A.S. goes blocked awaiting input on the initializer console has highest 7 16* of all priorities, set by as_init_ calling ipc_$set_wait_prior. 7 17* 7 18* Written June 1981 by T. Casey for MR9.0 7 19* Modified 1984-10-15 BIM for sac -> as_request. 7 20* as_request is above login, since sac is important and 7 21* dial requests for already logged in users can take 7 22* first dibs over new logins. 7 23**/ 7 24 7 25 dcl MC_PRIO fixed bin int static options (constant) init (1); /* mc_commands_, mc_con_rec_, mc_util_, mrd_tester */ 7 26 dcl SYSERR_COPY_PRIO fixed bin int static options (constant) init (2); /* syserr_log_man_ */ 7 27 dcl SHUTDOWN_PRIO fixed bin int static options (constant) init (3); /* admin */ 7 28 dcl ACCT_UPDATE_PRIO fixed bin int static options (constant) init (4); /* act_ctl_ */ 7 29 dcl DAEMON_LOGIN_PRIO fixed bin int static options (constant) init (8); /* daemon_user_manager_ */ 7 30 dcl AS_REQUEST_PRIO fixed bin int static options (constant) init (7); /* as_request_ */ 7 31 dcl INSTALL_PRIO fixed bin int static options (constant) init (8); /* up_sysctl_ */ 7 32 dcl INT_LOGIN_PRIO fixed bin int static options (constant) init (8); /* asu_, dialup_, ftp_dialup_ */ 7 33 dcl MPX_LOAD_PRIO fixed bin int static options (constant) init (11); 7 34 /* as_vip7760_mpx_, as_mcs_mpx_, as_ibm3270_mpx_, as_hasp_mpx_ */ 7 35 dcl ABS_DEFER_PRIO fixed bin int static options (constant) init (19); /* absentee_utility_ */ 7 36 dcl ABS_LOGIN_PRIO fixed bin int static options (constant) init (20); /* abentee_user_manager_ */ 7 37 dcl CORE_FLUSH_PRIO fixed bin int static options (constant) init (22); /* as_meter_ */ 7 38 7 39 /* END INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 576 8 1 /* BEGIN INCLUDE FILE event_call_info.incl.pl1 */ 8 2 8 3 /* T. Casey, May 1978 */ 8 4 8 5 dcl event_call_info_ptr ptr; 8 6 8 7 dcl 1 event_call_info aligned based (event_call_info_ptr), /* argument structure passed to event call procedure */ 8 8 2 channel_id fixed bin (71), /* event channel on which wakeup occurred */ 8 9 2 message fixed bin (71), /* 72 bits of information passed by sender of wakeup */ 8 10 2 sender bit (36), /* process id of sender */ 8 11 2 origin, 8 12 3 dev_signal bit (18) unaligned, /* "1"b if device signal */ 8 13 3 ring fixed bin (17) unaligned, /* ring from which sent */ 8 14 2 data_ptr ptr; /* ptr given to dcl_event_call_channel */ 8 15 8 16 /* END INCLUDE FILE event_call_info.incl.pl1 */ 577 578 /* %include fnp_mpx_msg_; */ 9 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 9 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 9 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 9 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 10* Reorganized by type of data to improve readability. 9 11* END HISTORY COMMENTS */ 9 12 9 13 9 14 /* ACCESS NAMES */ 9 15 dcl ( 9 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 9 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 9 18 ) char(32) ext static; 9 19 9 20 /* PATHNAMES */ 9 21 dcl ( 9 22 sc_stat_$info_dir, /* admin info segs directory */ 9 23 sc_stat_$log_dir, /* as log segs directory */ 9 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 9 25 sc_stat_$sysdir /* system control directory */ 9 26 ) char(168) ext static; 9 27 9 28 /* OTHER CHAR STRINGS */ 9 29 dcl ( 9 30 sc_stat_$master_channel /* Master TTY channel. */ 9 31 ) char(6) aligned ext static; 9 32 9 33 /* LABELS */ 9 34 dcl ( 9 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 9 36 /* ssu_$null_label unless */ 9 37 /* admin_listener is active. */ 9 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 9 39 /* attributable to a particular */ 9 40 /* command. */ 9 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 9 42 ) label variable ext static; 9 43 9 44 /* POINTERS TO */ 9 45 dcl ( 9 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 9 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 9 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 9 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 9 50 /* by sys_log_. */ 9 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 9 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 9 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 9 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 9 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 9 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 9 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 9 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 9 59 ) ptr ext static; 9 60 9 61 /* SWITCHES */ 9 62 dcl ( 9 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 9 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 9 65 sc_stat_$Multics, /* TRUE after answering service started */ 9 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 9 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 9 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 9 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 9 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 9 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 9 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 9 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 9 74 /* if PNT not yet available. */ 9 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 9 76 sc_stat_$test_mode, /* TRUE if in test environment */ 9 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 9 78 /* by operator signed on system console*/ 9 79 ) bit(1) aligned ext static; 9 80 9 81 9 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 579 10 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 10 2 10 3 10 4 /****^ HISTORY COMMENTS: 10 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 10 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 10 7* Added sl_info structure and associated named constants for use in calling 10 8* sys_log_$general. 10 9* END HISTORY COMMENTS */ 10 10 10 11 10 12 /* format: style4 */ 10 13 10 14 dcl ( 10 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 10 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 10 17 SL_TYPE init (-1), /* type message */ 10 18 SL_LOG_SILENT init (0), /* log message */ 10 19 SL_LOG init (1), /* log & type message */ 10 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 10 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 10 22 ) fixed bin internal static options (constant); 10 23 10 24 dcl 1 sl_info aligned automatic, 10 25 2 version char(8), /* structure version */ 10 26 2 arg_list_ptr ptr, /* arg_list with values */ 10 27 2 loc, 10 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 10 29 /* These flags control where the corresponding data item is found.*/ 10 30 /* -1: data appears in the corresponding structure element below */ 10 31 /* 0: data is not present anywhere */ 10 32 /* +N: data is Nth item in argument list pointed to by */ 10 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 10 34 /* corresponding structure element. */ 10 35 /* if data = +N: */ 10 36 /* argN is data_ptr, argN+1 is data_len */ 10 37 /* if ioa_msg = +N: */ 10 38 /* argN+1, ... argLAST are arguments substituted into the */ 10 39 /* ioa_msg control string. The formatted msg is returned. */ 10 40 2 flags, 10 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 10 42 3 flags_pad bit(35) unal, 10 43 2 mode fixed bin, /* as-mode, command-mode */ 10 44 2 severity fixed bin, /* error severity */ 10 45 2 code fixed bin(35), /* error table code */ 10 46 2 caller char(65) varying, /* caller refname$entryname*/ 10 47 2 data, /* binary data ptr/length */ 10 48 3 data_ptr ptr, 10 49 3 data_lth fixed bin(21), 10 50 2 class char(10) varying, /* binary data class */ 10 51 2 ioa_msg char(500) varying; /* formatted message text */ 10 52 10 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 54 /* */ 10 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 10 56 /* their data types should be as shown in the structure above, except that */ 10 57 /* character strings should be char(*) nonvarying. */ 10 58 /* */ 10 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 60 10 61 /* value for sl_info.version */ 10 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 10 63 10 64 /* values for sl_info.mode */ 10 65 dcl (SL_INFO_as_mode init(1), 10 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 10 67 10 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 10 69 dcl (SL_INFO_arg_given_in_structure init(-1), 10 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 10 71 10 72 10 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 74 /* */ 10 75 /* The following static structures are commonly used in the Login Server */ 10 76 /* user control software. */ 10 77 /* */ 10 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 79 10 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 10 81 10 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 10 83 2 version char(8) init ("sl_info1"), 10 84 2 arg_list_ptr ptr init (null), 10 85 2 loc, 10 86 3 (mode init (-1), 10 87 severity init ( 1), 10 88 code init ( 2), 10 89 caller init (-1), 10 90 data init ( 0), 10 91 class init ( 0), 10 92 ioa_msg init ( 3)) fixed bin, 10 93 2 flags, 10 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 95 3 flags_pad bit(35) unal init ("0"b), 10 96 2 mode fixed bin init ( 1), 10 97 2 severity fixed bin init ( 0), 10 98 2 code fixed bin(35) init ( 0), 10 99 2 caller char(65) varying init (""), 10 100 2 data, 10 101 3 data_ptr ptr init (null), 10 102 3 data_lth fixed bin(21) init ( 0), 10 103 2 class char(10) varying init (""), 10 104 2 ioa_msg char(500) varying init (""); 10 105 10 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 10 107 10 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 10 109 2 version char(8) init ("sl_info1"), 10 110 2 arg_list_ptr ptr init (null), 10 111 2 loc, 10 112 3 (mode init (-1), 10 113 severity init ( 1), 10 114 code init ( 0), 10 115 caller init (-1), 10 116 data init ( 0), 10 117 class init ( 0), 10 118 ioa_msg init ( 2)) fixed bin, 10 119 2 flags, 10 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 121 3 flags_pad bit(35) unal init ("0"b), 10 122 2 mode fixed bin init ( 1), 10 123 2 severity fixed bin init ( 0), 10 124 2 code fixed bin(35) init ( 0), 10 125 2 caller char(65) varying init (""), 10 126 2 data, 10 127 3 data_ptr ptr init (null), 10 128 3 data_lth fixed bin(21) init ( 0), 10 129 2 class char(10) varying init (""), 10 130 2 ioa_msg char(500) varying init (""); 10 131 10 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 10 133 10 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 10 135 2 version char(8) init ("sl_info1"), 10 136 2 arg_list_ptr ptr init (null), 10 137 2 loc, 10 138 3 (mode init (-1), 10 139 severity init ( 1), 10 140 code init ( 0), 10 141 caller init (-1), 10 142 data init ( 0), 10 143 class init ( 0), 10 144 ioa_msg init ( 2)) fixed bin, 10 145 2 flags, 10 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 10 147 3 flags_pad bit(35) unal init ("0"b), 10 148 2 mode fixed bin init ( 1), 10 149 2 severity fixed bin init ( 0), 10 150 2 code fixed bin(35) init ( 0), 10 151 2 caller char(65) varying init (""), 10 152 2 data, 10 153 3 data_ptr ptr init (null), 10 154 3 data_lth fixed bin(21) init ( 0), 10 155 2 class char(10) varying init (""), 10 156 2 ioa_msg char(500) varying init (""); 10 157 10 158 10 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 10 160 10 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 10 162 2 version char(8) init ("sl_info1"), 10 163 2 arg_list_ptr ptr init (null), 10 164 2 loc, 10 165 3 (mode init (-1), 10 166 severity init ( 1), 10 167 code init ( 2), 10 168 caller init (-1), 10 169 data init ( 0), 10 170 class init ( 0), 10 171 ioa_msg init ( 4)) fixed bin, 10 172 2 flags, 10 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 174 3 flags_pad bit(35) unal init ("0"b), 10 175 2 mode fixed bin init ( 1), 10 176 2 severity fixed bin init ( 0), 10 177 2 code fixed bin(35) init ( 0), 10 178 2 caller char(65) varying init (""), 10 179 2 data, 10 180 3 data_ptr ptr init (null), 10 181 3 data_lth fixed bin(21) init ( 0), 10 182 2 class char(10) varying init (""), 10 183 2 ioa_msg char(500) varying init (""); 10 184 10 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 10 186 10 187 dcl 1 sl_info_code_msg aligned int static options(constant), 10 188 2 version char(8) init ("sl_info1"), 10 189 2 arg_list_ptr ptr init (null), 10 190 2 loc, 10 191 3 (mode init (-1), 10 192 severity init (-1), 10 193 code init ( 1), 10 194 caller init (-1), 10 195 data init ( 0), 10 196 class init ( 0), 10 197 ioa_msg init ( 2)) fixed bin, 10 198 2 flags, 10 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 200 3 flags_pad bit(35) unal init ("0"b), 10 201 2 mode fixed bin init ( 1), 10 202 2 severity fixed bin init ( 0), 10 203 2 code fixed bin(35) init ( 0), 10 204 2 caller char(65) varying init (""), 10 205 2 data, 10 206 3 data_ptr ptr init (null), 10 207 3 data_lth fixed bin(21) init ( 0), 10 208 2 class char(10) varying init (""), 10 209 2 ioa_msg char(500) varying init (""); 10 210 10 211 10 212 /* Syntax: call Trace (ioa_ctl, args); */ 10 213 10 214 dcl 1 sl_info_msg aligned int static options(constant), 10 215 2 version char(8) init ("sl_info1"), 10 216 2 arg_list_ptr ptr init (null), 10 217 2 loc, 10 218 3 (mode init (-1), 10 219 severity init (-1), 10 220 code init ( 0), 10 221 caller init (-1), 10 222 data init ( 0), 10 223 class init ( 0), 10 224 ioa_msg init ( 1)) fixed bin, 10 225 2 flags, 10 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 10 227 3 flags_pad bit(35) unal init ("0"b), 10 228 2 mode fixed bin init ( 1), 10 229 2 severity fixed bin init ( 0), 10 230 2 code fixed bin(35) init ( 0), 10 231 2 caller char(65) varying init (""), 10 232 2 data, 10 233 3 data_ptr ptr init (null), 10 234 3 data_lth fixed bin(21) init ( 0), 10 235 2 class char(10) varying init (""), 10 236 2 ioa_msg char(500) varying init (""); 10 237 10 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 580 11 1 /* BEGIN INCLUDE FILE timer_manager_constants.incl.pl1 */ 11 2 11 3 /****^ HISTORY COMMENTS: 11 4* 1) change(85-03-05,Sibert), approve(87-05-25,MCR7678), 11 5* audit(87-04-02,GDixon), install(87-08-04,MR12.1-1056): 11 6* Initially written. 11 7* END HISTORY COMMENTS */ 11 8 11 9 /* Values for the flags arguments in timer_manager_ calls */ 11 10 11 11 dcl ABSOLUTE_MICROSECONDS bit (2) int static options (constant) init ("00"b); 11 12 dcl ABSOLUTE_SECONDS bit (2) int static options (constant) init ("01"b); 11 13 dcl RELATIVE_MICROSECONDS bit (2) int static options (constant) init ("10"b); 11 14 dcl RELATIVE_SECONDS bit (2) int static options (constant) init ("11"b); 11 15 11 16 /* END INCLUDE FILE timer_manager_constants.incl.pl1 */ 581 582 end as_uncp_mpx_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/19/88 1525.6 as_uncp_mpx_.pl1 >special_ldd>install>MR12.2-1061>as_uncp_mpx_.pl1 570 1 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 1-314 2 07/19/88 1524.1 fnp_types.incl.pl1 >special_ldd>install>MR12.2-1061>fnp_types.incl.pl1 572 3 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 3-10 4 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 573 5 07/11/84 0937.3 as_mpx_state_names_.incl.pl1 >ldd>include>as_mpx_state_names_.incl.pl1 574 6 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 576 7 01/21/85 0912.2 as_wakeup_priorities.incl.pl1 >ldd>include>as_wakeup_priorities.incl.pl1 577 8 06/29/79 1728.0 event_call_info.incl.pl1 >ldd>include>event_call_info.incl.pl1 579 9 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.incl.pl1 580 10 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 581 11 08/06/87 0913.5 timer_manager_constants.incl.pl1 >ldd>include>timer_manager_constants.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. DEFAULT_MEMORY constant fixed bin(17,0) initial dcl 89 ref 434 443 DN7100 constant fixed bin(17,0) initial dcl 2-19 ref 436 461 FNP_BOOT constant fixed bin(17,0) initial dcl 1-298 ref 318 FNP_DOWN constant fixed bin(17,0) initial dcl 1-298 ref 321 341 FNP_UNKNOWN constant fixed bin(17,0) initial dcl 1-298 ref 198 312 FNP_UP constant fixed bin(17,0) initial dcl 1-298 ref 312 327 339 INACTIVE constant fixed bin(17,0) initial dcl 1-272 ref 285 MAX_HSLAS constant fixed bin(17,0) initial dcl 93 ref 459 MAX_LSLAS constant fixed bin(17,0) initial dcl 92 ref 457 MAX_MEMORY constant fixed bin(17,0) initial dcl 90 ref 443 453 MOD_OF_MEMORY 004644 constant fixed bin(17,0) initial dcl 91 ref 451 MPXE_STATE_NAMES 000013 constant char(32) initial array packed unaligned dcl 5-4 ref 565 565 567 MPX_BOOT constant fixed bin(17,0) initial dcl 1-306 ref 262 MPX_LOAD_PRIO 000103 constant fixed bin(17,0) initial dcl 7-33 set ref 179* MPX_UP constant fixed bin(17,0) initial dcl 1-306 ref 272 RELATIVE_SECONDS 000000 constant bit(2) initial packed unaligned dcl 11-14 set ref 202* SL_LOG 000147 constant fixed bin(17,0) initial dcl 10-14 set ref 174* 189* 212* 233* 241* 274* 285* 289* 293* 306* 314* 325* 330* 345* 369* SL_LOG_BEEP 000142 constant fixed bin(17,0) initial dcl 10-14 set ref 253* SPECIAL_CHN constant fixed bin(17,0) initial dcl 94 ref 501 TOO_MANY_BOOTLOADS constant fixed bin(17,0) initial dcl 88 ref 293 acceptable_fnp_tbf 54 based fixed bin(17,0) level 2 dcl 1-44 ref 289 293 293 adapt_no 000146 automatic fixed bin(17,0) dcl 81 set ref 474* 501 504 519 519 520 520 522 522 adapt_type 000145 automatic bit(1) packed unaligned dcl 80 set ref 474* 491 501 addr builtin function dcl 126 ref 161 224 304 306 312 312 314 321 327 330 330 341 361 arg_cdtp parameter pointer dcl 57 ref 154 158 209 416 419 arg_chan_listp parameter pointer dcl 59 ref 154 160 416 422 arg_check_sw parameter bit(1) dcl 61 set ref 154 194* arg_code parameter fixed bin(35,0) dcl 63 set ref 154 165* 176* 190* 197* 204* 209 213* arg_error_proc parameter entry variable dcl 64 ref 416 423 arg_event_infop parameter pointer dcl 62 ref 218 221 arg_fnpep parameter pointer dcl 58 ref 154 159 209 416 420 arg_mpx_name parameter char packed unaligned dcl 56 ref 154 157 209 211 416 421 author based structure level 2 dcl 3-9 author_dcl based structure level 1 dcl 3-9 autobaud 50(23) based bit(1) level 4 packed packed unaligned dcl 1-72 ref 481 517 baud_rate 33(18) based fixed bin(17,0) level 2 packed packed unaligned dcl 1-72 ref 481 494 519 520 520 522 boot_ev_chan 62 based fixed bin(71,0) level 2 dcl 1-200 set ref 169 171* 179* 184* 185* 202* 249* cdt based structure level 1 dcl 1-44 cdte based structure level 1 dcl 1-72 cdte_ptr 1 based pointer array level 2 packed packed unaligned dcl 132 ref 473 cdtep 000160 automatic pointer dcl 1-41 set ref 473* 474 477 481 481 481 486 491 494 496 505 511 515 517 517 519 520 520 522 523 cdtp 000156 automatic pointer dcl 1-41 set ref 158* 194* 222* 289 293 293 360 361 419* chan_list based structure level 1 dcl 132 chan_listp 000114 automatic pointer dcl 72 set ref 160* 194* 422* 472 473 chan_no 000147 automatic fixed bin(17,0) dcl 82 set ref 474* 505 515 channel_threads based structure level 1 dcl 1-249 char builtin function dcl 126 ref 565 clock builtin function dcl 126 ref 276 code 000101 automatic fixed bin(35,0) dcl 69 set ref 164 165 171* 172 174* 179* 180 185* 186 189* 194* 195 197 239 264* 265 269* 277* 278 283* 297* 324* 327* 343* 365* 370* coreimage 6 based char(168) level 2 dcl 1-200 set ref 438 438* count based fixed bin(17,0) level 2 dcl 132 ref 472 current_service_type 1 based fixed bin(17,0) level 2 dcl 1-221 ref 285 data_ptr 6 based pointer level 2 dcl 136 ref 223 divide builtin function dcl 126 ref 281 ename 000124 automatic char(32) packed unaligned dcl 76 set ref 445* 447* 538* 539* error_proc 000152 automatic entry variable dcl 84 set ref 423* 427 447 457 459 464 477 481 491 496 505 511 515 517 523 539 544 554 error_table_$action_not_performed 000052 external static fixed bin(35,0) dcl 124 ref 176 190 370 ev_msg_array 000120 automatic bit(36) array packed unaligned dcl 74 set ref 231* 233* ev_msg_char 000122 automatic char(8) packed unaligned dcl 75 set ref 247* 251 260 event_info based structure level 1 dcl 136 event_infop 000116 automatic pointer dcl 73 set ref 221* 223 227 227 231 233 247 304 306 312 312 314 321 327 330 330 341 flags 15 based structure level 2 in structure "mpxe" packed packed unaligned dcl 1-221 in procedure "as_uncp_mpx_" flags 50 based structure level 2 in structure "cdte" dcl 1-72 in procedure "as_uncp_mpx_" fnp_entry 120 based structure array level 2 dcl 1-44 set ref 360 361 fnp_msg based structure level 1 dcl 145 fnp_no based fixed bin(17,0) level 2 in structure "fnp_msg" packed packed unaligned dcl 145 in procedure "as_uncp_mpx_" set ref 304 306* fnp_no 000102 automatic fixed bin(17,0) dcl 70 in procedure "as_uncp_mpx_" set ref 194* 245* 304 364* 474* 475 fnpe based structure level 1 dcl 1-200 fnpep 000162 automatic pointer dcl 1-41 set ref 159* 161 169 171 179 179* 184 185 202 223* 224 241* 249 362 369* 420* 434 434 436 436 438 438 443 443 445 451 453 457 457 459 459 461 461 463 544 554 get_fnp_name_ 000054 constant entry external dcl 128 ref 245 get_process_id_ 000036 constant entry external dcl 117 ref 227 hbound builtin function dcl 126 ref 360 485 494 496 534 550 565 hsla_configured 000144 automatic bit(1) array packed unaligned dcl 79 set ref 470* 504* 550 550 551 i 000134 automatic fixed bin(17,0) dcl 77 in procedure "as_uncp_mpx_" set ref 472* 473* 534* 535 537 538* 550* 551* i 000210 automatic fixed bin(17,0) dcl 357 in procedure "compute_fnp_no" set ref 360* 361 364* index builtin function dcl 126 ref 425 ioa_$rsnnl 000046 constant entry external dcl 122 ref 445 538 ipc_$create_ev_chn 000016 constant entry external dcl 109 ref 171 ipc_$decl_ev_call_chn 000020 constant entry external dcl 110 ref 179 ipc_$drain_chn 000034 constant entry external dcl 116 ref 185 j 000135 automatic fixed bin(17,0) dcl 77 set ref 485* 486* 494* 494* 496 533* 536* 536 544 549* 551* 551 554 last_tbf 14 based fixed bin(17,0) level 2 dcl 1-221 set ref 293 299* lbound builtin function dcl 126 ref 534 550 565 line_type 33 based fixed bin(17,0) level 2 packed packed unaligned dcl 1-72 ref 486 load_uncp_ 000024 constant entry external dcl 112 ref 194 lsla_count 000136 automatic fixed bin(17,0) array dcl 78 set ref 469* 519* 519 520* 520 522* 522 534 534 535 537 ltrim builtin function dcl 126 ref 565 memory 1 based fixed bin(17,0) level 2 dcl 1-200 set ref 434 434* 443 443 445* 451 453 message 2 based fixed bin(71,0) level 2 dcl 136 set ref 231 247 304 306 312 312 314 321 327 330 330 341 mod builtin function dcl 126 ref 451 mpx_name 000103 automatic char(32) packed unaligned dcl 71 set ref 157* 174* 189* 211* 212* 245* 253* 264* 269* 274* 277* 285* 289* 293* 297* 306* 324* 325* 327* 330* 343* 345* 421* 425 427* 447* 457* 459* 464* 539* 544* 554* mpxe based structure level 1 dcl 1-221 in procedure "as_uncp_mpx_" mpxe 64 based structure level 2 in structure "fnpe" dcl 1-200 in procedure "as_uncp_mpx_" set ref 161 224 mpxep 000164 automatic pointer dcl 1-41 set ref 161* 198 224* 262 272 276 281 281 285 293 293 299 318 323 330 330 339 multiplexer_mgr_$load_mpx 000012 constant entry external dcl 106 ref 269 297 multiplexer_mgr_$mpx_crashed 000044 constant entry external dcl 120 ref 343 multiplexer_mgr_$mpx_load_failed 000040 constant entry external dcl 118 ref 324 multiplexer_mgr_$mpx_loaded 000042 constant entry external dcl 119 ref 327 multiplexer_mgr_$shutdown_mpx 000014 constant entry external dcl 107 ref 264 277 n_bootloads 3 based fixed bin(17,0) level 2 dcl 1-221 ref 293 name 2 based char(32) level 2 in structure "cdte" dcl 1-72 in procedure "as_uncp_mpx_" ref 474 477 481 491 496 505 511 515 517 523 name 000075 constant char(12) initial packed unaligned dcl 96 in procedure "as_uncp_mpx_" set ref 174* 189* 212* 233* 241* 253* 274* 285* 289* 293* 306* 314* 325* 330* 345* 369* nhslas 3 based fixed bin(17,0) level 2 dcl 1-200 ref 459 459 554 nlslas 2 based fixed bin(17,0) level 2 dcl 1-200 set ref 457 457 461 463* 544 options 50(17) based structure level 3 packed packed unaligned dcl 1-72 origin 5 based structure level 2 dcl 136 p 000212 automatic pointer dcl 358 set ref 361* 362 parse_tty_name_ 000050 constant entry external dcl 123 ref 474 retry_load 15(03) based bit(1) level 3 packed packed unaligned dcl 1-221 set ref 323* ring 5(18) based bit(18) level 3 packed packed unaligned dcl 136 ref 227 sender_procid 4 based bit(36) level 2 dcl 136 set ref 227 233* state parameter fixed bin(17,0) dcl 563 in procedure "MPXE_STATE" ref 560 565 565 565 567 state 0(18) based fixed bin(17,0) level 2 in structure "fnp_msg" packed packed unaligned dcl 145 in procedure "as_uncp_mpx_" set ref 312 312 314* 321 327 330 330 341 state based fixed bin(17,0) level 2 in structure "mpxe" dcl 1-221 in procedure "as_uncp_mpx_" set ref 198* 262 272 318 330 330 339 static_cdtp 000010 internal static pointer initial dcl 103 set ref 158* 222 string builtin function dcl 126 set ref 231* sync_baud_rates 000063 constant fixed bin(17,0) initial array dcl 97 ref 494 494 496 sync_line 000150 automatic bit(1) packed unaligned dcl 83 set ref 484* 485 486* 489 sync_line_type 000001 constant fixed bin(17,0) initial array dcl 6-52 ref 485 486 sys_log_ 000022 constant entry external dcl 111 ref 212 233 241 253 274 285 289 293 306 314 325 330 345 369 sys_log_$error_log 000026 constant entry external dcl 113 ref 174 189 time_last_crash 10 based fixed bin(71,0) level 2 dcl 1-221 set ref 276* 281 time_last_load 6 based fixed bin(71,0) level 2 dcl 1-221 ref 281 timer_manager_$alarm_wakeup 000032 constant entry external dcl 115 ref 202 timer_manager_$reset_alarm_wakeup 000030 constant entry external dcl 114 ref 184 249 type based fixed bin(17,0) level 2 dcl 1-200 set ref 436 436* 461 unspec builtin function dcl 126 set ref 231 247* 247 up_time 000100 automatic fixed bin(17,0) dcl 68 set ref 281* 293 299 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABSOLUTE_MICROSECONDS internal static bit(2) initial packed unaligned dcl 11-11 ABSOLUTE_SECONDS internal static bit(2) initial packed unaligned dcl 11-12 ABS_DEFER_PRIO internal static fixed bin(17,0) initial dcl 7-35 ABS_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 7-36 ACCT_UPDATE_PRIO internal static fixed bin(17,0) initial dcl 7-28 ACTIVE internal static fixed bin(17,0) initial dcl 1-272 ANS_SERVICE internal static fixed bin(17,0) initial dcl 1-259 AS_REQUEST_PRIO internal static fixed bin(17,0) initial dcl 7-30 CDT_version internal static fixed bin(17,0) initial dcl 1-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 1-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 1-288 CORE_FLUSH_PRIO internal static fixed bin(17,0) initial dcl 7-37 DAEMON_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 7-29 DIAL_OUT_SERVICE internal static fixed bin(17,0) initial dcl 1-259 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 1-259 DN355 internal static fixed bin(17,0) initial dcl 2-19 DN6600 internal static fixed bin(17,0) initial dcl 2-19 DN6670 internal static fixed bin(17,0) initial dcl 2-19 FNP_FREE internal static fixed bin(17,0) initial dcl 1-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 1-259 INSTALL_PRIO internal static fixed bin(17,0) initial dcl 7-31 INT_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 7-32 LINE_1050 internal static fixed bin(17,0) initial dcl 6-22 LINE_2741 internal static fixed bin(17,0) initial dcl 6-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 6-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_BSC internal static fixed bin(17,0) initial dcl 6-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 6-22 LINE_DSA internal static fixed bin(17,0) initial dcl 6-22 LINE_ETX internal static fixed bin(17,0) initial dcl 6-22 LINE_G115 internal static fixed bin(17,0) initial dcl 6-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 6-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 6-22 LINE_MC internal static fixed bin(17,0) initial dcl 6-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 6-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 6-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 6-22 LINE_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 6-22 MC_PRIO internal static fixed bin(17,0) initial dcl 7-25 MC_SERVICE internal static fixed bin(17,0) initial dcl 1-259 MPX_DOWN internal static fixed bin(17,0) initial dcl 1-306 MPX_FREE internal static fixed bin(17,0) initial dcl 1-306 MPX_SERVICE internal static fixed bin(17,0) initial dcl 1-259 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 1-306 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 1-280 RELATIVE_MICROSECONDS internal static bit(2) initial packed unaligned dcl 11-13 SHUTDOWN_PRIO internal static fixed bin(17,0) initial dcl 7-27 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 1-259 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 10-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 10-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 10-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 10-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 10-62 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 10-14 SL_LOG_SILENT internal static fixed bin(17,0) initial dcl 10-14 SL_TYPE internal static fixed bin(17,0) initial dcl 10-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 10-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 10-14 SYSERR_COPY_PRIO internal static fixed bin(17,0) initial dcl 7-26 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 1-259 event_call_info based structure level 1 dcl 8-7 event_call_info_ptr automatic pointer dcl 8-5 fnp_boot_timeout_secs internal static fixed bin(71,0) initial dcl 95 fnp_models internal static fixed bin(17,0) initial array dcl 2-28 fnp_types internal static char(8) initial array packed unaligned dcl 2-25 generic_destination based char(32) packed unaligned dcl 1-195 line_types internal static char(16) initial array packed unaligned dcl 6-54 max_line_type internal static fixed bin(17,0) initial dcl 6-48 n_sync_line_types internal static fixed bin(17,0) initial dcl 6-50 sc_stat_$Go external static bit(1) dcl 9-62 sc_stat_$Go_typed external static bit(1) dcl 9-62 sc_stat_$Multics external static bit(1) dcl 9-62 sc_stat_$Multics_typed external static bit(1) dcl 9-62 sc_stat_$Star_typed external static bit(1) dcl 9-62 sc_stat_$admin_listener_exit_label external static label variable dcl 9-34 sc_stat_$admin_listener_switch external static bit(1) dcl 9-62 sc_stat_$admin_log_iocb external static pointer dcl 9-45 sc_stat_$admin_log_write_ptr external static pointer dcl 9-45 sc_stat_$admin_sci_ptr external static pointer dcl 9-45 sc_stat_$as_log_write_ptr external static pointer dcl 9-45 sc_stat_$did_part1 external static bit(1) dcl 9-62 sc_stat_$did_part2 external static bit(1) dcl 9-62 sc_stat_$did_part3 external static bit(1) dcl 9-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 9-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$initzer_ttyp external static pointer dcl 9-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$master_abort_label external static label variable dcl 9-34 sc_stat_$master_channel external static char(6) dcl 9-29 sc_stat_$master_iocb external static pointer dcl 9-45 sc_stat_$master_sci_ptr external static pointer dcl 9-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 9-21 sc_stat_$mc_ansp external static pointer dcl 9-45 sc_stat_$mc_iocb external static pointer dcl 9-45 sc_stat_$mc_is_on external static bit(1) dcl 9-62 sc_stat_$no_operator_login external static bit(1) dcl 9-62 sc_stat_$shutdown_typed external static bit(1) dcl 9-62 sc_stat_$sv1_iocb external static pointer dcl 9-45 sc_stat_$sv2_iocb external static pointer dcl 9-45 sc_stat_$sv3_iocb external static pointer dcl 9-45 sc_stat_$sysdir external static char(168) packed unaligned dcl 9-21 sc_stat_$system_shutdown_label external static label variable dcl 9-34 sc_stat_$test_mode external static bit(1) dcl 9-62 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 9-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 9-62 sl_info automatic structure level 1 dcl 10-24 sl_info_code_msg internal static structure level 1 dcl 10-187 sl_info_msg internal static structure level 1 dcl 10-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 10-161 sl_info_sev_code_msg internal static structure level 1 dcl 10-82 sl_info_sev_coded_msg internal static structure level 1 dcl 10-134 sl_info_sev_msg internal static structure level 1 dcl 10-108 supported_fnp internal static bit(1) initial array packed unaligned dcl 2-31 NAMES DECLARED BY EXPLICIT CONTEXT. MPXE_STATE 004555 constant entry internal dcl 560 ref 330 330 330 330 as_uncp_mpx_ 001003 constant entry external dcl 51 bad_wakeup 002420 constant label dcl 330 ref 339 341 compute_fnp_no 004475 constant entry internal dcl 354 ref 163 238 ev_chan_err 001110 constant label dcl 174 ref 180 memory_error_size 002732 constant label dcl 445 ref 453 next_channel 004223 constant label dcl 528 ref 478 uncp_cv_cmf 002561 constant entry external dcl 416 uncp_dump 001335 constant entry external dcl 209 uncp_load 001017 constant entry external dcl 154 uncp_wakeup_handler 001423 constant entry external dcl 218 ref 179 179 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5136 5214 4645 5146 Length 5666 4645 56 436 271 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_uncp_mpx_ 320 external procedure is an external procedure. compute_fnp_no internal procedure shares stack frame of external procedure as_uncp_mpx_. MPXE_STATE internal procedure shares stack frame of external procedure as_uncp_mpx_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 static_cdtp as_uncp_mpx_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_uncp_mpx_ 000100 up_time as_uncp_mpx_ 000101 code as_uncp_mpx_ 000102 fnp_no as_uncp_mpx_ 000103 mpx_name as_uncp_mpx_ 000114 chan_listp as_uncp_mpx_ 000116 event_infop as_uncp_mpx_ 000120 ev_msg_array as_uncp_mpx_ 000122 ev_msg_char as_uncp_mpx_ 000124 ename as_uncp_mpx_ 000134 i as_uncp_mpx_ 000135 j as_uncp_mpx_ 000136 lsla_count as_uncp_mpx_ 000144 hsla_configured as_uncp_mpx_ 000145 adapt_type as_uncp_mpx_ 000146 adapt_no as_uncp_mpx_ 000147 chan_no as_uncp_mpx_ 000150 sync_line as_uncp_mpx_ 000152 error_proc as_uncp_mpx_ 000156 cdtp as_uncp_mpx_ 000160 cdtep as_uncp_mpx_ 000162 fnpep as_uncp_mpx_ 000164 mpxep as_uncp_mpx_ 000210 i compute_fnp_no 000212 p compute_fnp_no THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ent_var_desc call_ext_out_desc call_ext_out return_mac mdfx1 ext_entry ext_entry_desc divide_fx3 clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_fnp_name_ get_process_id_ ioa_$rsnnl ipc_$create_ev_chn ipc_$decl_ev_call_chn ipc_$drain_chn load_uncp_ multiplexer_mgr_$load_mpx multiplexer_mgr_$mpx_crashed multiplexer_mgr_$mpx_load_failed multiplexer_mgr_$mpx_loaded multiplexer_mgr_$shutdown_mpx parse_tty_name_ sys_log_ sys_log_$error_log timer_manager_$alarm_wakeup timer_manager_$reset_alarm_wakeup THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$action_not_performed LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 51 001002 154 001010 157 001040 158 001050 159 001054 160 001057 161 001063 163 001065 164 001066 165 001070 166 001071 169 001072 171 001075 172 001106 174 001110 176 001144 177 001147 179 001150 180 001174 184 001176 185 001206 186 001220 189 001222 190 001256 191 001261 194 001262 195 001302 197 001304 198 001305 199 001307 202 001310 204 001326 205 001327 209 001330 211 001356 212 001366 213 001416 214 001417 218 001420 221 001430 222 001434 223 001437 224 001441 227 001443 231 001460 233 001463 235 001517 238 001520 239 001521 241 001523 242 001553 245 001554 247 001565 249 001571 251 001601 253 001604 255 001634 260 001635 262 001637 264 001642 265 001665 269 001667 270 001724 272 001725 274 001727 276 001757 277 001762 278 002005 281 002007 283 002016 285 002017 289 002053 293 002107 297 002151 299 002206 300 002211 304 002212 306 002221 309 002255 312 002256 314 002266 315 002320 318 002321 321 002324 323 002327 324 002332 325 002347 326 002377 327 002400 330 002420 336 002472 339 002473 341 002475 343 002500 345 002523 350 002553 416 002554 419 002600 420 002603 421 002606 422 002616 423 002622 425 002627 427 002640 429 002704 434 002705 436 002712 438 002716 443 002725 445 002732 447 002763 448 003030 451 003031 453 003034 457 003037 459 003106 461 003157 463 003165 464 003166 469 003232 470 003242 472 003254 473 003263 474 003265 475 003317 477 003321 478 003371 481 003372 484 003450 485 003451 486 003461 488 003471 489 003473 491 003475 494 003550 495 003564 496 003566 501 003641 504 003647 505 003652 508 003725 511 003726 515 003776 517 004051 519 004124 520 004136 522 004146 523 004154 528 004223 533 004225 534 004226 535 004233 536 004235 537 004236 538 004240 539 004270 543 004335 544 004337 549 004407 550 004410 551 004415 553 004422 554 004424 558 004474 354 004475 360 004476 361 004503 362 004507 364 004513 365 004515 366 004516 368 004517 369 004521 370 004551 371 004554 560 004555 565 004557 567 004612 ----------------------------------------------------------- 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