COMPILATION LISTING OF SEGMENT video_utils_ Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/10/89 1159.9 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 6* * * 7* *********************************************************** */ 8 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(86-05-23,LJAdams), approve(86-11-11,MCR7485), 13* audit(87-01-06,Margolin), install(87-01-06,MR12.0-1255): 14* Modified to support MOWSE. 15* 2) change(86-11-26,LJAdams), approve(86-11-26,MCR7584), 16* audit(87-01-06,Margolin), install(87-01-06,MR12.0-1255): 17* Initial DSA coding has been maintained in a non-executable form. 18* 3) change(87-01-14,LJAdams), approve(87-01-14,PBF7485), 19* audit(87-01-14,Gilcrease), install(87-01-14,MR12.0-1280): 20* Do not create video_data_$terminal_iocb until we are sure MOWSE is 21* present. 22* 4) change(87-01-16,LJAdams), approve(87-01-16,PBF7485), 23* audit(87-01-16,Gilcrease), install(87-01-19,MR12.0-1287): 24* If an errors executing control order initialize_mowse_terminal return. 25* 5) change(87-05-20,LJAdams), approve(87-05-20,MCR7699), 26* audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1055): 27* Added support for MOWSE_FANSI protocol. 28* Made sure all ips signals are UNMASKED prior to starting video. 29* 6) change(87-06-16,LJAdams), approve(87-06-16,MCR7584), 30* audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1055): 31* Change editing_chars_version_2 to editing_chars_version_3 which includes 32* the redisplay character. 33* 7) change(88-09-19,Brunelle), approve(88-09-19,MCR7813), 34* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 35* Change get_special control order to add version number in structure so we 36* get new format of the special chars structure. 37* 8) change(89-02-27,Lee), approve(89-03-14,MCR8075), audit(89-04-20,Flegel), 38* install(89-05-10,MR12.3-1041): 39* phx19064 (Video 87) - modified to use the current editing char values 40* rather than the default erase/kill (#@) values when video is invoked. 41* END HISTORY COMMENTS */ 42 43 44 /* format: style4,delnl,insnl,indattr,ifthen,dclind9 */ 45 46 /* various useful things in the video system. */ 47 48 /* BIM June 1981 */ 49 /* Modified 14 December 1981 by Chris Jones to copy modes in common with tty_ 50* on invocation */ 51 /* Modified 16 December 1981 by Chris Jones to copy editing chars on 52* invocation, and restore modes and editing_chars on exit. */ 53 /* Modified January 1883 by William York to call window_$sync before shutting 54* down. */ 55 /* Modified ? by Barry Margolin to find the -login_channel switch instead of 56* assuming user_i/o. */ 57 /* Modified 18 May 1983 by WMY to save all the tty_ state there is upon 58* invocation and to restore it on revocation. */ 59 /* Modified August 1983 by Jon A. Rochlis to add ssu usage recording. */ 60 /* Modified 26 January 1984 by JR to set the output conversion and special 61* tables in use by tty_ via control orders to terminal control, which will 62* be passed to ring0. Window_io_ can get them back and use them as defaults 63* by asking terminal control. */ 64 /* Modified 24 May 1984 by JR to remove the sus_signal_handler stuff, 65* since the reconnection control order doesn't need it, and it 66* will actually break things in one case (reconnection on an unsupported 67* terminal). */ 68 /* Modified 30 May 1984 by JR to put in the conditional calls to 69* use_exl_video_system$(setup cleanup) */ 70 /* Modified 01 September 1984 by JR to add edited mode to the list of common 71* modes. */ 72 /* Modified 22 November 1984 by JR to explicity reset 73* video_data_$terminal_iocb if we fail to invoke the video system. This is 74* needed since turn_off_login_channel (among others) relies on 75* terminal_iocb ^= null() ==> video is on. */ 76 /* Modified 27 December 1984 by JR to make get_tty_state use version number 77* constants from tty_convert.incl.pl1 instead of hardcoding the constants. */ 78 /* Modified June 1985 by Roger Negaret to support DSA networks. */ 79 80 video_utils_: 81 procedure; 82 return; 83 84 85 dcl user_io_modes char (512); 86 87 dcl saved_ips_mask bit (36) aligned; 88 89 dcl ips_mask_name (1) char (32) aligned init ("-all"); 90 91 dcl sci_ptr ptr; 92 93 dcl complete_tty_state_ptr pointer internal static; 94 95 /* Structure in which to save all interesting tty_ state information. */ 96 97 dcl 1 complete_tty_state aligned based (complete_tty_state_ptr), 98 2 modes_string char (512) unaligned, 99 2 editing_chars_ptr pointer, 100 2 delay_ptr pointer, 101 2 framing_chars_ptr pointer, 102 2 ifc_ptr pointer, 103 2 ofc_ptr pointer, 104 2 input_translation_ptr 105 pointer, 106 2 input_conversion_ptr 107 pointer, 108 2 output_conversion_ptr 109 pointer, 110 2 output_translation_ptr 111 pointer, 112 2 special_ptr pointer; 113 114 115 dcl 1 fsc_info like mowse_io_flush_subchannel_info; 116 117 dcl common_modes (7) char (8) init ("vertsp", "can", "erkl", "esc", "red", "ctl_char", "edited") 118 static options (constant); 119 120 dcl create_ips_mask_ entry (ptr, fixed bin, bit(36) aligned); 121 dcl hcs_$set_ips_mask entry (bit(36) aligned, bit(36) aligned); 122 dcl hcs_$reset_ips_mask entry (bit (36) aligned, bit (36) aligned); 123 dcl ipc_$mask_ev_calls entry (fixed bin (35)); 124 dcl ipc_$unmask_ev_calls entry (fixed bin (35)); 125 dcl mode_string_$get entry (ptr, char (*), fixed bin (35)); 126 dcl mode_string_$get_mode entry (char (*), char (*), ptr, fixed bin (35)); 127 dcl ssu_$standalone_invocation 128 entry (ptr, char (*), char (*), ptr, entry, fixed bin (35)); 129 dcl ssu_$destroy_invocation 130 entry (ptr); 131 dcl ssu_$record_usage entry (ptr, ptr, fixed bin (35)); 132 133 dcl use_exl_video_system$cleanup 134 entry (fixed bin (35)); 135 dcl window_$destroy_all entry (pointer); 136 137 dcl video_data_$terminal_switch 138 character (32) external; 139 dcl video_data_$terminal_iocb 140 pointer external; 141 dcl video_data_$exl_video_system 142 bit (1) external static; 143 dcl video_data_$exl_initialized 144 bit (1) external; 145 146 dcl error_table_$action_not_performed 147 external fixed bin (35); 148 dcl error_table_$no_table external fixed bin (35); 149 dcl error_table_$undefined_order_request 150 fixed bin (35) ext static; 151 152 dcl video_et_$wsys_invoked fixed bin (35) ext static; 153 dcl video_data_$version external char (12); 154 155 dcl any_other condition; 156 dcl sub_error_ condition; 157 dcl cleanup_label label variable; 158 159 dcl mowse_terminal_switch char (15) internal static options (constant) init ("mowse_terminal_"); 160 dcl mowse_iocb_ptr pointer static; /* remember where mowse_terminal_ was */ 161 dcl network_type fixed bin (4) unsigned static; 162 /* remember on which network we are */ 163 dcl target_iocb pointer static; /* remember what switch to use */ 164 165 dcl (addr, codeptr, hbound, lbound, index, length, ltrim, min, null, rtrim, substr) 166 builtin; 167 168 169 turn_on_login_channel: 170 entry (error_code, reason); 171 172 declare error_code fixed bin (35); 173 declare reason character (*); 174 175 declare acode fixed bin (35); 176 177 declare use_exl_video_system$setup 178 entry (fixed bin (35)); 179 180 error_code = 0; 181 if video_data_$terminal_iocb ^= null () then do; 182 error_code = video_et_$wsys_invoked; 183 reason = ""; 184 return; 185 end; 186 187 /*** set the network id: */ 188 call network_login_channel (target_iocb, network_type, error_code); 189 if error_code ^= 0 then do; 190 reason = "Could not find a tty_ or mowse attachment."; 191 return; 192 end; 193 194 call create_ips_mask_ (addr(ips_mask_name), hbound(ips_mask_name,1), saved_ips_mask); 195 /* everthing masked */ 196 saved_ips_mask = ^saved_ips_mask; /* unmask everything to start */ 197 call hcs_$set_ips_mask (saved_ips_mask, ""b); /* initially there is no old mask value */ 198 199 if network_type = MOWSE_NETWORK_TYPE then 200 goto mowse_network; 201 else if network_type = DSA_NETWORK_TYPE then 202 goto dsa_network; 203 else goto mcs_network; 204 205 206 dsa_network: 207 network_type = DSA_NETWORK_TYPE; 208 209 reason = "Creating switch " || video_data_$terminal_switch; 210 call iox_$find_iocb (video_data_$terminal_switch, video_data_$terminal_iocb, error_code); 211 if error_code ^= 0 then 212 return; 213 214 cleanup_label = UNDO_DSA_$mask; 215 on any_other call handle_any_other (cleanup_label); 216 /* we could be cl_intermediary, but they get called without any state */ 217 218 /* Before we close the channel, copy any tty_ state information that we want 219* to preserve across the attachment. */ 220 221 call get_tty_state; 222 223 call hcs_$set_ips_mask (""b, saved_ips_mask); 224 call ipc_$mask_ev_calls ((0)); /* in case some joker blocks */ 225 reason = "Closing terminal switch."; 226 call iox_$close (target_iocb, error_code); 227 228 if error_code ^= 0 then 229 goto UNDO_DSA_$mask; 230 231 cleanup_label = DSA_REOPEN; 232 reason = "Detaching terminal switch."; 233 call iox_$detach_iocb (target_iocb, error_code); 234 if error_code ^= 0 then 235 goto DSA_REOPEN; 236 237 /* Old attachment gone, attach the tc_io_ switch. */ 238 239 cleanup_label = DSA_REATTACH; 240 reason = "Attaching switch " || rtrim (video_data_$terminal_switch) || " as tc_io_ -login_channel ."; 241 on sub_error_ call attach_handler (cleanup_label); 242 243 call iox_$attach_ptr (video_data_$terminal_iocb, "tc_io_ -login_channel", codeptr (video_utils_), error_code); 244 245 revert sub_error_; 246 247 if error_code ^= 0 then 248 go to DSA_REATTACH; 249 250 cleanup_label = UNDO_DSA_$video; 251 252 reason = "Opening switch " || video_data_$terminal_switch; 253 call iox_$open (video_data_$terminal_iocb, Stream_input_output, ""b, error_code); 254 255 if error_code ^= 0 then 256 go to UNDO_DSA_$video; 257 258 call iox_$control (video_data_$terminal_iocb, "set_output_conversion", complete_tty_state.output_conversion_ptr, 259 (0)); 260 261 call iox_$control (video_data_$terminal_iocb, "set_special", complete_tty_state.special_ptr, (0)); 262 263 /* RL: phx19064 - use editing chars which are current set */ 264 call iox_$control (video_data_$terminal_iocb, "set_editing_chars", complete_tty_state.editing_chars_ptr, (0)); 265 266 reason = "attaching ""window_io_ " || rtrim (video_data_$terminal_switch) || """"; 267 268 on sub_error_ call attach_handler (cleanup_label); 269 270 call iox_$attach_ptr (target_iocb, "window_io_ " || rtrim (video_data_$terminal_switch), codeptr (video_utils_), 271 error_code); 272 273 if error_code ^= 0 then 274 goto UNDO_DSA_$video; 275 276 revert sub_error_; 277 278 cleanup_label = UNDO_DSA_$attach; 279 280 reason = "opening terminal switch."; 281 call iox_$open (target_iocb, Stream_input_output, ""b, error_code); 282 if error_code ^= 0 then 283 goto UNDO_DSA_$attach; 284 285 cleanup_label = UNDO_DSA; 286 287 reason = "Initializing EXL video system."; 288 if video_data_$exl_video_system & ^video_data_$exl_initialized then do; 289 call use_exl_video_system$setup (error_code); 290 if error_code ^= 0 then 291 goto UNDO_DSA; 292 video_data_$exl_initialized = "1"b; 293 end; 294 295 goto finished; 296 297 298 UNDO_DSA: 299 call close_switch; 300 UNDO_DSA_$attach: 301 call detach_switch; 302 UNDO_DSA_$video: 303 call close_video; 304 DSA_REATTACH: 305 call reattach; 306 DSA_REOPEN: 307 call reopen; 308 UNDO_DSA_$mask: 309 goto unmask_return; 310 311 312 mcs_network: 313 network_type = MCS_NETWORK_TYPE; 314 315 reason = "Creating switch " || video_data_$terminal_switch; 316 call iox_$find_iocb (video_data_$terminal_switch, video_data_$terminal_iocb, error_code); 317 if error_code ^= 0 then 318 return; 319 320 /* Before we close the channel, copy any tty_ state information that we want 321* to preserve across the attachment. */ 322 323 cleanup_label = UNDO_MCS_$mask; 324 on any_other call handle_any_other (cleanup_label); 325 /* we could be cl_intermediary, but they get called without any state */ 326 327 call get_tty_state; 328 329 call hcs_$set_ips_mask (""b, saved_ips_mask); 330 call ipc_$mask_ev_calls ((0)); /* in case some joker blocks */ 331 332 reason = "Closing terminal switch."; 333 call iox_$close (target_iocb, error_code); 334 335 if error_code ^= 0 then 336 go to UNDO_MCS_$mask; 337 338 cleanup_label = MCS_REOPEN; 339 reason = "Detaching terminal switch."; 340 call iox_$detach_iocb (target_iocb, error_code); 341 if error_code ^= 0 then 342 go to MCS_REOPEN; 343 344 /* Old attachment gone, attach the tc_io_ switch. */ 345 346 cleanup_label = MCS_REATTACH; 347 reason = "Attaching switch " || rtrim (video_data_$terminal_switch) || " as tc_io_ -login_channel ."; 348 on sub_error_ call attach_handler (cleanup_label); 349 350 call iox_$attach_ptr (video_data_$terminal_iocb, "tc_io_ -login_channel", codeptr (video_utils_), error_code); 351 352 revert sub_error_; 353 354 if error_code ^= 0 then 355 go to MCS_REATTACH; 356 357 cleanup_label = UNDO_MCS_$video; 358 359 reason = "Opening switch " || video_data_$terminal_switch; 360 call iox_$open (video_data_$terminal_iocb, Stream_input_output, ""b, error_code); 361 362 if error_code ^= 0 then 363 go to UNDO_MCS_$video; 364 call iox_$control (video_data_$terminal_iocb, "set_output_conversion", complete_tty_state.output_conversion_ptr, 365 (0)); 366 367 call iox_$control (video_data_$terminal_iocb, "set_special", complete_tty_state.special_ptr, (0)); 368 369 /* RL: phx19064 - use editing chars which are current set */ 370 call iox_$control (video_data_$terminal_iocb, "set_editing_chars", complete_tty_state.editing_chars_ptr, (0)); 371 372 reason = "attaching ""window_io_ " || rtrim (video_data_$terminal_switch) || """"; 373 374 on sub_error_ call attach_handler (cleanup_label); 375 376 call iox_$attach_ptr (target_iocb, "window_io_ " || rtrim (video_data_$terminal_switch), codeptr (video_utils_), 377 error_code); 378 379 if error_code ^= 0 then 380 goto UNDO_MCS_$video; 381 382 revert sub_error_; 383 384 cleanup_label = UNDO_MCS_$attach; 385 386 reason = "opening terminal switch."; 387 call iox_$open (target_iocb, Stream_input_output, ""b, error_code); 388 if error_code ^= 0 then 389 goto UNDO_MCS_$attach; 390 391 cleanup_label = UNDO_MCS; 392 393 reason = "Initializing EXL video system."; 394 if video_data_$exl_video_system & ^video_data_$exl_initialized then do; 395 call use_exl_video_system$setup (error_code); 396 if error_code ^= 0 then 397 goto UNDO_MCS; 398 video_data_$exl_initialized = "1"b; 399 end; 400 401 goto finished; 402 403 404 UNDO_MCS: 405 call close_switch; 406 UNDO_MCS_$attach: 407 call detach_switch; 408 UNDO_MCS_$video: 409 call close_video; 410 MCS_REATTACH: 411 call reattach; 412 MCS_REOPEN: 413 call reopen; 414 UNDO_MCS_$mask: 415 goto unmask_return; 416 417 418 419 mowse_network: 420 dcl 1 mowse_io_term_state like mowse_io_terminal_state, 421 mowse_io_term_ptr ptr; 422 423 network_type = MOWSE_NETWORK_TYPE; 424 425 mowse_io_term_ptr = addr (mowse_io_term_state); 426 mowse_io_term_state.version = mowse_io_info_version_1; 427 call iox_$control (target_iocb, "get_terminal_emulator_state", mowse_io_term_ptr, error_code); 428 429 if error_code ^= 0 then do; 430 error_code = error_table_$action_not_performed; 431 reason = "Control order not performed."; 432 return; 433 end; 434 else if ^mowse_io_term_state.state then do; /* MOWSE not attached */ 435 error_code = error_table_$action_not_performed; 436 reason = "MOWSE not active."; 437 return; 438 end; 439 440 reason = "Creating switch " || video_data_$terminal_switch; 441 call iox_$find_iocb (video_data_$terminal_switch, video_data_$terminal_iocb, error_code); 442 if error_code ^= 0 then 443 return; 444 445 call get_tty_state; 446 447 call hcs_$set_ips_mask (""b, saved_ips_mask); 448 call ipc_$mask_ev_calls ((0)); 449 450 cleanup_label = UNDO_MOWSE_$mask; 451 on any_other call handle_any_other (cleanup_label); 452 /* we could be cl_intermediary, but they get called without any state */ 453 454 reason = "Creating switch " || mowse_terminal_switch; 455 call iox_$find_iocb (mowse_terminal_switch, mowse_iocb_ptr, error_code); 456 /* iocb.name = mowse_terminal_ */ 457 if error_code ^= 0 then 458 goto UNDO_MOWSE_$mask; 459 460 reason = "Moving mowse attachment."; 461 call iox_$move_attach (target_iocb, mowse_iocb_ptr, error_code); 462 /* moving user_i/o to mowse_terminal_ */ 463 if error_code ^= 0 then 464 goto UNDO_MOWSE_$mask; 465 466 cleanup_label = UNDO_MOWSE_$move_attach; 467 reason = "Attaching switch " || mowse_terminal_switch || " as tc_io_ -mowse"; 468 on sub_error_ call attach_handler (cleanup_label); 469 470 call iox_$attach_ptr (video_data_$terminal_iocb, "tc_io_ -mowse " || mowse_terminal_switch, 471 codeptr (video_utils_), error_code); /* iocb.name = user_terminal_ */ 472 473 revert sub_error_; 474 475 if error_code ^= 0 then 476 goto UNDO_MOWSE_$move_attach; 477 478 cleanup_label = UNDO_MOWSE_$video; 479 480 reason = "Opening switch " || video_data_$terminal_switch; 481 call iox_$open (video_data_$terminal_iocb, Stream_input_output, ""b, error_code); 482 if error_code ^= 0 then 483 goto UNDO_MOWSE_$video; 484 485 call iox_$control (video_data_$terminal_iocb, "set_output_conversion", complete_tty_state.output_conversion_ptr, 486 (0)); 487 488 call iox_$control (video_data_$terminal_iocb, "set_special", complete_tty_state.special_ptr, error_code); 489 490 /* RL: phx19064 - use editing chars which are current set */ 491 call iox_$control (video_data_$terminal_iocb, "set_editing_chars", complete_tty_state.editing_chars_ptr, (0)); 492 493 if error_code ^= 0 then 494 goto UNDO_MOWSE_$video; 495 496 reason = "attaching ""window_io_ " || rtrim (video_data_$terminal_switch) || """"; 497 498 on sub_error_ call attach_handler (cleanup_label); 499 500 call iox_$attach_ptr (target_iocb, "window_io_ " || rtrim (video_data_$terminal_switch), codeptr (video_utils_), 501 error_code); /* iocb.name = user_i/o */ 502 503 if error_code ^= 0 then 504 goto UNDO_MOWSE_$video; 505 506 revert sub_error_; 507 508 cleanup_label = UNDO_MOWSE_$attach; 509 510 reason = "opening terminal switch."; 511 call iox_$open (target_iocb, Stream_input_output, ""b, error_code); 512 if error_code ^= 0 then 513 goto UNDO_MOWSE_$attach; 514 515 cleanup_label = UNDO_MOWSE; 516 517 reason = "Initializing EXL video system."; 518 if video_data_$exl_video_system & ^video_data_$exl_initialized then do; 519 call use_exl_video_system$setup (error_code); 520 if error_code ^= 0 then 521 goto UNDO_MOWSE; 522 video_data_$exl_initialized = "1"b; 523 end; 524 goto finished; 525 526 527 UNDO_MOWSE: 528 call close_switch; 529 UNDO_MOWSE_$attach: 530 call detach_switch; 531 UNDO_MOWSE_$video: 532 call close_video; 533 UNDO_MOWSE_$move_attach: 534 call move_attach; 535 mowse_iocb_ptr = null; 536 UNDO_MOWSE_$mask: 537 goto unmask_return; 538 539 540 541 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 542 543 finished: 544 revert any_other; 545 546 /* Wheeeee. we did it. */ 547 548 reason = ""; 549 error_code = 0; 550 call iox_$modes (target_iocb, user_io_modes, "", (0)); 551 552 unmask_return: 553 call hcs_$reset_ips_mask (saved_ips_mask, ""b); 554 call ipc_$unmask_ev_calls ((0)); 555 556 if network_type = MOWSE_NETWORK_TYPE then do; 557 call iox_$control (video_data_$terminal_iocb, "initialize_mowse_terminal", null (), error_code); 558 if error_code ^= 0 then do; 559 reason = "Executing control order initialize_mowse_terminal."; 560 call close_switch; 561 call detach_switch; 562 call close_video; 563 call move_attach; 564 mowse_iocb_ptr = null; 565 end; 566 end; 567 568 call iox_$control (video_data_$terminal_iocb, "quit_enable", null (), (0)); 569 570 record_usage: 571 call ssu_$standalone_invocation (sci_ptr, "video", video_data_$version, null (), video_utils_, (0)); 572 call ssu_$record_usage (sci_ptr, codeptr (video_utils_), (0)); 573 call ssu_$destroy_invocation (sci_ptr); 574 575 576 577 simple_error_return: 578 if error_code ^= 0 then 579 video_data_$terminal_iocb = null (); /* We may have set this, but it shouldn't be left that way if we failed to invoke video */ 580 581 return; 582 583 584 585 /* Routines that perform the basic switch operations needed */ 586 587 close_switch: 588 proc; 589 590 call iox_$close (target_iocb, acode); 591 if acode ^= 0 then 592 call must_kill_process (acode, "Can't close terminal switch."); 593 594 return; 595 596 end close_switch; 597 598 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 599 600 detach_switch: 601 proc; 602 603 call iox_$detach_iocb (target_iocb, acode); 604 if acode ^= 0 then 605 call must_kill_process (acode, "Can't detach terminal switch."); 606 607 return; 608 609 end detach_switch; 610 611 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 612 613 close_video: 614 proc; 615 616 call iox_$close (video_data_$terminal_iocb, (0)); 617 call iox_$detach_iocb (video_data_$terminal_iocb, (0)); 618 call iox_$destroy_iocb (video_data_$terminal_iocb, (0)); 619 620 return; 621 622 end close_video; 623 624 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 625 626 move_attach: 627 proc; 628 629 call iox_$move_attach (mowse_iocb_ptr, target_iocb, acode); 630 if acode ^= 0 then 631 call must_kill_process (acode, "Can't move attachment."); 632 633 return; 634 635 end move_attach; 636 637 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 638 reattach: 639 proc; 640 641 call iox_$attach_ptr (target_iocb, "tty_ -login_channel", codeptr (video_utils_), acode); 642 if acode ^= 0 then 643 call must_kill_process (acode, "Can't attach tty_"); 644 645 return; 646 647 end reattach; 648 649 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 650 651 reopen: 652 proc; 653 654 call iox_$open (target_iocb, Stream_input_output, ""b, acode); 655 if acode ^= 0 then 656 call must_kill_process (acode, "Can't open terminal switch."); 657 call iox_$control (target_iocb, "quit_enable", null (), (0)); 658 call iox_$modes (target_iocb, "default", "", (0)); 659 660 return; 661 662 end reopen; 663 664 665 666 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 667 668 669 turn_off_login_channel: 670 entry (error_code); 671 672 /* this entry is less careful, but much more brutal ..... */ 673 674 error_code = 0; 675 676 if video_data_$terminal_iocb = null () then 677 return; 678 679 /* Make sure that all buffered output is sent. */ 680 call window_$sync (iox_$user_io, (0)); 681 682 if network_type = MOWSE_NETWORK_TYPE then do; 683 fsc_info.subchannel = FG; 684 fsc_info.version = mowse_io_info_version_1; 685 call iox_$control (video_data_$terminal_iocb, "flush_subchannel", addr (fsc_info), error_code); 686 end; 687 688 saved_ips_mask = ""b; 689 690 call hcs_$set_ips_mask (""b, saved_ips_mask); 691 call ipc_$mask_ev_calls ((0)); 692 693 call window_$destroy_all (video_data_$terminal_iocb); 694 695 if network_type = MOWSE_NETWORK_TYPE then 696 call mowse_turn_off; 697 else if network_type = DSA_NETWORK_TYPE then 698 call dsa_turn_off; 699 else call mcs_turn_off; 700 701 return; 702 703 704 705 dsa_turn_off: 706 proc; 707 708 call iox_$close (target_iocb, (0)); 709 710 call iox_$detach_iocb (target_iocb, (0)); 711 712 call iox_$close (video_data_$terminal_iocb, (0)); 713 call iox_$detach_iocb (video_data_$terminal_iocb, (0)); 714 call iox_$destroy_iocb (video_data_$terminal_iocb, (0)); 715 video_data_$terminal_iocb = null (); 716 call force_detach_hcs; 717 718 error_code = 0; 719 720 call iox_$attach_ptr (target_iocb, "tty_ -login_channel", codeptr (video_utils_), error_code); 721 if error_code ^= 0 then 722 call must_kill_process (error_code, "Can't attach tty_"); 723 call iox_$open (target_iocb, Stream_input_output, ""b, error_code); 724 if error_code ^= 0 then 725 call must_kill_process (error_code, "Can't open terminal switch"); 726 727 call hcs_$reset_ips_mask (saved_ips_mask, ""b); 728 call ipc_$unmask_ev_calls ((0)); 729 730 if video_data_$exl_video_system & video_data_$exl_initialized then do; 731 call use_exl_video_system$cleanup ((0)); 732 video_data_$exl_initialized = "0"b; 733 end; 734 735 call iox_$control (target_iocb, "quit_enable", null (), (0)); 736 737 call set_tty_state; 738 739 return; 740 741 end dsa_turn_off; 742 743 744 745 mcs_turn_off: 746 proc; 747 748 call iox_$close (target_iocb, (0)); 749 750 call iox_$detach_iocb (target_iocb, (0)); 751 752 call iox_$close (video_data_$terminal_iocb, (0)); 753 call iox_$detach_iocb (video_data_$terminal_iocb, (0)); 754 call iox_$destroy_iocb (video_data_$terminal_iocb, (0)); 755 video_data_$terminal_iocb = null (); 756 call force_detach_hcs; 757 758 error_code = 0; 759 760 call iox_$attach_ptr (target_iocb, "tty_ -login_channel", codeptr (video_utils_), error_code); 761 if error_code ^= 0 then 762 call must_kill_process (error_code, "Can't attach tty_"); 763 764 call iox_$open (target_iocb, Stream_input_output, ""b, error_code); 765 if error_code ^= 0 then 766 call must_kill_process (error_code, "Can't open terminal switch"); 767 768 call hcs_$reset_ips_mask (saved_ips_mask, ""b); 769 call ipc_$unmask_ev_calls ((0)); 770 771 if video_data_$exl_video_system & video_data_$exl_initialized then do; 772 call use_exl_video_system$cleanup ((0)); 773 video_data_$exl_initialized = "0"b; 774 end; 775 776 call iox_$control (target_iocb, "quit_enable", null (), (0)); 777 778 call set_tty_state; 779 780 return; 781 782 end mcs_turn_off; 783 784 785 786 mowse_turn_off: 787 proc; 788 789 error_code = 0; 790 791 call iox_$close (target_iocb, error_code); /* iocb.name = user_i/o */ 792 call iox_$detach_iocb (target_iocb, error_code); 793 if error_code ^= 0 then 794 call must_kill_process (error_code, "Can't detach user_terminal"); 795 796 call iox_$close (video_data_$terminal_iocb, (0)); 797 call iox_$detach_iocb (video_data_$terminal_iocb, (0)); 798 call iox_$destroy_iocb (video_data_$terminal_iocb, (0)); 799 video_data_$terminal_iocb = null (); 800 801 call iox_$move_attach (mowse_iocb_ptr, target_iocb, error_code); 802 /* move mowse_terminal_ to user_i/o */ 803 if error_code ^= 0 then 804 call must_kill_process (error_code, "Can't move attach mowse_terminal_"); 805 806 call hcs_$reset_ips_mask (saved_ips_mask, ""b); 807 call ipc_$unmask_ev_calls ((0)); 808 809 if video_data_$exl_video_system & video_data_$exl_initialized then do; 810 call use_exl_video_system$cleanup ((0)); 811 video_data_$exl_initialized = "0"b; 812 end; 813 814 return; 815 816 end mowse_turn_off; 817 818 819 820 turn_off_for_debug: 821 entry; 822 823 declare iox_$init_standard_iocbs 824 entry; 825 826 827 call hcs_$set_ips_mask (""b, ""b); /* we will force open */ 828 829 declare unique_chars_ entry (bit (*)) returns (character (15)); 830 declare u character (15); 831 declare iocbp pointer; 832 833 u = unique_chars_ (""b); 834 call iox_$find_iocb (rtrim (u) || ".user_output", iocbp, (0)); 835 call iox_$move_attach (iox_$user_output, iocbp, (0)); 836 call iox_$find_iocb (rtrim (u) || ".user_input", iocbp, (0)); 837 call iox_$move_attach (iox_$user_input, iocbp, (0)); 838 call iox_$find_iocb (rtrim (u) || ".error_output", iocbp, (0)); 839 call iox_$move_attach (iox_$error_output, iocbp, (0)); 840 call iox_$find_iocb (rtrim (u) || ".user_i/o", iocbp, (0)); 841 call iox_$move_attach (iox_$user_io, iocbp, (0)); 842 call iox_$init_standard_iocbs; 843 844 error_code = 0; 845 846 if network_type = MOWSE_NETWORK_TYPE then do; 847 call iox_$move_attach (mowse_iocb_ptr, iox_$user_io, error_code); 848 if error_code ^= 0 then 849 call must_kill_process (error_code, "Can't attach mowse_io_."); 850 end; 851 else do; 852 call force_detach_hcs; 853 call iox_$attach_ptr (iox_$user_io, "tty_ -login_channel", codeptr (video_utils_), error_code); 854 if error_code ^= 0 then 855 call must_kill_process (error_code, "Can't attach tty_."); 856 call iox_$open (iox_$user_io, Stream_input_output, ""b, error_code); 857 if error_code ^= 0 then 858 call must_kill_process (error_code, "Can't open user_io."); 859 end; 860 call hcs_$reset_ips_mask ((36)"1"b, ""b); 861 return; 862 863 864 865 force_detach_hcs: 866 procedure; 867 868 declare user_info_$terminal_data 869 entry (char (*), char (*), char (*), fixed bin, char (*)); 870 declare target character (32); 871 declare hcs_$tty_index entry (character (*), fixed bin, fixed bin, fixed bin (35)); 872 declare hcs_$tty_detach entry (fixed bin, fixed bin, fixed bin, fixed bin (35)); 873 declare dsa_tty_$index entry (character (*), fixed bin (35), fixed bin, fixed bin (35)); 874 declare dsa_tty_$detach entry (fixed bin (35), fixed bin, fixed bin, fixed bin (35)); 875 declare tty_handle fixed bin (35); 876 declare devx fixed bin; 877 878 /* Now make sure we can attach tty, by cheating. 879* this error_code should go away when things get more stable */ 880 881 call user_info_$terminal_data ("", "", target, (0), ""); 882 883 if network_type = DSA_NETWORK_TYPE then do; 884 call dsa_tty_$index (target, tty_handle, (0), (0)); 885 call dsa_tty_$detach (tty_handle, (0), (0), (0)); 886 end; 887 else do; /* MCS_NETWORK_TYPE */ 888 call hcs_$tty_index (target, devx, (0), (0)); 889 call hcs_$tty_detach (devx, (0), (0), (0)); 890 end; 891 892 /* Now attaching tty_ is pretty certain to work */ 893 894 end force_detach_hcs; 895 896 897 898 must_kill_process: 899 procedure (reason, why) options (non_quick); 900 901 declare why character (*); 902 declare reason fixed bin (35); 903 904 declare terminate_process_ entry (character (*), pointer); 905 906 declare 1 ti aligned, 907 2 version fixed bin, 908 2 status fixed bin (35); 909 910 ti.version = 0; 911 ti.status = reason; 912 call terminate_process_ ("fatal_error", addr (ti)); 913 end; 914 915 916 917 attach_handler: 918 handle_any_other: 919 procedure (return_label); 920 921 dcl return_label label variable; 922 1 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 1 2 /* format: style2 */ 1 3 1 4 declare condition_info_header_ptr 1 5 pointer; 1 6 declare 1 condition_info_header 1 7 aligned based (condition_info_header_ptr), 1 8 2 length fixed bin, /* length in words of this structure */ 1 9 2 version fixed bin, /* version number of this structure */ 1 10 2 action_flags aligned, /* tell handler how to proceed */ 1 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 1 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 1 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 1 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 1 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 1 16 3 pad bit (32) unaligned, 1 17 2 info_string char (256) varying, /* may contain printable message */ 1 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 1 19 1 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 923 2 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 2 2 /* format: style2 */ 2 3 2 4 /* The include file condition_info_header must be used with this file */ 2 5 2 6 declare sub_error_info_ptr pointer; 2 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 2 8 2 header aligned like condition_info_header, 2 9 2 retval fixed bin (35), /* return value */ 2 10 2 name char (32), /* module name */ 2 11 2 info_ptr ptr; 2 12 2 13 declare sub_error_info_version_1 2 14 internal static options (constant) fixed bin init (1); 2 15 2 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 924 3 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 3 2 3 3 /* Structure for find_condition_info_. 3 4* 3 5* Written 1-Mar-79 by M. N. Davidoff. 3 6**/ 3 7 3 8 /* automatic */ 3 9 3 10 declare condition_info_ptr pointer; 3 11 3 12 /* based */ 3 13 3 14 declare 1 condition_info aligned based (condition_info_ptr), 3 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 3 16 2 version fixed binary, /* Must be 1 */ 3 17 2 condition_name char (32) varying, /* name of condition */ 3 18 2 info_ptr pointer, /* pointer to the condition data structure */ 3 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 3 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 3 21 2 flags unaligned, 3 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 3 23 3 pad1 bit (35), 3 24 2 pad2 bit (36), 3 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 3 26 2 pad3 (4) bit (36); 3 27 3 28 /* internal static */ 3 29 3 30 declare condition_info_version_1 3 31 fixed binary internal static options (constant) initial (1); 3 32 3 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 925 926 927 declare 1 ci aligned like condition_info; 928 929 declare find_condition_info_ entry (pointer, pointer, fixed binary (35)); 930 declare trace_stack_ entry (pointer, fixed binary, fixed binary, character (32) aligned); 931 932 on any_other call must_kill_process (0, "Error in error handler."); 933 ci.version = 1; 934 call find_condition_info_ (null (), addr (ci), (0)); 935 936 if ci.condition_name = "cleanup" then 937 return; 938 939 begin; 940 declare sw character (32) aligned; 941 declare iocbp pointer; 942 declare unique_chars_ entry (bit (*)) returns (character (15)); 943 944 sw = unique_chars_ (""b); 945 call iox_$attach_name ((sw), iocbp, "vfile_ video_dump_." || rtrim (sw), null (), (0)); 946 call iox_$open (iocbp, Stream_output, ""b, (0)); 947 call trace_stack_ (null (), 1 /* not -bf, but not -lg */, -1 /* all the way back */, sw); 948 call iox_$close (iocbp, (0)); 949 call iox_$detach_iocb (iocbp, (0)); 950 call iox_$destroy_iocb (iocbp, (0)); 951 end; 952 953 if ci.condition_name = "sub_error_" then do; 954 sub_error_info_ptr = ci.info_ptr; 955 reason = rtrim (reason) || " " || rtrim (sub_error_info.name) || ": " || sub_error_info.info_string; 956 error_code = sub_error_info.status_code; 957 end; 958 else if ci.info_ptr ^= null then do; 959 condition_info_header_ptr = ci.info_ptr; 960 reason = 961 "Unexpected " || ci.condition_name || " occured; " || condition_info_header.info_string 962 || " while " || rtrim (ltrim (reason)); 963 error_code = condition_info_header.status_code; 964 end; 965 go to cleanup_label; 966 end attach_handler; 967 968 969 /* This routine extracts all the useful information from the tty_ attachment 970* and builds a structure which we save for later. 971* When video is revoked, this data will be used to restore 972* the user's former state. */ 973 974 get_tty_state: 975 procedure; 976 977 dcl mode_idx fixed bin; 978 dcl tty_modes char (512); 979 dcl temp_ptr pointer; 980 dcl (no_input_conversion, no_input_translation, no_output_conversion, no_output_translation) 981 bit (1) aligned; 982 983 dcl 1 auto_mode_value like mode_value; 984 dcl 1 auto_mode_string_info 985 aligned, 986 2 version fixed bin, 987 2 number fixed bin, 988 2 modes (8) like mode_value; /* must be one greater than common_modes (for pl=>more) */ 989 990 dcl 1 auto_editing_chars aligned like editing_chars; 991 dcl 1 auto_delay_struc aligned like delay_struc; 992 dcl 1 auto_framing_chars aligned like framing_chars; 993 dcl 1 auto_input_flow_control_info 994 aligned like input_flow_control_info; 995 dcl 1 auto_output_flow_control_info 996 aligned like output_flow_control_info; 997 dcl 1 auto_input_conversion 998 aligned like cv_trans_struc; 999 dcl 1 auto_input_translation 1000 aligned like cv_trans_struc; 1001 dcl 1 auto_output_conversion 1002 aligned like cv_trans_struc; 1003 dcl 1 auto_output_translation 1004 aligned like cv_trans_struc; 1005 dcl 1 auto_get_special_info_struc 1006 aligned like get_special_info_struc; 1007 1008 /* this structure isn't in any include file */ 1009 dcl 1 framing_chars aligned based, 1010 2 frame_begin char (1) unaligned, 1011 2 frame_end char (1) unaligned; 1012 1013 dcl get_system_free_area_ entry () returns (ptr); 1014 4 1 4 2 /* BEGIN INCLUDE FILE tty_editing_chars.incl.pl1 */ 4 3 4 4 4 5 /****^ HISTORY COMMENTS: 4 6* 1) change(80-11-19,JRDavis), approve(), audit(), install(): 4 7* Created file to declare structure for (get set)_editing_chars 4 8* control order of tty_. 4 9* 2) change(85-10-16,Negaret), approve(87-06-16,MCR7584), 4 10* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 4 11* Add redisplay char (version 3). 4 12* END HISTORY COMMENTS */ 4 13 4 14 4 15 dcl 1 editing_chars aligned based (editing_chars_ptr), 4 16 2 version fixed bin, 4 17 2 erase char (1) unaligned, 4 18 2 kill char (1) unaligned, 4 19 2 redisplay char (1) unaligned; 4 20 4 21 dcl editing_chars_version_2 fixed bin internal static init (2); 4 22 dcl editing_chars_version_3 fixed bin internal static init (3); 4 23 dcl editing_chars_ptr pointer; 4 24 4 25 /* END INCLUDE FILE tty_editing_chars.incl.pl1 */ 1015 5 1 /* BEGIN INCLUDE FILE ... tty_convert.incl.pl1 */ 5 2 5 3 /* tty_ conversion tables */ 5 4 /* Created 11/3/75 by Robert S. Coren */ 5 5 /* Info structures added 5/19/77 by Robert S. Coren */ 5 6 /* Length of cv_trans changed from 128 to 256 05/03/78 by Robert Coren */ 5 7 /* conversion table mnemonics added JRDavis 21 Aug 80 */ 5 8 /* fix special_chars_struc to have good refers Fri 13 Feb 81 JRDavis */ 5 9 5 10 5 11 /****^ HISTORY COMMENTS: 5 12* 1) change(85-12-01,Negaret), approve(87-07-23,MCR7742), 5 13* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 5 14* Added INPUT_CONVERT_DSA_CR_PROCESSING constant. 5 15* 2) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), 5 16* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 5 17* Expand c_chars definition from 3 chars to 15. Change SPECIAL_VERSION 5 18* from 1 to 2. Add version variable to get_special_info_struc and define 5 19* SPECIAL_INFO_STRUCT_VERSION_1. 5 20* END HISTORY COMMENTS */ 5 21 5 22 5 23 /* format: style2,linecom,^indnoniterdo,indcomtxt,^inditerdo,dclind5,idind25 */ 5 24 5 25 5 26 dcl 1 special_chars aligned based, /* table of special character sequences */ 5 27 2 nl_seq aligned like c_chars, /* new-line sequence */ 5 28 2 cr_seq aligned like c_chars, /* carriage-return sequence */ 5 29 2 bs_seq aligned like c_chars, /* backspace sequence */ 5 30 2 tab_seq aligned like c_chars, /* horizontal tab sequence */ 5 31 2 vt_seq aligned like c_chars, /* vertical tab sequence */ 5 32 2 ff_seq aligned like c_chars, /* form-feed sequence */ 5 33 2 printer_on aligned like c_chars, /* printer-on sequence */ 5 34 2 printer_off aligned like c_chars, /* printer_off sequence */ 5 35 2 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 5 36 2 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 5 37 2 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 5 38 2 escape_length fixed bin, /* number of escape sequences */ 5 39 2 not_edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 5 40 /* use in ^edited mode */ 5 41 2 edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 5 42 /* use in edited mode */ 5 43 2 input_escapes aligned, 5 44 3 len fixed bin (8) unaligned, /* length of string */ 5 45 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned, 5 46 /* escape sequence characters */ 5 47 2 input_results aligned, 5 48 3 pad bit (9) unaligned, /* so that strings will look the same */ 5 49 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned; 5 50 /* results of escape sequences */ 5 51 5 52 5 53 dcl c_chars_ptr ptr; 5 54 dcl 1 c_chars based (c_chars_ptr) aligned, 5 55 2 count fixed bin (8) unaligned, 5 56 2 chars (15) char (1) unaligned; 5 57 5 58 dcl sc_escape_len fixed bin; /* count of output escapes to allocate in special_chars */ 5 59 dcl sc_input_escape_len fixed bin; /* count of input escapes to allocate in special_chars */ 5 60 5 61 5 62 dcl 1 cv_trans based aligned, /* conversion/translation table format */ 5 63 2 value (0:255) fixed bin (8) unal; 5 64 5 65 5 66 dcl 1 delay based aligned, /* delay counts for output */ 5 67 2 vert_nl fixed bin, 5 68 2 horz_nl float bin, 5 69 2 const_tab fixed bin, 5 70 2 var_tab float bin, 5 71 2 backspace fixed bin, 5 72 2 vt_ff fixed bin; 5 73 5 74 /* info structures used with orders */ 5 75 5 76 dcl 1 special_chars_struc aligned based, 5 77 2 version fixed bin, 5 78 2 default fixed bin, /* non-zero indicates use default */ 5 79 2 special_chars, /* same as level-1 above */ 5 80 /* has to be spelled out instead of using like */ 5 81 /* because of refer options */ 5 82 3 nl_seq aligned like c_chars, /* new-line sequence */ 5 83 3 cr_seq aligned like c_chars, /* carriage-return sequence */ 5 84 3 bs_seq aligned like c_chars, /* backspace sequence */ 5 85 3 tab_seq aligned like c_chars, /* horizontal tab sequence */ 5 86 3 vt_seq aligned like c_chars, /* vertical tab sequence */ 5 87 3 ff_seq aligned like c_chars, /* form-feed sequence */ 5 88 3 printer_on aligned like c_chars, /* printer-on sequence */ 5 89 3 printer_off aligned like c_chars, /* printer_off sequence */ 5 90 3 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 5 91 3 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 5 92 3 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 5 93 3 escape_length fixed bin, /* number of escape sequences */ 5 94 3 not_edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 5 95 /* use in ^edited mode */ 5 96 3 edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 5 97 /* use in edited mode */ 5 98 3 input_escapes aligned, 5 99 4 len fixed bin (8) unaligned, /* length of string */ 5 100 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned, 5 101 /* escape sequence characters */ 5 102 3 input_results aligned, 5 103 4 pad bit (9) unaligned, /* so that strings will look the same */ 5 104 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned; 5 105 /* results of escape sequences */ 5 106 5 107 dcl 1 cv_trans_struc aligned based, /* all conversion/translation tables */ 5 108 2 version fixed bin, 5 109 2 default fixed bin, /* as above */ 5 110 2 cv_trans like cv_trans; 5 111 5 112 dcl 1 delay_struc aligned based, 5 113 2 version fixed bin, 5 114 2 default fixed bin, /* as above */ 5 115 2 delay like delay; 5 116 5 117 dcl 1 get_special_info_struc based aligned, /* get_special order */ 5 118 2 version char (8), 5 119 2 area_ptr pointer, 5 120 2 table_ptr pointer; 5 121 5 122 dcl SPECIAL_INFO_STRUCT_VERSION_1 5 123 char (8) int static options (constant) init ("sisv1000"); 5 124 dcl SPECIAL_VERSION fixed bin int static options (constant) init (1); 5 125 dcl SPECIAL_VERSION_2 fixed bin int static options (constant) init (2); 5 126 dcl DELAY_VERSION fixed bin int static options (constant) init (1); 5 127 dcl CV_TRANS_VERSION fixed bin int static options (constant) init (2); 5 128 5 129 dcl CV_TRANS_SIZE (2) fixed bin int static options (constant) init (127, 255); 5 130 /* indexed by version number */ 5 131 5 132 5 133 /* values for input and output conversion tables */ 5 134 5 135 dcl ( 5 136 INPUT_CONVERT_ORDINARY init (0), 5 137 INPUT_CONVERT_BREAK init (1), 5 138 INPUT_CONVERT_ESCAPE init (2), 5 139 INPUT_CONVERT_DISCARD init (3), 5 140 INPUT_CONVERT_FORMFEED init (4), 5 141 INPUT_CONVERT_PRECEDENCE_DISCARD 5 142 init (5), 5 143 INPUT_CONVERT_DSA_CR_PROCESSING 5 144 init (6) 5 145 ) fixed bin (8) unaligned internal static options (constant); 5 146 5 147 dcl ( 5 148 OUTPUT_CONVERT_ORDINARY init (0), 5 149 OUTPUT_CONVERT_NEWLINE init (1), 5 150 OUTPUT_CONVERT_CR init (2), 5 151 OUTPUT_CONVERT_HT init (3), 5 152 OUTPUT_CONVERT_BS init (4), 5 153 OUTPUT_CONVERT_VT init (5), 5 154 OUTPUT_CONVERT_FF init (6), 5 155 OUTPUT_CONVERT_OCTAL init (7), 5 156 OUTPUT_CONVERT_RRS init (8), 5 157 OUTPUT_CONVERT_BRS init (9), 5 158 OUTPUT_CONVERT_NO_MOTION init (10), 5 159 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION 5 160 init (11), 5 161 OUTPUT_CONVERT_DONT_SEND init (12), 5 162 OUTPUT_CONVERT_NOT_USED_13 5 163 init (13), 5 164 OUTPUT_CONVERT_NOT_USED_14 5 165 init (14), 5 166 OUTPUT_CONVERT_NOT_USED_15 5 167 init (15), 5 168 OUTPUT_CONVERT_NOT_USED_16 5 169 init (16), 5 170 OUTPUT_CONVERT_FIRST_SPECIAL 5 171 init (17) 5 172 ) fixed bin (8) unaligned internal static options (constant); 5 173 5 174 /* END INCLUDE FILE ... tty_convert.incl.pl1 */ 1016 6 1 /* BEGIN INCLUDE FILE ... flow_conrol_info.incl.pl1 */ 6 2 6 3 /* This include file defines the structures used for the "input_flow_control_chars" 6 4* and "output_flow_control_chars" orders to MCS. 6 5**/ 6 6 6 7 /* Created 08/13/79 by Robert S. Coren */ 6 8 6 9 dcl 1 input_flow_control_info aligned based, 6 10 2 suspend_seq unaligned, 6 11 3 count fixed bin (9) unsigned, 6 12 3 chars char (3), 6 13 2 resume_seq unaligned, 6 14 3 count fixed bin (9) unsigned, 6 15 3 chars char (3), 6 16 2 timeout bit (1); 6 17 6 18 6 19 dcl 1 output_flow_control_info aligned based, 6 20 2 flags unaligned, 6 21 3 suspend_resume bit (1), 6 22 3 block_acknowledge bit (1), 6 23 3 mbz bit (16), 6 24 2 buffer_size fixed bin (18) unsigned unaligned, 6 25 2 suspend_or_etb_seq unaligned, 6 26 3 count fixed bin (9) unsigned, 6 27 3 chars char (3), 6 28 2 resume_or_ack_seq unaligned, 6 29 3 count fixed bin (9) unsigned, 6 30 3 chars char (3); 6 31 6 32 6 33 /* END INCLUDE FILE ... flow_control_info.incl.pl1 */ 6 34 1017 1018 1019 reason = "Getting modes."; 1020 call iox_$modes (target_iocb, "", tty_modes, error_code); 1021 if error_code ^= 0 then 1022 goto simple_error_return; 1023 1024 /* Parse the mode string to set initial values for the video 1025* modes that have tty_ equivalents. */ 1026 1027 auto_mode_string_info.version = mode_string_info_version_2; 1028 auto_mode_string_info.number = 0; 1029 1030 mode_value_ptr = addr (auto_mode_value); 1031 mode_value.version = mode_value_version_3; 1032 1033 do mode_idx = lbound (common_modes, 1) to hbound (common_modes, 1); 1034 call mode_string_$get_mode (tty_modes, common_modes (mode_idx), mode_value_ptr, error_code); 1035 if error_code = 0 then do; 1036 auto_mode_string_info.number = auto_mode_string_info.number + 1; 1037 auto_mode_string_info.modes (auto_mode_string_info.number) = mode_value; 1038 end; 1039 end; 1040 1041 /* Special case more mode. If ^pl is set, ^more will be too. */ 1042 1043 call mode_string_$get_mode (tty_modes, "pl", mode_value_ptr, error_code); 1044 if error_code = 0 then 1045 if mode_value.boolean_valuep & ^mode_value.boolean_value then do; 1046 mode_value.mode_name = "more"; 1047 auto_mode_string_info.number = auto_mode_string_info.number + 1; 1048 auto_mode_string_info.modes (auto_mode_string_info.number) = mode_value; 1049 end; 1050 1051 /* Now build the mode string for later. */ 1052 1053 reason = "Building mode string."; 1054 call mode_string_$get (addr (auto_mode_string_info), user_io_modes, error_code); 1055 if error_code ^= 0 then 1056 goto simple_error_return; 1057 1058 auto_editing_chars.version = editing_chars_version_3; 1059 1060 if network_type ^= MOWSE_NETWORK_TYPE then do; 1061 reason = "Getting editing chars."; 1062 call iox_$control (target_iocb, "get_editing_chars", addr (auto_editing_chars), error_code); 1063 if error_code ^= 0 then 1064 goto simple_error_return; 1065 1066 if network_type = MCS_NETWORK_TYPE then do; 1067 auto_delay_struc.version = DELAY_VERSION; 1068 reason = "Getting delays."; 1069 call iox_$control (target_iocb, "get_delay", addr (auto_delay_struc), error_code); 1070 if error_code ^= 0 then 1071 goto simple_error_return; /* set default field to zero for later set_delay call */ 1072 auto_delay_struc.default = 0; 1073 1074 reason = "Getting framing characters."; 1075 call iox_$control (target_iocb, "get_framing_chars", addr (auto_framing_chars), error_code); 1076 if error_code ^= 0 then 1077 goto simple_error_return; 1078 1079 reason = "Getting input flow control characters."; 1080 call iox_$control (target_iocb, "get_ifc_info", addr (auto_input_flow_control_info), error_code); 1081 if error_code ^= 0 then 1082 goto simple_error_return; 1083 1084 reason = "Getting output flow control characters."; 1085 call iox_$control (target_iocb, "get_ofc_info", addr (auto_output_flow_control_info), error_code); 1086 if error_code ^= 0 then 1087 goto simple_error_return; 1088 end; 1089 end; 1090 1091 auto_input_conversion.version = CV_TRANS_VERSION; 1092 auto_input_translation.version = CV_TRANS_VERSION; 1093 auto_output_conversion.version = CV_TRANS_VERSION; 1094 auto_output_translation.version = CV_TRANS_VERSION; 1095 1096 auto_input_conversion.default = 0; 1097 auto_input_translation.default = 0; 1098 auto_output_conversion.default = 0; 1099 auto_output_translation.default = 0; 1100 1101 no_input_conversion = "0"b; 1102 no_input_translation = "0"b; 1103 no_output_conversion = "0"b; 1104 no_output_translation = "0"b; 1105 1106 if network_type ^= MOWSE_NETWORK_TYPE then do; 1107 reason = "Getting input conversions."; 1108 call iox_$control (target_iocb, "get_input_conversion", addr (auto_input_conversion), error_code); 1109 if error_code ^= 0 then 1110 if error_code = error_table_$no_table then 1111 no_input_conversion = "1"b; 1112 else goto simple_error_return; 1113 1114 reason = "Getting input translations."; 1115 call iox_$control (target_iocb, "get_input_translation", addr (auto_input_translation), error_code); 1116 if error_code ^= 0 then 1117 if error_code = error_table_$no_table then 1118 no_input_translation = "1"b; 1119 else goto simple_error_return; 1120 end; 1121 1122 reason = "Getting output conversions."; 1123 call iox_$control (target_iocb, "get_output_conversion", addr (auto_output_conversion), error_code); 1124 if error_code ^= 0 then 1125 if error_code = error_table_$no_table then 1126 no_output_conversion = "1"b; 1127 else goto simple_error_return; 1128 1129 reason = "Getting output translations."; 1130 call iox_$control (target_iocb, "get_output_translation", addr (auto_output_translation), error_code); 1131 if error_code ^= 0 then 1132 if error_code = error_table_$no_table then 1133 no_output_translation = "1"b; 1134 else goto simple_error_return; 1135 1136 reason = "Getting special table."; 1137 auto_get_special_info_struc.version = SPECIAL_INFO_STRUCT_VERSION_1; 1138 auto_get_special_info_struc.area_ptr = get_system_free_area_ (); 1139 call iox_$control (target_iocb, "get_special", addr (auto_get_special_info_struc), error_code); 1140 if error_code ^= 0 then 1141 goto simple_error_return; 1142 1143 /* Now that all state has been read out of tty_, save it. */ 1144 1145 allocate complete_tty_state set (complete_tty_state_ptr); 1146 1147 complete_tty_state.modes_string = tty_modes; 1148 1149 allocate editing_chars set (temp_ptr); 1150 temp_ptr -> editing_chars = auto_editing_chars; 1151 complete_tty_state.editing_chars_ptr = temp_ptr; 1152 1153 if network_type = MCS_NETWORK_TYPE then do; 1154 1155 allocate delay_struc set (temp_ptr); 1156 temp_ptr -> delay_struc = auto_delay_struc; 1157 complete_tty_state.delay_ptr = temp_ptr; 1158 1159 allocate framing_chars set (temp_ptr); 1160 temp_ptr -> framing_chars = auto_framing_chars; 1161 complete_tty_state.framing_chars_ptr = temp_ptr; 1162 1163 allocate input_flow_control_info set (temp_ptr); 1164 temp_ptr -> input_flow_control_info = auto_input_flow_control_info; 1165 complete_tty_state.ifc_ptr = temp_ptr; 1166 1167 allocate output_flow_control_info set (temp_ptr); 1168 temp_ptr -> output_flow_control_info = auto_output_flow_control_info; 1169 complete_tty_state.ofc_ptr = temp_ptr; 1170 end; 1171 1172 if no_input_conversion then 1173 complete_tty_state.input_conversion_ptr = null (); 1174 else do; 1175 allocate cv_trans_struc set (temp_ptr); 1176 temp_ptr -> cv_trans_struc = auto_input_conversion; 1177 complete_tty_state.input_conversion_ptr = temp_ptr; 1178 end; 1179 1180 if no_input_translation then 1181 complete_tty_state.input_translation_ptr = null (); 1182 else do; 1183 allocate cv_trans_struc set (temp_ptr); 1184 temp_ptr -> cv_trans_struc = auto_input_translation; 1185 complete_tty_state.input_translation_ptr = temp_ptr; 1186 end; 1187 1188 if no_output_conversion then 1189 complete_tty_state.output_conversion_ptr = null (); 1190 else do; 1191 allocate cv_trans_struc set (temp_ptr); 1192 temp_ptr -> cv_trans_struc = auto_output_conversion; 1193 complete_tty_state.output_conversion_ptr = temp_ptr; 1194 end; 1195 1196 if no_output_translation then 1197 complete_tty_state.output_translation_ptr = null (); 1198 else do; 1199 allocate cv_trans_struc set (temp_ptr); 1200 temp_ptr -> cv_trans_struc = auto_output_translation; 1201 complete_tty_state.output_translation_ptr = temp_ptr; 1202 end; 1203 1204 /* The special structure was allocated earlier. */ 1205 complete_tty_state.special_ptr = auto_get_special_info_struc.table_ptr; 1206 1207 return; 1208 1209 set_tty_state: 1210 entry; 1211 1212 /* This entry counts on not getting this far unless video has been 1213* invoked by turn_on_login_channel. */ 1214 1215 call iox_$modes (target_iocb, complete_tty_state.modes_string, (""), (0)); 1216 1217 call iox_$control (target_iocb, "set_editing_chars", complete_tty_state.editing_chars_ptr, (0)); 1218 free complete_tty_state.editing_chars_ptr -> editing_chars; 1219 1220 if network_type = MCS_NETWORK_TYPE then do; 1221 1222 call iox_$control (target_iocb, "set_delay", complete_tty_state.delay_ptr, (0)); 1223 free complete_tty_state.delay_ptr -> delay_struc; 1224 1225 call iox_$control (target_iocb, "set_framing_chars", complete_tty_state.framing_chars_ptr, (0)); 1226 free complete_tty_state.framing_chars_ptr -> framing_chars; 1227 1228 call iox_$control (target_iocb, "input_flow_control_chars", complete_tty_state.ifc_ptr, (0)); 1229 free complete_tty_state.ifc_ptr -> input_flow_control_info; 1230 1231 call iox_$control (target_iocb, "output_flow_control_chars", complete_tty_state.ofc_ptr, (0)); 1232 free complete_tty_state.ofc_ptr -> output_flow_control_info; 1233 end; 1234 1235 if complete_tty_state.input_conversion_ptr ^= null () then do; 1236 call iox_$control (target_iocb, "set_input_conversion", complete_tty_state.input_conversion_ptr, (0)); 1237 free complete_tty_state.input_conversion_ptr -> cv_trans_struc; 1238 end; 1239 1240 if complete_tty_state.input_translation_ptr ^= null () then do; 1241 call iox_$control (target_iocb, "set_input_translation", complete_tty_state.input_translation_ptr, (0)); 1242 free complete_tty_state.input_translation_ptr -> cv_trans_struc; 1243 end; 1244 1245 if complete_tty_state.output_conversion_ptr ^= null () then do; 1246 call iox_$control (target_iocb, "set_output_conversion", complete_tty_state.output_conversion_ptr, (0)); 1247 free complete_tty_state.output_conversion_ptr -> cv_trans_struc; 1248 end; 1249 1250 if complete_tty_state.output_translation_ptr ^= null () then do; 1251 call iox_$control (target_iocb, "set_output_translation", complete_tty_state.output_translation_ptr, (0)); 1252 free complete_tty_state.output_translation_ptr -> cv_trans_struc; 1253 end; 1254 1255 call iox_$control (target_iocb, "set_special", complete_tty_state.special_ptr, (0)); 1256 free complete_tty_state.special_ptr -> special_chars_struc; 1257 1258 free complete_tty_state_ptr -> complete_tty_state; 1259 1260 return; 1261 end get_tty_state; 1262 1263 1264 1265 network_login_channel: 1266 entry (targetp, networkp, codep); 1267 1268 dcl targetp ptr parm, 1269 networkp fixed bin (4) unsigned parm, 1270 codep fixed bin (35) parm; 1271 1272 dcl Pmowse ptr; 1273 1274 targetp = null; 1275 networkp = 0; 1276 codep = 0; 1277 1278 targetp = find_appropriate_iocb ("mowse_io_", "mowse_tty"); 1279 /* iocb.name = mowse_i/o */ 1280 if targetp ^= null then do; /* determine if its attached on login_channel */ 1281 targetp = targetp -> iocb.syn_son; /* syned iocb; iocb.name = user_i/o */ 1282 1283 Pmowse = find_appropriate_iocb ("tty_", "-login_channel"); 1284 /* iocb.name = mowse_tty */ 1285 if Pmowse ^= null then do; 1286 networkp = MOWSE_NETWORK_TYPE; 1287 return; 1288 end; 1289 end; 1290 1291 targetp = find_appropriate_iocb ("tty_", "-login_channel"); 1292 if targetp = null () then do; 1293 codep = error_table_$action_not_performed; 1294 reason = "No tty_ attachment found."; 1295 return; 1296 end; 1297 call iox_$control (targetp, "get_network_type", addr (networkp), codep); 1298 if codep = error_table_$undefined_order_request then do; 1299 networkp = MCS_NETWORK_TYPE; /* MCS doesn't support this operation */ 1300 codep = 0; 1301 end; 1302 else if codep = 0 then do; 1303 if networkp ^= MCS_NETWORK_TYPE & networkp ^= DSA_NETWORK_TYPE & networkp ^= MOWSE_NETWORK_TYPE then do; 1304 codep = error_table_$action_not_performed; 1305 reason = "Invalid network type."; 1306 return; 1307 end; 1308 end; 1309 else do; 1310 reason = "Unable to get network type."; 1311 return; 1312 end; 1313 1314 return; 1315 1316 1317 1318 find_appropriate_iocb: 1319 procedure (dim_name, dim_arg) returns (pointer); 1320 7 1 /* BEGIN INCLUDE FILE ..... iocb.incl.pl1 ..... 13 Feb 1975, M. Asherman */ 7 2 /* Modified 11/29/82 by S. Krupp to add new entries and to change 7 3* version number to IOX2. */ 7 4 /* format: style2 */ 7 5 7 6 dcl 1 iocb aligned based, /* I/O control block. */ 7 7 2 version character (4) aligned, /* IOX2 */ 7 8 2 name char (32), /* I/O name of this block. */ 7 9 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 7 10 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 7 11 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 7 12 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 7 13 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 7 14 2 reserved bit (72), /* Reserved for future use. */ 7 15 2 detach_iocb entry (ptr, fixed (35)),/* detach_iocb(p,s) */ 7 16 2 open entry (ptr, fixed, bit (1) aligned, fixed (35)), 7 17 /* open(p,mode,not_used,s) */ 7 18 2 close entry (ptr, fixed (35)),/* close(p,s) */ 7 19 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 7 20 /* get_line(p,bufptr,buflen,actlen,s) */ 7 21 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 7 22 /* get_chars(p,bufptr,buflen,actlen,s) */ 7 23 2 put_chars entry (ptr, ptr, fixed (21), fixed (35)), 7 24 /* put_chars(p,bufptr,buflen,s) */ 7 25 2 modes entry (ptr, char (*), char (*), fixed (35)), 7 26 /* modes(p,newmode,oldmode,s) */ 7 27 2 position entry (ptr, fixed, fixed (21), fixed (35)), 7 28 /* position(p,u1,u2,s) */ 7 29 2 control entry (ptr, char (*), ptr, fixed (35)), 7 30 /* control(p,order,infptr,s) */ 7 31 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed (35)), 7 32 /* read_record(p,bufptr,buflen,actlen,s) */ 7 33 2 write_record entry (ptr, ptr, fixed (21), fixed (35)), 7 34 /* write_record(p,bufptr,buflen,s) */ 7 35 2 rewrite_record entry (ptr, ptr, fixed (21), fixed (35)), 7 36 /* rewrite_record(p,bufptr,buflen,s) */ 7 37 2 delete_record entry (ptr, fixed (35)),/* delete_record(p,s) */ 7 38 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 7 39 /* seek_key(p,key,len,s) */ 7 40 2 read_key entry (ptr, char (256) varying, fixed (21), fixed (35)), 7 41 /* read_key(p,key,len,s) */ 7 42 2 read_length entry (ptr, fixed (21), fixed (35)), 7 43 /* read_length(p,len,s) */ 7 44 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 7 45 /* open_file(p,mode,desc,not_used,s) */ 7 46 2 close_file entry (ptr, char (*), fixed bin (35)), 7 47 /* close_file(p,desc,s) */ 7 48 2 detach entry (ptr, char (*), fixed bin (35)); 7 49 /* detach(p,desc,s) */ 7 50 7 51 declare iox_$iocb_version_sentinel 7 52 character (4) aligned external static; 7 53 7 54 /* END INCLUDE FILE ..... iocb.incl.pl1 ..... */ 1321 1322 1323 declare dim_name char (*) parameter, 1324 dim_arg char (*) parameter, 1325 iocb_ptr pointer, 1326 n fixed binary, 1327 based_vcs char (256) varying based, 1328 descrip char (256) varying, 1329 dim_lth fixed bin, 1330 error fixed bin (35); 1331 1332 dim_lth = length (dim_name) + 1; 1333 error = 0; 1334 do n = 1 by 1 while (error = 0); 1335 call iox_$find_iocb_n (n, iocb_ptr, error); 1336 if error = 0 then do; 1337 if iocb_ptr -> iocb.attach_descrip_ptr ^= null () then do; 1338 descrip = iocb_ptr -> iocb.attach_descrip_ptr -> based_vcs; 1339 if substr (descrip, 1, min (length (descrip), dim_lth)) = dim_name 1340 & index (descrip, dim_arg) ^= 0 then 1341 return (iocb_ptr); 1342 end; 1343 end; 1344 end; 1345 1346 return (null ()); 1347 1348 end find_appropriate_iocb; 1349 8 1 /* BEGIN INCLUDE FILE iocbx.incl.pl1 */ 8 2 /* written 27 Dec 1973, M. G. Smith */ 8 3 /* returns attributes removed, hashing support BIM Spring 1981 */ 8 4 /* version made character string June 1981 BIM */ 8 5 /* Modified 11/29/82 by S. Krupp to add new entries and to change 8 6* version number to IOX2. */ 8 7 /* format: style2 */ 8 8 8 9 dcl 1 iocb aligned based, /* I/O control block. */ 8 10 2 version character (4) aligned, /* IOX2 */ 8 11 2 name char (32), /* I/O name of this block. */ 8 12 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 8 13 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 8 14 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 8 15 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 8 16 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 8 17 2 event_channel bit (72), /* Event channel for asynchronous I/O. */ 8 18 2 detach_iocb entry (ptr, fixed bin (35)), 8 19 /* detach_iocb(p) */ 8 20 2 open entry (ptr, fixed, bit (1) aligned, fixed bin (35)), 8 21 /* open(p,mode,not_used) */ 8 22 2 close entry (ptr, fixed bin (35)), 8 23 /* close(p) */ 8 24 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 8 25 /* get_line(p,bufptr,buflen,actlen) */ 8 26 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 8 27 /* get_chars(p,bufptr,buflen,actlen) */ 8 28 2 put_chars entry (ptr, ptr, fixed (21), fixed bin (35)), 8 29 /* put_chars(p,bufptr,buflen) */ 8 30 2 modes entry (ptr, char (*), char (*), fixed bin (35)), 8 31 /* modes(p,newmode,oldmode) */ 8 32 2 position entry (ptr, fixed, fixed (21), fixed bin (35)), 8 33 /* position(p,u1,u2) */ 8 34 2 control entry (ptr, char (*), ptr, fixed bin (35)), 8 35 /* control(p,order,infptr) */ 8 36 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 8 37 /* read_record(p,bufptr,buflen,actlen) */ 8 38 2 write_record entry (ptr, ptr, fixed (21), fixed bin (35)), 8 39 /* write_record(p,bufptr,buflen) */ 8 40 2 rewrite_record entry (ptr, ptr, fixed (21), fixed bin (35)), 8 41 /* rewrite_record(p,bufptr,buflen) */ 8 42 2 delete_record entry (ptr, fixed bin (35)), 8 43 /* delete_record(p) */ 8 44 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed bin (35)), 8 45 /* seek_key(p,key,len) */ 8 46 2 read_key entry (ptr, char (256) varying, fixed (21), fixed bin (35)), 8 47 /* read_key(p,key,len) */ 8 48 2 read_length entry (ptr, fixed (21), fixed bin (35)), 8 49 /* read_length(p,len) */ 8 50 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 8 51 /* open_file(p,mode,desc,not_used,s) */ 8 52 2 close_file entry (ptr, char (*), fixed bin (35)), 8 53 /* close_file(p,desc,s) */ 8 54 2 detach entry (ptr, char (*), fixed bin (35)), 8 55 /* detach(p,desc,s) */ 8 56 /* Hidden information, to support SYN attachments. */ 8 57 2 ios_compatibility ptr, /* Ptr to old DIM's IOS transfer vector. */ 8 58 2 syn_inhibits bit (36), /* Operations inhibited by SYN. */ 8 59 2 syn_father ptr, /* IOCB immediately SYNed to. */ 8 60 2 syn_brother ptr, /* Next IOCB SYNed as this one is. */ 8 61 2 syn_son ptr, /* First IOCB SYNed to this one. */ 8 62 2 hash_chain_ptr ptr; /* Next IOCB in hash bucket */ 8 63 8 64 declare iox_$iocb_version_sentinel 8 65 character (4) aligned external static; 8 66 8 67 /* END INCLUDE FILE iocbx.incl.pl1 */ 1350 1351 9 1 /* BEGIN: tty_attach_data_.incl.pl1 * * * * * */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(81-01-01,Margulies), approve(), audit(), install(): 9 6* Created from internal declarations. 9 7* 2) change(85-12-01,Negaret), approve(87-07-23,MCR7742), 9 8* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 9 9* Add network_type and tty_handle. 9 10* END HISTORY COMMENTS */ 9 11 9 12 9 13 /* format: style2 */ 9 14 9 15 /* INTERNAL INTERFACE -- SUBJECT TO CHANGE */ 9 16 9 17 dcl attach_data_ptr pointer; 9 18 dcl 1 attach_data aligned based (attach_data_ptr), 9 19 2 attach_descrip character (128) varying, 9 20 2 open_descrip character (64) varying, 9 21 2 device_id character (32) unaligned, 9 22 /* given in atd */ 9 23 2 device_used character (32) unaligned, 9 24 /* aquired by dm_ */ 9 25 2 dial_phone character (64) varying, 9 26 2 dial_id character (32) unaligned, 9 27 2 resource_desc character (256) unaligned, 9 28 2 network_type fixed bin, 9 29 2 tty_index fixed bin, 9 30 2 tty_handle fixed bin (35), 9 31 2 operation_hlock fixed bin, /* if this is nonzero detach may not free this structure */ 9 32 2 flags aligned, 9 33 3 assigned_ev_channel 9 34 bit (1) unaligned, /* we got the channel as fast channel */ 9 35 3 created_ev_channel 9 36 bit (1) unaligned, /* we got it as slow channel */ 9 37 3 have_ev_channel bit (1) unaligned, /* there is a channel to use */ 9 38 3 login_channel bit (1) unaligned, /* we are login channel */ 9 39 3 phone_given bit (1) unaligned, /* dial_out */ 9 40 3 accept_dial bit (1) unaligned, /* wait for terminal to dial */ 9 41 3 must_release bit (1) unaligned, /* we must call release channel */ 9 42 3 no_block bit (1) unaligned, /* never block */ 9 43 3 async_close bit (1) unaligned, /* close with hlock nonzero */ 9 44 3 async_detach bit (1) unaligned, /* detach_iocb with hlock nonzero */ 9 45 3 hangup bit (1) unaligned, 9 46 3 async_hangup bit (1) unaligned, /* channel was hungup (and released) by AS */ 9 47 3 have_user_hangup_proc 9 48 bit (1) unaligned, /* user has supplied a hangup procedure */ 9 49 3 pad bit (23) unaligned, 9 50 2 dial_manager_event aligned like event_wait_channel, 9 51 2 event_wait aligned like event_wait_channel, 9 52 2 user_hangup_proc, /* user supplied hangup procedure */ 9 53 3 procedure entry (pointer) variable, 9 54 3 data_ptr pointer, 9 55 2 mode_string_info aligned, 9 56 3 max_mode_length fixed bin (35), 9 57 3 mode_string char (tty_max_mode_length refer (attach_data.max_mode_length)) unaligned, 9 58 2 temp_mode_string char (tty_max_mode_length refer (attach_data.max_mode_length)) unaligned; 9 59 9 60 declare tty_max_mode_length fixed bin (21); 9 61 10 1 /* BEGIN INCLUDE FILE ... event_wait_channel.incl.pl1 */ 10 2 10 3 /* ipc_$block wait list with one channel 10 4* 10 5* Written 9-May-79 by M. N. Davidoff. 10 6**/ 10 7 10 8 declare 1 event_wait_channel aligned, 10 9 2 n_channels fixed bin initial (1), /* number of channels */ 10 10 2 pad bit (36), 10 11 2 channel_id (1) fixed bin (71); /* event channel to wait on */ 10 12 10 13 /* END INCLUDE FILE ... event_wait_channel.incl.pl1 */ 9 62 9 63 9 64 /* END OF: tty_attach_data_.incl.pl1 * * * * * */ 1352 1353 11 1 /* BEGIN INCLUDE FILE ... net_event_message.incl.pl1 */ 11 2 11 3 /****^ HISTORY COMMENTS: 11 4* 1) change(86-07-30,Kissel), approve(86-07-30,MCR7475), audit(86-08-04,Coren), 11 5* install(86-10-09,MR12.0-1181): 11 6* This include file was formerly tty_event_message.incl.pl1. It has been 11 7* updated with different fields and new constants, and renamed to 11 8* net_event_message.incl.pl1 11 9* 2) change(87-04-20,GDixon), approve(87-07-13,MCR7694), 11 10* audit(87-06-24,Hartogs), install(87-08-04,MR12.1-1056): 11 11* Add NETWORK_TYPE_VALUES array. 11 12* END HISTORY COMMENTS */ 11 13 11 14 /* describes event message passed with wakeups from the tty DIM */ 11 15 /* Created 5/24/76 by Robert S. Coren */ 11 16 11 17 /* format: style3,linecom,ifthenstmt,indthenelse,^indnoniterdo,indnoniterend,initcol3,dclind5,idind32 */ 11 18 11 19 dcl net_event_message_arg fixed bin (71); /* For calling IPC */ 11 20 dcl NET_EVENT_MESSAGE_VERSION_1 bit (2) internal static options (constant) init ("10"b); 11 21 11 22 dcl 1 net_event_message aligned based (addr (net_event_message_arg)), 11 23 2 version bit (2) unaligned, /* Currently version 1 */ 11 24 2 reason bit (16) unaligned, /* Additional info about the event */ 11 25 2 pad bit (6) unaligned, /* Must be zero */ 11 26 2 network_type fixed bin (4) unsigned unaligned, 11 27 /* See below for constants */ 11 28 2 type fixed bin (8) unsigned unaligned, 11 29 /* Type of interrupt, see below */ 11 30 2 handle fixed bin (35) aligned;/* Caller's handle (devx for MCS, handle for DSA) */ 11 31 11 32 /* Network type constants */ 11 33 11 34 dcl MCS_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (0); 11 35 dcl DSA_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (1); 11 36 dcl MOWSE_NETWORK_TYPE fixed bin (4) unsigned internal static options (constant) init (2); 11 37 11 38 dcl NETWORK_TYPE_VALUES (0:2) char(8) varying int static options(constant) init( 11 39 "MCS", 11 40 "DSA", 11 41 "MOWSE"); 11 42 11 43 11 44 /* MCS event message type constants */ 11 45 11 46 dcl MAX_MCS_EVENT_MSG_TYPE fixed bin internal static options (constant) init (8); 11 47 11 48 dcl MCS_UNSPECIFIED_MSG fixed bin internal static options (constant) init (0); 11 49 /* used for "start" order, etc. */ 11 50 dcl MCS_DIALUP_MSG fixed bin internal static options (constant) init (1); 11 51 /* dialup */ 11 52 dcl MCS_HANGUP_MSG fixed bin internal static options (constant) init (2); 11 53 /* hangup */ 11 54 dcl MCS_DIALOUT_MSG fixed bin internal static options (constant) init (3); 11 55 /* dialout status returned */ 11 56 dcl MCS_QUIT_MSG fixed bin internal static options (constant) init (4); 11 57 /* quit */ 11 58 dcl MCS_READ_MSG fixed bin internal static options (constant) init (5); 11 59 /* input arrived */ 11 60 dcl MCS_WRITE_MSG fixed bin internal static options (constant) init (6); 11 61 /* output completed */ 11 62 dcl MCS_LINE_STATUS_MSG fixed bin internal static options (constant) init (7); 11 63 /* control tables sent status */ 11 64 dcl MCS_MASKED_MSG fixed bin internal static options (constant) init (8); 11 65 /* channel masked by FNP */ 11 66 11 67 dcl MCS_MSG_TYPE_TO_PNAME (0:8) char (20) internal static options (constant) init ("unspecified", 11 68 /* 0 */ 11 69 "dialup", /* 1 */ 11 70 "hangup", /* 2 */ 11 71 "dialout status", /* 3 */ 11 72 "quit", /* 4 */ 11 73 "read", /* 5 */ 11 74 "write", /* 6 */ 11 75 "line status", /* 7 */ 11 76 "masked"); /* 8 */ 11 77 11 78 /* DSA event message type constants */ 11 79 11 80 dcl MAX_DSA_EVENT_MSG_TYPE fixed bin internal static options (constant) init (19); 11 81 11 82 dcl DSA_UNSPECIFIED_MSG fixed bin (8) uns internal static options (constant) init (0); 11 83 dcl DSA_ATTENTION_MSG fixed bin (8) uns internal static options (constant) init (1); 11 84 dcl DSA_DATA_ATTENTION_MSG fixed bin (8) uns internal static options (constant) init (2); 11 85 dcl DSA_DEMAND_RELEASE_SRU_MSG fixed bin (8) uns internal static options (constant) init (3); 11 86 dcl DSA_DEMAND_TURN_MSG fixed bin (8) uns internal static options (constant) init (4); 11 87 dcl DSA_DEMAND_TURN_ACK_MSG fixed bin (8) uns internal static options (constant) init (5); 11 88 dcl DSA_PURGE_MSG fixed bin (8) uns internal static options (constant) init (6); 11 89 dcl DSA_RECOVER_MSG fixed bin (8) uns internal static options (constant) init (7); 11 90 dcl DSA_RECOVER_ACK_MSG fixed bin (8) uns internal static options (constant) init (8); 11 91 dcl DSA_RELEASE_SRU_MSG fixed bin (8) uns internal static options (constant) init (9); 11 92 dcl DSA_RESUME_MSG fixed bin (8) uns internal static options (constant) init (10); 11 93 dcl DSA_RESUME_ACK_MSG fixed bin (8) uns internal static options (constant) init (11); 11 94 dcl DSA_SUSPEND_MSG fixed bin (8) uns internal static options (constant) init (12); 11 95 dcl DSA_SUSPEND_ACK_MSG fixed bin (8) uns internal static options (constant) init (13); 11 96 dcl DSA_TERM_ABNORMAL_MSG fixed bin (8) uns internal static options (constant) init (14); 11 97 dcl DSA_ESTABLISHMENT_MSG fixed bin (8) uns internal static options (constant) init (15); 11 98 dcl DSA_TERMINATED_MSG fixed bin (8) uns internal static options (constant) init (16); 11 99 dcl DSA_USER_UNASSIGN_MSG fixed bin (8) uns internal static options (constant) init (17); 11 100 dcl DSA_DATA_INPUT_MSG fixed bin (8) uns internal static options (constant) init (18); 11 101 dcl DSA_DATA_OUTPUT_MSG fixed bin (8) uns internal static options (constant) init (19); 11 102 11 103 dcl DSA_MSG_TYPE_TO_PNAME (0:19) char (20) internal static options (constant) init ("unspecified", 11 104 /* 0 */ 11 105 "attention", /* 1 */ 11 106 "data_attention", /* 2 */ 11 107 "demand_release_sru", /* 3 */ 11 108 "demand_turn", /* 4 */ 11 109 "demand_turn_ack", /* 5 */ 11 110 "purge", /* 6 */ 11 111 "recover", /* 7 */ 11 112 "recover_ack", /* 8 */ 11 113 "release_sru", /* 9 */ 11 114 "resume", /* 10 */ 11 115 "resume_ack", /* 11 */ 11 116 "suspend", /* 12 */ 11 117 "suspend_ack", /* 13 */ 11 118 "terminate_abnormal", /* 14 */ 11 119 "establishment", /* 15 */ 11 120 "terminated", /* 16 */ 11 121 "user_unassign", /* 17 */ 11 122 "data input", /* 18 */ 11 123 "data output"); /* 19 */ 11 124 11 125 /* END INCLUDE FILE ... net_event_message.incl.pl1 */ 1354 1355 12 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 12 2 12 3 /* Written 05/04/78 by C. D. Tavares */ 12 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 12 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 12 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 12 7 12 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 12 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 12 10 iox_$close entry (pointer, fixed bin (35)), 12 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 12 12 iox_$delete_record entry (pointer, fixed bin (35)), 12 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 12 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 12 15 iox_$err_not_attached entry options (variable), 12 16 iox_$err_not_closed entry options (variable), 12 17 iox_$err_no_operation entry options (variable), 12 18 iox_$err_not_open entry options (variable), 12 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 12 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 12 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 12 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 12 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 12 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 12 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 12 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 12 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 12 28 iox_$propagate entry (pointer), 12 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 12 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 12 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 12 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 12 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 12 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 12 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 12 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 12 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 12 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 12 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 12 40 12 41 dcl (iox_$user_output, 12 42 iox_$user_input, 12 43 iox_$user_io, 12 44 iox_$error_output) external static pointer; 12 45 12 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 1356 1357 13 1 /* Begin include file ..... iox_modes.incl.pl1 */ 13 2 13 3 /* Written by C. D. Tavares, 03/17/75 */ 13 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 13 5 13 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 13 7 ("stream_input", "stream_output", "stream_input_output", 13 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 13 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 13 10 "direct_input", "direct_output", "direct_update"); 13 11 13 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 13 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 13 14 13 15 dcl (Stream_input initial (1), 13 16 Stream_output initial (2), 13 17 Stream_input_output initial (3), 13 18 Sequential_input initial (4), 13 19 Sequential_output initial (5), 13 20 Sequential_input_output initial (6), 13 21 Sequential_update initial (7), 13 22 Keyed_sequential_input initial (8), 13 23 Keyed_sequential_output initial (9), 13 24 Keyed_sequential_update initial (10), 13 25 Direct_input initial (11), 13 26 Direct_output initial (12), 13 27 Direct_update initial (13)) fixed bin int static options (constant); 13 28 13 29 /* End include file ..... iox_modes.incl.pl1 */ 1358 1359 14 1 /* begin include fine window_dcls.incl.pl1 BIM June 1981 */ 14 2 /* Modified 9 October 1983 by Jon A. Rochlis to add window_$edit_line. */ 14 3 14 4 /* format: style3 */ 14 5 14 6 declare window_$bell entry (pointer, fixed binary (35)); 14 7 declare window_$clear_region 14 8 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary, fixed binary (35)); 14 9 declare window_$clear_to_end_of_line 14 10 entry (pointer, fixed binary (35)); 14 11 declare window_$clear_to_end_of_window 14 12 entry (pointer, fixed binary (35)); 14 13 declare window_$clear_window 14 14 entry (pointer, fixed binary (35)); 14 15 declare window_$delete_chars 14 16 entry (pointer, fixed binary, fixed binary (35)); 14 17 declare window_$get_cursor_position 14 18 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 14 19 14 20 /* Call window_$get_echoed_chars (iocb_ptr, n_to_read, read_buffer, n_read, read_break, code); */ 14 21 14 22 declare window_$get_echoed_chars 14 23 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 14 24 fixed binary (35)); 14 25 declare window_$get_unechoed_chars 14 26 entry (pointer, fixed binary (21), character (*), fixed binary (21), character (1) var, 14 27 fixed binary (35)); 14 28 declare window_$insert_text entry (pointer, character (*), fixed binary (35)); 14 29 declare window_$overwrite_text 14 30 entry (pointer, character (*), fixed binary (35)); 14 31 declare window_$position_cursor 14 32 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 14 33 14 34 /* Call window_$position_cursor_rel (iocb_ptr, delta_line, delta_column, code); */ 14 35 14 36 declare window_$position_cursor_rel 14 37 entry (pointer, fixed binary, fixed binary, fixed binary (35)); 14 38 14 39 /* Call window_$scroll_region (iocb_ptr, first_line_of_region, n_lines_of_region, distance_to_scroll_region_negative_is_up, 14 40* code); */ 14 41 14 42 declare window_$scroll_region 14 43 entry (pointer, fixed binary, fixed binary, fixed binary, fixed binary (35)); 14 44 declare window_$sync entry (pointer, fixed binary (35)); 14 45 14 46 /* Call window_$write_raw_text (iocb_ptr, text_string, code); */ 14 47 14 48 declare window_$write_raw_text 14 49 entry (pointer, character (*), fixed binary (35)); 14 50 14 51 /* Call window_$write_sync_read (iocb_ptr, prompt_string, n_to_read, read_buffer, n_read, break_char, code); */ 14 52 14 53 declare window_$write_sync_read 14 54 entry (pointer, character (*), fixed bin (21), character (*), fixed binary (21), 14 55 character (1) var, fixed binary (35)); 14 56 14 57 /* Call window_$change_line (iocb_ptr, new_line, code); */ 14 58 14 59 declare window_$change_line entry (pointer, fixed binary, fixed binary (35)); 14 60 14 61 /* Call window_$change_column (iocb_ptr, new_column, code); */ 14 62 14 63 declare window_$change_column 14 64 entry (pointer, fixed binary, fixed binary (35)); 14 65 14 66 /* Call window_$get_one_unechoed (iocb_ptr, char_or_len_0, block_flag, code); */ 14 67 declare ( 14 68 window_$get_one_unechoed, 14 69 window_$get_one_unechoed_char 14 70 ) entry (pointer, character (1) var, bit (1) aligned, fixed binary (35)); 14 71 14 72 declare window_$create entry (pointer, pointer, pointer, fixed binary (35)); 14 73 14 74 declare window_$destroy entry (pointer, fixed binary (35)); 14 75 14 76 declare window_$edit_line entry (pointer, pointer, pointer, fixed bin(21), fixed bin(21), fixed bin(35)); 14 77 14 78 /* call window_$edit_line (iocb_ptr, window_edit_line_info_ptr, buffer_ptr, 14 79* buffer_len, n_returned, code); */ 14 80 14 81 14 82 /* end include file window_dcls.incl.pl1 */ 1360 1361 15 1 /* BEGIN INCLUDE FILE mode_string_info.incl.pl1 */ 15 2 15 3 /* Structure for parse_mode_string_ JRDavis 20 October 1980 15 4* Last modified 12 January 1981 by J. Spencer Love for version 2, make char_value varying string */ 15 5 15 6 declare mode_value_ptr ptr, 15 7 number_of_modes fixed bin; 15 8 15 9 declare 1 mode_string_info aligned based (mode_string_info_ptr), 15 10 2 version fixed bin, 15 11 2 number fixed bin, 15 12 2 modes (number_of_modes refer (mode_string_info.number)) like mode_value; 15 13 15 14 declare mode_string_info_ptr ptr; 15 15 15 16 declare 1 mode_value aligned based (mode_value_ptr), 15 17 2 version fixed bin, 15 18 2 mode_name char (32) unaligned, 15 19 2 flags, 15 20 3 boolean_valuep bit (1) unaligned, 15 21 3 numeric_valuep bit (1) unaligned, 15 22 3 char_valuep bit (1) unaligned, 15 23 3 boolean_value bit (1) unaligned, 15 24 3 pad1 bit (32) unaligned, 15 25 2 numeric_value fixed bin (35), 15 26 2 char_value char (32) varying, 15 27 2 code fixed bin (35), 15 28 2 pad2 bit (36); 15 29 15 30 declare mode_string_info_version_2 fixed bin static options (constant) initial (2), 15 31 mode_value_version_3 fixed bin static options (constant) initial (3); 15 32 15 33 /* END INCLUDE FILE mode_string_info.incl.pl1 */ 1362 1363 16 1 16 2 /* BEGIN INCLUDE FILE tty_editing_chars.incl.pl1 */ 16 3 16 4 16 5 /****^ HISTORY COMMENTS: 16 6* 1) change(80-11-19,JRDavis), approve(), audit(), install(): 16 7* Created file to declare structure for (get set)_editing_chars 16 8* control order of tty_. 16 9* 2) change(85-10-16,Negaret), approve(87-06-16,MCR7584), 16 10* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 16 11* Add redisplay char (version 3). 16 12* END HISTORY COMMENTS */ 16 13 16 14 16 15 dcl 1 editing_chars aligned based (editing_chars_ptr), 16 16 2 version fixed bin, 16 17 2 erase char (1) unaligned, 16 18 2 kill char (1) unaligned, 16 19 2 redisplay char (1) unaligned; 16 20 16 21 dcl editing_chars_version_2 fixed bin internal static init (2); 16 22 dcl editing_chars_version_3 fixed bin internal static init (3); 16 23 dcl editing_chars_ptr pointer; 16 24 16 25 /* END INCLUDE FILE tty_editing_chars.incl.pl1 */ 1364 1365 17 1 /* BEGIN INCLUDE FILE: mowse_io_control_info.incl.pl1 * * * * * * * * * * * * */ 17 2 17 3 /****^ HISTORY COMMENTS: 17 4* 1) change(86-06-15,Flegel), approve(86-12-16,MCR7580), 17 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 17 6* Created for control support for mowse_io_. 17 7* 2) change(86-08-01,Flegel), approve(86-12-16,MCR7580), 17 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 17 9* Changed version fields to char (8) and 17 10* installed version constant. 17 11* 3) change(86-10-08,Flegel), approve(86-12-16,MCR7580), 17 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 17 13* Added flush_subchannel_info structure. 17 14* 4) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 17 15* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 17 16* Approved. 17 17* 5) change(86-12-05,Flegel), approve(86-12-05,MCR7580), 17 18* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 17 19* Added mowse_io_set_video_mode_info structure. 17 20* 6) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 17 21* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 17 22* Changes to support async call channels. 17 23* END HISTORY COMMENTS */ 17 24 17 25 /* : Version number */ 17 26 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 17 27 dcl mowse_io_info_version_1 17 28 char (8) int static options (constant) 17 29 init ("miover_1"); 17 30 17 31 /* : Mowse store info structure */ 17 32 dcl mowse_io_store_info_ptr 17 33 ptr; 17 34 dcl 01 mowse_io_store_info based (mowse_io_store_info_ptr), 17 35 02 version char (8), 17 36 02 info_ptr ptr; /* Pointer to mowse_info_ structure */ 17 37 17 38 /* : Mowse info structure */ 17 39 dcl mowse_io_info_ptr ptr; 17 40 dcl 01 mowse_io_info based (mowse_io_info_ptr), 17 41 02 version char (8), 17 42 02 mcb_ptr ptr, /* Pointer to mowse_mcb */ 17 43 02 info_ptr ptr; /* Pointer to Mowse information (CATs etc.) */ 17 44 17 45 /* : Control info overlay for debug_on */ 17 46 dcl mowse_io_debug_info_ptr 17 47 ptr; 17 48 dcl 01 mowse_io_debug_info based (mowse_io_debug_info_ptr), 17 49 02 version char (8), 17 50 02 segment_name char (512) var; /* Debug file name */ 17 51 17 52 /* : Control info overlay for get_terminal_emulator_state */ 17 53 dcl mowse_io_terminal_state_ptr 17 54 ptr; 17 55 dcl 01 mowse_io_terminal_state 17 56 based (mowse_io_terminal_state_ptr), 17 57 02 version char (8), 17 58 02 state bit (1) unal, /* WSTERM state */ 17 59 02 mbz bit (35) unal; 17 60 17 61 /* : Control info overlay for send_message and send_local_message */ 17 62 dcl mowse_io_message_ptr ptr; 17 63 dcl 01 mowse_io_message based (mowse_io_message_ptr), 17 64 02 version char (8), 17 65 02 channel fixed bin, /* Channel of message */ 17 66 02 io_message_ptr ptr, /* Pointer to the nonvarying message */ 17 67 02 io_message_len fixed bin (21); /* Length of message */ 17 68 17 69 /* : Control info overlay for put_to_sleep */ 17 70 dcl mowse_io_sleep_info_ptr 17 71 ptr; 17 72 dcl 01 mowse_io_sleep_info based (mowse_io_sleep_info_ptr), 17 73 02 version char (8), 17 74 02 major_index fixed bin, /* CAT index of sleeper */ 17 75 02 sleep_seconds fixed bin; /* Sleep interval */ 17 76 17 77 /* : Control info for flush_subchannel */ 17 78 dcl mowse_io_flush_subchannel_info_ptr 17 79 ptr; 17 80 dcl 01 mowse_io_flush_subchannel_info 17 81 based (mowse_io_flush_subchannel_info_ptr), 17 82 02 version char (8), 17 83 02 subchannel fixed bin; /* The subchannel to be flushed (BG/FG) */ 17 84 17 85 /* : Control info to set the video mode */ 17 86 dcl mowse_io_set_video_mode_info_ptr 17 87 ptr; 17 88 dcl 01 mowse_io_set_video_mode_info 17 89 based (mowse_io_set_video_mode_info_ptr), 17 90 02 version char (8), 17 91 02 mode bit (1) unal, /* On or off */ 17 92 02 mbz bit (35) unal; 17 93 17 94 /* END INCLUDE FILE: mowse_io_control_info.incl.pl1 * * * * * * * * * * * * */ 1366 1367 18 1 /* BEGIN INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 18 2 18 3 /****^ HISTORY COMMENTS: 18 4* 1) change(86-05-17,Smith), approve(86-12-16,MCR7580), 18 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 18 6* Created to define MOWSE message formats. 18 7* 2) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 18 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 18 9* Approved. 18 10* 3) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 18 11* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 18 12* Changes to support async call channels. 18 13* END HISTORY COMMENTS */ 18 14 18 15 /* Message Channels */ 18 16 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 18 17 dcl BG fixed bin int static options (constant) init (0); 18 18 /* Fore ground */ 18 19 dcl FG fixed bin int static options (constant) init (1); 18 20 /* Back ground */ 18 21 18 22 /* Message types: 18 23* 18 24*Each intersystem message is labelled with one of the following types. Upon 18 25*reciept of the message suitable action is undertaken. This scheme was 18 26*introduced to allow the transmission of messsages longer than the maximum 18 27*packet size. 18 28**/ 18 29 18 30 /* Templates for the various messages used throughout the mowse environment. 18 31* Non-allocatable */ 18 32 18 33 dcl message_len fixed bin init (6); 18 34 dcl message_ptr ptr; 18 35 18 36 /* expected format of message */ 18 37 18 38 dcl 01 input_message based (message_ptr), 18 39 02 header, 18 40 03 system char (1) unal, 18 41 03 major char (1) unal, 18 42 03 minor char (1) unal, 18 43 03 source_system char (1) unal, 18 44 03 source_major char (1) unal, 18 45 02 data char (message_len - 5) unal; 18 46 18 47 /* expected format of message to be handled by mowse internal execute command */ 18 48 18 49 dcl 01 execom_message based (message_ptr), 18 50 02 header, 18 51 03 system char (1) unal, 18 52 03 major char (1) unal, 18 53 03 minor char (1) unal, 18 54 03 source_system char (1) unal, 18 55 03 source_major char (1) unal, 18 56 02 data, 18 57 03 cmd_id fixed bin (17) unal, 18 58 03 command char (message_len - 7) unal; 18 59 18 60 /* expected format of message recieved when a request to alter a CAT table 18 61* is made by a remote system */ 18 62 18 63 dcl 01 alter_cat_message based (message_ptr), 18 64 02 header, 18 65 03 system char (1) unal, 18 66 03 major char (1) unal, 18 67 03 minor char (1) unal, 18 68 03 source_system char (1) unal, 18 69 03 source_major char (1) unal, 18 70 02 data, 18 71 03 major char unal, 18 72 03 major_name char (CAPABILITY_NAME_LENGTH) unal; 18 73 18 74 /* Template used to parse message recieved from some remote system. */ 18 75 18 76 dcl 01 event_message based (message_ptr), 18 77 02 header, 18 78 03 system char (1) unal, 18 79 03 major char (1) unal, 18 80 03 msg_type char (1) unal; 18 81 18 82 /* format of message of MORE type */ 18 83 18 84 dcl 01 request_more_message 18 85 based (message_ptr), 18 86 02 header, 18 87 03 system char (1) unal, 18 88 03 major char (1) unal, 18 89 03 more char (1) unal, 18 90 03 source_system char (1) unal, 18 91 03 source_major char (1) unal, 18 92 03 source_minor char (1) unal; 18 93 18 94 /* format of message of CONTINUE type */ 18 95 18 96 dcl 01 more_remaining_message 18 97 based (message_ptr), 18 98 02 header, 18 99 03 system char (1) unal, 18 100 03 major char (1) unal, 18 101 03 continue char (1) unal, 18 102 03 minor char (1) unal, 18 103 03 source_system char (1) unal, 18 104 03 source_major char (1) unal, 18 105 02 data, 18 106 03 data_buf char (message_len - 6) unal; 18 107 18 108 /* format of message of LAST type */ 18 109 18 110 dcl 01 last_message based (message_ptr), 18 111 02 header, 18 112 03 system char (1) unal, 18 113 03 major char (1) unal, 18 114 03 minor char (1) unal, 18 115 03 source_system char (1) unal, 18 116 03 source_major char (1) unal, 18 117 02 data, 18 118 03 data_buf char (message_len - 5) unal; 18 119 18 120 /* Execute_command_reply message format */ 18 121 18 122 dcl 01 execom_reply_msg based (message_ptr), 18 123 02 header, 18 124 03 system char (1) unal, 18 125 03 major char (1) unal, 18 126 03 minor char (1) unal, 18 127 03 source_system char (1) unal, 18 128 03 source_major char (1) unal, 18 129 02 data, 18 130 03 cmd_id fixed bin unal, 18 131 03 status char unal; 18 132 18 133 /* Used to manage partial messages destined for any application */ 18 134 18 135 dcl msg_node_ptr ptr; 18 136 dcl 01 message_node based (msg_node_ptr), 18 137 02 major fixed bin, 18 138 02 partial_msg_list_ptr 18 139 ptr, 18 140 02 next_node ptr, 18 141 02 prev_node ptr, 18 142 02 last_part_msg ptr; 18 143 18 144 dcl part_msg_ptr ptr; 18 145 dcl 01 partial_message based (part_msg_ptr), 18 146 02 msg_ptr ptr, 18 147 02 msg_len fixed bin, 18 148 02 next_msg ptr; 18 149 18 150 18 151 dcl part_msg_length fixed bin; 18 152 dcl part_msg char (part_msg_length) based; 18 153 18 154 /* Trace information structure */ 18 155 dcl 01 trace_message_info, 18 156 02 direction fixed bin, 18 157 02 from_system fixed bin, 18 158 02 from_major fixed bin, 18 159 02 dest_system fixed bin, 18 160 02 dest_major fixed bin, 18 161 02 dest_minor fixed bin, 18 162 02 msg_type fixed bin, 18 163 02 message char (PACKET_SIZE) var; 18 164 18 165 /* END INCLUDE FILE: mowse_messages.incl.pl1 * * * * * * * * * * * * */ 1368 1369 19 1 /* BEGIN INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 19 2 19 3 /****^ HISTORY COMMENTS: 19 4* 1) change(86-09-17,Flegel), approve(86-12-16,MCR7580), 19 5* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 19 6* Created. 19 7* 2) change(86-10-03,Flegel), approve(86-12-16,MCR7580), 19 8* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 19 9* Combined mowse_minor_caps.incl.pl1 and 19 10* mowse.incl.pl1 so that programmer only needs include mowse.incl.pl1 19 11* 3) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 19 12* audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255): 19 13* Approved. 19 14* 4) change(87-07-31,Flegel), approve(87-07-31,MCR7580), 19 15* audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075): 19 16* Changes to support async call channels. 19 17* END HISTORY COMMENTS */ 19 18 19 19 /* Name of MOWSE temp seg for data */ 19 20 19 21 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 19 22 dcl temp_seg_name char (6) init ("MOWSE_"); 19 23 19 24 /* Version number */ 19 25 19 26 dcl MOWSE_VERSION_ char (8) int static options (constant) init ("version1"); 19 27 19 28 /* System identification */ 19 29 19 30 dcl LOCAL_SYSTEM fixed bin int static options (constant) init (32); 19 31 dcl REMOTE_SYSTEM fixed bin int static options (constant) init (33); 19 32 19 33 /* Status request return codes */ 19 34 19 35 dcl STATUS_SUCCESS fixed bin (8) int static options (constant) 19 36 init (32); 19 37 dcl STATUS_FAILED fixed bin (8) int static options (constant) 19 38 init (33); 19 39 19 40 /* Input/output capability buffer size limits */ 19 41 19 42 dcl MINIMUM_BUFFER_SIZE fixed bin int static options (constant) init (128); 19 43 dcl MAXIMUM_BUFFER_SIZE fixed bin int static options (constant) init (65536); 19 44 dcl MAXIMUM_BG_SIZE fixed bin int static options (constant) init (512); 19 45 19 46 /* Packet size (communication) constants */ 19 47 19 48 dcl PACKET_SIZE fixed bin int static options (constant) init (124); 19 49 dcl MAXIMUM_PACKET_SIZE fixed bin int static options (constant) init (118); 19 50 19 51 /* Query message constants */ 19 52 19 53 dcl SEND_QUERY fixed bin int static options (constant) init (128); 19 54 dcl ACCEPT fixed bin int static options (constant) init (32); 19 55 dcl REJECT fixed bin int static options (constant) init (33); 19 56 19 57 /* Trace information constants */ 19 58 19 59 dcl RECEIVE fixed bin int static options (constant) init (1); 19 60 dcl SEND fixed bin int static options (constant) init (0); 19 61 19 62 /* Limits on dedicated minor capabilities */ 19 63 19 64 dcl MINIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (32); 19 65 dcl MAXIMUM_SYSTEM_MINOR fixed bin int static options (constant) init (63); 19 66 dcl MINIMUM_USER_MINOR fixed bin int static options (constant) init (64); 19 67 dcl MAXIMUM_USER_MINOR fixed bin int static options (constant) init (127); 19 68 19 69 /* Dedicated Minor Capabilities */ 19 70 19 71 dcl LAST fixed bin int static options (constant) init (0); 19 72 dcl EXECUTE_COMMAND_REPLY fixed bin int static options (constant) init (32); 19 73 dcl EXECUTE_CAPABILITY_REPLY 19 74 fixed bin int static options (constant) init (33); 19 75 dcl FAIL_CAPABILITY fixed bin int static options (constant) init (33); 19 76 dcl INTERNAL fixed bin int static options (constant) init (32); 19 77 dcl EXECUTE_COMMAND fixed bin int static options (constant) init (34); 19 78 dcl ADD_TO_REMOTE_CAT fixed bin int static options (constant) init (35); 19 79 dcl DELETE_FROM_REMOTE_CAT fixed bin int static options (constant) init (36); 19 80 dcl SUSPEND_APPLICATION fixed bin int static options (constant) init (37); 19 81 dcl RESUME_APPLICATION fixed bin int static options (constant) init (38); 19 82 dcl TERMINATE_APPLICATION fixed bin int static options (constant) init (39); 19 83 dcl RESET_APPLICATION fixed bin int static options (constant) init (40); 19 84 dcl RESET_REPLY fixed bin int static options (constant) init (41); 19 85 dcl WAKE_UP fixed bin int static options (constant) init (42); 19 86 dcl STATUS fixed bin int static options (constant) init (43); 19 87 dcl OVERFLOWED_BUFFER fixed bin int static options (constant) init (44); 19 88 dcl SYSTEM_ERROR fixed bin int static options (constant) init (45); 19 89 dcl QUERY_REPLY fixed bin int static options (constant) init (46); 19 90 dcl RESPONSE_CONNECT fixed bin int static options (constant) init (47); 19 91 dcl RESPONSE_DISCONNECT fixed bin int static options (constant) init (48); 19 92 dcl REQUEST_CONNECT fixed bin int static options (constant) init (49); 19 93 dcl REQUEST_DISCONNECT fixed bin int static options (constant) init (50); 19 94 dcl CONTINUE fixed bin int static options (constant) init (51); 19 95 dcl MORE fixed bin int static options (constant) init (52); 19 96 dcl SET_SLEEP_FLAG fixed bin int static options (constant) init (53); 19 97 dcl RESET_SLEEP_FLAG fixed bin int static options (constant) init (54); 19 98 dcl SET_SUSPEND fixed bin int static options (constant) init (55); 19 99 dcl RESET_SUSPEND fixed bin int static options (constant) init (56); 19 100 dcl STATUS_REPLY fixed bin int static options (constant) init (57); 19 101 19 102 /* Foreground */ 19 103 19 104 dcl FG_CONTROL_MESSAGE fixed bin int static options (constant) init (33); 19 105 dcl FG_BREAK fixed bin int static options (constant) init (34); 19 106 dcl FG_TERMINAL_DATA fixed bin int static options (constant) init (35); 19 107 dcl FG_MORE_DATA fixed bin int static options (constant) init (36); 19 108 dcl PUT_TO_BACKGROUND_BUFFER 19 109 fixed bin int static options (constant) init (37); 19 110 dcl PUT_TO_QUERY_MESSAGE_BUFFER 19 111 fixed bin int static options (constant) init (38); 19 112 19 113 /* END INCLUDE FILE: mowse.incl.pl1 * * * * * * * * * * * * */ 1370 1371 1372 1373 end video_utils_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/10/89 1159.9 video_utils_.pl1 >spec>install>1041>video_utils_.pl1 923 1 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 924 2 07/18/81 1100.0 sub_error_info.incl.pl1 >ldd>include>sub_error_info.incl.pl1 925 3 06/28/79 1204.8 condition_info.incl.pl1 >ldd>include>condition_info.incl.pl1 1015 4 08/06/87 0913.5 tty_editing_chars.incl.pl1 >ldd>include>tty_editing_chars.incl.pl1 1016 5 10/18/88 1210.6 tty_convert.incl.pl1 >ldd>include>tty_convert.incl.pl1 1017 6 11/05/79 1428.9 flow_control_info.incl.pl1 >ldd>include>flow_control_info.incl.pl1 1321 7 05/20/83 1846.4 iocb.incl.pl1 >ldd>include>iocb.incl.pl1 1350 8 06/03/83 1008.5 iocbx.incl.pl1 >ldd>include>iocbx.incl.pl1 1352 9 08/06/87 0913.5 tty_attach_data_.incl.pl1 >ldd>include>tty_attach_data_.incl.pl1 9-62 10 06/29/79 1728.0 event_wait_channel.incl.pl1 >ldd>include>event_wait_channel.incl.pl1 1354 11 08/06/87 0913.5 net_event_message.incl.pl1 >ldd>include>net_event_message.incl.pl1 1356 12 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.incl.pl1 1358 13 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 1360 14 09/12/84 0916.7 window_dcls.incl.pl1 >ldd>include>window_dcls.incl.pl1 1362 15 03/19/81 1206.8 mode_string_info.incl.pl1 >ldd>include>mode_string_info.incl.pl1 1364 16 08/06/87 0913.5 tty_editing_chars.incl.pl1 >ldd>include>tty_editing_chars.incl.pl1 1366 17 08/10/87 1336.7 mowse_io_control_info.incl.pl1 >ldd>include>mowse_io_control_info.incl.pl1 1368 18 08/10/87 1335.9 mowse_messages.incl.pl1 >ldd>include>mowse_messages.incl.pl1 1370 19 08/10/87 1336.7 mowse.incl.pl1 >ldd>include>mowse.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. CV_TRANS_VERSION constant fixed bin(17,0) initial dcl 5-127 ref 1091 1092 1093 1094 DELAY_VERSION constant fixed bin(17,0) initial dcl 5-126 ref 1067 DSA_NETWORK_TYPE constant fixed bin(4,0) initial unsigned dcl 11-35 ref 201 206 697 883 1303 FG constant fixed bin(17,0) initial dcl 18-19 ref 683 MCS_NETWORK_TYPE constant fixed bin(4,0) initial unsigned dcl 11-34 ref 312 1066 1153 1220 1299 1303 MOWSE_NETWORK_TYPE constant fixed bin(4,0) initial unsigned dcl 11-36 ref 199 423 556 682 695 846 1060 1106 1286 1303 PACKET_SIZE constant fixed bin(17,0) initial dcl 19-48 ref 18-155 Pmowse 000354 automatic pointer dcl 1272 set ref 1283* 1285 SPECIAL_INFO_STRUCT_VERSION_1 000000 constant char(8) initial packed unaligned dcl 5-122 ref 1137 Stream_input_output 000071 constant fixed bin(17,0) initial dcl 13-15 set ref 253* 281* 360* 387* 481* 511* 654* 723* 764* 856* Stream_output 000077 constant fixed bin(17,0) initial dcl 13-15 set ref 946* acode 000340 automatic fixed bin(35,0) dcl 175 set ref 590* 591 591* 603* 604 604* 629* 630 630* 641* 642 642* 654* 655 655* addr builtin function dcl 165 ref 194 194 425 685 685 912 912 934 934 1030 1054 1054 1062 1062 1069 1069 1075 1075 1080 1080 1085 1085 1108 1108 1115 1115 1123 1123 1130 1130 1139 1139 1297 1297 any_other 000320 stack reference condition dcl 155 ref 215 324 451 543 932 area_ptr 2 001662 automatic pointer level 2 dcl 1005 set ref 1138* attach_descrip_ptr 14 based pointer level 2 dcl 7-6 ref 1337 1338 auto_delay_struc 001232 automatic structure level 1 dcl 991 set ref 1069 1069 1156 auto_editing_chars 001230 automatic structure level 1 dcl 990 set ref 1062 1062 1150 auto_framing_chars 001242 automatic structure level 1 dcl 992 set ref 1075 1075 1160 auto_get_special_info_struc 001662 automatic structure level 1 dcl 1005 set ref 1139 1139 auto_input_conversion 001251 automatic structure level 1 dcl 997 set ref 1108 1108 1176 auto_input_flow_control_info 001243 automatic structure level 1 dcl 993 set ref 1080 1080 1164 auto_input_translation 001353 automatic structure level 1 dcl 999 set ref 1115 1115 1184 auto_mode_string_info 000746 automatic structure level 1 dcl 984 set ref 1054 1054 auto_mode_value 000720 automatic structure level 1 unaligned dcl 983 set ref 1030 auto_output_conversion 001455 automatic structure level 1 dcl 1001 set ref 1123 1123 1192 auto_output_flow_control_info 001246 automatic structure level 1 dcl 995 set ref 1085 1085 1168 auto_output_translation 001557 automatic structure level 1 dcl 1003 set ref 1130 1130 1200 based_vcs based varying char(256) dcl 1323 ref 1338 boolean_value 11(03) based bit(1) level 3 packed packed unaligned dcl 15-16 ref 1044 boolean_valuep 11 based bit(1) level 3 packed packed unaligned dcl 15-16 ref 1044 c_chars based structure level 1 dcl 5-54 ci 000104 automatic structure level 1 dcl 927 set ref 934 934 cleanup_label 000334 automatic label variable dcl 157 set ref 214* 215* 231* 239* 241* 250* 268* 278* 285* 323* 324* 338* 346* 348* 357* 374* 384* 391* 450* 451* 466* 468* 478* 498* 508* 515* 965 codep parameter fixed bin(35,0) dcl 1268 set ref 1265 1276* 1293* 1297* 1298 1300* 1302 1304* codeptr builtin function dcl 165 ref 243 243 270 270 350 350 376 376 470 470 500 500 572 572 641 641 720 720 760 760 853 853 common_modes 000010 constant char(8) initial array packed unaligned dcl 117 set ref 1033 1033 1034* complete_tty_state based structure level 1 dcl 97 set ref 1145 1258 complete_tty_state_ptr 000010 internal static pointer dcl 93 set ref 258 261 264 364 367 370 485 488 491 1145* 1147 1151 1157 1161 1165 1169 1172 1177 1180 1185 1188 1193 1196 1201 1205 1215 1217 1218 1222 1223 1225 1226 1228 1229 1231 1232 1235 1236 1237 1240 1241 1242 1245 1246 1247 1250 1251 1252 1255 1256 1258 condition_info based structure level 1 dcl 3-14 condition_info_header based structure level 1 dcl 1-6 condition_info_header_ptr 000100 automatic pointer dcl 1-4 set ref 959* 960 963 condition_name 3 000104 automatic varying char(32) level 2 dcl 927 set ref 936 953 960 create_ips_mask_ 000020 constant entry external dcl 120 ref 194 cv_trans based structure level 1 dcl 5-62 cv_trans_struc based structure level 1 dcl 5-107 set ref 1175 1176* 1183 1184* 1191 1192* 1199 1200* 1237 1242 1247 1252 default 1 001455 automatic fixed bin(17,0) level 2 in structure "auto_output_conversion" dcl 1001 in procedure "get_tty_state" set ref 1098* default 1 001232 automatic fixed bin(17,0) level 2 in structure "auto_delay_struc" dcl 991 in procedure "get_tty_state" set ref 1072* default 1 001353 automatic fixed bin(17,0) level 2 in structure "auto_input_translation" dcl 999 in procedure "get_tty_state" set ref 1097* default 1 001251 automatic fixed bin(17,0) level 2 in structure "auto_input_conversion" dcl 997 in procedure "get_tty_state" set ref 1096* default 1 001557 automatic fixed bin(17,0) level 2 in structure "auto_output_translation" dcl 1003 in procedure "get_tty_state" set ref 1099* delay based structure level 1 dcl 5-66 delay_ptr 202 based pointer level 2 dcl 97 set ref 1157* 1222* 1223 delay_struc based structure level 1 dcl 5-112 set ref 1155 1156* 1223 descrip 001701 automatic varying char(256) dcl 1323 set ref 1338* 1339 1339 1339 devx 000501 automatic fixed bin(17,0) dcl 876 set ref 888* 889* dim_arg parameter char packed unaligned dcl 1323 ref 1318 1339 dim_lth 002002 automatic fixed bin(17,0) dcl 1323 set ref 1332* 1339 dim_name parameter char packed unaligned dcl 1323 ref 1318 1332 1339 dsa_tty_$detach 000150 constant entry external dcl 874 ref 885 dsa_tty_$index 000146 constant entry external dcl 873 ref 884 editing_chars based structure level 1 dcl 4-15 set ref 1149 1150* 1218 editing_chars_ptr 200 based pointer level 2 dcl 97 set ref 264* 370* 491* 1151* 1217* 1218 editing_chars_version_3 constant fixed bin(17,0) initial dcl 4-22 ref 1058 error 002003 automatic fixed bin(35,0) dcl 1323 set ref 1333* 1334 1335* 1336 error_code parameter fixed bin(35,0) dcl 172 set ref 169 180* 182* 188* 189 210* 211 226* 228 233* 234 243* 247 253* 255 270* 273 281* 282 289* 290 316* 317 333* 335 340* 341 350* 354 360* 362 376* 379 387* 388 395* 396 427* 429 430* 435* 441* 442 455* 457 461* 463 470* 475 481* 482 488* 493 500* 503 511* 512 519* 520 549* 557* 558 577 669 674* 685* 718* 720* 721 721* 723* 724 724* 758* 760* 761 761* 764* 765 765* 789* 791* 792* 793 793* 801* 803 803* 844* 847* 848 848* 853* 854 854* 856* 857 857* 956* 963* 1020* 1021 1034* 1035 1043* 1044 1054* 1055 1062* 1063 1069* 1070 1075* 1076 1080* 1081 1085* 1086 1108* 1109 1109 1115* 1116 1116 1123* 1124 1124 1130* 1131 1131 1139* 1140 error_table_$action_not_performed 000060 external static fixed bin(35,0) dcl 146 ref 430 435 1293 1304 error_table_$no_table 000062 external static fixed bin(35,0) dcl 148 ref 1109 1116 1124 1131 error_table_$undefined_order_request 000064 external static fixed bin(35,0) dcl 149 ref 1298 escape_length 56 based fixed bin(17,0) level 3 dcl 5-76 ref 1256 1256 1256 1256 1256 1256 event_wait_channel 000356 automatic structure level 1 dcl 10-8 find_condition_info_ 000154 constant entry external dcl 929 ref 934 flags 11 based structure level 2 dcl 15-16 framing_chars based structure level 1 dcl 1009 set ref 1159 1160* 1226 framing_chars_ptr 204 based pointer level 2 dcl 97 set ref 1161* 1225* 1226 fsc_info 000314 automatic structure level 1 unaligned dcl 115 set ref 685 685 get_special_info_struc based structure level 1 dcl 5-117 get_system_free_area_ 000162 constant entry external dcl 1013 ref 1138 hbound builtin function dcl 165 ref 194 194 1033 hcs_$reset_ips_mask 000024 constant entry external dcl 122 ref 552 727 768 806 860 hcs_$set_ips_mask 000022 constant entry external dcl 121 ref 197 223 329 447 690 827 hcs_$tty_detach 000144 constant entry external dcl 872 ref 889 hcs_$tty_index 000142 constant entry external dcl 871 ref 888 header based structure level 2 dcl 2-7 ifc_ptr 206 based pointer level 2 dcl 97 set ref 1165* 1228* 1229 index builtin function dcl 165 ref 1339 info_ptr 14 000104 automatic pointer level 2 dcl 927 set ref 954 958 959 info_string 3 based varying char(256) level 2 in structure "condition_info_header" dcl 1-6 in procedure "handle_any_other" ref 960 info_string 3 based varying char(256) level 3 in structure "sub_error_info" dcl 2-7 in procedure "handle_any_other" ref 955 input_conversion_ptr 214 based pointer level 2 dcl 97 set ref 1172* 1177* 1235 1236* 1237 input_escapes based structure level 3 dcl 5-76 input_flow_control_info based structure level 1 dcl 6-9 set ref 1163 1164* 1229 input_translation_ptr 212 based pointer level 2 dcl 97 set ref 1180* 1185* 1240 1241* 1242 iocb based structure level 1 dcl 7-6 in procedure "find_appropriate_iocb" iocb based structure level 1 dcl 8-9 in procedure "video_utils_" iocb_ptr 001676 automatic pointer dcl 1323 set ref 1335* 1337 1338 1339 iocbp 000154 automatic pointer dcl 941 in begin block on line 939 set ref 945* 946* 948* 949* 950* iocbp 000352 automatic pointer dcl 831 in procedure "video_utils_" set ref 834* 835* 836* 837* 838* 839* 840* 841* iox_$attach_name 000100 constant entry external dcl 12-8 ref 945 iox_$attach_ptr 000102 constant entry external dcl 12-8 ref 243 270 350 376 470 500 641 720 760 853 iox_$close 000104 constant entry external dcl 12-8 ref 226 333 590 616 708 712 748 752 791 796 948 iox_$control 000106 constant entry external dcl 12-8 ref 258 261 264 364 367 370 427 485 488 491 557 568 657 685 735 776 1062 1069 1075 1080 1085 1108 1115 1123 1130 1139 1217 1222 1225 1228 1231 1236 1241 1246 1251 1255 1297 iox_$destroy_iocb 000110 constant entry external dcl 12-8 ref 618 714 754 798 950 iox_$detach_iocb 000112 constant entry external dcl 12-8 ref 233 340 603 617 710 713 750 753 792 797 949 iox_$error_output 000134 external static pointer dcl 12-41 set ref 839* iox_$find_iocb 000114 constant entry external dcl 12-8 ref 210 316 441 455 834 836 838 840 iox_$find_iocb_n 000116 constant entry external dcl 12-8 ref 1335 iox_$init_standard_iocbs 000074 constant entry external dcl 823 ref 842 iox_$modes 000120 constant entry external dcl 12-8 ref 550 658 1020 1215 iox_$move_attach 000122 constant entry external dcl 12-8 ref 461 629 801 835 837 839 841 847 iox_$open 000124 constant entry external dcl 12-8 ref 253 281 360 387 481 511 654 723 764 856 946 iox_$user_input 000130 external static pointer dcl 12-41 set ref 837* iox_$user_io 000132 external static pointer dcl 12-41 set ref 680* 841* 847* 853* 856* iox_$user_output 000126 external static pointer dcl 12-41 set ref 835* ipc_$mask_ev_calls 000026 constant entry external dcl 123 ref 224 330 448 691 ipc_$unmask_ev_calls 000030 constant entry external dcl 124 ref 554 728 769 807 ips_mask_name 000301 automatic char(32) initial array dcl 89 set ref 89* 194 194 194 194 lbound builtin function dcl 165 ref 1033 len based fixed bin(8,0) level 4 packed packed unaligned dcl 5-76 ref 1256 1256 length builtin function dcl 165 ref 1332 1339 ltrim builtin function dcl 165 ref 960 message_len 000364 automatic fixed bin(17,0) initial dcl 18-33 set ref 18-33* min builtin function dcl 165 ref 1339 mode_idx 000510 automatic fixed bin(17,0) dcl 977 set ref 1033* 1034* mode_name 1 based char(32) level 2 packed packed unaligned dcl 15-16 set ref 1046* mode_string_$get 000032 constant entry external dcl 125 ref 1054 mode_string_$get_mode 000034 constant entry external dcl 126 ref 1034 1043 mode_string_info_version_2 constant fixed bin(17,0) initial dcl 15-30 ref 1027 mode_value based structure level 1 dcl 15-16 set ref 1037 1048 mode_value_ptr 000362 automatic pointer dcl 15-6 set ref 1030* 1031 1034* 1037 1043* 1044 1044 1046 1048 mode_value_version_3 constant fixed bin(17,0) initial dcl 15-30 ref 1031 modes 2 000746 automatic structure array level 2 dcl 984 set ref 1037* 1048* modes_string based char(512) level 2 packed packed unaligned dcl 97 set ref 1147* 1215* mowse_io_flush_subchannel_info based structure level 1 unaligned dcl 17-80 mowse_io_info_version_1 000002 constant char(8) initial packed unaligned dcl 17-27 ref 426 684 mowse_io_term_ptr 000344 automatic pointer dcl 419 set ref 425* 427* mowse_io_term_state 000341 automatic structure level 1 packed packed unaligned dcl 419 set ref 425 mowse_io_terminal_state based structure level 1 packed packed unaligned dcl 17-55 mowse_iocb_ptr 000012 internal static pointer dcl 160 set ref 455* 461* 535* 564* 629* 801* 847* mowse_terminal_switch 000004 constant char(15) initial packed unaligned dcl 159 set ref 454 455* 467 470 n 001700 automatic fixed bin(17,0) dcl 1323 set ref 1334* 1335* n_channels 000356 automatic fixed bin(17,0) initial level 2 dcl 10-8 set ref 10-8* name 106 based char(32) level 2 dcl 2-7 ref 955 network_type 000014 internal static fixed bin(4,0) unsigned dcl 161 set ref 188* 199 201 206* 312* 423* 556 682 695 697 846 883 1060 1066 1106 1153 1220 networkp parameter fixed bin(4,0) unsigned dcl 1268 set ref 1265 1275* 1286* 1297 1297 1299* 1303 1303 1303 no_input_conversion 000714 automatic bit(1) dcl 980 set ref 1101* 1109* 1172 no_input_translation 000715 automatic bit(1) dcl 980 set ref 1102* 1116* 1180 no_output_conversion 000716 automatic bit(1) dcl 980 set ref 1103* 1124* 1188 no_output_translation 000717 automatic bit(1) dcl 980 set ref 1104* 1131* 1196 null builtin function dcl 165 ref 181 535 557 557 564 568 568 570 570 577 657 657 676 715 735 735 755 776 776 799 934 934 945 945 947 947 958 1172 1180 1188 1196 1235 1240 1245 1250 1274 1280 1285 1292 1337 1346 number 1 000746 automatic fixed bin(17,0) level 2 dcl 984 set ref 1028* 1036* 1036 1037 1047* 1047 1048 ofc_ptr 210 based pointer level 2 dcl 97 set ref 1169* 1231* 1232 output_conversion_ptr 216 based pointer level 2 dcl 97 set ref 258* 364* 485* 1188* 1193* 1245 1246* 1247 output_flow_control_info based structure level 1 dcl 6-19 set ref 1167 1168* 1232 output_translation_ptr 220 based pointer level 2 dcl 97 set ref 1196* 1201* 1250 1251* 1252 reason parameter char packed unaligned dcl 173 in procedure "video_utils_" set ref 169 183* 190* 209* 225* 232* 240* 252* 266* 280* 287* 315* 332* 339* 347* 359* 372* 386* 393* 431* 436* 440* 454* 460* 467* 480* 496* 510* 517* 548* 559* 955* 955 960* 960 1019* 1053* 1061* 1068* 1074* 1079* 1084* 1107* 1114* 1122* 1129* 1136* 1294* 1305* 1310* reason parameter fixed bin(35,0) dcl 902 in procedure "must_kill_process" ref 898 911 return_label parameter label variable dcl 921 ref 917 917 rtrim builtin function dcl 165 ref 240 266 270 347 372 376 496 500 834 836 838 840 945 955 955 960 saved_ips_mask 000300 automatic bit(36) dcl 87 set ref 194* 196* 196 197* 223* 329* 447* 552* 688* 690* 727* 768* 806* sci_ptr 000312 automatic pointer dcl 91 set ref 570* 572* 573* special_chars 2 based structure level 2 dcl 5-76 special_chars_struc based structure level 1 dcl 5-76 ref 1256 special_ptr 222 based pointer level 2 dcl 97 set ref 261* 367* 488* 1205* 1255* 1256 ssu_$destroy_invocation 000040 constant entry external dcl 129 ref 573 ssu_$record_usage 000042 constant entry external dcl 131 ref 572 ssu_$standalone_invocation 000036 constant entry external dcl 127 ref 570 state 2 000341 automatic bit(1) level 2 packed packed unaligned dcl 419 set ref 434 status 1 000100 automatic fixed bin(35,0) level 2 dcl 906 set ref 911* status_code 104 based fixed bin(35,0) level 3 in structure "sub_error_info" dcl 2-7 in procedure "handle_any_other" ref 956 status_code 104 based fixed bin(35,0) level 2 in structure "condition_info_header" dcl 1-6 in procedure "handle_any_other" ref 963 sub_error_ 000326 stack reference condition dcl 156 ref 241 245 268 276 348 352 374 382 468 473 498 506 sub_error_info based structure level 1 dcl 2-7 sub_error_info_ptr 000102 automatic pointer dcl 2-6 set ref 954* 955 955 956 subchannel 2 000314 automatic fixed bin(17,0) level 2 dcl 115 set ref 683* substr builtin function dcl 165 ref 1339 sw 000144 automatic char(32) dcl 940 set ref 944* 945 945 947* syn_son 152 based pointer level 2 dcl 8-9 ref 1281 table_ptr 4 001662 automatic pointer level 2 dcl 1005 set ref 1205 target 000470 automatic char(32) packed unaligned dcl 870 set ref 881* 884* 888* target_iocb 000016 internal static pointer dcl 163 set ref 188* 226* 233* 270* 281* 333* 340* 376* 387* 427* 461* 500* 511* 550* 590* 603* 629* 641* 654* 657* 658* 708* 710* 720* 723* 735* 748* 750* 760* 764* 776* 791* 792* 801* 1020* 1062* 1069* 1075* 1080* 1085* 1108* 1115* 1123* 1130* 1139* 1215* 1217* 1222* 1225* 1228* 1231* 1236* 1241* 1246* 1251* 1255* targetp parameter pointer dcl 1268 set ref 1265 1274* 1278* 1280 1281* 1281 1291* 1292 1297* temp_ptr 000712 automatic pointer dcl 979 set ref 1149* 1150 1151 1155* 1156 1157 1159* 1160 1161 1163* 1164 1165 1167* 1168 1169 1175* 1176 1177 1183* 1184 1185 1191* 1192 1193 1199* 1200 1201 temp_seg_name 000366 automatic char(6) initial packed unaligned dcl 19-22 set ref 19-22* terminate_process_ 000152 constant entry external dcl 904 ref 912 ti 000100 automatic structure level 1 dcl 906 set ref 912 912 trace_stack_ 000156 constant entry external dcl 930 ref 947 tty_handle 000500 automatic fixed bin(35,0) dcl 875 set ref 884* 885* tty_modes 000511 automatic char(512) packed unaligned dcl 978 set ref 1020* 1034* 1043* 1147 u 000346 automatic char(15) packed unaligned dcl 830 set ref 833* 834 836 838 840 unique_chars_ 000160 constant entry external dcl 942 in begin block on line 939 ref 944 unique_chars_ 000076 constant entry external dcl 829 in procedure "video_utils_" ref 833 use_exl_video_system$cleanup 000044 constant entry external dcl 133 ref 731 772 810 use_exl_video_system$setup 000072 constant entry external dcl 177 ref 289 395 519 user_info_$terminal_data 000140 constant entry external dcl 868 ref 881 user_io_modes 000100 automatic char(512) packed unaligned dcl 85 set ref 550* 1054* version 000746 automatic fixed bin(17,0) level 2 in structure "auto_mode_string_info" dcl 984 in procedure "get_tty_state" set ref 1027* version 000314 automatic char(8) level 2 in structure "fsc_info" packed packed unaligned dcl 115 in procedure "video_utils_" set ref 684* version 001455 automatic fixed bin(17,0) level 2 in structure "auto_output_conversion" dcl 1001 in procedure "get_tty_state" set ref 1093* version based fixed bin(17,0) level 2 in structure "mode_value" dcl 15-16 in procedure "video_utils_" set ref 1031* version 001557 automatic fixed bin(17,0) level 2 in structure "auto_output_translation" dcl 1003 in procedure "get_tty_state" set ref 1094* version 001251 automatic fixed bin(17,0) level 2 in structure "auto_input_conversion" dcl 997 in procedure "get_tty_state" set ref 1091* version 2 000104 automatic fixed bin(17,0) level 2 in structure "ci" dcl 927 in procedure "handle_any_other" set ref 933* version 001232 automatic fixed bin(17,0) level 2 in structure "auto_delay_struc" dcl 991 in procedure "get_tty_state" set ref 1067* version 000100 automatic fixed bin(17,0) level 2 in structure "ti" dcl 906 in procedure "must_kill_process" set ref 910* version 001353 automatic fixed bin(17,0) level 2 in structure "auto_input_translation" dcl 999 in procedure "get_tty_state" set ref 1092* version 000341 automatic char(8) level 2 in structure "mowse_io_term_state" packed packed unaligned dcl 419 in procedure "video_utils_" set ref 426* version 001662 automatic char(8) level 2 in structure "auto_get_special_info_struc" dcl 1005 in procedure "get_tty_state" set ref 1137* version 001230 automatic fixed bin(17,0) level 2 in structure "auto_editing_chars" dcl 990 in procedure "get_tty_state" set ref 1058* video_data_$exl_initialized 000056 external static bit(1) packed unaligned dcl 143 set ref 288 292* 394 398* 518 522* 730 732* 771 773* 809 811* video_data_$exl_video_system 000054 external static bit(1) packed unaligned dcl 141 ref 288 394 518 730 771 809 video_data_$terminal_iocb 000052 external static pointer dcl 139 set ref 181 210* 243* 253* 258* 261* 264* 316* 350* 360* 364* 367* 370* 441* 470* 481* 485* 488* 491* 557* 568* 577* 616* 617* 618* 676 685* 693* 712* 713* 714* 715* 752* 753* 754* 755* 796* 797* 798* 799* video_data_$terminal_switch 000050 external static char(32) packed unaligned dcl 137 set ref 209 210* 240 252 266 270 315 316* 347 359 372 376 440 441* 480 496 500 video_data_$version 000070 external static char(12) packed unaligned dcl 153 set ref 570* video_et_$wsys_invoked 000066 external static fixed bin(35,0) dcl 152 ref 182 why parameter char packed unaligned dcl 901 ref 898 window_$destroy_all 000046 constant entry external dcl 135 ref 693 window_$sync 000136 constant entry external dcl 14-44 ref 680 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACCEPT internal static fixed bin(17,0) initial dcl 19-54 ADD_TO_REMOTE_CAT internal static fixed bin(17,0) initial dcl 19-78 BG internal static fixed bin(17,0) initial dcl 18-17 CONTINUE internal static fixed bin(17,0) initial dcl 19-94 CV_TRANS_SIZE internal static fixed bin(17,0) initial array dcl 5-129 DELETE_FROM_REMOTE_CAT internal static fixed bin(17,0) initial dcl 19-79 DSA_ATTENTION_MSG internal static fixed bin(8,0) initial unsigned dcl 11-83 DSA_DATA_ATTENTION_MSG internal static fixed bin(8,0) initial unsigned dcl 11-84 DSA_DATA_INPUT_MSG internal static fixed bin(8,0) initial unsigned dcl 11-100 DSA_DATA_OUTPUT_MSG internal static fixed bin(8,0) initial unsigned dcl 11-101 DSA_DEMAND_RELEASE_SRU_MSG internal static fixed bin(8,0) initial unsigned dcl 11-85 DSA_DEMAND_TURN_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 11-87 DSA_DEMAND_TURN_MSG internal static fixed bin(8,0) initial unsigned dcl 11-86 DSA_ESTABLISHMENT_MSG internal static fixed bin(8,0) initial unsigned dcl 11-97 DSA_MSG_TYPE_TO_PNAME internal static char(20) initial array packed unaligned dcl 11-103 DSA_PURGE_MSG internal static fixed bin(8,0) initial unsigned dcl 11-88 DSA_RECOVER_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 11-90 DSA_RECOVER_MSG internal static fixed bin(8,0) initial unsigned dcl 11-89 DSA_RELEASE_SRU_MSG internal static fixed bin(8,0) initial unsigned dcl 11-91 DSA_RESUME_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 11-93 DSA_RESUME_MSG internal static fixed bin(8,0) initial unsigned dcl 11-92 DSA_SUSPEND_ACK_MSG internal static fixed bin(8,0) initial unsigned dcl 11-95 DSA_SUSPEND_MSG internal static fixed bin(8,0) initial unsigned dcl 11-94 DSA_TERMINATED_MSG internal static fixed bin(8,0) initial unsigned dcl 11-98 DSA_TERM_ABNORMAL_MSG internal static fixed bin(8,0) initial unsigned dcl 11-96 DSA_UNSPECIFIED_MSG internal static fixed bin(8,0) initial unsigned dcl 11-82 DSA_USER_UNASSIGN_MSG internal static fixed bin(8,0) initial unsigned dcl 11-99 Direct_input internal static fixed bin(17,0) initial dcl 13-15 Direct_output internal static fixed bin(17,0) initial dcl 13-15 Direct_update internal static fixed bin(17,0) initial dcl 13-15 EXECUTE_CAPABILITY_REPLY internal static fixed bin(17,0) initial dcl 19-73 EXECUTE_COMMAND internal static fixed bin(17,0) initial dcl 19-77 EXECUTE_COMMAND_REPLY internal static fixed bin(17,0) initial dcl 19-72 FAIL_CAPABILITY internal static fixed bin(17,0) initial dcl 19-75 FG_BREAK internal static fixed bin(17,0) initial dcl 19-105 FG_CONTROL_MESSAGE internal static fixed bin(17,0) initial dcl 19-104 FG_MORE_DATA internal static fixed bin(17,0) initial dcl 19-107 FG_TERMINAL_DATA internal static fixed bin(17,0) initial dcl 19-106 INPUT_CONVERT_BREAK internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_DSA_CR_PROCESSING internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_ESCAPE internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_FORMFEED internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INPUT_CONVERT_PRECEDENCE_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 5-135 INTERNAL internal static fixed bin(17,0) initial dcl 19-76 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 13-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 13-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 13-15 LAST internal static fixed bin(17,0) initial dcl 19-71 LOCAL_SYSTEM internal static fixed bin(17,0) initial dcl 19-30 MAXIMUM_BG_SIZE internal static fixed bin(17,0) initial dcl 19-44 MAXIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 19-43 MAXIMUM_PACKET_SIZE internal static fixed bin(17,0) initial dcl 19-49 MAXIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 19-65 MAXIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 19-67 MAX_DSA_EVENT_MSG_TYPE internal static fixed bin(17,0) initial dcl 11-80 MAX_MCS_EVENT_MSG_TYPE internal static fixed bin(17,0) initial dcl 11-46 MCS_DIALOUT_MSG internal static fixed bin(17,0) initial dcl 11-54 MCS_DIALUP_MSG internal static fixed bin(17,0) initial dcl 11-50 MCS_HANGUP_MSG internal static fixed bin(17,0) initial dcl 11-52 MCS_LINE_STATUS_MSG internal static fixed bin(17,0) initial dcl 11-62 MCS_MASKED_MSG internal static fixed bin(17,0) initial dcl 11-64 MCS_MSG_TYPE_TO_PNAME internal static char(20) initial array packed unaligned dcl 11-67 MCS_QUIT_MSG internal static fixed bin(17,0) initial dcl 11-56 MCS_READ_MSG internal static fixed bin(17,0) initial dcl 11-58 MCS_UNSPECIFIED_MSG internal static fixed bin(17,0) initial dcl 11-48 MCS_WRITE_MSG internal static fixed bin(17,0) initial dcl 11-60 MINIMUM_BUFFER_SIZE internal static fixed bin(17,0) initial dcl 19-42 MINIMUM_SYSTEM_MINOR internal static fixed bin(17,0) initial dcl 19-64 MINIMUM_USER_MINOR internal static fixed bin(17,0) initial dcl 19-66 MORE internal static fixed bin(17,0) initial dcl 19-95 MOWSE_VERSION_ internal static char(8) initial packed unaligned dcl 19-26 NETWORK_TYPE_VALUES internal static varying char(8) initial array dcl 11-38 NET_EVENT_MESSAGE_VERSION_1 internal static bit(2) initial packed unaligned dcl 11-20 OUTPUT_CONVERT_BRS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_BS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_CR internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_DONT_SEND internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_FF internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_FIRST_SPECIAL internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_HT internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NEWLINE internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_13 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_14 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_15 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NOT_USED_16 internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_OCTAL internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_RRS internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OUTPUT_CONVERT_VT internal static fixed bin(8,0) initial packed unaligned dcl 5-147 OVERFLOWED_BUFFER internal static fixed bin(17,0) initial dcl 19-87 PUT_TO_BACKGROUND_BUFFER internal static fixed bin(17,0) initial dcl 19-108 PUT_TO_QUERY_MESSAGE_BUFFER internal static fixed bin(17,0) initial dcl 19-110 QUERY_REPLY internal static fixed bin(17,0) initial dcl 19-89 RECEIVE internal static fixed bin(17,0) initial dcl 19-59 REJECT internal static fixed bin(17,0) initial dcl 19-55 REMOTE_SYSTEM internal static fixed bin(17,0) initial dcl 19-31 REQUEST_CONNECT internal static fixed bin(17,0) initial dcl 19-92 REQUEST_DISCONNECT internal static fixed bin(17,0) initial dcl 19-93 RESET_APPLICATION internal static fixed bin(17,0) initial dcl 19-83 RESET_REPLY internal static fixed bin(17,0) initial dcl 19-84 RESET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 19-97 RESET_SUSPEND internal static fixed bin(17,0) initial dcl 19-99 RESPONSE_CONNECT internal static fixed bin(17,0) initial dcl 19-90 RESPONSE_DISCONNECT internal static fixed bin(17,0) initial dcl 19-91 RESUME_APPLICATION internal static fixed bin(17,0) initial dcl 19-81 SEND internal static fixed bin(17,0) initial dcl 19-60 SEND_QUERY internal static fixed bin(17,0) initial dcl 19-53 SET_SLEEP_FLAG internal static fixed bin(17,0) initial dcl 19-96 SET_SUSPEND internal static fixed bin(17,0) initial dcl 19-98 SPECIAL_VERSION internal static fixed bin(17,0) initial dcl 5-124 SPECIAL_VERSION_2 internal static fixed bin(17,0) initial dcl 5-125 STATUS internal static fixed bin(17,0) initial dcl 19-86 STATUS_FAILED internal static fixed bin(8,0) initial dcl 19-37 STATUS_REPLY internal static fixed bin(17,0) initial dcl 19-100 STATUS_SUCCESS internal static fixed bin(8,0) initial dcl 19-35 SUSPEND_APPLICATION internal static fixed bin(17,0) initial dcl 19-80 SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 19-88 Sequential_input internal static fixed bin(17,0) initial dcl 13-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 13-15 Sequential_output internal static fixed bin(17,0) initial dcl 13-15 Sequential_update internal static fixed bin(17,0) initial dcl 13-15 Stream_input internal static fixed bin(17,0) initial dcl 13-15 TERMINATE_APPLICATION internal static fixed bin(17,0) initial dcl 19-82 WAKE_UP internal static fixed bin(17,0) initial dcl 19-85 alter_cat_message based structure level 1 packed packed unaligned dcl 18-63 attach_data based structure level 1 dcl 9-18 attach_data_ptr automatic pointer dcl 9-17 c_chars_ptr automatic pointer dcl 5-53 condition_info_ptr automatic pointer dcl 3-10 condition_info_version_1 internal static fixed bin(17,0) initial dcl 3-30 editing_chars based structure level 1 dcl 16-15 editing_chars_ptr automatic pointer dcl 16-23 in procedure "video_utils_" editing_chars_ptr automatic pointer dcl 4-23 in procedure "get_tty_state" editing_chars_version_2 internal static fixed bin(17,0) initial dcl 4-21 in procedure "get_tty_state" editing_chars_version_2 internal static fixed bin(17,0) initial dcl 16-21 in procedure "video_utils_" editing_chars_version_3 internal static fixed bin(17,0) initial dcl 16-22 event_message based structure level 1 packed packed unaligned dcl 18-76 execom_message based structure level 1 packed packed unaligned dcl 18-49 execom_reply_msg based structure level 1 packed packed unaligned dcl 18-122 input_message based structure level 1 packed packed unaligned dcl 18-38 iox_$attach_loud 000000 constant entry external dcl 12-8 iox_$close_file 000000 constant entry external dcl 12-8 iox_$delete_record 000000 constant entry external dcl 12-8 iox_$detach 000000 constant entry external dcl 12-8 iox_$err_no_operation 000000 constant entry external dcl 12-8 iox_$err_not_attached 000000 constant entry external dcl 12-8 iox_$err_not_closed 000000 constant entry external dcl 12-8 iox_$err_not_open 000000 constant entry external dcl 12-8 iox_$get_chars 000000 constant entry external dcl 12-8 iox_$get_line 000000 constant entry external dcl 12-8 iox_$iocb_version_sentinel external static char(4) dcl 8-64 in procedure "video_utils_" iox_$iocb_version_sentinel external static char(4) dcl 7-51 in procedure "find_appropriate_iocb" iox_$look_iocb 000000 constant entry external dcl 12-8 iox_$open_file 000000 constant entry external dcl 12-8 iox_$position 000000 constant entry external dcl 12-8 iox_$propagate 000000 constant entry external dcl 12-8 iox_$put_chars 000000 constant entry external dcl 12-8 iox_$read_key 000000 constant entry external dcl 12-8 iox_$read_length 000000 constant entry external dcl 12-8 iox_$read_record 000000 constant entry external dcl 12-8 iox_$rewrite_record 000000 constant entry external dcl 12-8 iox_$seek_key 000000 constant entry external dcl 12-8 iox_$write_record 000000 constant entry external dcl 12-8 iox_modes internal static char(24) initial array dcl 13-6 last_message based structure level 1 packed packed unaligned dcl 18-110 message_node based structure level 1 unaligned dcl 18-136 message_ptr automatic pointer dcl 18-34 mode_string_info based structure level 1 dcl 15-9 mode_string_info_ptr automatic pointer dcl 15-14 more_remaining_message based structure level 1 packed packed unaligned dcl 18-96 mowse_io_debug_info based structure level 1 unaligned dcl 17-48 mowse_io_debug_info_ptr automatic pointer dcl 17-46 mowse_io_flush_subchannel_info_ptr automatic pointer dcl 17-78 mowse_io_info based structure level 1 unaligned dcl 17-40 mowse_io_info_ptr automatic pointer dcl 17-39 mowse_io_message based structure level 1 unaligned dcl 17-63 mowse_io_message_ptr automatic pointer dcl 17-62 mowse_io_set_video_mode_info based structure level 1 packed packed unaligned dcl 17-88 mowse_io_set_video_mode_info_ptr automatic pointer dcl 17-86 mowse_io_sleep_info based structure level 1 unaligned dcl 17-72 mowse_io_sleep_info_ptr automatic pointer dcl 17-70 mowse_io_store_info based structure level 1 unaligned dcl 17-34 mowse_io_store_info_ptr automatic pointer dcl 17-32 mowse_io_terminal_state_ptr automatic pointer dcl 17-53 msg_node_ptr automatic pointer dcl 18-135 net_event_message based structure level 1 dcl 11-22 net_event_message_arg automatic fixed bin(71,0) dcl 11-19 number_of_modes automatic fixed bin(17,0) dcl 15-6 part_msg based char packed unaligned dcl 18-152 part_msg_length automatic fixed bin(17,0) dcl 18-151 part_msg_ptr automatic pointer dcl 18-144 partial_message based structure level 1 unaligned dcl 18-145 request_more_message based structure level 1 packed packed unaligned dcl 18-84 sc_escape_len automatic fixed bin(17,0) dcl 5-58 sc_input_escape_len automatic fixed bin(17,0) dcl 5-59 short_iox_modes internal static char(4) initial array dcl 13-12 special_chars based structure level 1 dcl 5-26 sub_error_info_version_1 internal static fixed bin(17,0) initial dcl 2-13 trace_message_info automatic structure level 1 unaligned dcl 18-155 tty_max_mode_length automatic fixed bin(21,0) dcl 9-60 window_$bell 000000 constant entry external dcl 14-6 window_$change_column 000000 constant entry external dcl 14-63 window_$change_line 000000 constant entry external dcl 14-59 window_$clear_region 000000 constant entry external dcl 14-7 window_$clear_to_end_of_line 000000 constant entry external dcl 14-9 window_$clear_to_end_of_window 000000 constant entry external dcl 14-11 window_$clear_window 000000 constant entry external dcl 14-13 window_$create 000000 constant entry external dcl 14-72 window_$delete_chars 000000 constant entry external dcl 14-15 window_$destroy 000000 constant entry external dcl 14-74 window_$edit_line 000000 constant entry external dcl 14-76 window_$get_cursor_position 000000 constant entry external dcl 14-17 window_$get_echoed_chars 000000 constant entry external dcl 14-22 window_$get_one_unechoed 000000 constant entry external dcl 14-67 window_$get_one_unechoed_char 000000 constant entry external dcl 14-67 window_$get_unechoed_chars 000000 constant entry external dcl 14-25 window_$insert_text 000000 constant entry external dcl 14-28 window_$overwrite_text 000000 constant entry external dcl 14-29 window_$position_cursor 000000 constant entry external dcl 14-31 window_$position_cursor_rel 000000 constant entry external dcl 14-36 window_$scroll_region 000000 constant entry external dcl 14-42 window_$write_raw_text 000000 constant entry external dcl 14-48 window_$write_sync_read 000000 constant entry external dcl 14-53 NAMES DECLARED BY EXPLICIT CONTEXT. DSA_REATTACH 002200 constant label dcl 304 ref 239 247 DSA_REOPEN 002201 constant label dcl 306 ref 231 234 MCS_REATTACH 003164 constant label dcl 410 ref 346 354 MCS_REOPEN 003165 constant label dcl 412 set ref 338 341 UNDO_DSA 002175 constant label dcl 298 ref 285 290 UNDO_DSA_$attach 002176 constant label dcl 300 ref 278 282 UNDO_DSA_$mask 002202 constant label dcl 308 ref 214 228 UNDO_DSA_$video 002177 constant label dcl 302 ref 250 255 273 UNDO_MCS 003161 constant label dcl 404 ref 391 396 UNDO_MCS_$attach 003162 constant label dcl 406 ref 384 388 UNDO_MCS_$mask 003166 constant label dcl 414 set ref 323 335 UNDO_MCS_$video 003163 constant label dcl 408 ref 357 362 379 UNDO_MOWSE 004231 constant label dcl 527 ref 515 520 UNDO_MOWSE_$attach 004232 constant label dcl 529 ref 508 512 UNDO_MOWSE_$mask 004240 constant label dcl 536 ref 450 457 463 UNDO_MOWSE_$move_attach 004234 constant label dcl 533 ref 466 475 UNDO_MOWSE_$video 004233 constant label dcl 531 ref 478 482 493 503 attach_handler 007604 constant entry internal dcl 917 ref 241 268 348 374 468 498 close_switch 005733 constant entry internal dcl 587 ref 298 404 527 560 close_video 006023 constant entry internal dcl 613 ref 302 408 531 562 detach_switch 005767 constant entry internal dcl 600 ref 300 406 529 561 dsa_network 001217 constant label dcl 206 ref 201 dsa_turn_off 006331 constant entry internal dcl 705 ref 697 find_appropriate_iocb 012424 constant entry internal dcl 1318 ref 1278 1283 1291 finished 004241 constant label dcl 543 ref 295 401 524 force_detach_hcs 007357 constant entry internal dcl 865 ref 716 756 852 get_tty_state 010357 constant entry internal dcl 974 ref 221 327 445 handle_any_other 007575 constant entry internal dcl 917 ref 215 324 451 mcs_network 002203 constant label dcl 312 ref 203 mcs_turn_off 006640 constant entry internal dcl 745 ref 699 move_attach 006063 constant entry internal dcl 626 ref 533 563 mowse_network 003167 constant label dcl 419 ref 199 mowse_turn_off 007147 constant entry internal dcl 786 ref 695 must_kill_process 007531 constant entry internal dcl 898 ref 591 604 630 642 655 721 724 761 765 793 803 848 854 857 932 network_login_channel 005476 constant entry external dcl 1265 ref 188 reattach 006124 constant entry internal dcl 638 ref 304 410 record_usage 004430 constant label dcl 570 reopen 006203 constant entry internal dcl 651 ref 306 412 set_tty_state 011634 constant entry internal dcl 1209 ref 737 778 simple_error_return 004522 constant label dcl 577 ref 1021 1055 1063 1070 1076 1081 1086 1109 1116 1124 1131 1140 turn_off_for_debug 004674 constant entry external dcl 820 turn_off_login_channel 004534 constant entry external dcl 669 turn_on_login_channel 001075 constant entry external dcl 169 unmask_return 004275 constant label dcl 552 ref 308 414 536 video_utils_ 001062 constant entry external dcl 80 ref 243 243 270 270 350 350 376 376 470 470 500 500 570 570 572 572 641 641 720 720 760 760 853 853 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 13552 13736 12560 13562 Length 15074 12560 164 1121 771 10 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME video_utils_ 1448 external procedure is an external procedure. on unit on line 215 70 on unit on unit on line 241 70 on unit on unit on line 268 70 on unit on unit on line 324 70 on unit on unit on line 348 70 on unit on unit on line 374 70 on unit on unit on line 451 70 on unit on unit on line 468 70 on unit on unit on line 498 70 on unit close_switch internal procedure shares stack frame of external procedure video_utils_. detach_switch internal procedure shares stack frame of external procedure video_utils_. close_video internal procedure shares stack frame of external procedure video_utils_. move_attach internal procedure shares stack frame of external procedure video_utils_. reattach internal procedure shares stack frame of external procedure video_utils_. reopen internal procedure shares stack frame of external procedure video_utils_. dsa_turn_off internal procedure shares stack frame of external procedure video_utils_. mcs_turn_off internal procedure shares stack frame of external procedure video_utils_. mowse_turn_off internal procedure shares stack frame of external procedure video_utils_. force_detach_hcs internal procedure shares stack frame of external procedure video_utils_. must_kill_process 84 internal procedure is declared options(non_quick). handle_any_other 170 internal procedure enables or reverts conditions. on unit on line 932 84 on unit begin block on line 939 begin block shares stack frame of internal procedure handle_any_other. get_tty_state internal procedure shares stack frame of external procedure video_utils_. find_appropriate_iocb internal procedure shares stack frame of external procedure video_utils_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 complete_tty_state_ptr video_utils_ 000012 mowse_iocb_ptr video_utils_ 000014 network_type video_utils_ 000016 target_iocb video_utils_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME handle_any_other 000100 condition_info_header_ptr handle_any_other 000102 sub_error_info_ptr handle_any_other 000104 ci handle_any_other 000144 sw begin block on line 939 000154 iocbp begin block on line 939 must_kill_process 000100 ti must_kill_process video_utils_ 000100 user_io_modes video_utils_ 000300 saved_ips_mask video_utils_ 000301 ips_mask_name video_utils_ 000312 sci_ptr video_utils_ 000314 fsc_info video_utils_ 000334 cleanup_label video_utils_ 000340 acode video_utils_ 000341 mowse_io_term_state video_utils_ 000344 mowse_io_term_ptr video_utils_ 000346 u video_utils_ 000352 iocbp video_utils_ 000354 Pmowse video_utils_ 000356 event_wait_channel video_utils_ 000362 mode_value_ptr video_utils_ 000364 message_len video_utils_ 000366 temp_seg_name video_utils_ 000470 target force_detach_hcs 000500 tty_handle force_detach_hcs 000501 devx force_detach_hcs 000510 mode_idx get_tty_state 000511 tty_modes get_tty_state 000712 temp_ptr get_tty_state 000714 no_input_conversion get_tty_state 000715 no_input_translation get_tty_state 000716 no_output_conversion get_tty_state 000717 no_output_translation get_tty_state 000720 auto_mode_value get_tty_state 000746 auto_mode_string_info get_tty_state 001230 auto_editing_chars get_tty_state 001232 auto_delay_struc get_tty_state 001242 auto_framing_chars get_tty_state 001243 auto_input_flow_control_info get_tty_state 001246 auto_output_flow_control_info get_tty_state 001251 auto_input_conversion get_tty_state 001353 auto_input_translation get_tty_state 001455 auto_output_conversion get_tty_state 001557 auto_output_translation get_tty_state 001662 auto_get_special_info_struc get_tty_state 001676 iocb_ptr find_appropriate_iocb 001700 n find_appropriate_iocb 001701 descrip find_appropriate_iocb 002002 dim_lth find_appropriate_iocb 002003 error find_appropriate_iocb THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_in call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc call_int_other return_mac tra_ext_2 alloc_auto_adj enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc set_chars_eis index_chars_eis alloc_storage op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. create_ips_mask_ dsa_tty_$detach dsa_tty_$index find_condition_info_ get_system_free_area_ hcs_$reset_ips_mask hcs_$set_ips_mask hcs_$tty_detach hcs_$tty_index iox_$attach_name iox_$attach_ptr iox_$close iox_$control iox_$destroy_iocb iox_$detach_iocb iox_$find_iocb iox_$find_iocb_n iox_$init_standard_iocbs iox_$modes iox_$move_attach iox_$open ipc_$mask_ev_calls ipc_$unmask_ev_calls mode_string_$get mode_string_$get_mode ssu_$destroy_invocation ssu_$record_usage ssu_$standalone_invocation terminate_process_ trace_stack_ unique_chars_ unique_chars_ use_exl_video_system$cleanup use_exl_video_system$setup user_info_$terminal_data window_$destroy_all window_$sync THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$action_not_performed error_table_$no_table error_table_$undefined_order_request iox_$error_output iox_$user_input iox_$user_io iox_$user_output video_data_$exl_initialized video_data_$exl_video_system video_data_$terminal_iocb video_data_$terminal_switch video_data_$version video_et_$wsys_invoked LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 89 001033 10 8 001043 18 33 001045 18 155 001047 19 22 001055 80 001061 82 001070 169 001071 180 001111 181 001113 182 001120 183 001122 184 001127 188 001130 189 001142 190 001145 191 001152 194 001153 196 001172 197 001175 199 001210 201 001214 203 001216 206 001217 209 001221 210 001240 211 001260 214 001263 215 001266 221 001313 223 001314 224 001327 225 001337 226 001345 228 001356 231 001361 232 001364 233 001371 234 001402 239 001405 240 001410 241 001454 243 001502 245 001537 247 001540 250 001543 252 001546 253 001565 255 001604 258 001607 261 001643 264 001676 266 001732 268 001777 270 002025 273 002104 276 002110 278 002111 280 002114 281 002121 282 002140 285 002143 287 002146 288 002153 289 002160 290 002166 292 002171 295 002174 298 002175 300 002176 302 002177 304 002200 306 002201 308 002202 312 002203 315 002205 316 002224 317 002244 323 002247 324 002252 327 002277 329 002300 330 002313 332 002323 333 002331 335 002342 338 002345 339 002350 340 002355 341 002366 346 002371 347 002374 348 002440 350 002466 352 002523 354 002524 357 002527 359 002532 360 002551 362 002570 364 002573 367 002627 370 002662 372 002716 374 002763 376 003011 379 003070 382 003074 384 003075 386 003100 387 003105 388 003124 391 003127 393 003132 394 003137 395 003144 396 003152 398 003155 401 003160 404 003161 406 003162 408 003163 410 003164 412 003165 414 003166 423 003167 425 003171 426 003173 427 003176 429 003225 430 003230 431 003233 432 003240 434 003241 435 003244 436 003247 437 003254 440 003255 441 003274 442 003314 445 003317 447 003320 448 003333 450 003343 451 003346 454 003373 455 003411 457 003433 460 003436 461 003443 463 003456 466 003461 467 003464 468 003506 470 003534 473 003571 475 003572 478 003575 480 003600 481 003617 482 003636 485 003641 488 003675 491 003730 493 003764 496 003767 498 004033 500 004061 503 004140 506 004144 508 004145 510 004150 511 004155 512 004174 515 004177 517 004202 518 004207 519 004214 520 004222 522 004225 524 004230 527 004231 529 004232 531 004233 533 004234 535 004235 536 004240 543 004241 548 004242 549 004247 550 004250 552 004275 554 004310 556 004320 557 004324 558 004355 559 004360 560 004365 561 004366 562 004367 563 004370 564 004371 568 004374 570 004430 572 004475 573 004513 577 004522 581 004530 669 004531 674 004542 676 004544 680 004551 682 004562 683 004566 684 004570 685 004572 688 004624 690 004625 691 004640 693 004650 695 004657 697 004665 699 004671 701 004672 820 004673 827 004702 833 004716 834 004733 835 005003 836 005020 837 005070 838 005105 839 005155 840 005172 841 005242 842 005257 844 005264 846 005266 847 005272 848 005304 850 005331 852 005332 853 005333 854 005365 856 005412 857 005432 860 005454 861 005471 1265 005472 1274 005504 1275 005507 1276 005510 1278 005511 1280 005541 1281 005546 1283 005552 1285 005563 1286 005567 1287 005572 1291 005573 1292 005622 1293 005627 1294 005632 1295 005637 1297 005640 1298 005672 1299 005677 1300 005701 1301 005702 1302 005703 1303 005705 1304 005713 1305 005715 1306 005722 1308 005723 1310 005724 1311 005731 1314 005732 587 005733 590 005734 591 005745 594 005766 600 005767 603 005770 604 006001 607 006022 613 006023 616 006024 617 006036 618 006050 620 006062 626 006063 629 006064 630 006077 633 006123 638 006124 641 006125 642 006156 645 006202 651 006203 654 006204 655 006223 657 006244 658 006300 660 006330 705 006331 708 006332 710 006344 712 006356 713 006370 714 006402 715 006414 716 006417 718 006420 720 006422 721 006453 723 006500 724 006520 727 006542 728 006555 730 006565 731 006572 732 006601 735 006603 737 006636 739 006637 745 006640 748 006641 750 006653 752 006665 753 006677 754 006711 755 006723 756 006726 758 006727 760 006731 761 006762 764 007007 765 007027 768 007051 769 007064 771 007074 772 007101 773 007110 776 007112 778 007145 780 007146 786 007147 789 007150 791 007152 792 007163 793 007175 796 007217 797 007231 798 007243 799 007255 801 007260 803 007273 806 007315 807 007330 809 007340 810 007345 811 007354 814 007356 865 007357 881 007360 883 007410 884 007414 885 007441 886 007461 888 007462 889 007507 894 007527 898 007530 910 007544 911 007545 912 007550 913 007573 917 007574 932 007611 933 007652 934 007654 936 007674 944 007701 945 007721 946 010005 947 010026 948 010051 949 010063 950 010075 953 010107 954 010114 955 010116 956 010217 957 010223 958 010224 959 010230 960 010232 963 010350 965 010354 974 010357 1019 010360 1020 010366 1021 010413 1027 010416 1028 010420 1030 010421 1031 010423 1033 010425 1034 010433 1035 010462 1036 010465 1037 010466 1039 010475 1043 010477 1044 010527 1046 010541 1047 010544 1048 010545 1053 010553 1054 010560 1055 010603 1058 010606 1060 010610 1061 010614 1062 010621 1063 010654 1066 010657 1067 010662 1068 010664 1069 010671 1070 010722 1072 010725 1074 010726 1075 010733 1076 010764 1079 010767 1080 010774 1081 011027 1084 011032 1085 011037 1086 011071 1091 011074 1092 011076 1093 011077 1094 011100 1096 011101 1097 011102 1098 011103 1099 011104 1101 011105 1102 011106 1103 011107 1104 011110 1106 011111 1107 011115 1108 011122 1109 011155 1114 011165 1115 011172 1116 011226 1122 011236 1123 011243 1124 011277 1129 011307 1130 011314 1131 011350 1136 011360 1137 011365 1138 011367 1139 011376 1140 011432 1145 011435 1147 011442 1149 011445 1150 011451 1151 011454 1153 011457 1155 011461 1156 011465 1157 011470 1159 011473 1160 011477 1161 011501 1163 011504 1164 011510 1165 011516 1167 011521 1168 011525 1169 011532 1172 011535 1175 011542 1176 011546 1177 011551 1180 011554 1183 011561 1184 011565 1185 011570 1188 011573 1191 011600 1192 011604 1193 011607 1196 011612 1199 011617 1200 011623 1201 011626 1205 011631 1207 011633 1209 011634 1215 011635 1217 011663 1218 011717 1220 011723 1222 011726 1223 011757 1225 011763 1226 012014 1228 012020 1229 012054 1231 012060 1232 012111 1235 012115 1236 012123 1237 012155 1240 012161 1241 012167 1242 012221 1245 012225 1246 012233 1247 012265 1250 012271 1251 012277 1252 012331 1255 012335 1256 012370 1258 012420 1260 012423 1318 012424 1332 012442 1333 012445 1334 012446 1335 012452 1336 012465 1337 012467 1338 012474 1339 012502 1344 012526 1346 012530 ----------------------------------------------------------- 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