COMPILATION LISTING OF SEGMENT mc_quiesce_ 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 1429.3 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* *********************************************************** */ 8 /* format: style4 */ 9 mc_quiesce_: proc; 10 11 /* Just a little something to wait until all message coordinator terminals are done. */ 12 /* 82-10-28 Written E. N. Kittlitz. */ 13 /* Modified 1984-10-29 BIM for iox_ */ 14 15 /****^ HISTORY COMMENTS: 16* 1) change(86-07-01,Swenson), approve(87-06-12,MCR7690), 17* audit(87-05-07,Parisek): 18* Added support for test system control; no hanging up of process' login 19* channel. 20* 2) change(87-02-05,GDixon), approve(87-06-12,MCR7690), 21* audit(87-05-07,Parisek): 22* Modified for change to mc_anstbl.incl.pl1. 23* END HISTORY COMMENTS */ 24 25 dcl atex fixed bin; 26 dcl code fixed bin (35); 27 dcl have_queued_output bit (1) aligned; 28 dcl qp ptr; 29 dcl quiesce_tries fixed bin; 30 31 dcl 1 write_status_info aligned, 32 2 evchn fixed bin (71), 33 2 output_pending bit (1); 34 35 dcl ME char (12) static init ("mc_quiesce_") options (constant); 36 37 dcl (addr, null) builtin; 38 39 dcl error_table_$out_of_sequence fixed bin (35) ext static; 40 41 dcl get_process_id_ entry () returns (bit (36)); 42 dcl hcs_$wakeup entry (bit (36) aligned, fixed bin (71), fixed bin (71), fixed bin (35)); 43 dcl mc_wakeups_$set_shutdown_limits entry; 44 dcl phcs_$ring_0_message entry (char (*) aligned); 45 dcl sub_err_ entry () options (variable); 46 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 47 48 mc_ansp = sc_stat_$mc_ansp; 49 if ^sc_stat_$mc_is_on | 50 get_process_id_ () ^= mc_anstbl.mc_procid then 51 call sub_err_ (error_table_$out_of_sequence, ME, ACTION_CANT_RESTART); 52 call mc_wakeups_$set_shutdown_limits; 53 have_queued_output = "1"b; 54 55 do quiesce_tries = 1 to 10 while (have_queued_output); 56 have_queued_output = "0"b; 57 do atex = 1 to mc_anstbl.current_size; 58 mc_atep = addr (mc_anstbl.entry (atex)); 59 qp = mc_ate.queue_ptr; 60 if mc_ate.active & /* shall we even LOOK at this entry? */ 61 mc_ate.tra_vec > MC_WAIT_ANSWERBACK & 62 qp ^= null then do; /* really has a queue segment */ 63 if device_queue.no_of_messages > 0 then do; 64 have_queued_output = "1"b; /* have something that can reasonably be done */ 65 call hcs_$wakeup (mc_anstbl.mc_procid, device_queue.channel, 0, (0)); 66 call timer_manager_$sleep (1, "10"b); /* 1 micro-second */ 67 end; 68 end; /* active mc_ate */ 69 end; /* for each entry in the answer table */ 70 end; /* try it a bunch of times */ 71 if have_queued_output then /* still stuff left over */ 72 call phcs_$ring_0_message ("mc_quiesce_: Unable to quiesce message coordinator. Some queued messages will be lost."); 73 74 /* now wait for ttys to stop chattering */ 75 76 have_queued_output = "1"b; 77 do quiesce_tries = 1 to 60 while (have_queued_output); /* try for up to one minute */ 78 have_queued_output = "0"b; 79 do atex = 1 to mc_anstbl.current_size; 80 mc_atep = addr (mc_anstbl.entry (atex)); 81 call iox_$control (mc_ate.iocb, "write_status", addr (write_status_info), code); 82 if code ^= 0 | ^write_status_info.output_pending 83 then do; 84 call iox_$control (mc_ate.iocb, "hangup", null (), (0)); 85 mc_ate.tra_vec = -1; 86 end; 87 else have_queued_output = "1"b; /* STILL more */ 88 end; /* tty to check */ 89 90 call timer_manager_$sleep (1, "11"b); /* sleep 1 second */ 91 end; /* try for 1 minute */ 92 93 if have_queued_output then 94 call phcs_$ring_0_message ("mc_quiesce_: some terminals still have output in progress. They will be hungup."); 95 96 return; 97 1 1 /* Beginning of include file device_queue.incl.pl1 */ 1 2 1 3 /* This structure describes the queue segment associated with 1 4*each operator console in which are placed lines to be typed. */ 1 5 1 6 declare 1 7 1 device_queue aligned based(qp), /* Header 24 dec 30 oct words */ 1 8 2 mc_atep ptr, 1 9 2 channel fixed bin(71), 1 10 2 device_name char(32), 1 11 2 no_of_messages fixed bin, 1 12 2 top_of_queue fixed bin, 1 13 2 end_of_queue fixed bin, 1 14 2 free_top fixed bin, 1 15 2 next_free fixed bin, 1 16 2 pad(7) fixed bin, 1 17 2 line (1), /* 40 dec 50 oct words */ 1 18 3 not_done bit(1) unal, 1 19 3 alarm bit (1) unal, 1 20 3 xpad bit (16) unal, 1 21 3 source fixed bin (17) unal, 1 22 3 next_line fixed bin, 1 23 3 pad(3) fixed bin, 1 24 3 offset fixed bin, 1 25 3 line_length fixed bin, 1 26 3 string char(132); 1 27 1 28 /* End of include file device_queue.incl.pl1 */ 98 99 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 */ 100 101 3 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 3 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 3 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 3 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 10* Reorganized by type of data to improve readability. 3 11* END HISTORY COMMENTS */ 3 12 3 13 3 14 /* ACCESS NAMES */ 3 15 dcl ( 3 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 3 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 3 18 ) char(32) ext static; 3 19 3 20 /* PATHNAMES */ 3 21 dcl ( 3 22 sc_stat_$info_dir, /* admin info segs directory */ 3 23 sc_stat_$log_dir, /* as log segs directory */ 3 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 3 25 sc_stat_$sysdir /* system control directory */ 3 26 ) char(168) ext static; 3 27 3 28 /* OTHER CHAR STRINGS */ 3 29 dcl ( 3 30 sc_stat_$master_channel /* Master TTY channel. */ 3 31 ) char(6) aligned ext static; 3 32 3 33 /* LABELS */ 3 34 dcl ( 3 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 3 36 /* ssu_$null_label unless */ 3 37 /* admin_listener is active. */ 3 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 3 39 /* attributable to a particular */ 3 40 /* command. */ 3 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 3 42 ) label variable ext static; 3 43 3 44 /* POINTERS TO */ 3 45 dcl ( 3 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 3 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 3 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 3 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 3 50 /* by sys_log_. */ 3 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 3 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 3 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 3 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 3 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 3 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 3 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 3 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 3 59 ) ptr ext static; 3 60 3 61 /* SWITCHES */ 3 62 dcl ( 3 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 3 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 3 65 sc_stat_$Multics, /* TRUE after answering service started */ 3 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 3 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 3 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 3 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 3 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 3 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 3 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 3 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 3 74 /* if PNT not yet available. */ 3 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 3 76 sc_stat_$test_mode, /* TRUE if in test environment */ 3 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 3 78 /* by operator signed on system console*/ 3 79 ) bit(1) aligned ext static; 3 80 3 81 3 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 102 103 4 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 4 2 /* format: style3 */ 4 3 4 4 /* These constants are to be used for the flags argument of sub_err_ */ 4 5 /* They are just "string (condition_info_header.action_flags)" */ 4 6 4 7 declare ( 4 8 ACTION_CAN_RESTART init (""b), 4 9 ACTION_CANT_RESTART init ("1"b), 4 10 ACTION_DEFAULT_RESTART 4 11 init ("01"b), 4 12 ACTION_QUIET_RESTART 4 13 init ("001"b), 4 14 ACTION_SUPPORT_SIGNAL 4 15 init ("0001"b) 4 16 ) bit (36) aligned internal static options (constant); 4 17 4 18 /* End include file */ 104 5 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 5 2 5 3 /* Written 05/04/78 by C. D. Tavares */ 5 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 5 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 5 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 5 7 5 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 5 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 5 10 iox_$close entry (pointer, fixed bin (35)), 5 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 5 12 iox_$delete_record entry (pointer, fixed bin (35)), 5 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 5 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 5 15 iox_$err_not_attached entry options (variable), 5 16 iox_$err_not_closed entry options (variable), 5 17 iox_$err_no_operation entry options (variable), 5 18 iox_$err_not_open entry options (variable), 5 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 5 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 5 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 5 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 5 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 5 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 5 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 5 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 5 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 5 28 iox_$propagate entry (pointer), 5 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 5 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 5 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 5 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 5 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 5 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 5 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 5 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 5 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 5 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 5 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 5 40 5 41 dcl (iox_$user_output, 5 42 iox_$user_input, 5 43 iox_$user_io, 5 44 iox_$error_output) external static pointer; 5 45 5 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 105 106 end mc_quiesce_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1429.3 mc_quiesce_.pl1 >special_ldd>install>1054>mc_quiesce_.pl1 98 1 07/29/76 1747.7 device_queue.incl.pl1 >ldd>include>device_queue.incl.pl1 100 2 08/04/87 1139.3 mc_anstbl.incl.pl1 >spec>install>1056>mc_anstbl.incl.pl1 102 3 08/04/87 1139.2 sc_stat_.incl.pl1 >spec>install>1056>sc_stat_.incl.pl1 104 4 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 105 5 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.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. ACTION_CANT_RESTART 000010 constant bit(36) initial dcl 4-7 set ref 49* MC_WAIT_ANSWERBACK constant fixed bin(17,0) initial dcl 2-103 ref 60 ME 000000 constant char(12) initial unaligned dcl 35 set ref 49* active 0(02) based bit(1) level 3 packed unaligned dcl 2-54 ref 60 addr builtin function dcl 37 ref 58 80 81 81 atex 000100 automatic fixed bin(17,0) dcl 25 set ref 57* 58* 79* 80* channel 2 based fixed bin(71,0) level 2 dcl 1-6 set ref 65* code 000101 automatic fixed bin(35,0) dcl 26 set ref 81* 82 current_size 1 based fixed bin(17,0) level 2 dcl 2-25 ref 57 79 device_queue based structure level 1 dcl 1-6 entry 142 based structure array level 2 dcl 2-25 set ref 58 80 error_table_$out_of_sequence 000010 external static fixed bin(35,0) dcl 39 set ref 49* flags based structure level 2 dcl 2-54 get_process_id_ 000012 constant entry external dcl 41 ref 49 have_queued_output 000102 automatic bit(1) dcl 27 set ref 53* 55 56* 64* 71 76* 77 78* 87* 93 hcs_$wakeup 000014 constant entry external dcl 42 ref 65 iocb 24 based pointer level 2 dcl 2-54 set ref 81* 84* iox_$control 000032 constant entry external dcl 5-8 ref 81 84 mc_ansp 000114 automatic pointer dcl 2-25 set ref 48* 49 57 58 65 79 80 mc_anstbl based structure level 1 dcl 2-25 mc_ate based structure level 1 dcl 2-54 mc_atep 000116 automatic pointer dcl 2-54 set ref 58* 59 60 60 80* 81 84 85 mc_procid 2 based bit(36) level 2 dcl 2-25 set ref 49 65* mc_wakeups_$set_shutdown_limits 000016 constant entry external dcl 43 ref 52 no_of_messages 14 based fixed bin(17,0) level 2 dcl 1-6 ref 63 null builtin function dcl 37 ref 60 84 84 output_pending 2 000110 automatic bit(1) level 2 dcl 31 set ref 82 phcs_$ring_0_message 000020 constant entry external dcl 44 ref 71 93 qp 000104 automatic pointer dcl 28 set ref 59* 60 63 65 queue_ptr 174 based pointer level 2 dcl 2-54 ref 59 quiesce_tries 000106 automatic fixed bin(17,0) dcl 29 set ref 55* 77* sc_stat_$mc_ansp 000026 external static pointer dcl 3-45 ref 48 sc_stat_$mc_is_on 000030 external static bit(1) dcl 3-62 ref 49 sub_err_ 000022 constant entry external dcl 45 ref 49 timer_manager_$sleep 000024 constant entry external dcl 46 ref 66 90 tra_vec 30 based fixed bin(17,0) level 2 dcl 2-54 set ref 60 85* write_status_info 000110 automatic structure level 1 dcl 31 set ref 81 81 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 4-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 4-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 4-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 4-7 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 iox_$attach_loud 000000 constant entry external dcl 5-8 iox_$attach_name 000000 constant entry external dcl 5-8 iox_$attach_ptr 000000 constant entry external dcl 5-8 iox_$close 000000 constant entry external dcl 5-8 iox_$close_file 000000 constant entry external dcl 5-8 iox_$delete_record 000000 constant entry external dcl 5-8 iox_$destroy_iocb 000000 constant entry external dcl 5-8 iox_$detach 000000 constant entry external dcl 5-8 iox_$detach_iocb 000000 constant entry external dcl 5-8 iox_$err_no_operation 000000 constant entry external dcl 5-8 iox_$err_not_attached 000000 constant entry external dcl 5-8 iox_$err_not_closed 000000 constant entry external dcl 5-8 iox_$err_not_open 000000 constant entry external dcl 5-8 iox_$error_output external static pointer dcl 5-41 iox_$find_iocb 000000 constant entry external dcl 5-8 iox_$find_iocb_n 000000 constant entry external dcl 5-8 iox_$get_chars 000000 constant entry external dcl 5-8 iox_$get_line 000000 constant entry external dcl 5-8 iox_$look_iocb 000000 constant entry external dcl 5-8 iox_$modes 000000 constant entry external dcl 5-8 iox_$move_attach 000000 constant entry external dcl 5-8 iox_$open 000000 constant entry external dcl 5-8 iox_$open_file 000000 constant entry external dcl 5-8 iox_$position 000000 constant entry external dcl 5-8 iox_$propagate 000000 constant entry external dcl 5-8 iox_$put_chars 000000 constant entry external dcl 5-8 iox_$read_key 000000 constant entry external dcl 5-8 iox_$read_length 000000 constant entry external dcl 5-8 iox_$read_record 000000 constant entry external dcl 5-8 iox_$rewrite_record 000000 constant entry external dcl 5-8 iox_$seek_key 000000 constant entry external dcl 5-8 iox_$user_input external static pointer dcl 5-41 iox_$user_io external static pointer dcl 5-41 iox_$user_output external static pointer dcl 5-41 iox_$write_record 000000 constant entry external dcl 5-8 sc_stat_$Go external static bit(1) dcl 3-62 sc_stat_$Go_typed external static bit(1) dcl 3-62 sc_stat_$Multics external static bit(1) dcl 3-62 sc_stat_$Multics_typed external static bit(1) dcl 3-62 sc_stat_$Star_typed external static bit(1) dcl 3-62 sc_stat_$admin_listener_exit_label external static label variable dcl 3-34 sc_stat_$admin_listener_switch external static bit(1) dcl 3-62 sc_stat_$admin_log_iocb external static pointer dcl 3-45 sc_stat_$admin_log_write_ptr external static pointer dcl 3-45 sc_stat_$admin_sci_ptr external static pointer dcl 3-45 sc_stat_$as_log_write_ptr external static pointer dcl 3-45 sc_stat_$did_part1 external static bit(1) dcl 3-62 sc_stat_$did_part2 external static bit(1) dcl 3-62 sc_stat_$did_part3 external static bit(1) dcl 3-62 sc_stat_$exec_access_name external static char(32) unaligned dcl 3-15 sc_stat_$info_dir external static char(168) unaligned dcl 3-21 sc_stat_$initzer_ttyp external static pointer dcl 3-45 sc_stat_$log_dir external static char(168) unaligned dcl 3-21 sc_stat_$master_abort_label external static label variable dcl 3-34 sc_stat_$master_channel external static char(6) dcl 3-29 sc_stat_$master_iocb external static pointer dcl 3-45 sc_stat_$master_sci_ptr external static pointer dcl 3-45 sc_stat_$mc_acs_dir external static char(168) unaligned dcl 3-21 sc_stat_$mc_iocb external static pointer dcl 3-45 sc_stat_$no_operator_login external static bit(1) dcl 3-62 sc_stat_$shutdown_typed external static bit(1) dcl 3-62 sc_stat_$sv1_iocb external static pointer dcl 3-45 sc_stat_$sv2_iocb external static pointer dcl 3-45 sc_stat_$sv3_iocb external static pointer dcl 3-45 sc_stat_$sysdir external static char(168) unaligned dcl 3-21 sc_stat_$system_shutdown_label external static label variable dcl 3-34 sc_stat_$test_mode external static bit(1) dcl 3-62 sc_stat_$unidentified_access_name external static char(32) unaligned dcl 3-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 3-62 NAME DECLARED BY EXPLICIT CONTEXT. mc_quiesce_ 000104 constant entry external dcl 9 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 644 700 477 654 Length 1164 477 34 247 145 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mc_quiesce_ 128 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mc_quiesce_ 000100 atex mc_quiesce_ 000101 code mc_quiesce_ 000102 have_queued_output mc_quiesce_ 000104 qp mc_quiesce_ 000106 quiesce_tries mc_quiesce_ 000110 write_status_info mc_quiesce_ 000114 mc_ansp mc_quiesce_ 000116 mc_atep mc_quiesce_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_process_id_ hcs_$wakeup iox_$control mc_wakeups_$set_shutdown_limits phcs_$ring_0_message sub_err_ timer_manager_$sleep THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$out_of_sequence sc_stat_$mc_ansp sc_stat_$mc_is_on LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000103 48 000111 49 000114 52 000154 53 000161 55 000163 56 000173 57 000174 58 000205 59 000211 60 000213 63 000225 64 000227 65 000231 66 000252 69 000267 70 000271 71 000273 76 000311 77 000313 78 000323 79 000324 80 000335 81 000341 82 000373 84 000377 85 000431 86 000434 87 000435 88 000437 90 000441 91 000456 93 000460 96 000476 ----------------------------------------------------------- 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