COMPILATION LISTING OF SEGMENT as_ibm3270_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 1017.3 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* AS_IBM3270_MPX_ - Anserwing service piece of IBM3270 multiplexer */ 12 13 /* Written October 1978 by Larry Johnson (as as_user1_mpx_) */ 14 /* Converted to as_vip7760_mpx_ 1/5/78 by J. Stern */ 15 /* Modified 5/1/79 by J. Stern to add vip7760_cv_cmf entry */ 16 /* Re-converted to as_ibm3270_mpx_ May 1979 by Larry Johnson */ 17 /* Modified June 1981 by T. Casey for MR9.0 for new wakeup priorities. */ 18 /* Modified August 1982 by Robert Coren for additional argument to multiplexer_mgr_$mpx_crashed. */ 19 20 as_ibm3270_mpx_: proc; 21 22 /* Parameters */ 23 24 dcl arg_mpx_chan char (*); /* Name of the multiplexed channel */ 25 dcl arg_cdtp ptr; /* Address of the cdt */ 26 dcl arg_cdtep ptr; 27 dcl arg_chan_listp ptr; /* Pointer to a structure of channels to init */ 28 dcl arg_check_sw bit (1) aligned; /* Says whether or not to check configuration */ 29 dcl arg_event_infop ptr; 30 dcl arg_code fixed bin (35); 31 dcl arg_error_proc entry variable; 32 33 /* Automatic */ 34 35 dcl code fixed bin (35); 36 dcl mpx_chan char (32); 37 dcl chan_listp ptr; 38 dcl event_infop ptr; 39 dcl ev_msg_array (2) bit (36); 40 dcl load_parm char (32); 41 dcl len fixed bin; 42 dcl p ptr; 43 dcl station_addr fixed bin; 44 dcl (i, j) fixed bin; 45 dcl subchan_flags (0:31) bit (1) unal; 46 dcl error_proc entry (fixed bin, fixed bin, char (*), char (*), char (*), char (*)) variable; 47 dcl cv_cmf_entry bit (1) init ("0"b); 48 dcl controller_address_param fixed bin; 49 dcl quit_key_param fixed bin; 50 dcl formfeed_key_param fixed bin; 51 dcl ascii_param bit (1); 52 dcl allow_raw3270_param bit (1); 53 dcl allow_copy_param bit (1); 54 dcl debug_param bit (1); 55 dcl error bit (1); 56 57 /* Constants */ 58 59 dcl name char (15) int static options (constant) init ("as_ibm3270_mpx_"); 60 dcl white_space char (2) int static options (constant) init (" "); /* Space and tab */ 61 62 /* Static */ 63 64 dcl static_cdtp ptr int static init (null); 65 /* Remember where cdt is */ 66 67 /* External */ 68 69 dcl hphcs_$tty_control entry (char (*), char (*), ptr, fixed bin (35)); 70 dcl ipc_$delete_ev_chn entry (fixed bin (71), fixed bin (35)); 71 dcl ipc_$create_ev_chn entry (fixed bin (71), fixed bin (35)); 72 dcl ipc_$decl_ev_call_chn entry (fixed bin (71), entry, ptr, fixed bin, fixed bin (35)); 73 dcl sys_log_ entry options (variable); 74 dcl convert_ipc_code_ entry (fixed bin (35)); 75 dcl sys_log_$error_log entry options (variable); 76 dcl get_process_id_ entry returns (bit (36) aligned); 77 dcl ttt_info_$additional_info entry (char (*), char (512) varying, fixed bin (35)); 78 dcl ttt_info_$modes entry (char (*), char (*), fixed bin (35)); 79 dcl multiplexer_mgr_$mpx_load_failed entry (char (*), fixed bin (35)); 80 dcl multiplexer_mgr_$mpx_loaded entry (char (*), fixed bin (35)); 81 dcl multiplexer_mgr_$mpx_crashed entry (char (*), bit (1) aligned, fixed bin (35)); 82 dcl convert_status_code_ entry (fixed bin (35), char (8), char (100)); 83 84 dcl error_table_$action_not_performed ext fixed bin (35); 85 86 dcl conversion condition; 87 88 dcl (addr, bin, low, rtrim, ltrim, search, verify, null, string, substr, unspec, index, length) 89 builtin; 90 91 /* Based */ 92 93 dcl 1 chan_list aligned based (chan_listp), 94 /* List of cdte entries of channels to boot */ 95 2 count fixed bin, 96 2 cdte_ptr (0 refer (chan_list.count)) ptr unal; 97 98 dcl 1 event_info aligned based (event_infop), 99 /* Event call argument structure */ 100 2 channel_id fixed bin (71), 101 2 message fixed bin (71), 102 2 sender_procid bit (36), 103 2 origin, 104 3 dev_signal bit (18) unal, 105 3 ring bit (18) unal, 106 2 data_ptr ptr; 107 108 /* Entry to load a multiplexer */ 109 110 ibm3270_load: 111 entry (arg_mpx_chan, arg_cdtp, arg_cdtep, arg_chan_listp, arg_check_sw, arg_code); 112 113 mpx_chan = arg_mpx_chan; 114 cdtp, static_cdtp = arg_cdtp; 115 cdtep = arg_cdtep; 116 chan_listp = arg_chan_listp; 117 mpxep = addr (cdte.initial_command); 118 119 if cdte.event ^= 0 then call ipc_$delete_ev_chn (cdte.event, code); 120 call ipc_$create_ev_chn (cdte.event, code); 121 if code ^= 0 then do; 122 ev_chan_err: call convert_ipc_code_ (code); 123 call sys_log_$error_log (1, code, name, "Creating event channel for multiplexer ^a", mpx_chan); 124 arg_code = error_table_$action_not_performed; 125 return; 126 end; 127 call ipc_$decl_ev_call_chn (cdte.event, ibm3270_wakeup_handler, cdtep, MPX_LOAD_PRIO, code); 128 if code ^= 0 then go to ev_chan_err; 129 130 call get_boot_info; /* Get bootload parameters */ 131 if error then do; 132 arg_code = error_table_$action_not_performed; 133 return; 134 end; 135 136 load_info_nchan = chan_list.count; 137 138 begin; 139 140 dcl 1 auto_load_info like load_info aligned automatic; 141 142 load_infop = addr (auto_load_info); 143 load_info.event_channel = cdte.event; 144 string (load_info.flags) = "0"b; 145 load_info.debug = debug_param; 146 load_info.allow_copy = allow_copy_param; 147 load_info.allow_raw3270 = allow_raw3270_param; 148 load_info.ascii = ascii_param; 149 load_info.quit_key = quit_key_param; 150 load_info.formfeed_key = formfeed_key_param; 151 load_info.controller_address = controller_address_param; 152 load_info.nchan = load_info_nchan; 153 154 do i = 1 to load_info.nchan; 155 chan_load_infop = addr (load_info.chan_info (i)); 156 p = chan_list.cdte_ptr (i); 157 chan_load_info.devx = p -> cdte.twx; 158 call get_line_and_screen_size (p); 159 end; 160 161 call hphcs_$tty_control (mpx_chan, "load_mpx", load_infop, code); 162 end; 163 164 if code ^= 0 then do; 165 arg_code = code; 166 return; 167 end; 168 169 arg_code = 0; 170 return; 171 172 /* Wakeup handler for wakeups on the bootload event channel */ 173 174 ibm3270_wakeup_handler: 175 entry (arg_event_infop); 176 177 event_infop = arg_event_infop; 178 cdtp = static_cdtp; 179 cdtep = event_info.data_ptr; 180 mpxep = addr (cdte.initial_command); 181 182 if event_info.ring ^= "0"b 183 then /* If not ring-0 */ 184 if event_info.sender_procid ^= get_process_id_ () 185 then do; /* Trust only myself */ 186 string (ev_msg_array) = unspec (event_info.message); 187 call sys_log_ (1, "^a: Unexpected wakeup (^w ^w) from process ^w.", name, ev_msg_array, 188 event_info.sender_procid); 189 return; 190 end; 191 192 mpx_chan = cdte.name; 193 194 if event_info.message ^= IBM3270_MPX_UP & event_info.message ^= IBM3270_MPX_DOWN & event_info.message ^= IBM3270_MPX_MASKED 195 then do; 196 call sys_log_ (1, "^a: Wakeup for multiplexer ^a has invalid state code: ^d.", name, mpx_chan, 197 event_info.message); 198 return; 199 end; 200 call sys_log_ (1, "^a: ^[Load^;Crash^] signaled for multiplexer ^a.", name, (event_info.message = IBM3270_MPX_UP), 201 mpx_chan); 202 203 if mpxe.state = MPX_BOOT 204 then do; /* Now booting */ 205 if event_info.message ^= IBM3270_MPX_UP 206 then /* Boot failed */ 207 call multiplexer_mgr_$mpx_load_failed (mpx_chan, code); 208 else do; 209 call hphcs_$tty_control (mpx_chan, "start_mpx", null (), code); 210 if code = 0 then call multiplexer_mgr_$mpx_loaded (mpx_chan, code); 211 else do; 212 call sys_log_$error_log (1, code, name, "Unable to start ^a", mpx_chan); 213 call multiplexer_mgr_$mpx_load_failed (mpx_chan, code); 214 end; 215 end; 216 return; 217 end; 218 219 else if mpxe.state = MPX_UP 220 then do; /* Currently running ok */ 221 if event_info.message ^= IBM3270_MPX_UP 222 then /* It crashed */ 223 call multiplexer_mgr_$mpx_crashed (mpx_chan, (event_info.message = IBM3270_MPX_DOWN), code); 224 end; 225 return; 226 227 /* Entry to dump a multiplexer. */ 228 229 ibm3270_dump: 230 entry (arg_mpx_chan, arg_cdtp, arg_cdtep, arg_code); 231 232 arg_code = 0; /* Nothing to do really */ 233 return; 234 235 /* Entry called by cv_cmf to validate ibm3270 multiplexers */ 236 237 ibm3270_cv_cmf: 238 entry (arg_cdtp, arg_cdtep, arg_mpx_chan, arg_chan_listp, arg_error_proc); 239 240 cv_cmf_entry = "1"b; 241 cdtp = arg_cdtp; 242 cdtep = arg_cdtep; 243 mpx_chan = arg_mpx_chan; 244 chan_listp = arg_chan_listp; 245 error_proc = arg_error_proc; 246 247 /* Make sure this channel is not an FNP */ 248 249 if index (mpx_chan, ".") = 0 /* Single component name => FNP */ 250 then call error_proc (1, 2, "An IBM3270 multiplexer cannot be configured as an FNP. ^a", "^a", mpx_chan, ""); 251 252 /* Make sure line type is right */ 253 254 if cdte.line_type ^= LINE_BSC 255 then call error_proc (2, 2, "An IBM3270 multiplexer must have a line type of BSC. ^a", "^a", mpx_chan, ""); 256 257 /* Validate subchannel names */ 258 259 string (subchan_flags) = "0"b; 260 j = length (rtrim (cdte.name)) + 1; /* Get length of major channel name */ 261 do i = 1 to chan_list.count; /* Examine subchans */ 262 p = chan_list.cdte_ptr (i); 263 len = length (rtrim (p -> cdte.name)) - j; 264 if len < 3 /* Name too short */ 265 then do; 266 bad_name: 267 call error_proc (4, 2, "Invalid subchannel name ^a for IBM3270 multiplexer ^a.", "^a for ^a", 268 substr (p -> cdte.name, j + 1), mpx_chan); 269 go to next_subchan; 270 end; 271 if len > 3 /* Name too long, better be more components */ 272 then if substr (p -> cdte.name, j + 4, 1) ^= "." 273 /* Nope, bad name */ 274 then go to bad_name; 275 276 if verify (substr (p -> cdte.name, j + 1, 1), "dp") ^= 0 277 then go to bad_name; 278 279 station_addr = bin (substr (p -> cdte.name, j + 2, 2)); 280 if station_addr < 0 | station_addr > 31 281 then go to bad_name; 282 if subchan_flags (station_addr) then 283 call error_proc (3, 2, "IBM3270 subchannel ^a conflicts with another device with the same address.", 284 "^a", (cdte.name), ""); 285 subchan_flags (station_addr) = "1"b; 286 next_subchan: 287 end; 288 call get_boot_info; /* Validate params also */ 289 290 return; 291 292 /* Subroutine to prepare info structure for "load_mpx" control order */ 293 294 get_boot_info: 295 proc; 296 297 dcl add_info char (512) varying; 298 dcl (i, j) fixed bin; 299 dcl work char (512); 300 dcl keyword char (32); 301 dcl option char (32); 302 dcl long char (100); 303 dcl short char (8); 304 305 /* Set defaults */ 306 307 controller_address_param = 0; 308 quit_key_param = PA1; 309 formfeed_key_param = CLEAR; 310 ascii_param = "0"b; 311 allow_raw3270_param = "1"b; 312 allow_copy_param = "0"b; 313 debug_param = "0"b; 314 315 error = "0"b; 316 317 if cdte.initial_terminal_type = "" then return; 318 if cdte.initial_terminal_type = low (length (cdte.initial_terminal_type)) then return; 319 call ttt_info_$additional_info (cdte.initial_terminal_type, add_info, code); 320 if code ^= 0 then do; 321 call convert_status_code_ (code, short, long); 322 call info_error (5, long || " Unable to get additional info in ttf for ^a, terminal type ^a", 323 "^a, ^a", (cdte.name), cdte.initial_terminal_type); 324 return; 325 end; 326 327 work = ltrim (add_info, white_space); 328 do while (work ^= ""); 329 i = index (work, "="); 330 if i < 2 then do; 331 call info_error (6, "Syntax error in additional info in ttf for ^a. ^a", "^a, ^a", 332 (cdte.name), rtrim (work)); 333 return; 334 end; 335 336 keyword = substr (work, 1, i - 1); 337 work = substr (work, i + 1); 338 i = search (work, white_space); 339 if i = 1 then option = ""; 340 else if i = 0 then do; 341 option = work; 342 work = ""; 343 end; 344 else do; 345 option = substr (work, 1, i - 1); 346 work = substr (work, i); 347 end; 348 349 if keyword = "controller_address" then do; 350 on conversion go to bad_param; 351 controller_address_param = bin (option); 352 revert conversion; 353 if controller_address_param < 0 | controller_address_param > 31 then do; 354 bad_param: call info_error (7, "Invalid parameter specified in ttf for ^a. ^a", "^a, ^a", 355 (cdte.name), rtrim (keyword) || "=" || rtrim (option)); 356 go to parse_next; 357 end; 358 end; 359 else if keyword = "quit" then do; 360 if option = "pa1" then quit_key_param = PA1; 361 else if option = "pa2" then quit_key_param = PA2; 362 else if option = "pa3" then quit_key_param = PA3; 363 else go to bad_param; 364 end; 365 else if keyword = "formfeed" then do; 366 if option = "pa1" then formfeed_key_param = PA1; 367 else if option = "pa2" then formfeed_key_param = PA2; 368 else if option = "pa3" then formfeed_key_param = PA3; 369 else if option = "clear" then formfeed_key_param = CLEAR; 370 else go to bad_param; 371 end; 372 else if keyword = "code" then do; 373 if option = "ebcdic" then ascii_param = "0"b; 374 else if option = "ascii" then ascii_param = "1"b; 375 else go to bad_param; 376 end; 377 else if keyword = "allow_raw3270" then do; 378 if option = "yes" then allow_raw3270_param = "1"b; 379 else if option = "no" then allow_raw3270_param = "0"b; 380 else go to bad_param; 381 end; 382 else if keyword = "allow_copy" then do; 383 if option = "yes" then allow_copy_param = "1"b; 384 else if option = "no" then allow_copy_param = "0"b; 385 else go to bad_param; 386 end; 387 else if keyword = "debug" then do; 388 if option = "yes" then debug_param = "1"b; 389 else if option = "no" then debug_param = "0"b; 390 else go to bad_param; 391 end; 392 else do; 393 call info_error (8, "Invalid option specified in ttf for ^a. ^a", "^a, ^a", 394 (cdte.name), rtrim (keyword) || "=" || rtrim (option)); 395 end; 396 parse_next: 397 work = ltrim (work, white_space); 398 end; 399 400 if quit_key_param = formfeed_key_param then 401 call info_error (9, "Invalid attempt in ttf to specify same function key for quits and formfeeds. ^a", 402 "^a", (cdte.name), ""); 403 404 return; 405 406 end get_boot_info; 407 408 info_error: proc (errno, long_ioa_string, short_ioa_string, arg1, arg2); 409 410 dcl errno fixed bin; 411 dcl (long_ioa_string, short_ioa_string) char (*); 412 dcl (arg1, arg2) char (*); 413 414 error = "1"b; 415 if cv_cmf_entry then call error_proc (errno, 1, long_ioa_string, short_ioa_string, arg1, arg2); 416 else call sys_log_ (1, "^a: " || long_ioa_string, name, arg1, arg2); 417 return; 418 419 end info_error; 420 421 /* parse mode string for line length and page length */ 422 423 get_line_and_screen_size: proc (p); 424 425 dcl p ptr; /* cdte pointer */ 426 dcl i fixed bin; 427 dcl (ll, pl) fixed bin; 428 dcl mode_string char (512); 429 430 431 ll = 80; 432 if p -> cdte.initial_terminal_type = "" then go to set_defaults; 433 if p -> cdte.initial_terminal_type = low (length (cdte.initial_terminal_type)) then go to set_defaults; 434 435 call ttt_info_$modes (p -> cdte.initial_terminal_type, mode_string, code); 436 if code ^= 0 then go to set_defaults; 437 438 i = index (mode_string, ",ll"); 439 if i = 0 then go to set_defaults; 440 ll = cv_modes (); 441 ll = 20 * divide (ll + 19, 20, 17, 0); 442 443 i = index (mode_string, ",pl"); 444 if i = 0 then go to set_defaults; 445 pl = cv_modes (); 446 pl = 12 * divide (pl + 11, 12, 17, 0); 447 448 set_values: chan_load_info.line_size = ll; 449 chan_load_info.screen_size = ll * pl; 450 return; 451 452 set_defaults: if ll = 40 then pl = 12; 453 else pl = 24; 454 go to set_values; 455 456 cv_modes: proc returns (fixed bin); 457 458 dcl j fixed bin; 459 460 on conversion go to set_defaults; 461 j = verify (substr (mode_string, i + 3), "0123456789"); 462 if j < 2 then go to set_defaults; 463 return (bin (substr (mode_string, i + 3, j - 1))); 464 465 end cv_modes; 466 467 end get_line_and_screen_size; 468 1 1 /* Begin include file ..... ibm3270_mpx_load_data.incl.pl1 */ 1 2 1 3 /* Defines data passed between as_ibm3270_mpx_ and priv_ibm3270_mpx when loading an ibm3270 multiplexer */ 1 4 1 5 /* Prepared May 1979 by Larry Johnson */ 1 6 1 7 dcl load_infop ptr; 1 8 dcl load_info_nchan fixed bin; 1 9 1 10 dcl 1 load_info aligned based (load_infop), 1 11 2 event_channel fixed bin (71), 1 12 2 flags unal, 1 13 3 ascii bit (1), /* Use ascii protocol */ 1 14 3 debug bit (1), /* Print unusual stuff */ 1 15 3 allow_raw3270 bit (1), /* Sub-channels may use raw3270 mode */ 1 16 3 allow_copy bit (1), /* Sub-channels in raw3270 may do copies */ 1 17 3 pad bit (32) unal, 1 18 2 controller_address fixed bin, /* device address for controller */ 1 19 2 quit_key fixed bin, /* code to indicate which key is quit */ 1 20 2 formfeed_key fixed bin, /* code for formfeed key */ 1 21 2 nchan fixed bin, 1 22 2 chan_info (load_info_nchan) like chan_load_info; 1 23 1 24 dcl chan_load_infop ptr; 1 25 1 26 dcl 1 chan_load_info aligned based (chan_load_infop), /* Per channel part of data */ 1 27 2 devx fixed bin, /* Which channel */ 1 28 2 screen_size fixed bin, 1 29 2 line_size fixed bin; 1 30 1 31 dcl (IBM3270_MPX_UP init (1), 1 32 IBM3270_MPX_DOWN init (2), 1 33 IBM3270_MPX_MASKED init (3)) fixed bin (71) int static options (constant); 1 34 1 35 /* codeing for quit and formfeed keys */ 1 36 1 37 dcl (PA1 init (1), 1 38 PA2 init (2), 1 39 PA3 init (3), 1 40 CLEAR init (4)) fixed bin int static options (constant); 1 41 1 42 /* End include file .....ibm3270_mpx_load_data.incl.pl1 */ 469 470 2 1 /* BEGIN INCLUDE FILE ... cdt.incl.pl1 */ 2 2 2 3 /* format: style3,idind25,indcomtxt */ 2 4 2 5 /* Channel Definition Table. 2 6* This table lists all of the hardware channels (ports) connected 2 7* to the system, and maintains the attributes of each one. 2 8* 2 9* PG 741230 2 10* Modified by Mike Grady 5/6/76 to add FNP info. 2 11* Modified by Tom Casey 7/29/76 to add more FNP info and a few other things. 2 12* Modified by Robert Coren 6/13/77 to make terminal types be character strings. 2 13* Modified July 1979 by T. Casey to add several variables for MR8.0 process preservation facility. 2 14* Modified December 1980 by E. N. Kittlitz to eliminate cdte.phone_no. 2 15* Modified March 1981 by Robert Coren to add "listening" flag for multiplexers and to add TANDD_SERVICE service_type. 2 16* Modified April 1981 by E. N. Kittlitz to add cdte.dial_ev_chn, cdte.recent_wakeup_time, cdte.recent_wakeup_count. 2 17* Modified July 1981 by T. Casey for MR9.0 to add dialup_flags.detach_after_hangup 2 18* Modified December 1981 by E. N. Kittlitz for cdte.leave_edited, cdte.hold_arg, 2 19* Modified September 1981 by Benson I. Margulies for cdt_mgr_'s tree of multiplexer's. 2 20* Modified August 1982 by E. N. Kittlitz for check_acs. 2 21* Modified January 1983 by Keith Loepere for generic_destination. 2 22* Modified August 1983 by Robert Coren to add mpxe.check and mpxe.retry_load. 2 23* Modified 831216 by E. N. Kittlitz for required_access_class. 2 24* Modified 84-04-01 by BIM to finish communications AIM: 2 25* access class ranges, 2 26* access_control flags. 2 27**/ 2 28 2 29 2 30 /****^ HISTORY COMMENTS: 2 31* 1) change(87-03-17,Beattie), approve(87-04-06,MCR7656), 2 32* audit(87-07-13,Parisek), install(87-08-04,MR12.1-1056): 2 33* Add support for answering service to use IOCBs when tty_ cannot be 2 34* used to service login channels. 2 35* END HISTORY COMMENTS */ 2 36 2 37 2 38 dcl CDT_version_5 fixed bin internal static initial (5) options (constant); 2 39 dcl CDT_version fixed bin internal static initial (6) options (constant); 2 40 2 41 dcl (cdtp, cdtep, fnpep, mpxep) 2 42 ptr; 2 43 2 44 dcl 1 cdt based (cdtp) aligned, /* all of the system channels */ 2 45 2 author like author_dcl.author, /* standard header */ 2 46 2 max_size fixed bin, /* maximum number of cdte's in 255K */ 2 47 2 current_size fixed bin, /* number of last cdte. */ 2 48 2 version fixed bin, 2 49 2 freep fixed bin, /* chain of free cdte's */ 2 50 2 n_cdtes fixed bin, /* number of used cdte's */ 2 51 2 meters_last_reset fixed bin (71), /* clock time dialup meters were reset */ 2 52 2 realtime_in_dialup fixed bin (71), /* Dialup meter */ 2 53 2 cpu_in_dialup fixed bin (71), /* .. */ 2 54 2 pf_in_dialup fixed bin, /* .. */ 2 55 2 pp_in_dialup fixed bin, /* .. */ 2 56 2 entries_to_dialup fixed bin, /* .. */ 2 57 2 flags, 2 58 3 go bit (1) unal, /* ans. serv. said "go ahead and answer the phones" */ 2 59 3 cdt_is_live bit (1) unal, /* cdt is active */ 2 60 3 mux_mgr_system_init 2 61 bit (1) unal, /* mux mgr has loaded top-levels */ 2 62 3 pad1 bit (33) unal, 2 63 2 acceptable_fnp_tbf fixed bin, /* acceptable minutes between FNP crashes */ 2 64 2 spare_channel_count fixed bin, /* number of extra channels to leave room for in ring0 */ 2 65 2 threads aligned like channel_threads, 2 66 /* root of non-fnp-top-level-multiplexers */ 2 67 2 pad2 (31) bit (36) aligned, /* pad header to 80 words */ 2 68 2 fnp_entry dim (8) like fnpe, /* max of 8 FNPs for now */ 2 69 2 cdt_entry dim (2500) like cdte; /* # of cdte's in 255K */ 2 70 2 71 2 72 dcl 1 cdte based (cdtep) aligned, /* a channel */ 2 73 2 in_use fixed bin, /* see dialup_values. 0=NOW_FREE */ 2 74 /**** * These variables are filled in when the CDTE is created by cv_cmf. They are not dynamic. */ 2 75 2 pad1 bit (36) aligned, 2 76 2 name char (32), /* ASCII name of channel */ 2 77 2 access_class (2) bit (72) aligned, /* access class range */ 2 78 2 comment char (48), /* printable message about channel */ 2 79 2 charge_type fixed bin (17) unal, /* billing group */ 2 80 2 service_type fixed bin (17) unal, /* service group (AS, ftp, mc) */ 2 81 2 line_type fixed bin (17) unal, /* tty line type (protocol) */ 2 82 2 baud_rate fixed bin (17) unal, /* 110, 133, 150, etc. */ 2 83 2 modem_type fixed bin (17) unal, /* type of modem on this channel */ 2 84 2 pad2 bit (18) unaligned, 2 85 2 answerback char (8), /* answerback string expected */ 2 86 2 initial_terminal_type 2 87 char (32) unal, /* as specified in the CMF */ 2 88 2 mpx_data unal, /* data used only for multiplexed channels */ 2 89 3 mpx_type fixed bin (17), /* type of multiplexing used */ 2 90 3 mpx_service fixed bin (17), /* service type, active or inactive */ 2 91 2 flags, 2 92 ( 3 attributes, 2 93 4 ck_answerback bit (1), /* ON means that ansbk must equal our records */ 2 94 4 audit_access_error 2 95 bit (1), /* ON means ck that person auth is inside access class range */ 2 96 /* this implies that the access_class describes a range of 2 97* legitimate user auths. */ 2 98 4 hardwired bit (1), /* ON means it is */ 2 99 4 set_modes bit (1), /* ON means to set initial modes at dialup */ 2 100 4 dont_read_answerback 2 101 bit (1), /* ON means don't try to read answerback */ 2 102 4 pada bit (4), 2 103 3 access_control unaligned, /* As below */ 2 104 4 dial_out bit (1), /* dialing user must be on ACS */ 2 105 4 priv_attach bit (1), /* PA_ user must be on ACS */ 2 106 4 dial_server bit (1), /* accept_dials process must be on acs */ 2 107 4 login bit (1), /* logging in user must be on acs */ 2 108 4 slave_dial bit (1), /* dialing user must give -user and be on acs */ 2 109 4 pado bit (3), 2 110 3 options, 2 111 4 execute_initial_command 2 112 bit (1), /* ON means to do it */ 2 113 4 attached_by_operator 2 114 bit (1), /* ON means temporary attachment. */ 2 115 4 private_line bit (1), /* ON means private_line sync modem in use */ 2 116 4 bsc_ebcdic bit (1), /* ON means bsc would like to use ebcdic code set */ 2 117 4 bsc_transparent bit (1), /* ON means bsc is in transparent mode */ 2 118 4 vip_pollselect bit (1), /* ON means VIP line is multidrop */ 2 119 4 autobaud bit (1), /* ON means auto baud detection this channel */ 2 120 4 generic_destination_present 2 121 bit (1), /* ON means that the initial_command field contains 2 122* a generic destination to match on dial_out or priv attach */ 2 123 4 use_iocb bit (1), /* ON means to use IOCB operations to support channel */ 2 124 4 pado bit (9) 2 125 ) unaligned, 2 126 2 initial_command char (64), /* pseudo first input line */ 2 127 /**** The following variables represent dynamic control info, and 2 128* are used mostly by dialup_ and asu_ */ 2 129 2 event fixed bin (71), /* event call channel for channel events */ 2 130 2 current_service_type fixed bin (17) unal, /* Current usage of line. */ 2 131 2 tra_vec fixed bin (17) unal, /* which section of dialup_ to do next */ 2 132 2 count fixed bin (17) unal, /* How many login tries he's had. */ 2 133 2 dialup_flags unal, /* flag bits for dialup to maintain */ 2 134 3 ppm bit (1) unal, /* print preaccess message for IBM terminals */ 2 135 3 cpo bit (1) unal, /* conditional printer-off (depends on answerback */ 2 136 3 wakeup_handler bit (1) unal, /* says who is wakeup handler for this channel */ 2 137 /* 0 = dialup_, 1 = mc_tty_ */ 2 138 3 save_arg bit (1) unal, /* -save login arg given */ 2 139 3 nosave_arg bit (1) unal, /* -nosave login arg given */ 2 140 3 detach_after_hangup 2 141 bit (1) unal, /* remember WAIT_DETACH when setting WAIT_BEFORE_HANGUP */ 2 142 3 leave_edited bit (1) unal, /* user control of edited mode */ 2 143 3 hold_arg bit (1) unal, /* -hold arg given */ 2 144 3 no_hold_arg bit (1) unal, /* -no_hold arg given */ 2 145 3 immediate_arg bit (1) unal, /* -immediate arg given */ 2 146 3 current_access_class_valid 2 147 bit (1) unal, /* dialup_ or lg_ctl_ has determined the current_access_class */ 2 148 3 pad bit (7) unal, 2 149 2 twx fixed bin, /* channel device index */ 2 150 2 state fixed bin, /* channel state */ 2 151 2 tty_id_code char (4), /* channel id (answerback) */ 2 152 2 current_terminal_type 2 153 char (32) unal, /* most recently-set terminal type */ 2 154 2 process ptr unal, /* ptr to ATE owning this channel */ 2 155 2 dialed_to_procid bit (36), /* Dialed channels remember owner's proc id */ 2 156 2 next_channel fixed bin (17) unal, /* cdte index of next channel for this process */ 2 157 2 cur_line_type fixed bin (17) unal, /* line type of currently dialed terminal */ 2 158 2 current_access_class (2) bit (72) aligned, /* This is a range, but at this time it must be a null range. 2 159* We do not yet define multi-class connections, but we will someday. */ 2 160 2 disconnected_ate_index 2 161 fixed bin (17) unal, /* index of ate of disconnected process */ 2 162 2 dial_ctl_ring fixed bin (3) unsigned unaligned, 2 163 /* used by dial_ctl_ to record ring of priv_attach or dial_out attachments */ 2 164 2 dial_rq_privileged bit (1) unaligned, /* used by dial ctl to record comm priv from priv_attach or dial_out request */ 2 165 2 pad3 bit (14) unaligned, 2 166 /**** The following variables are kept for metering purposes. */ 2 167 2 n_dialups fixed bin, /* number of times channel has been dialed up */ 2 168 2 n_logins fixed bin, /* number of login sessions on this channel */ 2 169 2 dialed_up_time fixed bin (35), /* total time channel was dialed up (seconds) */ 2 170 2 dialup_time fixed bin (71), /* time of present dialup */ 2 171 2 disconnected_proc_command 2 172 fixed bin (12) unsigned unal, 2 173 /* 1 to 5 for -list,-create,-connect,-new_proc,-destroy */ 2 174 2 disconnected_proc_number 2 175 fixed bin (12) unsigned unal, 2 176 /* {N} in -connect {N}, -new_proc {N}, -destroy {N} */ 2 177 2 n_disconnected_procs fixed bin (12) unsigned unal, 2 178 /* number of disconnected processes that user has */ 2 179 2 recent_wakeup_count fixed bin, /* counter to detect channel wakeup loop */ 2 180 2 recent_wakeup_time fixed bin (71), /* time of first wakeup in suspected channel wakeup loop */ 2 181 2 dial_ev_chn fixed bin (71), /* Dialed channels remember master's IPC channel */ 2 182 /**** cdt_mgr_ uses these to maintain the tree of channels. They ****/ 2 183 /**** really belong in the mpxe, but it is full up, and the cdte ****/ 2 184 /**** had the space. */ 2 185 2 threads aligned like channel_threads, 2 186 /**** The use name is that of the user who gave the dial or slave ****/ 2 187 /**** preaccess request. ****/ 2 188 2 user_name unaligned, 2 189 3 person char (20) unaligned, 2 190 3 project char (9) unaligned, 2 191 3 pad char (3) unaligned, /* no tag */ 2 192 2 iocbp ptr unaligned; /* 104 words */ 2 193 2 194 2 195 dcl generic_destination based char (32); /* used to match destinations on dial_out and priv_attach, 2 196* overlays initial_command field for slave and autocall lines */ 2 197 2 198 2 199 2 200 dcl 1 fnpe based (fnpep) aligned, /* an FNP */ 2 201 /* These variables are filled in from the CMF */ 2 202 2 type fixed bin, /* type of this FNP, DN355, DN6670, etc. */ 2 203 2 memory fixed bin, /* amount of memory on this FNP */ 2 204 2 nlslas fixed bin, /* number of lslas on this FNP */ 2 205 2 nhslas fixed bin, /* number of hslas on this FNP */ 2 206 2 service_type fixed bin, /* service type */ 2 207 2 mpx_type fixed bin, /* type of multiplexer on this fnp */ 2 208 2 coreimage char (168), /* pathname of image, maybe in >sl1 */ 2 209 /**** The following are used during system operation to remember the state of the FNP */ 2 210 2 boot_segp ptr, /* ptr to seg used for bootload */ 2 211 2 boot_ev_chan fixed bin (71), /* for ring0 to report crashes and bootload complete */ 2 212 2 mpxe like mpxe, /* standard multiplexer data */ 2 213 2 threads aligned like channel_threads, 2 214 /* same mpx threads as channel */ 2 215 2 pad3 (25) fixed bin; /* pad to 96 words per entry */ 2 216 2 217 /* This structure describes the data necessary to control a multiplexer. 2 218* For FNP's., a copy appears in the fnpe. For communications lines, it 2 219* overlays the initial_command field in the cdte. */ 2 220 2 221 dcl 1 mpxe based (mpxep) aligned, 2 222 2 state fixed bin, /* current state, up, down, loading */ 2 223 2 current_service_type fixed bin, /* usually = service type, unless cdt installation changes it */ 2 224 2 current_mpx_type fixed bin, /* type of multiplexer currently running */ 2 225 2 n_bootloads fixed bin, /* count of load attempts */ 2 226 2 time_initial_load fixed bin (71), /* time this MPX first completed a load */ 2 227 2 time_last_load fixed bin (71), /* time MPX last completed a bootload */ 2 228 2 time_last_crash fixed bin (71), /* time MPX last crashed */ 2 229 2 time_load_start fixed bin (71), /* time current load started */ 2 230 2 last_tbf fixed bin, /* number of minutes this MPX was up last bootload */ 2 231 2 flags unal, 2 232 3 go bit (1), /* start MPX after it loads */ 2 233 3 listening bit (1), /* listen has been done on subchannels */ 2 234 3 check bit (1), /* loaded with check option */ 2 235 3 retry_load bit (1), /* reload if load fails */ 2 236 3 pad1 bit (32), 2 237 2 pad2 (2) fixed bin; /* pad to 16 words */ 2 238 2 239 /* These threads define the tree of multiplexers in the cdt. */ 2 240 /* next_sister and prev_sister link nodes at the same level, ordered */ 2 241 /* by alpha sort order of the channel name. Daughter points to the */ 2 242 /* first child of this node, if any. Daughter count is the number */ 2 243 /* of children, as a consistency check. Mother is a back pointer to */ 2 244 /* the parent, present in all the children, not just the first. */ 2 245 /* threads are cdt indexes. If positive, they index the cdt_entry array */ 2 246 /* in cdt, if negative, they are the negative of an index into the fnp_entry */ 2 247 /* array. If zero, they refer to the top of the non-fnp mpx tree. */ 2 248 2 249 dcl 1 channel_threads aligned based, 2 250 2 next_sister fixed bin unaligned, 2 251 2 prev_sister fixed bin unaligned, 2 252 2 daughter fixed bin unaligned, 2 253 2 mother fixed bin unaligned, /* negative is a fnpx, positive a cdtx */ 2 254 2 pad bit (18) unaligned, 2 255 2 daughter_count fixed bin unaligned; 2 256 2 257 /* Values for cdte.service_type field */ 2 258 2 259 dcl ( 2 260 ANS_SERVICE init (1), /* login or dial */ 2 261 FTP_SERVICE init (2), /* file transfer service */ 2 262 MC_SERVICE init (3), /* message coordinator */ 2 263 SLAVE_SERVICE init (4), /* special channel */ 2 264 DIAL_SERVICE init (5), /* transient state */ 2 265 DIAL_OUT_SERVICE init (6), /* auto call line */ 2 266 MPX_SERVICE init (8), /* ring0 demultiplexed line */ 2 267 TANDD_SERVICE init (9) /* transient state, attached for T & D */ 2 268 ) fixed bin internal static options (constant); 2 269 2 270 /* Values for service type in both cdte and fnpe */ 2 271 2 272 dcl ( 2 273 INACTIVE init (7), /* not to be used, even though configured */ 2 274 ACTIVE init (1) 2 275 ) /* for FNP only, configured and to be used */ 2 276 fixed bin internal static options (constant); 2 277 2 278 /* Value for both cdte.in_use and fnpe.state */ 2 279 2 280 dcl NOT_CONFIGURED fixed bin int static init (-1) options (constant); 2 281 /* was not configured at Multics bootload time */ 2 282 2 283 /* NOTE: an INACTIVE channel can be made active by operator command or CDT installation, 2 284* but a NOT_CONFIGURED channel can not be used until its multiplexer is reloaded */ 2 285 2 286 /* Value for cdte.in_use */ 2 287 2 288 dcl CHANNEL_DELETED fixed bin int static init (-2); 2 289 /* channel deleted by CDT installation */ 2 290 2 291 /* NOTE: a configured channel being deleted by a CDT installation is set to CHANNEL_DELETED. 2 292* multiplexer_mgr_ sets cdte.in_use to NOW_FREE at the next reload of its multiplexer. 2 293* A NOT_CONFIGURED channel is set to NOW_FREE immediately when deleted by a CDT installation. */ 2 294 2 295 2 296 /* Values for mpxe.state field */ 2 297 2 298 dcl ( 2 299 FNP_FREE init (0), /* this fnpe is not used */ 2 300 FNP_UNKNOWN init (1), /* FNP is in some unknown state */ 2 301 FNP_DOWN init (2), /* FNP crashed, not yet reloaded */ 2 302 FNP_BOOT init (3), /* FNP has been booted, but no response yet */ 2 303 FNP_UP init (4) /* FNP is up and running fine */ 2 304 ) fixed bin internal static options (constant); 2 305 2 306 dcl ( 2 307 MPX_FREE init (0), /* this mpxe is not used */ 2 308 MPX_UNKNOWN init (1), /* MPX is in some unknown state */ 2 309 MPX_DOWN init (2), /* MPX crashed, not yet reloaded */ 2 310 MPX_BOOT init (3), /* MPX has been booted, but no response yet */ 2 311 MPX_UP init (4) /* MPX is up and running fine */ 2 312 ) fixed bin internal static options (constant); 2 313 3 1 /* BEGIN INCLUDE FILE ... fnp_types.incl.pl1 */ 3 2 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(88-06-15,Berno), approve(88-07-13,MCR7928), 3 7* audit(88-06-15,Parisek), install(88-07-19,MR12.2-1061): 3 8* Add data needed for the uncp multiplexer (DSA gateway) interface 3 9* implementation. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /* Values for fnpe.type field */ 3 14 /* 3 15* Created 79 May 14 by Art Beattie by splitting information out from cdt.incl.pl1 3 16* Added in March 1982 - DN7100.fd. 3 17**/ 3 18 3 19 dcl (DN355 init (1), /* a DataNet 355 FNP */ 3 20 DN6600 init (2), /* a DataNet 6600 FNP */ 3 21 DN6670 init (3), /* a Honeywell Bull Network Processor (18x) */ 3 22 DN7100 init (4) /* The DSA Datanet architecture (DN7) */ 3 23 ) fixed bin internal static options (constant); 3 24 3 25 dcl fnp_types (4) char (8) int static options (constant) 3 26 init ("DN355", "DN6600", "DN6670", "DN7100"); 3 27 3 28 dcl fnp_models (4) fixed bin (17) int static options (constant) 3 29 init (355, 6600, 6670, 7100); 3 30 3 31 dcl supported_fnp (4) bit (1) int static options (constant) 3 32 init ("0"b, "0"b, "1"b, "1"b); 3 33 3 34 3 35 /* END INCLUDE FILE ... fnp_types.incl.pl1 */ 2 314 2 315 2 316 /* END INCLUDE FILE ... cdt.incl.pl1 */ 471 472 4 1 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 4 2 4 3 /* This include file declares the "author" substructure 4 4* in a form suitable for using the PL/I "like" attribute. 4 5* 4 6* Written 750304 by PG 4 7**/ 4 8 4 9 dcl 1 author_dcl aligned based, 5 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 5 2 5 3 /* the "author" items must always be the first ones in the table. The 5 4* module which moves the converted table to the System Control process 5 5* fills in these data items and assumes them to be at the head of the segment 5 6* regardless of the specific table's actual declaration. The variables 5 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 5 8* respectively. For tables installed in multiple processes, these 5 9* are to be used to lock out multiple installations. */ 5 10 5 11 /* Lock should be used as a modification lock. Since, in general, 5 12* entries may not be moved in system tables, even by installations, 5 13* it is sufficient for only installers and programs that change threads 5 14* to set or respect the lock. Simply updating data in an entry 5 15* requires no such protection. 5 16* 5 17* Last_install_time is used by readers of system tables to detect 5 18* installations or other serious modifications. By checking it before 5 19* and after copying a block of data, they can be protected against 5 20* modifications. 5 21* 5 22* Modules that set the lock should save proc_group_id, and then 5 23* put their group id there for the time they hold the lock. 5 24* if they do not actually install the, they should restore the group id. 5 25**/ 5 26 5 27 2 author aligned, /* validation data about table's author */ 5 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 5 29 3 lock bit (36), /* installation lock */ 5 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 5 31 3 update_authorization bit (1) unal, /* update only authorizations */ 5 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 5 33 3 pad bit (33) unaligned, 5 34 3 last_install_time fixed bin (71), 5 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 5 36 3 w_dir char (64), /* author's working directory */ 5 37 5 38 /* END INCLUDE FILE author.incl.pl1 */ 4 10 4 11 2 pad; 4 12 4 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 473 474 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 */ 475 476 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 */ 477 478 479 end as_ibm3270_mpx_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/19/88 1536.9 as_ibm3270_mpx_.pl1 >special_ldd>install>MR12.2-1061>as_ibm3270_mpx_.pl1 469 1 10/20/82 0938.6 ibm3270_mpx_load_data.incl.pl1 >ldd>include>ibm3270_mpx_load_data.incl.pl1 471 2 08/06/87 0913.0 cdt.incl.pl1 >ldd>include>cdt.incl.pl1 2-314 3 07/19/88 1524.1 fnp_types.incl.pl1 >special_ldd>install>MR12.2-1061>fnp_types.incl.pl1 473 4 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 4-10 5 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 475 6 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 477 7 01/21/85 0912.2 as_wakeup_priorities.incl.pl1 >ldd>include>as_wakeup_priorities.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. CLEAR constant fixed bin(17,0) initial dcl 1-37 ref 309 369 IBM3270_MPX_DOWN 000002 constant fixed bin(71,0) initial dcl 1-31 ref 194 221 IBM3270_MPX_MASKED 000000 constant fixed bin(71,0) initial dcl 1-31 ref 194 IBM3270_MPX_UP 000004 constant fixed bin(71,0) initial dcl 1-31 ref 194 200 205 221 LINE_BSC constant fixed bin(17,0) initial dcl 6-22 ref 254 MPX_BOOT constant fixed bin(17,0) initial dcl 2-306 ref 203 MPX_LOAD_PRIO 000012 constant fixed bin(17,0) initial dcl 7-33 set ref 127* MPX_UP constant fixed bin(17,0) initial dcl 2-306 ref 219 PA1 constant fixed bin(17,0) initial dcl 1-37 ref 308 360 366 PA2 constant fixed bin(17,0) initial dcl 1-37 ref 361 367 PA3 constant fixed bin(17,0) initial dcl 1-37 ref 362 368 add_info 000100 automatic varying char(512) dcl 297 set ref 319* 327 addr builtin function dcl 88 ref 117 142 155 180 allow_copy 2(03) based bit(1) level 3 packed packed unaligned dcl 1-10 set ref 146* allow_copy_param 000142 automatic bit(1) packed unaligned dcl 53 set ref 146 312* 383* 384* allow_raw3270 2(02) based bit(1) level 3 packed packed unaligned dcl 1-10 set ref 147* allow_raw3270_param 000141 automatic bit(1) packed unaligned dcl 52 set ref 147 311* 378* 379* arg1 parameter char packed unaligned dcl 412 set ref 408 415* 416* arg2 parameter char packed unaligned dcl 412 set ref 408 415* 416* arg_cdtep parameter pointer dcl 26 ref 110 115 229 237 242 arg_cdtp parameter pointer dcl 25 ref 110 114 229 237 241 arg_chan_listp parameter pointer dcl 27 ref 110 116 237 244 arg_check_sw parameter bit(1) dcl 28 ref 110 arg_code parameter fixed bin(35,0) dcl 30 set ref 110 124* 132* 165* 169* 229 232* arg_error_proc parameter entry variable dcl 31 ref 237 245 arg_event_infop parameter pointer dcl 29 ref 174 177 arg_mpx_chan parameter char packed unaligned dcl 24 ref 110 113 229 237 243 ascii 2 based bit(1) level 3 packed packed unaligned dcl 1-10 set ref 148* ascii_param 000140 automatic bit(1) packed unaligned dcl 51 set ref 148 310* 373* 374* author based structure level 2 dcl 4-9 author_dcl based structure level 1 dcl 4-9 auto_load_info 000100 automatic structure level 1 dcl 140 set ref 142 bin builtin function dcl 88 ref 279 351 463 cdte based structure level 1 dcl 2-72 cdte_ptr 1 based pointer array level 2 packed packed unaligned dcl 93 ref 156 262 cdtep 000156 automatic pointer dcl 2-41 set ref 115* 117 119 119 120 127 127* 143 179* 180 192 242* 254 260 282 317 318 318 319 322 322 331 354 393 400 433 cdtp 000154 automatic pointer dcl 2-41 set ref 114* 178* 241* chan_info 7 based structure array level 2 dcl 1-10 set ref 155 chan_list based structure level 1 dcl 93 chan_listp 000112 automatic pointer dcl 37 set ref 116* 136 156 244* 261 262 chan_load_info based structure level 1 dcl 1-26 chan_load_infop 000152 automatic pointer dcl 1-24 set ref 155* 157 448 449 channel_threads based structure level 1 dcl 2-249 code 000100 automatic fixed bin(35,0) dcl 35 set ref 119* 120* 121 122* 123* 127* 128 161* 164 165 205* 209* 210 210* 212* 213* 221* 319* 320 321* 435* 436 controller_address 3 based fixed bin(17,0) level 2 dcl 1-10 set ref 151* controller_address_param 000135 automatic fixed bin(17,0) dcl 48 set ref 151 307* 351* 353 353 conversion 000000 stack reference condition dcl 86 ref 350 352 460 convert_ipc_code_ 000024 constant entry external dcl 74 ref 122 convert_status_code_ 000044 constant entry external dcl 82 ref 321 count based fixed bin(17,0) level 2 dcl 93 ref 136 261 cv_cmf_entry 000134 automatic bit(1) initial packed unaligned dcl 47 set ref 47* 240* 415 data_ptr 6 based pointer level 2 dcl 98 ref 179 debug 2(01) based bit(1) level 3 packed packed unaligned dcl 1-10 set ref 145* debug_param 000143 automatic bit(1) packed unaligned dcl 54 set ref 145 313* 388* 389* devx based fixed bin(17,0) level 2 dcl 1-26 set ref 157* errno parameter fixed bin(17,0) dcl 410 set ref 408 415* error 000144 automatic bit(1) packed unaligned dcl 55 set ref 131 315* 414* error_proc 000130 automatic entry variable dcl 46 set ref 245* 249 254 266 282 415 error_table_$action_not_performed 000046 external static fixed bin(35,0) dcl 84 ref 124 132 ev_msg_array 000116 automatic bit(36) array packed unaligned dcl 39 set ref 186* 187* event 72 based fixed bin(71,0) level 2 dcl 2-72 set ref 119 119* 120* 127* 143 event_channel based fixed bin(71,0) level 2 dcl 1-10 set ref 143* event_info based structure level 1 dcl 98 event_infop 000114 automatic pointer dcl 38 set ref 177* 179 182 182 186 187 194 194 194 196 200 205 221 221 flags 2 based structure level 2 packed packed unaligned dcl 1-10 set ref 144* fnpe based structure level 1 dcl 2-200 formfeed_key 5 based fixed bin(17,0) level 2 dcl 1-10 set ref 150* formfeed_key_param 000137 automatic fixed bin(17,0) dcl 50 set ref 150 309* 366* 367* 368* 369* 400 get_process_id_ 000030 constant entry external dcl 76 ref 182 hphcs_$tty_control 000012 constant entry external dcl 69 ref 161 209 i 000125 automatic fixed bin(17,0) dcl 44 in procedure "as_ibm3270_mpx_" set ref 154* 155 156* 261* 262* i 000112 automatic fixed bin(17,0) dcl 426 in procedure "get_line_and_screen_size" set ref 438* 439 443* 444 461 463 i 000301 automatic fixed bin(17,0) dcl 298 in procedure "get_boot_info" set ref 329* 330 336 337 338* 339 340 345 346 index builtin function dcl 88 ref 249 329 438 443 initial_command 51 based char(64) level 2 dcl 2-72 set ref 117 180 initial_terminal_type 37 based char(32) level 2 packed packed unaligned dcl 2-72 set ref 317 318 318 319* 322* 432 433 433 435* ipc_$create_ev_chn 000016 constant entry external dcl 71 ref 120 ipc_$decl_ev_call_chn 000020 constant entry external dcl 72 ref 127 ipc_$delete_ev_chn 000014 constant entry external dcl 70 ref 119 j 000126 automatic fixed bin(17,0) dcl 44 in procedure "as_ibm3270_mpx_" set ref 260* 263 266 266 271 276 279 j 000100 automatic fixed bin(17,0) dcl 458 in procedure "cv_modes" set ref 461* 462 463 keyword 000502 automatic char(32) packed unaligned dcl 300 set ref 336* 349 354 359 365 372 377 382 387 393 len 000120 automatic fixed bin(17,0) dcl 41 set ref 263* 264 271 length builtin function dcl 88 ref 260 263 318 433 line_size 2 based fixed bin(17,0) level 2 dcl 1-26 set ref 448* line_type 33 based fixed bin(17,0) level 2 packed packed unaligned dcl 2-72 ref 254 ll 000113 automatic fixed bin(17,0) dcl 427 set ref 431* 440* 441* 441 448 449 452 load_info based structure level 1 dcl 1-10 load_info_nchan 000150 automatic fixed bin(17,0) dcl 1-8 set ref 136* 140 152 load_infop 000146 automatic pointer dcl 1-7 set ref 142* 143 144 145 146 147 148 149 150 151 152 154 155 161* long 000522 automatic char(100) packed unaligned dcl 302 set ref 321* 322 long_ioa_string parameter char packed unaligned dcl 411 set ref 408 415* 416 low builtin function dcl 88 ref 318 433 ltrim builtin function dcl 88 ref 327 396 message 2 based fixed bin(71,0) level 2 dcl 98 set ref 186 194 194 194 196* 200 205 221 221 mode_string 000115 automatic char(512) packed unaligned dcl 428 set ref 435* 438 443 461 463 mpx_chan 000101 automatic char(32) packed unaligned dcl 36 set ref 113* 123* 161* 192* 196* 200* 205* 209* 210* 212* 213* 221* 243* 249 249* 254* 266* mpxe based structure level 1 dcl 2-221 mpxep 000160 automatic pointer dcl 2-41 set ref 117* 180* 203 219 multiplexer_mgr_$mpx_crashed 000042 constant entry external dcl 81 ref 221 multiplexer_mgr_$mpx_load_failed 000036 constant entry external dcl 79 ref 205 213 multiplexer_mgr_$mpx_loaded 000040 constant entry external dcl 80 ref 210 name 2 based char(32) level 2 in structure "cdte" dcl 2-72 in procedure "as_ibm3270_mpx_" ref 192 260 263 266 266 271 276 279 282 322 331 354 393 400 name 000006 constant char(15) initial packed unaligned dcl 59 in procedure "as_ibm3270_mpx_" set ref 123* 187* 196* 200* 212* 416* nchan 6 based fixed bin(17,0) level 2 dcl 1-10 set ref 152* 154 null builtin function dcl 88 ref 209 209 option 000512 automatic char(32) packed unaligned dcl 301 set ref 339* 341* 345* 351 354 360 361 362 366 367 368 369 373 374 378 379 383 384 388 389 393 origin 5 based structure level 2 dcl 98 p 000122 automatic pointer dcl 42 in procedure "as_ibm3270_mpx_" set ref 156* 157 158* 262* 263 266 266 271 276 279 p parameter pointer dcl 425 in procedure "get_line_and_screen_size" ref 423 432 433 435 pl 000114 automatic fixed bin(17,0) dcl 427 set ref 445* 446* 446 449 452* 453* quit_key 4 based fixed bin(17,0) level 2 dcl 1-10 set ref 149* quit_key_param 000136 automatic fixed bin(17,0) dcl 49 set ref 149 308* 360* 361* 362* 400 ring 5(18) based bit(18) level 3 packed packed unaligned dcl 98 ref 182 rtrim builtin function dcl 88 ref 260 263 331 331 354 354 393 393 screen_size 1 based fixed bin(17,0) level 2 dcl 1-26 set ref 449* search builtin function dcl 88 ref 338 sender_procid 4 based bit(36) level 2 dcl 98 set ref 182 187* short 000554 automatic char(8) packed unaligned dcl 303 set ref 321* short_ioa_string parameter char packed unaligned dcl 411 set ref 408 415* state based fixed bin(17,0) level 2 dcl 2-221 ref 203 219 static_cdtp 000010 internal static pointer initial dcl 64 set ref 114* 178 station_addr 000124 automatic fixed bin(17,0) dcl 43 set ref 279* 280 280 282 285 string builtin function dcl 88 set ref 144* 186* 259* subchan_flags 000127 automatic bit(1) array packed unaligned dcl 45 set ref 259* 282 285* substr builtin function dcl 88 ref 266 266 271 276 279 336 337 345 346 461 463 sys_log_ 000022 constant entry external dcl 73 ref 187 196 200 416 sys_log_$error_log 000026 constant entry external dcl 75 ref 123 212 ttt_info_$additional_info 000032 constant entry external dcl 77 ref 319 ttt_info_$modes 000034 constant entry external dcl 78 ref 435 twx 76 based fixed bin(17,0) level 2 dcl 2-72 ref 157 unspec builtin function dcl 88 ref 186 verify builtin function dcl 88 ref 276 461 white_space constant char(2) initial packed unaligned dcl 60 ref 327 338 396 work 000302 automatic char(512) packed unaligned dcl 299 set ref 327* 328 329 331 331 336 337* 337 338 341 342* 345 346* 346 396* 396 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. 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 2-272 ANS_SERVICE internal static fixed bin(17,0) initial dcl 2-259 AS_REQUEST_PRIO internal static fixed bin(17,0) initial dcl 7-30 CDT_version internal static fixed bin(17,0) initial dcl 2-39 CDT_version_5 internal static fixed bin(17,0) initial dcl 2-38 CHANNEL_DELETED internal static fixed bin(17,0) initial dcl 2-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 2-259 DIAL_SERVICE internal static fixed bin(17,0) initial dcl 2-259 DN355 internal static fixed bin(17,0) initial dcl 3-19 DN6600 internal static fixed bin(17,0) initial dcl 3-19 DN6670 internal static fixed bin(17,0) initial dcl 3-19 DN7100 internal static fixed bin(17,0) initial dcl 3-19 FNP_BOOT internal static fixed bin(17,0) initial dcl 2-298 FNP_DOWN internal static fixed bin(17,0) initial dcl 2-298 FNP_FREE internal static fixed bin(17,0) initial dcl 2-298 FNP_UNKNOWN internal static fixed bin(17,0) initial dcl 2-298 FNP_UP internal static fixed bin(17,0) initial dcl 2-298 FTP_SERVICE internal static fixed bin(17,0) initial dcl 2-259 INACTIVE internal static fixed bin(17,0) initial dcl 2-272 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_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 2-259 MPX_DOWN internal static fixed bin(17,0) initial dcl 2-306 MPX_FREE internal static fixed bin(17,0) initial dcl 2-306 MPX_SERVICE internal static fixed bin(17,0) initial dcl 2-259 MPX_UNKNOWN internal static fixed bin(17,0) initial dcl 2-306 NOT_CONFIGURED internal static fixed bin(17,0) initial dcl 2-280 SHUTDOWN_PRIO internal static fixed bin(17,0) initial dcl 7-27 SLAVE_SERVICE internal static fixed bin(17,0) initial dcl 2-259 SYSERR_COPY_PRIO internal static fixed bin(17,0) initial dcl 7-26 TANDD_SERVICE internal static fixed bin(17,0) initial dcl 2-259 cdt based structure level 1 dcl 2-44 fnp_models internal static fixed bin(17,0) initial array dcl 3-28 fnp_types internal static char(8) initial array packed unaligned dcl 3-25 fnpep automatic pointer dcl 2-41 generic_destination based char(32) packed unaligned dcl 2-195 j automatic fixed bin(17,0) dcl 298 line_types internal static char(16) initial array packed unaligned dcl 6-54 load_parm automatic char(32) packed unaligned dcl 40 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 supported_fnp internal static bit(1) initial array packed unaligned dcl 3-31 sync_line_type internal static fixed bin(17,0) initial array dcl 6-52 NAMES DECLARED BY EXPLICIT CONTEXT. as_ibm3270_mpx_ 000442 constant entry external dcl 20 bad_name 001766 constant label dcl 266 ref 271 276 280 bad_param 002616 constant label dcl 354 ref 350 362 369 374 379 384 389 cv_modes 003673 constant entry internal dcl 456 ref 440 445 ev_chan_err 000555 constant label dcl 122 ref 128 get_boot_info 002200 constant entry internal dcl 294 ref 130 288 get_line_and_screen_size 003533 constant entry internal dcl 423 ref 158 ibm3270_cv_cmf 001523 constant entry external dcl 237 ibm3270_dump 001472 constant entry external dcl 229 ibm3270_load 000457 constant entry external dcl 110 ibm3270_wakeup_handler 001035 constant entry external dcl 174 ref 127 127 info_error 003362 constant entry internal dcl 408 ref 322 331 354 393 400 next_subchan 002170 constant label dcl 286 ref 269 parse_next 003272 constant label dcl 396 ref 356 set_defaults 003661 constant label dcl 452 ref 432 433 436 439 444 460 462 set_values 003652 constant label dcl 448 ref 454 NAME DECLARED BY CONTEXT OR IMPLICATION. divide builtin function ref 441 446 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5110 5160 4574 5120 Length 5536 4574 50 342 314 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_ibm3270_mpx_ 380 external procedure is an external procedure. begin block on line 138 246 begin block uses auto adjustable storage. get_boot_info 622 internal procedure enables or reverts conditions. on unit on line 350 64 on unit info_error 102 internal procedure is called during a stack extension. get_line_and_screen_size internal procedure shares stack frame of begin block on line 138. cv_modes 234 internal procedure enables or reverts conditions. on unit on line 460 64 on unit STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 static_cdtp as_ibm3270_mpx_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_ibm3270_mpx_ 000100 code as_ibm3270_mpx_ 000101 mpx_chan as_ibm3270_mpx_ 000112 chan_listp as_ibm3270_mpx_ 000114 event_infop as_ibm3270_mpx_ 000116 ev_msg_array as_ibm3270_mpx_ 000120 len as_ibm3270_mpx_ 000122 p as_ibm3270_mpx_ 000124 station_addr as_ibm3270_mpx_ 000125 i as_ibm3270_mpx_ 000126 j as_ibm3270_mpx_ 000127 subchan_flags as_ibm3270_mpx_ 000130 error_proc as_ibm3270_mpx_ 000134 cv_cmf_entry as_ibm3270_mpx_ 000135 controller_address_param as_ibm3270_mpx_ 000136 quit_key_param as_ibm3270_mpx_ 000137 formfeed_key_param as_ibm3270_mpx_ 000140 ascii_param as_ibm3270_mpx_ 000141 allow_raw3270_param as_ibm3270_mpx_ 000142 allow_copy_param as_ibm3270_mpx_ 000143 debug_param as_ibm3270_mpx_ 000144 error as_ibm3270_mpx_ 000146 load_infop as_ibm3270_mpx_ 000150 load_info_nchan as_ibm3270_mpx_ 000152 chan_load_infop as_ibm3270_mpx_ 000154 cdtp as_ibm3270_mpx_ 000156 cdtep as_ibm3270_mpx_ 000160 mpxep as_ibm3270_mpx_ begin block on line 138 000100 auto_load_info begin block on line 138 000112 i get_line_and_screen_size 000113 ll get_line_and_screen_size 000114 pl get_line_and_screen_size 000115 mode_string get_line_and_screen_size cv_modes 000100 j cv_modes get_boot_info 000100 add_info get_boot_info 000301 i get_boot_info 000302 work get_boot_info 000502 keyword get_boot_info 000512 option get_boot_info 000522 long get_boot_info 000554 short get_boot_info THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars enter_begin_block leave_begin_block call_ent_var_desc call_ext_out_desc call_ext_out call_int_this call_int_other_desc return_mac tra_ext_1 alloc_auto_adj enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc set_chars_eis index_chars_eis any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_ipc_code_ convert_status_code_ get_process_id_ hphcs_$tty_control ipc_$create_ev_chn ipc_$decl_ev_call_chn ipc_$delete_ev_chn multiplexer_mgr_$mpx_crashed multiplexer_mgr_$mpx_load_failed multiplexer_mgr_$mpx_loaded sys_log_ sys_log_$error_log ttt_info_$additional_info ttt_info_$modes 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 47 000436 20 000441 110 000450 113 000501 114 000511 115 000516 116 000521 117 000525 119 000527 120 000541 121 000553 122 000555 123 000564 124 000622 125 000625 127 000626 128 000652 130 000654 131 000660 132 000662 133 000665 136 000666 138 000670 140 000673 142 000702 143 000704 144 000707 145 000710 146 000715 147 000722 148 000727 149 000733 150 000735 151 000737 152 000741 154 000743 155 000752 156 000756 157 000761 158 000763 159 000771 161 000774 162 001023 164 001024 165 001026 166 001027 169 001030 170 001031 174 001032 177 001043 178 001047 179 001052 180 001054 182 001056 186 001073 187 001076 189 001134 192 001135 194 001141 196 001151 198 001207 200 001210 203 001252 205 001255 209 001277 210 001333 212 001353 213 001414 216 001431 219 001432 221 001434 225 001464 229 001465 232 001514 233 001515 237 001516 240 001543 241 001545 242 001550 243 001553 244 001563 245 001567 249 001574 254 001651 259 001721 260 001723 261 001737 262 001747 263 001751 264 001764 266 001766 269 002047 271 002051 276 002057 279 002070 280 002105 282 002110 285 002164 286 002170 288 002172 290 002176 294 002177 307 002205 308 002207 309 002211 310 002213 311 002214 312 002216 313 002217 315 002220 317 002221 318 002226 319 002237 320 002260 321 002263 322 002276 324 002346 327 002347 328 002365 329 002372 330 002403 331 002405 333 002472 336 002474 337 002500 338 002506 339 002520 340 002526 341 002530 342 002533 343 002536 345 002537 346 002543 349 002554 350 002560 351 002577 352 002612 353 002613 354 002616 356 002734 358 002736 359 002737 360 002743 361 002753 362 002763 364 002772 365 002773 366 002777 367 003007 368 003017 369 003027 371 003036 372 003037 373 003043 374 003052 376 003061 377 003062 378 003066 379 003076 381 003104 382 003105 383 003111 384 003121 386 003127 387 003130 388 003134 389 003144 391 003152 393 003153 395 003271 396 003272 398 003307 400 003310 404 003360 408 003361 414 003414 415 003417 416 003460 417 003531 423 003533 431 003535 432 003537 433 003545 435 003556 436 003601 438 003604 439 003613 440 003614 441 003622 443 003627 444 003636 445 003637 446 003645 448 003652 449 003656 450 003660 452 003661 453 003667 454 003671 456 003672 460 003700 461 003717 462 003740 463 003745 ----------------------------------------------------------- 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