COMPILATION LISTING OF SEGMENT restart_mc_ttys_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1318.5 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 restart_mc_ttys_: proc; 13 14 /* restart_mc_ttys_ is called to send a wakeup to all terminal device control channels. 15* This insures that any asynchronously-invoked programs which do output will not steal a read wakeup. */ 16 17 /* Modified August 1976 by Robert Coren to check CDTE pointer */ 18 /* Modified 1985-01-02, BIM: new IOX MC. */ 19 20 21 /****^ HISTORY COMMENTS: 22* 1) change(87-02-17,GDixon), approve(87-06-12,MCR7690), 23* audit(87-05-07,Parisek), install(87-08-04,MR12.1-1055): 24* Modified for change to mc_anstbl.incl.pl1. 25* END HISTORY COMMENTS */ 26 27 28 dcl i fixed bin; 29 dcl code fixed bin (35); 30 dcl fb71 fixed bin (71) based (addr (larm)); 31 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 32 dcl hcs_$wakeup entry (bit (36) aligned, fixed bin (71), fixed bin (71), fixed bin (35)); 33 34 dcl larm char (8) aligned int static init ("alarm___"); /* for restart_mc_ttys_ */ 35 36 dcl (null, addr) builtin; 37 38 mc_ansp = sc_stat_$mc_ansp; /* Find table */ 39 call iox_$control (sc_stat_$mc_iocb, "start", null, code); 40 do i = 1 to mc_anstbl.current_size; /* Simulate timeout on attached consoles, get them going */ 41 mc_atep = addr (mc_anstbl.entry (i)); 42 if mc_ate.active & ^mc_ate.the_system_console then 43 call hcs_$wakeup (mc_anstbl.mc_procid, mc_ate.event, fb71, code); 44 end; 45 46 return; 47 1 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 1 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 1 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 1 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 1 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 1 10* Reorganized by type of data to improve readability. 1 11* END HISTORY COMMENTS */ 1 12 1 13 1 14 /* ACCESS NAMES */ 1 15 dcl ( 1 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 1 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 1 18 ) char(32) ext static; 1 19 1 20 /* PATHNAMES */ 1 21 dcl ( 1 22 sc_stat_$info_dir, /* admin info segs directory */ 1 23 sc_stat_$log_dir, /* as log segs directory */ 1 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 1 25 sc_stat_$sysdir /* system control directory */ 1 26 ) char(168) ext static; 1 27 1 28 /* OTHER CHAR STRINGS */ 1 29 dcl ( 1 30 sc_stat_$master_channel /* Master TTY channel. */ 1 31 ) char(6) aligned ext static; 1 32 1 33 /* LABELS */ 1 34 dcl ( 1 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 1 36 /* ssu_$null_label unless */ 1 37 /* admin_listener is active. */ 1 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 1 39 /* attributable to a particular */ 1 40 /* command. */ 1 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 1 42 ) label variable ext static; 1 43 1 44 /* POINTERS TO */ 1 45 dcl ( 1 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 1 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 1 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 1 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 1 50 /* by sys_log_. */ 1 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 1 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 1 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 1 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 1 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 1 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 1 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 1 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 1 59 ) ptr ext static; 1 60 1 61 /* SWITCHES */ 1 62 dcl ( 1 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 1 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 1 65 sc_stat_$Multics, /* TRUE after answering service started */ 1 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 1 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 1 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 1 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 1 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 1 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 1 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 1 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 1 74 /* if PNT not yet available. */ 1 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 1 76 sc_stat_$test_mode, /* TRUE if in test environment */ 1 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 1 78 /* by operator signed on system console*/ 1 79 ) bit(1) aligned ext static; 1 80 1 81 1 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 48 2 1 /* BEGIN INCLUDE FILE ... mc_anstbl.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(85-12-19,MSharpe), approve(87-05-25,MCR7690), 2 6* audit(87-03-30,GDixon), install(87-08-04,MR12.1-1056): 2 7* Added the pending and virtual flags and virtual_tty_name to mc_ate; 2 8* changed mc_ate.tty_name to mc_ate.real_tty_name; added mc_ate.ls_procid, 2 9* mc_ate.ls_term_ev_chn, mc_ate.ls_resp_ev_chn, mc_ate.ls_handle. 2 10* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 2 11* audit(87-06-01,Parisek), install(87-08-04,MR12.1-1056): 2 12* Add mc_ate.vchn_requires_accept in support of virtual channels. Explicitly 2 13* declare implicit pad fields which the compile adds for element alignment 2 14* purposes. Declare mc_ansp and mc_atep, on which major structures are 2 15* based, rather than depending upon includers do to so. 2 16* 3) change(87-03-27,Parisek), approve(87-05-25,MCR7690), 2 17* audit(87-06-11,GDixon), install(87-08-04,MR12.1-1056): 2 18* Added the dsa_ring_number element to provide a constant for determining 2 19* the DSA ring. 2 20* END HISTORY COMMENTS */ 2 21 2 22 2 23 /* format: style3,idind30 */ 2 24 2 25 dcl 1 mc_anstbl based (mc_ansp) aligned, 2 26 /* Structure of answer table */ 2 27 2 max_size fixed bin, /* max number of entries table can grow */ 2 28 2 current_size fixed bin, /* actual size of table (in entries) */ 2 29 2 mc_procid bit (36), /* process ID of message coordinator */ 2 30 2 sysdir char (168), /* name of main system control directory */ 2 31 2 pad_ptrs bit (36), 2 32 2 mrtp ptr, 2 33 2 vconsp ptr, 2 34 2 cons_cont_proc entry, /* mc_tty_ */ 2 35 2 con_rec, /* Data for console recovery. */ 2 36 3 mc_ate_ptr ptr, /* Pts to recovery device. */ 2 37 3 ec_id fixed bin (71), /* Recovery event chan. */ 2 38 3 seq_num fixed bin (35), /* Syserr sequence number. */ 2 39 3 offset bit (18), /* Log entry offset. */ 2 40 3 flags, 2 41 ( 4 enabled bit (1), /* ON => recovery possible. */ 2 42 4 active bit (1), 2 43 4 pad_flags bit (16) 2 44 ) unaligned, /* ON => recovery going on. */ 2 45 2 n_sources fixed bin, /* number of communicating sources */ 2 46 2 max_sources fixed bin, /* maximum number of sources allowed */ 2 47 2 current_time fixed bin (71), /* Time of last transaction */ 2 48 2 trace bit (1) aligned, 2 49 2 dsa_ring_number fixed bin, /* DSA ring number */ 2 50 2 pad_entries (30) bit (36) aligned, 2 51 2 entry (0 refer (mc_anstbl.current_size)) aligned like mc_ate, 2 52 mc_ansp ptr; 2 53 2 54 dcl 1 mc_ate based (mc_atep) aligned, 2 55 /* declaration of a single answer table entry */ 2 56 2 flags aligned, 2 57 3 virtual bit (1) unaligned, /* 1 => login -vchn XXX */ 2 58 3 pending bit (1) unaligned, /* 1 => pending entry created for DSA channel 2 59* since we can't keep info in cdte for it */ 2 60 3 active bit (1) unaligned, 2 61 3 the_system_console bit (1) unaligned, /* otw_/ocd_ */ 2 62 3 a_system_console bit (1) unaligned, /* Not yet implemented -- a random opc through a */ 2 63 /* nonexistent I/O module */ 2 64 3 pad001 bit (1) unaligned, 2 65 3 signed_on bit (1) unaligned, 2 66 3 reply_restricted bit (1) unaligned, 2 67 3 broadcast bit (1) unaligned, 2 68 3 broadcast_all bit (1) unaligned, 2 69 3 vchn_requires_accept bit (1) unaligned, 2 70 3 pad_flags bit (25) unaligned, 2 71 2 virtual_tty_name char (32) unaligned, 2 72 2 real_tty_name char (32) unaligned, 2 73 2 pad_ptrs bit (36), 2 74 2 cdtep pointer, /* we get info from cdt */ 2 75 2 iocb pointer, /* do I/O here */ 2 76 2 sci_ptr pointer, 2 77 2 tra_vec fixed bin, 2 78 2 restrict_reply char (32), /* Source name. if "", everybody. */ 2 79 /* Broadcasting information. */ 2 80 2 n_casts fixed bin, /* If flag is 1 */ 2 81 2 cast (10) char (32), /* If flag is 1, list of consoles. */ 2 82 2 oper_info, /* for oper assigned this console... */ 2 83 3 personid char (32), 2 84 3 last_input_time fixed bin (71), /* time of last input on this console... */ 2 85 2 queue_ptr ptr, 2 86 2 queue_event fixed bin (71), 2 87 2 event fixed binary (71), /* name of event call channel associated with TTY */ 2 88 2 ls_procid bit (36), /* ID of login_server who will wake us up with connect 2 89* and disconnect -- used only for network channels */ 2 90 2 pad_ev_chn bit (36), 2 91 2 ls_term_ev_chn fixed bin (71), /* event channel to send terminate response to ls */ 2 92 2 ls_resp_ev_chn fixed bin (71), /* event channel to send operator response to ls */ 2 93 2 ls_handle bit (72), /* login server handle for this connection */ 2 94 2 authority, 2 95 3 privilege (36) bit (1) unaligned, 2 96 2 control, 2 97 3 inhibit bit (1) unal, 2 98 3 output_wait bit (1) unal, 2 99 3 output_pending bit (1) unal, 2 100 3 pad_control bit (33) unal, 2 101 mc_atep ptr; 2 102 2 103 declare ( 2 104 MC_WAIT_DIALUP init (1), 2 105 MC_WAIT_ANSWERBACK init (2), 2 106 MC_WAIT_READY init (3), 2 107 MC_WAIT_COMMAND init (4) 2 108 ) fixed bin int static options (constant); 2 109 2 110 /* END INCLUDE FILE ... mc_anstbl.incl.pl1 */ 49 50 51 end restart_mc_ttys_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1221.8 restart_mc_ttys_.pl1 >special_ldd>install>MR12.1-1054>restart_mc_ttys_.pl1 48 1 08/04/87 1139.2 sc_stat_.incl.pl1 >spec>install>1056>sc_stat_.incl.pl1 49 2 08/04/87 1139.3 mc_anstbl.incl.pl1 >spec>install>1056>mc_anstbl.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. active 0(02) based bit(1) level 3 packed unaligned dcl 2-54 ref 42 addr builtin function dcl 36 ref 41 42 code 000101 automatic fixed bin(35,0) dcl 29 set ref 39* 42* current_size 1 based fixed bin(17,0) level 2 dcl 2-25 ref 40 entry 142 based structure array level 2 dcl 2-25 set ref 41 event 200 based fixed bin(71,0) level 2 dcl 2-54 set ref 42* fb71 based fixed bin(71,0) dcl 30 set ref 42* flags based structure level 2 dcl 2-54 hcs_$wakeup 000014 constant entry external dcl 32 ref 42 i 000100 automatic fixed bin(17,0) dcl 28 set ref 40* 41* iox_$control 000012 constant entry external dcl 31 ref 39 larm 000010 internal static char(8) initial dcl 34 set ref 42 mc_ansp 000102 automatic pointer dcl 2-25 set ref 38* 40 41 42 mc_anstbl based structure level 1 dcl 2-25 mc_ate based structure level 1 dcl 2-54 mc_atep 000104 automatic pointer dcl 2-54 set ref 41* 42 42 42 mc_procid 2 based bit(36) level 2 dcl 2-25 set ref 42* null builtin function dcl 36 ref 39 39 sc_stat_$mc_ansp 000016 external static pointer dcl 1-45 ref 38 sc_stat_$mc_iocb 000020 external static pointer dcl 1-45 set ref 39* the_system_console 0(03) based bit(1) level 3 packed unaligned dcl 2-54 ref 42 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MC_WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_COMMAND internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_DIALUP internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_READY internal static fixed bin(17,0) initial dcl 2-103 sc_stat_$Go external static bit(1) dcl 1-62 sc_stat_$Go_typed external static bit(1) dcl 1-62 sc_stat_$Multics external static bit(1) dcl 1-62 sc_stat_$Multics_typed external static bit(1) dcl 1-62 sc_stat_$Star_typed external static bit(1) dcl 1-62 sc_stat_$admin_listener_exit_label external static label variable dcl 1-34 sc_stat_$admin_listener_switch external static bit(1) dcl 1-62 sc_stat_$admin_log_iocb external static pointer dcl 1-45 sc_stat_$admin_log_write_ptr external static pointer dcl 1-45 sc_stat_$admin_sci_ptr external static pointer dcl 1-45 sc_stat_$as_log_write_ptr external static pointer dcl 1-45 sc_stat_$did_part1 external static bit(1) dcl 1-62 sc_stat_$did_part2 external static bit(1) dcl 1-62 sc_stat_$did_part3 external static bit(1) dcl 1-62 sc_stat_$exec_access_name external static char(32) unaligned dcl 1-15 sc_stat_$info_dir external static char(168) unaligned dcl 1-21 sc_stat_$initzer_ttyp external static pointer dcl 1-45 sc_stat_$log_dir external static char(168) unaligned dcl 1-21 sc_stat_$master_abort_label external static label variable dcl 1-34 sc_stat_$master_channel external static char(6) dcl 1-29 sc_stat_$master_iocb external static pointer dcl 1-45 sc_stat_$master_sci_ptr external static pointer dcl 1-45 sc_stat_$mc_acs_dir external static char(168) unaligned dcl 1-21 sc_stat_$mc_is_on external static bit(1) dcl 1-62 sc_stat_$no_operator_login external static bit(1) dcl 1-62 sc_stat_$shutdown_typed external static bit(1) dcl 1-62 sc_stat_$sv1_iocb external static pointer dcl 1-45 sc_stat_$sv2_iocb external static pointer dcl 1-45 sc_stat_$sv3_iocb external static pointer dcl 1-45 sc_stat_$sysdir external static char(168) unaligned dcl 1-21 sc_stat_$system_shutdown_label external static label variable dcl 1-34 sc_stat_$test_mode external static bit(1) dcl 1-62 sc_stat_$unidentified_access_name external static char(32) unaligned dcl 1-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 1-62 NAME DECLARED BY EXPLICIT CONTEXT. restart_mc_ttys_ 000011 constant entry external dcl 12 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 176 220 114 206 Length 426 114 22 172 61 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME restart_mc_ttys_ 94 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 larm restart_mc_ttys_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME restart_mc_ttys_ 000100 i restart_mc_ttys_ 000101 code restart_mc_ttys_ 000102 mc_ansp restart_mc_ttys_ 000104 mc_atep restart_mc_ttys_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hcs_$wakeup iox_$control THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sc_stat_$mc_ansp sc_stat_$mc_iocb LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000010 38 000016 39 000021 40 000050 41 000061 42 000065 44 000111 46 000113 ----------------------------------------------------------- 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