COMPILATION LISTING OF SEGMENT system_control_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 1015.1 mst Sat 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 /* format: style2,idind30 */ 13 14 system_control_: 15 procedure; 16 17 /* System Control is the procedure called by the initializer process 18* after system initialization has been completed in ring 1. 19* It runs in ring 4, and is outwardly called by system_startup_ */ 20 21 /* 22* Initially coded by M. J. Spier on April 25, 1969 23* Revised for mini_shell by R. C. Daley on June 29, 1969 24* Recoded for efficiency by J.M. Grochow on December 22, 1969 25* Recoded for the new User/System Control by Michael J. Spier, March 27, 1970 26* Completely recoded by Michael J. Spier on Saturday June 27, 1970 27* Revised for operator communications by Dennis Capps Sept. 1972 28* Intercom, input logging, elimination of bugs 5/74 THVV 29* Split into seventeen little programs THVV 4/75 30* Modified 750318 by PG to get test mode to work 31* Modified for IOX April 1981 by Benson I. Margulies. 32* Modified for call_bce August 1983 by Keith Loepere. 33* Modified 1984-10-08 BIM for demise of communications 34* Modified 1984-10-26 BIM for ssu_ */ 35 36 /****^ HISTORY COMMENTS: 37* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 38* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1056): 39* Correct error message documentation. 40* 2) change(86-08-01,Cox), approve(87-05-25,MCR7690), audit(87-03-13,GDixon), 41* install(87-08-04,MR12.1-1055): 42* Modified for change to mc_anstbl.incl.pl1. 43* 3) change(87-02-03,GDixon), approve(87-05-25,MCR7680), 44* audit(87-05-06,Parisek), install(87-08-04,MR12.1-1055): 45* Modified to meet coding standards by deleting unreferenced variables, 46* declaring used builtins, etc. 47* END HISTORY COMMENTS */ 48 49 /* DECLARATION OF BUILTIN FUNCTIONS */ 50 51 dcl (addr, length, null, rtrim) builtin; 52 53 /* CONDITIONS */ 54 55 dcl any_other condition; 56 dcl signal_io_ condition; 57 58 /* DECLARATION OF EXTERNAL ENTRIES */ 59 60 dcl hphcs_$syserr entry options (variable); 61 dcl hphcs_$call_bce entry (); 62 dcl ioa_$ioa_switch entry () options (variable); 63 dcl sc_init_ entry (); 64 dcl sc_process_command_line_ entry (pointer, pointer, fixed binary (21)); 65 dcl sc_shutdown_ entry; 66 dcl sc_signal_handler_ entry (); 67 dcl sc_signal_io_handler_ entry; 68 69 70 /* DECLARATION OF AUTOMATIC STORAGE VARIABLES */ 71 72 dcl buffer char (500); 73 dcl command_line_length fixed bin (21); 74 dcl initial_command char (30); 75 dcl ip ptr automatic; 76 77 78 /* This section of the code initializes the system control environment. */ 79 80 initial_command = ""; 81 go to common; /* if entered as result of "standard" */ 82 83 startup_entry: 84 entry; /* entry to execute startup command upon entry */ 85 86 initial_command = "startup"; 87 88 go to common; 89 90 multics_entry: 91 entry; /* entry to execute multics cmd immediately upon entry */ 92 93 initial_command = "multics"; 94 go to common; 95 96 common: 97 if ^sc_stat_$test_mode 98 then on any_other 99 begin; 100 call hphcs_$syserr (1, "system_control_: fault during init."); 101 call hphcs_$call_bce (); 102 end; 103 104 call sc_init_ (); 105 106 on any_other call sc_signal_handler_; 107 on signal_io_ call sc_signal_io_handler_; 108 109 sc_stat_$system_shutdown_label = SHUTDOWN_COMES_HERE; 110 111 if initial_command ^= "" 112 then call sc_process_command_line_ (sc_stat_$master_sci_ptr, addr (initial_command), 113 length (rtrim (initial_command))); 114 115 116 117 /* Here is the main loop of system control. 118* All this program does is act like a regular listener: 119* It reads a line from the master console, parses it to 120* find out what the command is, and executes the command. 121* 122* The trick is that in the initializer process, there are 123* a large number of static event call channels, in the process's 124* event channel table, which can have events arrive on them. 125* When such an event is signalled, the ipc_$block module 126* appears (on a stack trace) to have called out instead of 127* returning to the DIM for the console. 128* 129* The rule in the initializer is that any module which 130* might encounter a block condition (such as an output dim) 131* must mask event calls so that the only place where 132* event calls can be activated is while the read call 133* just below is blocked. */ 134 135 sc_stat_$master_abort_label = SYSTEM_CONTROL_LISTENER; 136 137 SYSTEM_CONTROL_LISTENER: 138 do while ("1"b); 139 mc_atep = sc_stat_$initzer_ttyp; /* it may get set at any time */ 140 if ^sc_stat_$Multics | (mc_atep = null ()) 141 then call ioa_$ioa_switch (sc_stat_$master_iocb, "Ready"); 142 else call ioa_$ioa_switch (sc_stat_$master_iocb, "Ready^[ (^a)^;^s^]^[ (Not signed on.)^]", 143 mc_ate.signed_on, mc_ate.personid, 144 as_data_$rs_ptrs (0) -> installation_parms.require_operator_login & ^mc_ate.signed_on); 145 command_line_length = 0; 146 call iox_$get_line (sc_stat_$master_iocb, addr (buffer), length (buffer), command_line_length, (0)); 147 if command_line_length > 0 148 then call sc_process_command_line_ (sc_stat_$master_sci_ptr, addr (buffer), command_line_length); 149 end; 150 151 SHUTDOWN_COMES_HERE: 152 call sc_shutdown_; 153 1 1 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 154 155 2 1 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 2 2 2 3 /* Modified 740723 by PG to add short AIM access names */ 2 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 2 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 2 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 2 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 2 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 2 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 2 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 2 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 2 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 2 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 2 14* strict_trusted_path. */ 2 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 2 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 2 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 2 18 2 19 2 20 /****^ HISTORY COMMENTS: 2 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 2 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 2 23* added vchn_requires_accept parameter. 2 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 2 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 2 26* Correct formatting problems. 2 27* END HISTORY COMMENTS */ 2 28 2 29 2 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 2 31 2 32 2 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 2 34 2 part_1 like installation_parms_part_1 aligned, 2 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 2 36 2 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 2 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 2 39 2 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 2 41 2 installation_id char (32), /* Name printed at dialup and in who */ 2 42 2 company char (64), /* company name */ 2 43 2 department char (64), /* department */ 2 44 2 companyds char (120), /* company, double spaced */ 2 45 2 departmentds char (120), /* dpeartment double spaced */ 2 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 2 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 2 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 2 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 2 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 2 51 2 ndevices fixed bin, /* number of devices to charge */ 2 52 2 devtab (16), /* Maximum 16 */ 2 53 3 device_id char (8), /* Name of device */ 2 54 3 device_price (0: 7) float bin, /* Price by shift */ 2 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 2 56 2 warning_time fixed bin, /* seconds from warning to logout */ 2 57 2 login_time fixed bin, /* seconds in which to complete login */ 2 58 2 acct_update fixed bin, /* seconds between acct update */ 2 59 2 login_tries fixed bin, /* number of login tries allowed */ 2 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 2 61 2 registration_price float bin, /* fee per month per user */ 2 62 2 dolsign char (1), /* "dollar sign" */ 2 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 2 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 2 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 2 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 2 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 2 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 2 69* Initializer will copy the syserr_log */ 2 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 2 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 2 72 2 fatal_error_loop_count fixed bin (17) unaligned, 2 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 2 74 2 term_real_time_seconds fixed bin (17) unaligned, 2 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 2 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 2 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 2 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 2 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 2 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 2 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 2 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 2 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 2 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 2 85 2 level_names (0:7) char (32), /* Names for security levels. */ 2 86 2 category_names (18) char (32), /* Names for security categories. */ 2 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 2 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 2 89 2 ncon fixed bin, /* Number of config elements. */ 2 90 2 cona (51), /* each entry is 5 words long */ 2 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 2 92 3 shift fixed bin (5) unal, /* Shift number */ 2 93 3 x1 fixed bin (23) unal, 2 94 3 kmem fixed bin (17) unal, /* Memory size */ 2 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 2 96 3 x2 fixed bin (17) unal, 2 97 3 maxa fixed bin (11) unal, /* Max abs users */ 2 98 3 maxq fixed bin (5) unal, /* Max abs q */ 2 99 3 maxu_base fixed bin (17) unal, 2 100 3 response_high fixed bin (17) unal, 2 101 3 response_low fixed bin (17) unal, 2 102 3 x3 fixed bin (17) unal, 2 103 2 104 /* Absentee control parameters. New for MR7.0 */ 2 105 2 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 2 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 2 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 2 109 2 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 2 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 2 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 2 113 2 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 2 115 2 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 2 117 2 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 2 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 2 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 2 121 2 version fixed bin (35), /* must be 2 */ 2 122 2 nrates fixed bin, /* number of rate structures */ 2 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 2 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 2 125 2 require_operator_login bit (1) aligned, /* just what it says */ 2 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 2 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 2 128* mcacs segments for operators */ 2 129 2 password_min_length fixed bin, /* minimum length of passwords */ 2 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 2 131 2 password_change_interval fixed bin, /* number of days until must change */ 2 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 2 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 2 134* "accepted" by operator if personid is not 2 135* signed on system console */ 2 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 2 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 2 138* or someone miscounted when using part of pad2 */ 2 139 2 140 2 141 /* Entries in the following array may be accessed via system_info_$resource_price. 2 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 2 143 2 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 2 145 2 name char (32), 2 146 2 price float bin; 2 147 3 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 3 2 3 3 /* Created on 04/24/78 by Michael R. Jordan */ 3 4 /* Modified 04/10/79 by C. D. Tavares */ 3 5 3 6 dcl rifp ptr; 3 7 3 8 dcl 1 rcp_init_flags based (rifp), 3 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 3 10 2 pad1 bit (2) unaligned, /* obsolete */ 3 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 3 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 3 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 3 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 3 15 3 16 dcl (No_authentication initial (0), 3 17 Nominal_authentication initial (1), 3 18 Automatic_authentication initial (2), 3 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 3 20 3 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 3 22 ("none", "nominal", "automatic", "manual"); 3 23 3 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 2 148 2 149 2 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 156 157 4 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 4 2 4 3 /* Written 05/04/78 by C. D. Tavares */ 4 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 4 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 4 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 4 7 4 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 4 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 4 10 iox_$close entry (pointer, fixed bin (35)), 4 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 4 12 iox_$delete_record entry (pointer, fixed bin (35)), 4 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 4 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 4 15 iox_$err_not_attached entry options (variable), 4 16 iox_$err_not_closed entry options (variable), 4 17 iox_$err_no_operation entry options (variable), 4 18 iox_$err_not_open entry options (variable), 4 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 4 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 4 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 4 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 4 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 4 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 4 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 4 28 iox_$propagate entry (pointer), 4 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 4 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 4 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 4 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 4 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 4 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 4 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 4 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 4 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 4 40 4 41 dcl (iox_$user_output, 4 42 iox_$user_input, 4 43 iox_$user_io, 4 44 iox_$error_output) external static pointer; 4 45 4 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 158 159 5 1 /* BEGIN INCLUDE FILE ... mc_anstbl.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(85-12-19,MSharpe), approve(87-05-25,MCR7690), 5 6* audit(87-03-30,GDixon), install(87-08-04,MR12.1-1056): 5 7* Added the pending and virtual flags and virtual_tty_name to mc_ate; 5 8* changed mc_ate.tty_name to mc_ate.real_tty_name; added mc_ate.ls_procid, 5 9* mc_ate.ls_term_ev_chn, mc_ate.ls_resp_ev_chn, mc_ate.ls_handle. 5 10* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 5 11* audit(87-06-01,Parisek), install(87-08-04,MR12.1-1056): 5 12* Add mc_ate.vchn_requires_accept in support of virtual channels. Explicitly 5 13* declare implicit pad fields which the compile adds for element alignment 5 14* purposes. Declare mc_ansp and mc_atep, on which major structures are 5 15* based, rather than depending upon includers do to so. 5 16* 3) change(87-03-27,Parisek), approve(87-05-25,MCR7690), 5 17* audit(87-06-11,GDixon), install(87-08-04,MR12.1-1056): 5 18* Added the dsa_ring_number element to provide a constant for determining 5 19* the DSA ring. 5 20* END HISTORY COMMENTS */ 5 21 5 22 5 23 /* format: style3,idind30 */ 5 24 5 25 dcl 1 mc_anstbl based (mc_ansp) aligned, 5 26 /* Structure of answer table */ 5 27 2 max_size fixed bin, /* max number of entries table can grow */ 5 28 2 current_size fixed bin, /* actual size of table (in entries) */ 5 29 2 mc_procid bit (36), /* process ID of message coordinator */ 5 30 2 sysdir char (168), /* name of main system control directory */ 5 31 2 pad_ptrs bit (36), 5 32 2 mrtp ptr, 5 33 2 vconsp ptr, 5 34 2 cons_cont_proc entry, /* mc_tty_ */ 5 35 2 con_rec, /* Data for console recovery. */ 5 36 3 mc_ate_ptr ptr, /* Pts to recovery device. */ 5 37 3 ec_id fixed bin (71), /* Recovery event chan. */ 5 38 3 seq_num fixed bin (35), /* Syserr sequence number. */ 5 39 3 offset bit (18), /* Log entry offset. */ 5 40 3 flags, 5 41 ( 4 enabled bit (1), /* ON => recovery possible. */ 5 42 4 active bit (1), 5 43 4 pad_flags bit (16) 5 44 ) unaligned, /* ON => recovery going on. */ 5 45 2 n_sources fixed bin, /* number of communicating sources */ 5 46 2 max_sources fixed bin, /* maximum number of sources allowed */ 5 47 2 current_time fixed bin (71), /* Time of last transaction */ 5 48 2 trace bit (1) aligned, 5 49 2 dsa_ring_number fixed bin, /* DSA ring number */ 5 50 2 pad_entries (30) bit (36) aligned, 5 51 2 entry (0 refer (mc_anstbl.current_size)) aligned like mc_ate, 5 52 mc_ansp ptr; 5 53 5 54 dcl 1 mc_ate based (mc_atep) aligned, 5 55 /* declaration of a single answer table entry */ 5 56 2 flags aligned, 5 57 3 virtual bit (1) unaligned, /* 1 => login -vchn XXX */ 5 58 3 pending bit (1) unaligned, /* 1 => pending entry created for DSA channel 5 59* since we can't keep info in cdte for it */ 5 60 3 active bit (1) unaligned, 5 61 3 the_system_console bit (1) unaligned, /* otw_/ocd_ */ 5 62 3 a_system_console bit (1) unaligned, /* Not yet implemented -- a random opc through a */ 5 63 /* nonexistent I/O module */ 5 64 3 pad001 bit (1) unaligned, 5 65 3 signed_on bit (1) unaligned, 5 66 3 reply_restricted bit (1) unaligned, 5 67 3 broadcast bit (1) unaligned, 5 68 3 broadcast_all bit (1) unaligned, 5 69 3 vchn_requires_accept bit (1) unaligned, 5 70 3 pad_flags bit (25) unaligned, 5 71 2 virtual_tty_name char (32) unaligned, 5 72 2 real_tty_name char (32) unaligned, 5 73 2 pad_ptrs bit (36), 5 74 2 cdtep pointer, /* we get info from cdt */ 5 75 2 iocb pointer, /* do I/O here */ 5 76 2 sci_ptr pointer, 5 77 2 tra_vec fixed bin, 5 78 2 restrict_reply char (32), /* Source name. if "", everybody. */ 5 79 /* Broadcasting information. */ 5 80 2 n_casts fixed bin, /* If flag is 1 */ 5 81 2 cast (10) char (32), /* If flag is 1, list of consoles. */ 5 82 2 oper_info, /* for oper assigned this console... */ 5 83 3 personid char (32), 5 84 3 last_input_time fixed bin (71), /* time of last input on this console... */ 5 85 2 queue_ptr ptr, 5 86 2 queue_event fixed bin (71), 5 87 2 event fixed binary (71), /* name of event call channel associated with TTY */ 5 88 2 ls_procid bit (36), /* ID of login_server who will wake us up with connect 5 89* and disconnect -- used only for network channels */ 5 90 2 pad_ev_chn bit (36), 5 91 2 ls_term_ev_chn fixed bin (71), /* event channel to send terminate response to ls */ 5 92 2 ls_resp_ev_chn fixed bin (71), /* event channel to send operator response to ls */ 5 93 2 ls_handle bit (72), /* login server handle for this connection */ 5 94 2 authority, 5 95 3 privilege (36) bit (1) unaligned, 5 96 2 control, 5 97 3 inhibit bit (1) unal, 5 98 3 output_wait bit (1) unal, 5 99 3 output_pending bit (1) unal, 5 100 3 pad_control bit (33) unal, 5 101 mc_atep ptr; 5 102 5 103 declare ( 5 104 MC_WAIT_DIALUP init (1), 5 105 MC_WAIT_ANSWERBACK init (2), 5 106 MC_WAIT_READY init (3), 5 107 MC_WAIT_COMMAND init (4) 5 108 ) fixed bin int static options (constant); 5 109 5 110 /* END INCLUDE FILE ... mc_anstbl.incl.pl1 */ 160 161 6 1 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 6 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 6 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 6 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 6 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 6 10* Reorganized by type of data to improve readability. 6 11* END HISTORY COMMENTS */ 6 12 6 13 6 14 /* ACCESS NAMES */ 6 15 dcl ( 6 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 6 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 6 18 ) char(32) ext static; 6 19 6 20 /* PATHNAMES */ 6 21 dcl ( 6 22 sc_stat_$info_dir, /* admin info segs directory */ 6 23 sc_stat_$log_dir, /* as log segs directory */ 6 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 6 25 sc_stat_$sysdir /* system control directory */ 6 26 ) char(168) ext static; 6 27 6 28 /* OTHER CHAR STRINGS */ 6 29 dcl ( 6 30 sc_stat_$master_channel /* Master TTY channel. */ 6 31 ) char(6) aligned ext static; 6 32 6 33 /* LABELS */ 6 34 dcl ( 6 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 6 36 /* ssu_$null_label unless */ 6 37 /* admin_listener is active. */ 6 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 6 39 /* attributable to a particular */ 6 40 /* command. */ 6 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 6 42 ) label variable ext static; 6 43 6 44 /* POINTERS TO */ 6 45 dcl ( 6 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 6 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 6 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 6 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 6 50 /* by sys_log_. */ 6 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 6 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 6 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 6 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 6 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 6 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 6 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 6 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 6 59 ) ptr ext static; 6 60 6 61 /* SWITCHES */ 6 62 dcl ( 6 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 6 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 6 65 sc_stat_$Multics, /* TRUE after answering service started */ 6 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 6 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 6 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 6 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 6 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 6 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 6 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 6 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 6 74 /* if PNT not yet available. */ 6 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 6 76 sc_stat_$test_mode, /* TRUE if in test environment */ 6 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 6 78 /* by operator signed on system console*/ 6 79 ) bit(1) aligned ext static; 6 80 6 81 6 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 162 163 164 /* BEGIN MESSAGE DOCUMENTATION 165* 166*Message: 167*Ready 168* 169*S: $info 170* 171*T: In response to an operator command. 172* 173*M: The Initializer types Ready whenever it is ready to accept 174*an Initializer command in ring 4. 175* 176*A: Type the desired command. 177* 178* 179*Message: 180*system_control_: fault during init 181* 182*S: ring 4 system control. 183* 184*T: $init 185* 186*M: Some error condition has occurred unexpectedly while 187*starting up the ring 4 initializer environment. 188*The system will return to bce. 189* 190*A: $contact 191*$recover 192* 193* END MESSAGE DOCUMENTATION */ 194 195 end system_control_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0809.2 system_control_.pl1 >spec>install>1112>system_control_.pl1 154 1 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 156 2 08/06/87 0913.4 installation_parms.incl.pl1 >ldd>include>installation_parms.incl.pl1 2-148 3 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 158 4 05/23/83 0916.6 iox_entries.incl.pl1 >ldd>include>iox_dcls.incl.pl1 160 5 08/06/87 0913.5 mc_anstbl.incl.pl1 >ldd>include>mc_anstbl.incl.pl1 162 6 08/06/87 0913.5 sc_stat_.incl.pl1 >ldd>include>sc_stat_.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. addr builtin function dcl 51 ref 111 111 146 146 147 147 any_other 000100 stack reference condition dcl 55 ref 96 106 as_data_$rs_ptrs 000030 external static pointer array dcl 1-49 ref 142 buffer 000114 automatic char(500) packed unaligned dcl 72 set ref 146 146 146 146 147 147 command_line_length 000311 automatic fixed bin(21,0) dcl 73 set ref 145* 146* 147 147* flags based structure level 2 dcl 5-54 hphcs_$call_bce 000012 constant entry external dcl 61 ref 101 hphcs_$syserr 000010 constant entry external dcl 60 ref 100 initial_command 000312 automatic char(30) packed unaligned dcl 74 set ref 80* 86* 93* 111 111 111 111 111 installation_parms based structure level 1 dcl 2-33 installation_parms_part_1 based structure level 1 dcl 2-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 2-144 ioa_$ioa_switch 000014 constant entry external dcl 62 ref 140 142 iox_$get_line 000032 constant entry external dcl 4-8 ref 146 length builtin function dcl 51 ref 111 111 146 146 mc_ate based structure level 1 dcl 5-54 mc_atep 000322 automatic pointer dcl 5-54 set ref 139* 140 142 142 142 null builtin function dcl 51 ref 140 oper_info 162 based structure level 2 dcl 5-54 part_1 based structure level 2 dcl 2-33 personid 162 based char(32) level 3 dcl 5-54 set ref 142* rcp_init_flags based structure level 1 packed packed unaligned dcl 3-8 require_operator_login 2035 based bit(1) level 3 dcl 2-33 ref 142 rtrim builtin function dcl 51 ref 111 111 sc_init_ 000016 constant entry external dcl 63 ref 104 sc_process_command_line_ 000020 constant entry external dcl 64 ref 111 147 sc_shutdown_ 000022 constant entry external dcl 65 ref 151 sc_signal_handler_ 000024 constant entry external dcl 66 ref 106 sc_signal_io_handler_ 000026 constant entry external dcl 67 ref 107 sc_stat_$Multics 000046 external static bit(1) dcl 6-62 ref 140 sc_stat_$initzer_ttyp 000040 external static pointer dcl 6-45 ref 139 sc_stat_$master_abort_label 000034 external static label variable dcl 6-34 set ref 135* sc_stat_$master_iocb 000042 external static pointer dcl 6-45 set ref 140* 142* 146* sc_stat_$master_sci_ptr 000044 external static pointer dcl 6-45 set ref 111* 147* sc_stat_$system_shutdown_label 000036 external static label variable dcl 6-34 set ref 109* sc_stat_$test_mode 000050 external static bit(1) dcl 6-62 ref 96 signal_io_ 000106 stack reference condition dcl 56 ref 107 signed_on 0(06) based bit(1) level 3 packed packed unaligned dcl 5-54 set ref 142* 142 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Automatic_authentication internal static fixed bin(17,0) initial dcl 3-16 MC_WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 5-103 MC_WAIT_COMMAND internal static fixed bin(17,0) initial dcl 5-103 MC_WAIT_DIALUP internal static fixed bin(17,0) initial dcl 5-103 MC_WAIT_READY internal static fixed bin(17,0) initial dcl 5-103 Manual_authentication internal static fixed bin(17,0) initial dcl 3-16 No_authentication internal static fixed bin(17,0) initial dcl 3-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 3-16 as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) packed unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) packed unaligned dcl 1-25 as_data_$ansp external static pointer dcl 1-26 as_data_$as_procid external static bit(36) dcl 1-27 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) packed unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$cdtp external static pointer dcl 1-33 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) packed unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 1-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 1-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 1-44 as_data_$pdtdir external static char(168) packed unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) packed unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array packed unaligned dcl 1-53 as_data_$sysdir external static char(168) packed unaligned dcl 1-54 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) packed unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) packed unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 authentication_level_names internal static char(12) initial array packed unaligned dcl 3-21 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 2-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 2-38 iox_$attach_loud 000000 constant entry external dcl 4-8 iox_$attach_name 000000 constant entry external dcl 4-8 iox_$attach_ptr 000000 constant entry external dcl 4-8 iox_$close 000000 constant entry external dcl 4-8 iox_$close_file 000000 constant entry external dcl 4-8 iox_$control 000000 constant entry external dcl 4-8 iox_$delete_record 000000 constant entry external dcl 4-8 iox_$destroy_iocb 000000 constant entry external dcl 4-8 iox_$detach 000000 constant entry external dcl 4-8 iox_$detach_iocb 000000 constant entry external dcl 4-8 iox_$err_no_operation 000000 constant entry external dcl 4-8 iox_$err_not_attached 000000 constant entry external dcl 4-8 iox_$err_not_closed 000000 constant entry external dcl 4-8 iox_$err_not_open 000000 constant entry external dcl 4-8 iox_$error_output external static pointer dcl 4-41 iox_$find_iocb 000000 constant entry external dcl 4-8 iox_$find_iocb_n 000000 constant entry external dcl 4-8 iox_$get_chars 000000 constant entry external dcl 4-8 iox_$look_iocb 000000 constant entry external dcl 4-8 iox_$modes 000000 constant entry external dcl 4-8 iox_$move_attach 000000 constant entry external dcl 4-8 iox_$open 000000 constant entry external dcl 4-8 iox_$open_file 000000 constant entry external dcl 4-8 iox_$position 000000 constant entry external dcl 4-8 iox_$propagate 000000 constant entry external dcl 4-8 iox_$put_chars 000000 constant entry external dcl 4-8 iox_$read_key 000000 constant entry external dcl 4-8 iox_$read_length 000000 constant entry external dcl 4-8 iox_$read_record 000000 constant entry external dcl 4-8 iox_$rewrite_record 000000 constant entry external dcl 4-8 iox_$seek_key 000000 constant entry external dcl 4-8 iox_$user_input external static pointer dcl 4-41 iox_$user_io external static pointer dcl 4-41 iox_$user_output external static pointer dcl 4-41 iox_$write_record 000000 constant entry external dcl 4-8 ip automatic pointer dcl 75 mc_ansp automatic pointer dcl 5-25 mc_anstbl based structure level 1 dcl 5-25 rifp automatic pointer dcl 3-6 sc_stat_$Go external static bit(1) dcl 6-62 sc_stat_$Go_typed external static bit(1) dcl 6-62 sc_stat_$Multics_typed external static bit(1) dcl 6-62 sc_stat_$Star_typed external static bit(1) dcl 6-62 sc_stat_$admin_listener_exit_label external static label variable dcl 6-34 sc_stat_$admin_listener_switch external static bit(1) dcl 6-62 sc_stat_$admin_log_iocb external static pointer dcl 6-45 sc_stat_$admin_log_write_ptr external static pointer dcl 6-45 sc_stat_$admin_sci_ptr external static pointer dcl 6-45 sc_stat_$as_log_write_ptr external static pointer dcl 6-45 sc_stat_$did_part1 external static bit(1) dcl 6-62 sc_stat_$did_part2 external static bit(1) dcl 6-62 sc_stat_$did_part3 external static bit(1) dcl 6-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 6-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 6-21 sc_stat_$log_dir external static char(168) packed unaligned dcl 6-21 sc_stat_$master_channel external static char(6) dcl 6-29 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 6-21 sc_stat_$mc_ansp external static pointer dcl 6-45 sc_stat_$mc_iocb external static pointer dcl 6-45 sc_stat_$mc_is_on external static bit(1) dcl 6-62 sc_stat_$no_operator_login external static bit(1) dcl 6-62 sc_stat_$shutdown_typed external static bit(1) dcl 6-62 sc_stat_$sv1_iocb external static pointer dcl 6-45 sc_stat_$sv2_iocb external static pointer dcl 6-45 sc_stat_$sv3_iocb external static pointer dcl 6-45 sc_stat_$sysdir external static char(168) packed unaligned dcl 6-21 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 6-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 6-62 NAMES DECLARED BY EXPLICIT CONTEXT. SHUTDOWN_COMES_HERE 000434 constant label dcl 151 set ref 109 SYSTEM_CONTROL_LISTENER 000270 constant label dcl 137 ref 135 common 000107 constant label dcl 96 ref 81 88 94 multics_entry 000076 constant entry external dcl 90 startup_entry 000064 constant entry external dcl 83 system_control_ 000052 constant entry external dcl 14 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 730 1002 442 740 Length 1324 442 52 305 266 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME system_control_ 256 external procedure is an external procedure. on unit on line 96 86 on unit on unit on line 106 64 on unit on unit on line 107 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME system_control_ 000114 buffer system_control_ 000311 command_line_length system_control_ 000312 initial_command system_control_ 000322 mc_atep system_control_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hphcs_$call_bce hphcs_$syserr ioa_$ioa_switch iox_$get_line sc_init_ sc_process_command_line_ sc_shutdown_ sc_signal_handler_ sc_signal_io_handler_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$rs_ptrs sc_stat_$Multics sc_stat_$initzer_ttyp sc_stat_$master_abort_label sc_stat_$master_iocb sc_stat_$master_sci_ptr sc_stat_$system_shutdown_label sc_stat_$test_mode LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000051 80 000057 81 000062 83 000063 86 000071 88 000074 90 000075 93 000103 94 000106 96 000107 100 000126 101 000147 102 000154 104 000155 106 000162 107 000203 109 000224 111 000231 135 000263 139 000270 140 000274 142 000321 145 000367 146 000370 147 000414 149 000433 151 000434 195 000441 ----------------------------------------------------------- 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