COMPILATION LISTING OF SEGMENT mc_con_rec_ 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 1428.9 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 mc_con_rec_: procedure; 13 14 /* * Modification history: 15* * 75-11-05, Larry Johnson: Modified for new syserr message format 16* * 76-08-13, Robert Coren: Modified to check CDT entry pointer 17* * 81-06-27, T. Casey: Changed for MR9.0 new wakeup priorities 18* * 83-10-08, E. A. Ranzenbach: Changed for new console recovery strategy 19* * 84-10-19, W. Olin Sibert: Temp kludge to avoid calling phcs_$syserr_logger_copy 20* * 84-11-11, W. Olin Sibert: Moved syserr recovery responsibility into 21* * syserr_log_man_, and added $queue_message entrypoint for that. 22* * 84-11-16, W. Olin Sibert: Modified to handle zero wakeup from 23* * ocdcm_ as signal to deactivate console recovery. 24* * 1984-10-30 BIM for iox_. 25* */ 26 27 /****^ HISTORY COMMENTS: 28* 1) change(87-02-05,GDixon), approve(87-06-12,MCR7690), 29* audit(87-05-07,Parisek): 30* Modified for a change to mc_anstbl.incl.pl1. 31* 2) change(87-02-12,GDixon), approve(87-06-12,MCR7690), 32* audit(87-05-07,Parisek): 33* Correct reference through unset pointer (often null pointer) 34* when mc_con_rec_$output calls QUEUE_MESSAGE. (phx20767) 35* END HISTORY COMMENTS */ 36 37 /* This procedure is part of the message coordinator. 38* * It performs those functions necessary for operator console 39* * recovery. It contains the following entries: 40* * 41* * init: initializes internal static variables 42* * check: checks to see whether or not the recovery mechanism 43* * should be enabled or disabled 44* * output: outputs console traffic. 45* * 46* * Note that the console recovery mechanism has two states: 47* * enabled: there is a tty type device available for use by the 48* * console recovery mechanism - ocdcm_ has an event 49* * channel that it can use for console recovery 50* * disabled: there are mo MC devices available for recovery. 51* * 52* * The "active" bit controls whether console recovery is to be 53* * used; it depends on the values of the wakeups received by 54* * mc_con_rec_$output: a zero value deactivates console recovery, 55* * and a non-zero value activates it. The active/inactive state 56* * controls whether syserr messages are recovered; non-zero 57* * wakeups will only arrive when the console is inoperable, so 58* * that the first such wakeup, in effect, turns the mechanism on. 59**/ 60 61 62 /* PARAMETER DATA */ 63 64 declare arg_mc_ansp pointer parameter; /* (I) Ptr to message coordinator answer table. */ 65 declare arg_io_uid fixed bin (71) parameter; /* (I) ID of message */ 66 declare arg_log_message_ptr pointer parameter; /* (I) Pointer to log message to be queued */ 67 declare arg_alarm_flag bit (1) aligned parameter; /* (I) Whether to beep */ 68 69 70 /* AUTOMATIC DATA */ 71 72 dcl error_code fixed bin (35), /* Standard system error code. */ 73 i fixed bin, /* Work index. */ 74 inzr_text_length fixed bin, /* length returned by ocdcm_... */ 75 inzr_text char (256), /* text returned by ocdcm_... */ 76 qp ptr, /* Pointer to device queue. */ 77 io_uid fixed bin (71); /* identifier of message to retrieve */ 78 79 /* EXTERNAL ENTRIES */ 80 81 dcl (addr, length, substr, byte, max) 82 builtin; 83 84 dcl date_time_$format entry (char (*), fixed bin (71), char (*), char (*)) returns (char (250) varying), 85 hphcs_$ocdcm_err_event_chan entry (fixed bin (71)), 86 hphcs_$ocdcm_get_mc_output entry (fixed bin (71), fixed bin (17), char (256)), 87 ioa_$rsnnl entry options (variable), 88 ipc_$create_ev_chn entry (fixed bin (71), fixed bin (35)), 89 ipc_$decl_ev_call_chn entry (fixed bin (71), entry, ptr, fixed bin, fixed bin (35)), 90 ipc_$delete_ev_chn entry (fixed bin (71), fixed bin (35)), 91 mc_util_$queue entry (ptr, bit (1), ptr, fixed bin, fixed bin, fixed bin (35)), 92 mc_wakeups_$con_rec entry options (variable), 93 syserr_log_man_$console_recovery entry (bit (1) aligned, fixed bin (35)); 94 95 96 /* */ 97 98 mc_con_rec_$init: 99 entry (arg_mc_ansp); 100 101 /* This entry is called by mc_util_$init. It will copy its two 102* * arguments into internal static storage. It also turns OFF 103* * the console recovery enabled flag. 104**/ 105 106 arg_mc_ansp -> mc_anstbl.con_rec.flags.enabled = "0"b; 107 108 return; 109 110 check: entry; 111 112 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 113 /* */ 114 /* This entry is called whenever a tty type device is added or */ 115 /* deleted from the message coordinator answer table. */ 116 /* */ 117 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 118 119 mc_ansp = sc_stat_$mc_ansp; 120 if mc_anstbl.con_rec.flags.enabled /* Do we already have a device/ */ 121 then do; /* Yes, make sure we still have it. */ 122 mc_atep = mc_anstbl.con_rec.mc_ate_ptr; 123 if mc_ate.active /* Is device entry still active? */ 124 then if mc_ate.tra_vec > MC_WAIT_ANSWERBACK 125 then return; /* Yes, we are still enabled. */ 126 end; 127 128 129 /* We do not have a tty type device to use for recovery. We will look 130* * through the list of devices asigned to the message coordinator to see 131* * if there is one that we can use. 132**/ 133 do i = 1 to mc_anstbl.current_size; 134 mc_atep = addr (mc_anstbl.entry (i)); /* Get pointer to device entry. */ 135 if ^mc_ate.the_system_console & 136 mc_ate.active /* mess. coord. now owns it ... */ 137 & mc_ate.tra_vec > MC_WAIT_ANSWERBACK 138 then do; /* then we can use it for recovery. */ 139 call ENABLE; /* Enable console recovery. */ 140 return; 141 end; 142 end; 143 144 /* We could not find a device to use for recovery. If recovery had been 145* * enabled, we must turn it OFF. 146**/ 147 if mc_anstbl.con_rec.flags.enabled 148 then call DISABLE; 149 150 return; 151 /* */ 152 mc_con_rec_$output: 153 entry (arg_io_uid); 154 155 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 156 /* */ 157 /* This entry is called by mc_wakeups$con_rec when that procedure receives a wakeup. This wakeup */ 158 /* indicates that the operator's console software is unable to perform an output and has asked us */ 159 /* to handle the output in its behalf. The io_uid will contain one of the following: */ 160 /* */ 161 /* A positive value which is the syserr sequence number of a syserr message for display. */ 162 /* In this case we will extract the syserr message from the log and print it. */ 163 /* */ 164 /* A negative value which is a UID of the message in oc_data. For these we will call */ 165 /* ocdcm_$get_mc_output to extract the message for printing. */ 166 /* */ 167 /* A zero, indicating that the console works again and that console recovery is */ 168 /* to be deactivated. */ 169 /* */ 170 171 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 172 173 mc_ansp = sc_stat_$mc_ansp; 174 io_uid = arg_io_uid; 175 176 mc_atep = mc_anstbl.con_rec.mc_ate_ptr; /* -> device entry to write to... */ 177 qp = mc_ate.queue_ptr; /* -> device's queue segment... */ 178 179 if (io_uid = 0) then do; /* Console working again */ 180 if ^mc_anstbl.con_rec.flags.active then /* It wasn't active, so ignore the wakeup */ 181 return; 182 183 call syserr_log_man_$console_recovery ("0"b, 0); /* Otherwise, deactivate it */ 184 mc_anstbl.con_rec.flags.active = "0"b; 185 return; 186 end; 187 188 if ^mc_anstbl.con_rec.flags.active then do; /* This is a non-zero (activating) wakeup, */ 189 call syserr_log_man_$console_recovery ("1"b, max (0, io_uid)); 190 /* so we activate the mechanism, giving the */ 191 /* number of the first message to be recovered, */ 192 mc_anstbl.con_rec.flags.active = "1"b; /* and turn on the flag (but only the first */ 193 end; /* time, until we get the deactivate wakeup */ 194 195 if (io_uid > 0) then /* This is a syserr message, so we let */ 196 return; /* our counterpart in syserr_log_man_ get it. */ 197 198 if ^as_data_$debug_flag then 199 call hphcs_$ocdcm_get_mc_output (io_uid, inzr_text_length, inzr_text); 200 201 call QUEUE_MESSAGE ("INZR", (-io_uid), 0, "0"b, addr (inzr_text), (inzr_text_length)); 202 203 return; 204 205 /* */ 206 207 mc_con_rec_$queue_log_message: 208 entry (arg_log_message_ptr, arg_alarm_flag); 209 210 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 211 /* */ 212 /* This entrypoint is called by syserr_log_man_ to queue a syserr message */ 213 /* into the console recovery mechanism. */ 214 /* */ 215 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 216 217 mc_ansp = sc_stat_$mc_ansp; 218 log_message_ptr = arg_log_message_ptr; 219 220 mc_atep = mc_anstbl.con_rec.mc_ate_ptr; /* -> device entry to write to... */ 221 qp = mc_ate.queue_ptr; /* -> device's queue segment... */ 222 223 call QUEUE_MESSAGE ("HARD", 224 (log_message.time), (log_message.sequence), arg_alarm_flag, 225 addr (log_message.text), length (log_message.text)); 226 227 return; 228 229 /* */ 230 231 ENABLE: procedure; 232 233 234 /* This internal procedure is called to enable the console recovery 235* * mechanism. We must give ocdcm_ an event channel that it can use 236* * to signal that it wants console recovery. We will also initialize 237* * the data that must be kept in the mc_anstbl. 238**/ 239 240 mc_anstbl.con_rec.mc_ate_ptr = mc_atep; /* Save pointer to recovery device entry. */ 241 242 if mc_anstbl.con_rec.enabled /* Are we already enabled? */ 243 then return; /* Yes. */ 244 245 call ipc_$create_ev_chn (mc_anstbl.con_rec.ec_id, error_code); 246 if error_code ^= 0 247 then return; 248 249 call ipc_$decl_ev_call_chn (mc_anstbl.con_rec.ec_id, mc_wakeups_$con_rec, mc_ansp, MC_PRIO, error_code); 250 if error_code ^= 0 251 then return; 252 253 if ^as_data_$debug_flag then 254 call hphcs_$ocdcm_err_event_chan (mc_anstbl.con_rec.ec_id); 255 256 mc_anstbl.con_rec.flags.active = "0"b; /* Initialize con_rec flags. */ 257 mc_anstbl.con_rec.flags.enabled = "1"b; 258 259 end ENABLE; 260 /* */ 261 DISABLE: procedure; 262 263 264 /* This internal procedure is called when we must disable the console 265* * recovery mechanism. We must tell ocdcm_ that it can no longer use 266* * the event channel that it was previously given. 267**/ 268 269 mc_anstbl.con_rec.flags.enabled = "0"b; /* Now all wakeups will be ignored. */ 270 271 if ^as_data_$debug_flag then 272 call hphcs_$ocdcm_err_event_chan (0); /* Take event channel away. */ 273 274 call ipc_$delete_ev_chn (mc_anstbl.con_rec.ec_id, (0)); 275 276 end DISABLE; 277 /* */ 278 QUEUE_MESSAGE: 279 procedure (P_msg_type, P_msg_time, P_msg_sequence, P_alarm_flag, P_msg_ptr, P_msg_lth); 280 281 declare P_msg_type char (4) parameter; 282 declare P_msg_time fixed bin (71) parameter; 283 declare P_msg_sequence fixed bin (35) parameter; 284 declare P_alarm_flag bit (1) aligned parameter; 285 declare P_msg_ptr pointer parameter; 286 declare P_msg_lth fixed bin (18) parameter; 287 288 declare P_msg char (P_msg_lth) based (P_msg_ptr); 289 290 declare output_buffer char (256); 291 declare out_buf_len fixed bin (18); 292 293 294 /* * This internal procedure is called to queue a message for output 295* * over the assigned console recovery tty type terminal. It creates 296* * a printable representation of the message, including the time, 297* * sequence number (if any), and text, adding a newline if one is 298* * not present at the end of the message already. */ 299 300 301 302 call ioa_$rsnnl ("^x^a^2x^4a ^[#^d^;^s^] ^a^[^/^]", 303 output_buffer, out_buf_len, 304 date_time_$format ("^Hd^99.9MH", P_msg_time, "", ""), 305 P_msg_type, 306 (P_msg_sequence ^= 0), P_msg_sequence, 307 P_msg, 308 (substr (P_msg, length (P_msg), 1) ^= byte (10))); 309 310 call mc_util_$queue (qp, (P_alarm_flag), addr (output_buffer), (out_buf_len), 0, error_code); 311 312 return; 313 314 end QUEUE_MESSAGE; 315 316 /* format: off */ 317 /* 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 ... */ 317 318 /* BEGIN INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 2 2 2 3 /* This include file defines the priorities of all of the event channels used by the answering service. 2 4* 2 5* They are declared as named constants. They are used in calls to ipc_$decl_ev_call_chn. 2 6* The names correspond to the functions of the event call handlers. 2 7* For brevity in names, MC means message coordinator, and LOGIN includes logout as well. 2 8* 2 9* The comment on each constant lists the procedure(s) that use it to set event channel priorities. 2 10* See the code in those procedures for information on the handlers themselves 2 11* (which are entry variables in some cases, and thus could not be documented in this file). 2 12* 2 13* The priorities range from zero (highest) to 22 (lowest used by the answering service). 2 14* 2 15* The event wait channel on which the A.S. goes blocked awaiting input on the initializer console has highest 2 16* of all priorities, set by as_init_ calling ipc_$set_wait_prior. 2 17* 2 18* Written June 1981 by T. Casey for MR9.0 2 19* Modified 1984-10-15 BIM for sac -> as_request. 2 20* as_request is above login, since sac is important and 2 21* dial requests for already logged in users can take 2 22* first dibs over new logins. 2 23**/ 2 24 2 25 dcl MC_PRIO fixed bin int static options (constant) init (1); /* mc_commands_, mc_con_rec_, mc_util_, mrd_tester */ 2 26 dcl SYSERR_COPY_PRIO fixed bin int static options (constant) init (2); /* syserr_log_man_ */ 2 27 dcl SHUTDOWN_PRIO fixed bin int static options (constant) init (3); /* admin */ 2 28 dcl ACCT_UPDATE_PRIO fixed bin int static options (constant) init (4); /* act_ctl_ */ 2 29 dcl DAEMON_LOGIN_PRIO fixed bin int static options (constant) init (8); /* daemon_user_manager_ */ 2 30 dcl AS_REQUEST_PRIO fixed bin int static options (constant) init (7); /* as_request_ */ 2 31 dcl INSTALL_PRIO fixed bin int static options (constant) init (8); /* up_sysctl_ */ 2 32 dcl INT_LOGIN_PRIO fixed bin int static options (constant) init (8); /* asu_, dialup_, ftp_dialup_ */ 2 33 dcl MPX_LOAD_PRIO fixed bin int static options (constant) init (11); 2 34 /* as_vip7760_mpx_, as_mcs_mpx_, as_ibm3270_mpx_, as_hasp_mpx_ */ 2 35 dcl ABS_DEFER_PRIO fixed bin int static options (constant) init (19); /* absentee_utility_ */ 2 36 dcl ABS_LOGIN_PRIO fixed bin int static options (constant) init (20); /* abentee_user_manager_ */ 2 37 dcl CORE_FLUSH_PRIO fixed bin int static options (constant) init (22); /* as_meter_ */ 2 38 2 39 /* END INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 318 319 /* BEGIN INCLUDE FILE ... mc_anstbl.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-12-19,MSharpe), approve(87-05-25,MCR7690), 3 6* audit(87-03-30,GDixon), install(87-08-04,MR12.1-1056): 3 7* Added the pending and virtual flags and virtual_tty_name to mc_ate; 3 8* changed mc_ate.tty_name to mc_ate.real_tty_name; added mc_ate.ls_procid, 3 9* mc_ate.ls_term_ev_chn, mc_ate.ls_resp_ev_chn, mc_ate.ls_handle. 3 10* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 3 11* audit(87-06-01,Parisek), install(87-08-04,MR12.1-1056): 3 12* Add mc_ate.vchn_requires_accept in support of virtual channels. Explicitly 3 13* declare implicit pad fields which the compile adds for element alignment 3 14* purposes. Declare mc_ansp and mc_atep, on which major structures are 3 15* based, rather than depending upon includers do to so. 3 16* 3) change(87-03-27,Parisek), approve(87-05-25,MCR7690), 3 17* audit(87-06-11,GDixon), install(87-08-04,MR12.1-1056): 3 18* Added the dsa_ring_number element to provide a constant for determining 3 19* the DSA ring. 3 20* END HISTORY COMMENTS */ 3 21 3 22 3 23 /* format: style3,idind30 */ 3 24 3 25 dcl 1 mc_anstbl based (mc_ansp) aligned, 3 26 /* Structure of answer table */ 3 27 2 max_size fixed bin, /* max number of entries table can grow */ 3 28 2 current_size fixed bin, /* actual size of table (in entries) */ 3 29 2 mc_procid bit (36), /* process ID of message coordinator */ 3 30 2 sysdir char (168), /* name of main system control directory */ 3 31 2 pad_ptrs bit (36), 3 32 2 mrtp ptr, 3 33 2 vconsp ptr, 3 34 2 cons_cont_proc entry, /* mc_tty_ */ 3 35 2 con_rec, /* Data for console recovery. */ 3 36 3 mc_ate_ptr ptr, /* Pts to recovery device. */ 3 37 3 ec_id fixed bin (71), /* Recovery event chan. */ 3 38 3 seq_num fixed bin (35), /* Syserr sequence number. */ 3 39 3 offset bit (18), /* Log entry offset. */ 3 40 3 flags, 3 41 ( 4 enabled bit (1), /* ON => recovery possible. */ 3 42 4 active bit (1), 3 43 4 pad_flags bit (16) 3 44 ) unaligned, /* ON => recovery going on. */ 3 45 2 n_sources fixed bin, /* number of communicating sources */ 3 46 2 max_sources fixed bin, /* maximum number of sources allowed */ 3 47 2 current_time fixed bin (71), /* Time of last transaction */ 3 48 2 trace bit (1) aligned, 3 49 2 dsa_ring_number fixed bin, /* DSA ring number */ 3 50 2 pad_entries (30) bit (36) aligned, 3 51 2 entry (0 refer (mc_anstbl.current_size)) aligned like mc_ate, 3 52 mc_ansp ptr; 3 53 3 54 dcl 1 mc_ate based (mc_atep) aligned, 3 55 /* declaration of a single answer table entry */ 3 56 2 flags aligned, 3 57 3 virtual bit (1) unaligned, /* 1 => login -vchn XXX */ 3 58 3 pending bit (1) unaligned, /* 1 => pending entry created for DSA channel 3 59* since we can't keep info in cdte for it */ 3 60 3 active bit (1) unaligned, 3 61 3 the_system_console bit (1) unaligned, /* otw_/ocd_ */ 3 62 3 a_system_console bit (1) unaligned, /* Not yet implemented -- a random opc through a */ 3 63 /* nonexistent I/O module */ 3 64 3 pad001 bit (1) unaligned, 3 65 3 signed_on bit (1) unaligned, 3 66 3 reply_restricted bit (1) unaligned, 3 67 3 broadcast bit (1) unaligned, 3 68 3 broadcast_all bit (1) unaligned, 3 69 3 vchn_requires_accept bit (1) unaligned, 3 70 3 pad_flags bit (25) unaligned, 3 71 2 virtual_tty_name char (32) unaligned, 3 72 2 real_tty_name char (32) unaligned, 3 73 2 pad_ptrs bit (36), 3 74 2 cdtep pointer, /* we get info from cdt */ 3 75 2 iocb pointer, /* do I/O here */ 3 76 2 sci_ptr pointer, 3 77 2 tra_vec fixed bin, 3 78 2 restrict_reply char (32), /* Source name. if "", everybody. */ 3 79 /* Broadcasting information. */ 3 80 2 n_casts fixed bin, /* If flag is 1 */ 3 81 2 cast (10) char (32), /* If flag is 1, list of consoles. */ 3 82 2 oper_info, /* for oper assigned this console... */ 3 83 3 personid char (32), 3 84 3 last_input_time fixed bin (71), /* time of last input on this console... */ 3 85 2 queue_ptr ptr, 3 86 2 queue_event fixed bin (71), 3 87 2 event fixed binary (71), /* name of event call channel associated with TTY */ 3 88 2 ls_procid bit (36), /* ID of login_server who will wake us up with connect 3 89* and disconnect -- used only for network channels */ 3 90 2 pad_ev_chn bit (36), 3 91 2 ls_term_ev_chn fixed bin (71), /* event channel to send terminate response to ls */ 3 92 2 ls_resp_ev_chn fixed bin (71), /* event channel to send operator response to ls */ 3 93 2 ls_handle bit (72), /* login server handle for this connection */ 3 94 2 authority, 3 95 3 privilege (36) bit (1) unaligned, 3 96 2 control, 3 97 3 inhibit bit (1) unal, 3 98 3 output_wait bit (1) unal, 3 99 3 output_pending bit (1) unal, 3 100 3 pad_control bit (33) unal, 3 101 mc_atep ptr; 3 102 3 103 declare ( 3 104 MC_WAIT_DIALUP init (1), 3 105 MC_WAIT_ANSWERBACK init (2), 3 106 MC_WAIT_READY init (3), 3 107 MC_WAIT_COMMAND init (4) 3 108 ) fixed bin int static options (constant); 3 109 3 110 /* END INCLUDE FILE ... mc_anstbl.incl.pl1 */ 319 320 /* BEGIN INCLUDE FILE ... log_message.incl.pl1 ... 84-04-25 ... W. Olin Sibert */ 4 2 4 3 declare 1 log_message_header aligned based, /* Items marked "(SET)" are set by $create_message */ 4 4 2 sentinel bit (36) aligned, /* Proper value declared in log_segment.incl.pl1 */ 4 5 2 sequence fixed bin (35), /* Sequence number for this message (SET) */ 4 6 2 severity fixed bin (8) unaligned, /* Severity of message */ 4 7 2 data_class_lth fixed bin (9) unaligned unsigned, /* Length of data class-- 0 to 16 (SET) */ 4 8 2 time fixed bin (53) unaligned, /* Time message originated */ 4 9 2 text_lth fixed bin (17) unaligned, /* Length of message text. Must be nonzero (SET) */ 4 10 2 data_lth fixed bin (17) unaligned, /* Length of binary data. May be zero (SET) */ 4 11 2 process_id bit (36) aligned; /* Process id of process writing message */ 4 12 4 13 declare 1 log_message aligned based (log_message_ptr), 4 14 2 header aligned like log_message_header, 4 15 2 text char (log_message_text_lth refer (log_message.text_lth)) unaligned, 4 16 2 data_class char (log_message_data_class_lth refer (log_message.data_class_lth)) unaligned, 4 17 2 data dim (log_message_data_lth refer (log_message.data_lth)) bit (36) aligned; 4 18 4 19 declare log_message_ptr pointer; 4 20 declare log_message_text_lth fixed bin; 4 21 declare log_message_data_class_lth fixed bin; 4 22 declare log_message_data_lth fixed bin; 4 23 4 24 /* END INCLUDE FILE ... log_message.incl.pl1 */ 320 321 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 5 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 5 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 5 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 5 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 5 10* Reorganized by type of data to improve readability. 5 11* END HISTORY COMMENTS */ 5 12 5 13 5 14 /* ACCESS NAMES */ 5 15 dcl ( 5 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 5 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 5 18 ) char(32) ext static; 5 19 5 20 /* PATHNAMES */ 5 21 dcl ( 5 22 sc_stat_$info_dir, /* admin info segs directory */ 5 23 sc_stat_$log_dir, /* as log segs directory */ 5 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 5 25 sc_stat_$sysdir /* system control directory */ 5 26 ) char(168) ext static; 5 27 5 28 /* OTHER CHAR STRINGS */ 5 29 dcl ( 5 30 sc_stat_$master_channel /* Master TTY channel. */ 5 31 ) char(6) aligned ext static; 5 32 5 33 /* LABELS */ 5 34 dcl ( 5 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 5 36 /* ssu_$null_label unless */ 5 37 /* admin_listener is active. */ 5 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 5 39 /* attributable to a particular */ 5 40 /* command. */ 5 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 5 42 ) label variable ext static; 5 43 5 44 /* POINTERS TO */ 5 45 dcl ( 5 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 5 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 5 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 5 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 5 50 /* by sys_log_. */ 5 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 5 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 5 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 5 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 5 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 5 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 5 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 5 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 5 59 ) ptr ext static; 5 60 5 61 /* SWITCHES */ 5 62 dcl ( 5 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 5 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 5 65 sc_stat_$Multics, /* TRUE after answering service started */ 5 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 5 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 5 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 5 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 5 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 5 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 5 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 5 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 5 74 /* if PNT not yet available. */ 5 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 5 76 sc_stat_$test_mode, /* TRUE if in test environment */ 5 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 5 78 /* by operator signed on system console*/ 5 79 ) bit(1) aligned ext static; 5 80 5 81 5 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 321 322 323 end mc_con_rec_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1428.9 mc_con_rec_.pl1 >special_ldd>install>1054>mc_con_rec_.pl1 317 1 08/04/87 1154.5 as_data_.incl.pl1 >spec>install>1056>as_data_.incl.pl1 318 2 01/21/85 0912.2 as_wakeup_priorities.incl.pl1 >ldd>include>as_wakeup_priorities.incl.pl1 319 3 08/04/87 1139.3 mc_anstbl.incl.pl1 >spec>install>1056>mc_anstbl.incl.pl1 320 4 01/21/85 0912.2 log_message.incl.pl1 >ldd>include>log_message.incl.pl1 321 5 08/04/87 1139.2 sc_stat_.incl.pl1 >spec>install>1056>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. MC_PRIO 000015 constant fixed bin(17,0) initial dcl 2-25 set ref 249* MC_WAIT_ANSWERBACK constant fixed bin(17,0) initial dcl 3-103 ref 123 135 P_alarm_flag parameter bit(1) dcl 284 ref 278 310 P_msg based char unaligned dcl 288 set ref 302* 302 302 P_msg_lth parameter fixed bin(18,0) dcl 286 ref 278 302 302 302 302 P_msg_ptr parameter pointer dcl 285 ref 278 302 302 302 P_msg_sequence parameter fixed bin(35,0) dcl 283 set ref 278 302 302* P_msg_time parameter fixed bin(71,0) dcl 282 set ref 278 302* P_msg_type parameter char(4) unaligned dcl 281 set ref 278 302* active 74(01) based bit(1) level 4 in structure "mc_anstbl" packed unaligned dcl 3-25 in procedure "mc_con_rec_" set ref 180 184* 188 192* 256* active 0(02) based bit(1) level 3 in structure "mc_ate" packed unaligned dcl 3-54 in procedure "mc_con_rec_" ref 123 135 addr builtin function dcl 81 ref 134 201 201 223 223 310 310 arg_alarm_flag parameter bit(1) dcl 67 set ref 207 223* arg_io_uid parameter fixed bin(71,0) dcl 65 ref 152 174 arg_log_message_ptr parameter pointer dcl 66 ref 207 218 arg_mc_ansp parameter pointer dcl 64 ref 98 106 as_data_$debug_flag 000034 external static bit(1) dcl 1-84 ref 198 253 271 byte builtin function dcl 81 ref 302 con_rec 66 based structure level 2 dcl 3-25 current_size 1 based fixed bin(17,0) level 2 dcl 3-25 ref 133 date_time_$format 000010 constant entry external dcl 84 ref 302 ec_id 70 based fixed bin(71,0) level 3 dcl 3-25 set ref 245* 249* 253* 274* enabled 74 based bit(1) level 4 packed unaligned dcl 3-25 set ref 106* 120 147 242 257* 269* entry 142 based structure array level 2 dcl 3-25 set ref 134 error_code 000100 automatic fixed bin(35,0) dcl 72 set ref 245* 246 249* 250 310* flags based structure level 2 in structure "mc_ate" dcl 3-54 in procedure "mc_con_rec_" flags 74 based structure level 3 in structure "mc_anstbl" dcl 3-25 in procedure "mc_con_rec_" header based structure level 2 dcl 4-13 hphcs_$ocdcm_err_event_chan 000012 constant entry external dcl 84 ref 253 271 hphcs_$ocdcm_get_mc_output 000014 constant entry external dcl 84 ref 198 i 000101 automatic fixed bin(17,0) dcl 72 set ref 133* 134* inzr_text 000103 automatic char(256) unaligned dcl 72 set ref 198* 201 201 inzr_text_length 000102 automatic fixed bin(17,0) dcl 72 set ref 198* 201 io_uid 000206 automatic fixed bin(71,0) dcl 72 set ref 174* 179 189 189 195 198* 201 ioa_$rsnnl 000016 constant entry external dcl 84 ref 302 ipc_$create_ev_chn 000020 constant entry external dcl 84 ref 245 ipc_$decl_ev_call_chn 000022 constant entry external dcl 84 ref 249 ipc_$delete_ev_chn 000024 constant entry external dcl 84 ref 274 length builtin function dcl 81 ref 223 223 302 log_message based structure level 1 dcl 4-13 log_message_header based structure level 1 dcl 4-3 log_message_ptr 000214 automatic pointer dcl 4-19 set ref 218* 223 223 223 223 223 223 max builtin function dcl 81 ref 189 189 mc_ansp 000210 automatic pointer dcl 3-25 set ref 119* 120 122 133 134 147 173* 176 180 184 188 192 217* 220 240 242 245 249 249* 253 256 257 269 274 mc_anstbl based structure level 1 dcl 3-25 mc_ate based structure level 1 dcl 3-54 mc_ate_ptr 66 based pointer level 3 dcl 3-25 set ref 122 176 220 240* mc_atep 000212 automatic pointer dcl 3-54 set ref 122* 123 123 134* 135 135 135 176* 177 220* 221 240 mc_util_$queue 000026 constant entry external dcl 84 ref 310 mc_wakeups_$con_rec 000030 constant entry external dcl 84 ref 249 249 out_buf_len 000342 automatic fixed bin(18,0) dcl 291 set ref 302* 310 output_buffer 000242 automatic char(256) unaligned dcl 290 set ref 302* 310 310 qp 000204 automatic pointer dcl 72 set ref 177* 221* 310* queue_ptr 174 based pointer level 2 dcl 3-54 ref 177 221 sc_stat_$mc_ansp 000036 external static pointer dcl 5-45 ref 119 173 217 sequence 1 based fixed bin(35,0) level 3 dcl 4-13 ref 223 substr builtin function dcl 81 ref 302 syserr_log_man_$console_recovery 000032 constant entry external dcl 84 ref 183 189 text 6 based char level 2 packed unaligned dcl 4-13 set ref 223 223 223 223 text_lth 4 based fixed bin(17,0) level 3 packed unaligned dcl 4-13 ref 223 223 223 223 the_system_console 0(03) based bit(1) level 3 packed unaligned dcl 3-54 ref 135 time 2(18) based fixed bin(53,0) level 3 packed unaligned dcl 4-13 ref 223 tra_vec 30 based fixed bin(17,0) level 2 dcl 3-54 ref 123 135 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_DEFER_PRIO internal static fixed bin(17,0) initial dcl 2-35 ABS_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-36 ACCT_UPDATE_PRIO internal static fixed bin(17,0) initial dcl 2-28 AS_REQUEST_PRIO internal static fixed bin(17,0) initial dcl 2-30 CORE_FLUSH_PRIO internal static fixed bin(17,0) initial dcl 2-37 DAEMON_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-29 INSTALL_PRIO internal static fixed bin(17,0) initial dcl 2-31 INT_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-32 MC_WAIT_COMMAND internal static fixed bin(17,0) initial dcl 3-103 MC_WAIT_DIALUP internal static fixed bin(17,0) initial dcl 3-103 MC_WAIT_READY internal static fixed bin(17,0) initial dcl 3-103 MPX_LOAD_PRIO internal static fixed bin(17,0) initial dcl 2-33 SHUTDOWN_PRIO internal static fixed bin(17,0) initial dcl 2-27 SYSERR_COPY_PRIO internal static fixed bin(17,0) initial dcl 2-26 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) 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) 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) 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_$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) 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) unaligned dcl 1-43 as_data_$ntty_dim external static char(32) unaligned dcl 1-44 as_data_$pdtdir external static char(168) unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rs_ptrs external static pointer array dcl 1-49 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 unaligned dcl 1-53 as_data_$sysdir external static char(168) 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 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) unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 log_message_data_class_lth automatic fixed bin(17,0) dcl 4-21 log_message_data_lth automatic fixed bin(17,0) dcl 4-22 log_message_text_lth automatic fixed bin(17,0) dcl 4-20 sc_stat_$Go external static bit(1) dcl 5-62 sc_stat_$Go_typed external static bit(1) dcl 5-62 sc_stat_$Multics external static bit(1) dcl 5-62 sc_stat_$Multics_typed external static bit(1) dcl 5-62 sc_stat_$Star_typed external static bit(1) dcl 5-62 sc_stat_$admin_listener_exit_label external static label variable dcl 5-34 sc_stat_$admin_listener_switch external static bit(1) dcl 5-62 sc_stat_$admin_log_iocb external static pointer dcl 5-45 sc_stat_$admin_log_write_ptr external static pointer dcl 5-45 sc_stat_$admin_sci_ptr external static pointer dcl 5-45 sc_stat_$as_log_write_ptr external static pointer dcl 5-45 sc_stat_$did_part1 external static bit(1) dcl 5-62 sc_stat_$did_part2 external static bit(1) dcl 5-62 sc_stat_$did_part3 external static bit(1) dcl 5-62 sc_stat_$exec_access_name external static char(32) unaligned dcl 5-15 sc_stat_$info_dir external static char(168) unaligned dcl 5-21 sc_stat_$initzer_ttyp external static pointer dcl 5-45 sc_stat_$log_dir external static char(168) unaligned dcl 5-21 sc_stat_$master_abort_label external static label variable dcl 5-34 sc_stat_$master_channel external static char(6) dcl 5-29 sc_stat_$master_iocb external static pointer dcl 5-45 sc_stat_$master_sci_ptr external static pointer dcl 5-45 sc_stat_$mc_acs_dir external static char(168) unaligned dcl 5-21 sc_stat_$mc_iocb external static pointer dcl 5-45 sc_stat_$mc_is_on external static bit(1) dcl 5-62 sc_stat_$no_operator_login external static bit(1) dcl 5-62 sc_stat_$shutdown_typed external static bit(1) dcl 5-62 sc_stat_$sv1_iocb external static pointer dcl 5-45 sc_stat_$sv2_iocb external static pointer dcl 5-45 sc_stat_$sv3_iocb external static pointer dcl 5-45 sc_stat_$sysdir external static char(168) unaligned dcl 5-21 sc_stat_$system_shutdown_label external static label variable dcl 5-34 sc_stat_$test_mode external static bit(1) dcl 5-62 sc_stat_$unidentified_access_name external static char(32) unaligned dcl 5-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 5-62 NAMES DECLARED BY EXPLICIT CONTEXT. DISABLE 000463 constant entry internal dcl 261 ref 147 ENABLE 000367 constant entry internal dcl 231 ref 139 QUEUE_MESSAGE 000516 constant entry internal dcl 278 ref 201 223 check 000063 constant entry external dcl 110 mc_con_rec_ 000036 constant entry external dcl 12 mc_con_rec_$init 000047 constant entry external dcl 98 mc_con_rec_$output 000151 constant entry external dcl 152 mc_con_rec_$queue_log_message 000306 constant entry external dcl 207 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1206 1246 730 1216 Length 1554 730 40 271 255 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mc_con_rec_ 438 external procedure is an external procedure. ENABLE internal procedure shares stack frame of external procedure mc_con_rec_. DISABLE internal procedure shares stack frame of external procedure mc_con_rec_. QUEUE_MESSAGE internal procedure shares stack frame of external procedure mc_con_rec_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mc_con_rec_ 000100 error_code mc_con_rec_ 000101 i mc_con_rec_ 000102 inzr_text_length mc_con_rec_ 000103 inzr_text mc_con_rec_ 000204 qp mc_con_rec_ 000206 io_uid mc_con_rec_ 000210 mc_ansp mc_con_rec_ 000212 mc_atep mc_con_rec_ 000214 log_message_ptr mc_con_rec_ 000242 output_buffer QUEUE_MESSAGE 000342 out_buf_len QUEUE_MESSAGE 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. date_time_$format hphcs_$ocdcm_err_event_chan hphcs_$ocdcm_get_mc_output ioa_$rsnnl ipc_$create_ev_chn ipc_$decl_ev_call_chn ipc_$delete_ev_chn mc_util_$queue mc_wakeups_$con_rec syserr_log_man_$console_recovery THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$debug_flag sc_stat_$mc_ansp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000035 98 000043 106 000054 108 000061 110 000062 119 000070 120 000074 122 000100 123 000102 133 000110 134 000117 135 000123 139 000134 140 000135 142 000136 147 000140 150 000145 152 000146 173 000156 174 000162 176 000165 177 000170 179 000172 180 000173 183 000177 184 000212 185 000215 188 000216 189 000222 192 000242 195 000245 198 000247 201 000264 203 000301 207 000302 217 000313 218 000317 220 000323 221 000326 223 000330 227 000366 231 000367 240 000370 242 000373 245 000400 246 000411 249 000414 250 000440 253 000443 256 000455 257 000460 259 000462 261 000463 269 000464 271 000467 274 000502 276 000515 278 000516 302 000520 310 000652 312 000704 ----------------------------------------------------------- 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