COMPILATION LISTING OF SEGMENT display_mc_anstbl 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.4 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /* 82-10-26 Written E. N. Kittlitz */ 10 /* Modified for oper info... -E. A. Ranzenbach */ 11 /* Modified for iox_ BIM 1984-10-30 */ 12 13 /****^ HISTORY COMMENTS: 14* 1) change(86-03-31,MSharpe), approve(87-06-12,MCR7690), 15* audit(87-05-07,Parisek): 16* Modified to recognize new mc_acte structure; to accept -pending & -p to 17* print pending entries; to print pending entries, as well as active ones, 18* by default. 19* 2) change(87-02-05,GDixon), approve(87-06-12,MCR7690), 20* audit(87-05-07,Parisek): 21* Modified for change to mc_anstbl.incl.pl1. 22* END HISTORY COMMENTS */ 23 24 /* format: style2 */ 25 display_mc_anstbl: 26 procedure options (variable); 27 28 dcl argc fixed bin; 29 dcl argl fixed bin (21); 30 dcl argn fixed bin; 31 dcl argp ptr; 32 dcl code fixed bin (35); 33 dcl dn char (168); 34 dcl en char (32); 35 dcl found_a_channel bit (1) aligned; 36 dcl header_sw bit (1) aligned; 37 dcl header_only_sw bit (1) aligned; 38 dcl mode fixed bin init (1); 39 dcl name_count fixed bin; 40 dcl name_error_printed_sw bit (1) aligned; 41 dcl names (100) char (32); 42 dcl octal_sw bit (1) aligned; 43 dcl path char (168); 44 dcl prev_argl fixed bin (21); 45 dcl prev_argp ptr; 46 47 dcl ME char (32) init ("display_mc_anstbl") static options (constant); 48 49 dcl arg char (argl) based (argp) unaligned; 50 dcl prev_arg char (prev_argl) based (prev_argp) unaligned; 51 52 dcl (addr, null, char, codeptr, environmentptr, hbound, rtrim, unspec) 53 builtin; 54 55 dcl cleanup condition; 56 57 dcl com_err_ entry options (variable); 58 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 59 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 60 dcl date_time_$format entry (character (*), fixed binary (71), character (*), character (*)) 61 returns (character (250) var); 62 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 63 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 64 dcl ioa_ entry () options (variable); 65 dcl ioa_$nnl entry () options (variable); 66 dcl match_star_name_ entry (char (*), char (*), fixed bin (35)); 67 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 68 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 69 70 dcl error_table_$noarg fixed bin (35) ext static; 71 72 mc_ansp = null; 73 header_sw = "1"b; 74 octal_sw = "0"b; 75 header_only_sw = "0"b; 76 path = ""; 77 mode = 1; 78 name_error_printed_sw = "0"b; 79 name_count = 0; 80 81 on cleanup call clean_up; 82 83 call cu_$arg_count (argc, code); 84 if code ^= 0 85 then do; 86 call com_err_ (code, ME); 87 go to exit; 88 end; 89 90 do argn = 1 to argc; 91 call cu_$arg_ptr (argn, argp, argl, code); 92 if char (arg, 1) = "-" 93 then do; 94 if arg = "-all" 95 then mode = 0; 96 else if arg = "-a" 97 then mode = 0; 98 else if arg = "-pending" 99 then mode = 3; 100 else if arg = "-p" 101 then mode = 3; 102 else if arg = "-octal" 103 then octal_sw = "1"b; 104 else if arg = "-oc" 105 then octal_sw = "1"b; 106 else if arg = "-no_octal" | arg = "-noc" 107 then octal_sw = "0"b; 108 else if arg = "-no_header" 109 then header_sw = "0"b; 110 else if arg = "-nhe" 111 then header_sw = "0"b; 112 else if arg = "-header" | arg = "-he" 113 then header_sw = "1"b; 114 else if arg = "-header_only" 115 then header_only_sw = "1"b; 116 else if arg = "-pathname" | arg = "-pn" 117 then do; 118 if path ^= "" 119 then do; 120 call com_err_ (0, ME, "^a specified more than once.", arg); 121 return; 122 end; 123 prev_argp = argp; 124 prev_argl = argl; 125 argn = argn + 1; 126 if argn > argc 127 then do; 128 missing_arg: 129 call com_err_ (error_table_$noarg, ME, "Following: ^a.", prev_arg); 130 return; 131 end; 132 call cu_$arg_ptr (argn, argp, argl, code); 133 if char (arg, 1) = "-" 134 then go to missing_arg; 135 path = arg; 136 end; 137 else if arg = "-active" 138 then mode = 1; 139 else if arg = "-entire" 140 then mode = 2; 141 end; /* -control_arg */ 142 else do; /* no leading -, call it a tty name */ 143 if name_count >= hbound (names, 1) 144 then do; 145 if ^name_error_printed_sw 146 then do; 147 name_error_printed_sw = "1"b; 148 call com_err_ (0, ME, 149 "More than ^d channel names specified. Starting with ""^a"", channel names ignored.", 150 hbound (names, 1), arg); 151 end; 152 end; /* too many names */ 153 else do; /* add name */ 154 name_count = name_count + 1; 155 names (name_count) = arg; 156 end; /* add name */ 157 end; /* non -control_arg */ 158 end; /* argument processing loop */ 159 160 if path = "" 161 then path = ">system_control_1>mc_anstbl"; 162 call expand_pathname_ (path, dn, en, code); 163 if code ^= 0 164 then do; 165 call com_err_ (code, ME, "^a", path); 166 go to exit; 167 end; 168 call initiate_file_ (dn, en, R_ACCESS, mc_ansp, (0), code); 169 if mc_ansp = null 170 then do; 171 call com_err_ (code, ME, "^a", pathname_ (dn, en)); 172 go to exit; 173 end; 174 175 call do_dump; 176 177 if ^header_only_sw & ^found_a_channel 178 then call com_err_ (0, ME, "No MC terminals ^[matched selection criteri^[on^;a^]^;found^].", (name_count > 0), 179 (name_count = 1)); 180 181 exit: 182 call clean_up; 183 return; 184 185 186 clean_up: 187 proc; 188 if mc_ansp ^= null 189 then call terminate_file_ (mc_ansp, 0, TERM_FILE_TERM, (0)); 190 end clean_up; 191 192 193 do_dump: 194 proc; 195 196 dcl i fixed bin; 197 dcl j fixed bin; 198 dcl limit fixed bin; 199 dcl mcode fixed bin (35); 200 201 found_a_channel = "0"b; 202 call ioa_ ("^/DUMP OF ^a", pathname_ (dn, en)); 203 if header_sw | header_only_sw 204 then do; 205 call ioa_ ("max_size: ^21t^d", mc_anstbl.max_size); 206 call ioa_ ("current_size: ^21t^d", mc_anstbl.current_size); 207 call ioa_ ("mc_procid:^21t^w", mc_anstbl.mc_procid); 208 call ioa_ ("sysdir:^21t^a", mc_anstbl.sysdir); 209 call ioa_ ("mrtp:^21t^p", mc_anstbl.mrtp); 210 call ioa_ ("vconsp:^21t^p", mc_anstbl.vconsp); 211 call ioa_ ("cons_cont_proc:^21t^p, ^p", codeptr (mc_anstbl.cons_cont_proc), 212 environmentptr (mc_anstbl.cons_cont_proc)); 213 call ioa_ ("con_rec"); 214 call ioa_ (" mc_ate_ptr:^21t^p", mc_anstbl.mc_ate_ptr); 215 call ioa_ (" ec_id:^21t^24.3b", unspec (mc_anstbl.ec_id)); 216 call ioa_ (" seq_num:^21t^d", mc_anstbl.seq_num); 217 call ioa_ (" offset:^21t^oo", mc_anstbl.offset); 218 call ioa_ (" flags"); 219 call ioa_ (" enabled:^21t^[on^;off^]", mc_anstbl.con_rec.flags.enabled); 220 call ioa_ (" active:^21t^[on^;off^]", mc_anstbl.con_rec.flags.active); 221 call ioa_ ("n_sources:^21t^d", mc_anstbl.n_sources); 222 call ioa_ ("max_sources:^21t^d", mc_anstbl.max_sources); 223 call ioa_ ("current_time:^21t^a", date_time_$format ("date_time", mc_anstbl.current_time, "", "")); 224 end; /* header_sw */ 225 if header_only_sw 226 then go to done_dump; 227 228 if mode = 2 229 then limit = mc_anstbl.max_size; 230 else limit = mc_anstbl.current_size; 231 do i = 1 to limit; 232 mc_atep = addr (mc_anstbl.entry (i)); 233 if ^mc_ate.pending & mode = 3 234 then goto next_ate; 235 else if ^(mc_ate.pending | mc_ate.active) & mode = 1 236 then go to next_ate; 237 if name_count > 0 238 then do; /* must match a specified name */ 239 mcode = -1; /* no match yet */ 240 do j = 1 to name_count while (mcode ^= 0); 241 /* scan the entire list */ 242 call match_star_name_ ((mc_ate.real_tty_name), names (j), mcode); 243 if mcode ^= 0 /* may have specified the vchn name */ 244 then call match_star_name_ ((mc_ate.virtual_tty_name), names (j), mcode); 245 end; 246 if mcode ^= 0 247 then go to next_ate; 248 end; 249 found_a_channel = "1"b; 250 call ioa_ ("^/ENTRY AT ^p", mc_atep); 251 call ioa_ ("virtual_tty_name:^21t^a", rtrim (mc_ate.virtual_tty_name, "")); 252 call ioa_ ("real_tty_name:^21t^a", rtrim (mc_ate.real_tty_name, "")); 253 call ioa_ ("flags:"); 254 call ioa_ (" active:^21t^[on^;off^]", mc_ate.active); 255 call ioa_ (" virtual:^21t^[on^;off^]", mc_ate.virtual); 256 call ioa_ (" pending:^21t^[on^;off^]", mc_ate.pending); 257 call ioa_ (" the_system_console:^21t^[on^;off^]", mc_ate.flags.the_system_console); 258 call ioa_ (" a_system_console:^21t^[on^;off^]", mc_ate.flags.a_system_console); 259 call ioa_ (" signed_on:^21t^[on^;off^]", mc_ate.flags.signed_on); 260 call ioa_ (" reply_restricted:^21t^[on^;off^]", mc_ate.flags.reply_restricted); 261 call ioa_ (" broadcast:^21t^[on^;off^]", mc_ate.flags.broadcast); 262 call ioa_ (" broadcast_all:^21t^[on^;off^]", mc_ate.flags.broadcast_all); 263 call ioa_ (" vchn_requires_accept:^21t^[on^;off^]", mc_ate.flags.vchn_requires_accept); 264 265 call ioa_ ("oper_info:"); 266 call ioa_ ("^2xpersonid:^21t""^a""", rtrim (mc_ate.oper_info.personid, "")); 267 call ioa_ ("^2xlast_input_time:^21t^a", 268 date_time_$format ("date_time", mc_ate.oper_info.last_input_time, "", "")); 269 call ioa_ ("cdte_ptr:^21t^p", mc_ate.cdtep); 270 call ioa_ ("restrict_reply:^21t^a", rtrim (mc_ate.restrict_reply, "")); 271 call ioa_ ("n_casts:^21t^d", mc_ate.n_casts); 272 call ioa_$nnl ("cast:^21t"); 273 do j = 1 to hbound (mc_ate.cast, 1) - 1; 274 call ioa_$nnl ("^a, ", rtrim (mc_ate.cast (j), "")); 275 end; 276 call ioa_ ("^a", rtrim (mc_ate.cast (j), "")); 277 call ioa_ ("sci_ptr:^21t^p", mc_ate.sci_ptr); 278 call ioa_ ("iocb:^21t^p", mc_ate.iocb); 279 call ioa_ ("tra_vec:^21t^d", mc_ate.tra_vec); 280 call ioa_ ("queue_ptr:^21t^p", mc_ate.queue_ptr); 281 call ioa_ ("queue_event:^21t^24.3b", unspec (mc_ate.queue_event)); 282 call ioa_ ("event:^21t^24.3b", unspec (mc_ate.event)); 283 284 call ioa_ ("ls_procid:^21t^w", mc_ate.ls_procid); 285 call ioa_ ("ls_term_ev_chn:^21t^24.3b", unspec (mc_ate.ls_term_ev_chn)); 286 call ioa_ ("ls_resp_ev_chn:^21t^24.3b", unspec (mc_ate.ls_resp_ev_chn)); 287 call ioa_ ("ls_handle:^21t^2w", unspec (mc_ate.ls_handle)); 288 call ioa_ ("authority"); 289 call ioa_ (" privilege:^21t^w", mc_ate.privilege); 290 call ioa_ ("control"); 291 call ioa_ (" inhibit:^21t^[on^;off^]", mc_ate.control.inhibit); 292 call ioa_ (" output_wait:^21t^[on^;off^]", mc_ate.control.output_wait); 293 call ioa_ (" output_pending:^21t^[on^;off^]", mc_ate.control.output_pending); 294 next_ate: 295 end; /* do over mc_anstbl ate's */ 296 297 done_dump: 298 call ioa_ ("^/END DUMP OF ^a", pathname_ (dn, en)); 299 300 end do_dump; 301 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 302 303 2 1 /* BEGIN INCLUDE FILE ... mc_anstbl.incl.pl1 */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(85-12-19,MSharpe), approve(87-05-25,MCR7690), 2 6* audit(87-03-30,GDixon), install(87-08-04,MR12.1-1056): 2 7* Added the pending and virtual flags and virtual_tty_name to mc_ate; 2 8* changed mc_ate.tty_name to mc_ate.real_tty_name; added mc_ate.ls_procid, 2 9* mc_ate.ls_term_ev_chn, mc_ate.ls_resp_ev_chn, mc_ate.ls_handle. 2 10* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 2 11* audit(87-06-01,Parisek), install(87-08-04,MR12.1-1056): 2 12* Add mc_ate.vchn_requires_accept in support of virtual channels. Explicitly 2 13* declare implicit pad fields which the compile adds for element alignment 2 14* purposes. Declare mc_ansp and mc_atep, on which major structures are 2 15* based, rather than depending upon includers do to so. 2 16* 3) change(87-03-27,Parisek), approve(87-05-25,MCR7690), 2 17* audit(87-06-11,GDixon), install(87-08-04,MR12.1-1056): 2 18* Added the dsa_ring_number element to provide a constant for determining 2 19* the DSA ring. 2 20* END HISTORY COMMENTS */ 2 21 2 22 2 23 /* format: style3,idind30 */ 2 24 2 25 dcl 1 mc_anstbl based (mc_ansp) aligned, 2 26 /* Structure of answer table */ 2 27 2 max_size fixed bin, /* max number of entries table can grow */ 2 28 2 current_size fixed bin, /* actual size of table (in entries) */ 2 29 2 mc_procid bit (36), /* process ID of message coordinator */ 2 30 2 sysdir char (168), /* name of main system control directory */ 2 31 2 pad_ptrs bit (36), 2 32 2 mrtp ptr, 2 33 2 vconsp ptr, 2 34 2 cons_cont_proc entry, /* mc_tty_ */ 2 35 2 con_rec, /* Data for console recovery. */ 2 36 3 mc_ate_ptr ptr, /* Pts to recovery device. */ 2 37 3 ec_id fixed bin (71), /* Recovery event chan. */ 2 38 3 seq_num fixed bin (35), /* Syserr sequence number. */ 2 39 3 offset bit (18), /* Log entry offset. */ 2 40 3 flags, 2 41 ( 4 enabled bit (1), /* ON => recovery possible. */ 2 42 4 active bit (1), 2 43 4 pad_flags bit (16) 2 44 ) unaligned, /* ON => recovery going on. */ 2 45 2 n_sources fixed bin, /* number of communicating sources */ 2 46 2 max_sources fixed bin, /* maximum number of sources allowed */ 2 47 2 current_time fixed bin (71), /* Time of last transaction */ 2 48 2 trace bit (1) aligned, 2 49 2 dsa_ring_number fixed bin, /* DSA ring number */ 2 50 2 pad_entries (30) bit (36) aligned, 2 51 2 entry (0 refer (mc_anstbl.current_size)) aligned like mc_ate, 2 52 mc_ansp ptr; 2 53 2 54 dcl 1 mc_ate based (mc_atep) aligned, 2 55 /* declaration of a single answer table entry */ 2 56 2 flags aligned, 2 57 3 virtual bit (1) unaligned, /* 1 => login -vchn XXX */ 2 58 3 pending bit (1) unaligned, /* 1 => pending entry created for DSA channel 2 59* since we can't keep info in cdte for it */ 2 60 3 active bit (1) unaligned, 2 61 3 the_system_console bit (1) unaligned, /* otw_/ocd_ */ 2 62 3 a_system_console bit (1) unaligned, /* Not yet implemented -- a random opc through a */ 2 63 /* nonexistent I/O module */ 2 64 3 pad001 bit (1) unaligned, 2 65 3 signed_on bit (1) unaligned, 2 66 3 reply_restricted bit (1) unaligned, 2 67 3 broadcast bit (1) unaligned, 2 68 3 broadcast_all bit (1) unaligned, 2 69 3 vchn_requires_accept bit (1) unaligned, 2 70 3 pad_flags bit (25) unaligned, 2 71 2 virtual_tty_name char (32) unaligned, 2 72 2 real_tty_name char (32) unaligned, 2 73 2 pad_ptrs bit (36), 2 74 2 cdtep pointer, /* we get info from cdt */ 2 75 2 iocb pointer, /* do I/O here */ 2 76 2 sci_ptr pointer, 2 77 2 tra_vec fixed bin, 2 78 2 restrict_reply char (32), /* Source name. if "", everybody. */ 2 79 /* Broadcasting information. */ 2 80 2 n_casts fixed bin, /* If flag is 1 */ 2 81 2 cast (10) char (32), /* If flag is 1, list of consoles. */ 2 82 2 oper_info, /* for oper assigned this console... */ 2 83 3 personid char (32), 2 84 3 last_input_time fixed bin (71), /* time of last input on this console... */ 2 85 2 queue_ptr ptr, 2 86 2 queue_event fixed bin (71), 2 87 2 event fixed binary (71), /* name of event call channel associated with TTY */ 2 88 2 ls_procid bit (36), /* ID of login_server who will wake us up with connect 2 89* and disconnect -- used only for network channels */ 2 90 2 pad_ev_chn bit (36), 2 91 2 ls_term_ev_chn fixed bin (71), /* event channel to send terminate response to ls */ 2 92 2 ls_resp_ev_chn fixed bin (71), /* event channel to send operator response to ls */ 2 93 2 ls_handle bit (72), /* login server handle for this connection */ 2 94 2 authority, 2 95 3 privilege (36) bit (1) unaligned, 2 96 2 control, 2 97 3 inhibit bit (1) unal, 2 98 3 output_wait bit (1) unal, 2 99 3 output_pending bit (1) unal, 2 100 3 pad_control bit (33) unal, 2 101 mc_atep ptr; 2 102 2 103 declare ( 2 104 MC_WAIT_DIALUP init (1), 2 105 MC_WAIT_ANSWERBACK init (2), 2 106 MC_WAIT_READY init (3), 2 107 MC_WAIT_COMMAND init (4) 2 108 ) fixed bin int static options (constant); 2 109 2 110 /* END INCLUDE FILE ... mc_anstbl.incl.pl1 */ 304 305 3 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 3 2 /* format: style2,^inddcls,idind32 */ 3 3 3 4 declare 1 terminate_file_switches based, 3 5 2 truncate bit (1) unaligned, 3 6 2 set_bc bit (1) unaligned, 3 7 2 terminate bit (1) unaligned, 3 8 2 force_write bit (1) unaligned, 3 9 2 delete bit (1) unaligned; 3 10 3 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 3 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 3 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 3 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 3 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 3 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 3 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 3 18 3 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 306 307 308 end display_mc_anstbl; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1428.4 display_mc_anstbl.pl1 >special_ldd>install>1054>display_mc_anstbl.pl1 302 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 304 2 08/04/87 1139.3 mc_anstbl.incl.pl1 >spec>install>1056>mc_anstbl.incl.pl1 306 3 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. ME 000001 constant char(32) initial unaligned dcl 47 set ref 86* 120* 128* 148* 165* 171* 177* R_ACCESS 000100 constant bit(3) initial unaligned dcl 1-11 set ref 168* TERM_FILE_TERM 000000 constant bit(3) initial unaligned dcl 3-14 set ref 188* a_system_console 0(04) based bit(1) level 3 packed unaligned dcl 2-54 set ref 258* active 0(02) based bit(1) level 3 in structure "mc_ate" packed unaligned dcl 2-54 in procedure "display_mc_anstbl" set ref 235 254* active 74(01) based bit(1) level 4 in structure "mc_anstbl" packed unaligned dcl 2-25 in procedure "display_mc_anstbl" set ref 220* addr builtin function dcl 52 ref 232 arg based char unaligned dcl 49 set ref 92 94 96 98 100 102 104 106 106 108 110 112 112 114 116 116 120* 133 135 137 139 148* 155 argc 000100 automatic fixed bin(17,0) dcl 28 set ref 83* 90 126 argl 000101 automatic fixed bin(21,0) dcl 29 set ref 91* 92 94 96 98 100 102 104 106 106 108 110 112 112 114 116 116 120 120 124 132* 133 135 137 139 148 148 155 argn 000102 automatic fixed bin(17,0) dcl 30 set ref 90* 91* 125* 125 126 132* argp 000104 automatic pointer dcl 31 set ref 91* 92 94 96 98 100 102 104 106 106 108 110 112 112 114 116 116 120 123 132* 133 135 137 139 148 155 authority 212 based structure level 2 dcl 2-54 broadcast 0(08) based bit(1) level 3 packed unaligned dcl 2-54 set ref 261* broadcast_all 0(09) based bit(1) level 3 packed unaligned dcl 2-54 set ref 262* cast 42 based char(32) array level 2 dcl 2-54 ref 273 274 274 276 276 cdtep 22 based pointer level 2 dcl 2-54 set ref 269* char builtin function dcl 52 ref 92 133 cleanup 001716 stack reference condition dcl 55 ref 81 code 000106 automatic fixed bin(35,0) dcl 32 set ref 83* 84 86* 91* 132* 162* 163 165* 168* 171* codeptr builtin function dcl 52 ref 211 211 com_err_ 000010 constant entry external dcl 57 ref 86 120 128 148 165 171 177 con_rec 66 based structure level 2 dcl 2-25 cons_cont_proc 62 based entry variable level 2 dcl 2-25 ref 211 211 211 211 control 213 based structure level 2 dcl 2-54 cu_$arg_count 000012 constant entry external dcl 58 ref 83 cu_$arg_ptr 000014 constant entry external dcl 59 ref 91 132 current_size 1 based fixed bin(17,0) level 2 dcl 2-25 set ref 206* 230 current_time 100 based fixed bin(71,0) level 2 dcl 2-25 set ref 223* date_time_$format 000016 constant entry external dcl 60 ref 223 267 dn 000107 automatic char(168) unaligned dcl 33 set ref 162* 168* 171* 171* 202* 202* 297* 297* ec_id 70 based fixed bin(71,0) level 3 dcl 2-25 ref 215 215 en 000161 automatic char(32) unaligned dcl 34 set ref 162* 168* 171* 171* 202* 202* 297* 297* enabled 74 based bit(1) level 4 packed unaligned dcl 2-25 set ref 219* entry 142 based structure array level 2 dcl 2-25 set ref 232 environmentptr builtin function dcl 52 ref 211 211 error_table_$noarg 000036 external static fixed bin(35,0) dcl 70 set ref 128* event 200 based fixed bin(71,0) level 2 dcl 2-54 ref 282 282 expand_pathname_ 000020 constant entry external dcl 62 ref 162 flags based structure level 2 in structure "mc_ate" dcl 2-54 in procedure "display_mc_anstbl" flags 74 based structure level 3 in structure "mc_anstbl" dcl 2-25 in procedure "display_mc_anstbl" found_a_channel 000171 automatic bit(1) dcl 35 set ref 177 201* 249* hbound builtin function dcl 52 ref 143 148 148 273 header_only_sw 000173 automatic bit(1) dcl 37 set ref 75* 114* 177 203 225 header_sw 000172 automatic bit(1) dcl 36 set ref 73* 108* 110* 112* 203 i 001740 automatic fixed bin(17,0) dcl 196 set ref 231* 232* inhibit 213 based bit(1) level 3 packed unaligned dcl 2-54 set ref 291* initiate_file_ 000022 constant entry external dcl 63 ref 168 ioa_ 000024 constant entry external dcl 64 ref 202 205 206 207 208 209 210 211 213 214 215 216 217 218 219 220 221 222 223 250 251 252 253 254 255 256 257 258 259 260 261 262 263 265 266 267 269 270 271 276 277 278 279 280 281 282 284 285 286 287 288 289 290 291 292 293 297 ioa_$nnl 000026 constant entry external dcl 65 ref 272 274 iocb 24 based pointer level 2 dcl 2-54 set ref 278* j 001741 automatic fixed bin(17,0) dcl 197 set ref 240* 242 243* 273* 274 274* 276 276 last_input_time 172 based fixed bin(71,0) level 3 dcl 2-54 set ref 267* limit 001742 automatic fixed bin(17,0) dcl 198 set ref 228* 230* 231 ls_handle 210 based bit(72) level 2 dcl 2-54 ref 287 287 ls_procid 202 based bit(36) level 2 dcl 2-54 set ref 284* ls_resp_ev_chn 206 based fixed bin(71,0) level 2 dcl 2-54 ref 286 286 ls_term_ev_chn 204 based fixed bin(71,0) level 2 dcl 2-54 ref 285 285 match_star_name_ 000030 constant entry external dcl 66 ref 242 243 max_size based fixed bin(17,0) level 2 dcl 2-25 set ref 205* 228 max_sources 76 based fixed bin(17,0) level 2 dcl 2-25 set ref 222* mc_ansp 001724 automatic pointer dcl 2-25 set ref 72* 168* 169 188 188* 205 206 207 208 209 210 211 211 211 211 214 215 215 216 217 219 220 221 222 223 228 230 232 mc_anstbl based structure level 1 dcl 2-25 mc_ate based structure level 1 dcl 2-54 mc_ate_ptr 66 based pointer level 3 dcl 2-25 set ref 214* mc_atep 001726 automatic pointer dcl 2-54 set ref 232* 233 235 235 242 243 250* 251 251 252 252 254 255 256 257 258 259 260 261 262 263 266 266 267 269 270 270 271 273 274 274 276 276 277 278 279 280 281 281 282 282 284 285 285 286 286 287 287 289 291 292 293 mc_procid 2 based bit(36) level 2 dcl 2-25 set ref 207* mcode 001743 automatic fixed bin(35,0) dcl 199 set ref 239* 240 242* 243 243* 246 mode 000174 automatic fixed bin(17,0) initial dcl 38 set ref 38* 77* 94* 96* 98* 100* 137* 139* 228 233 235 mrtp 56 based pointer level 2 dcl 2-25 set ref 209* n_casts 41 based fixed bin(17,0) level 2 dcl 2-54 set ref 271* n_sources 75 based fixed bin(17,0) level 2 dcl 2-25 set ref 221* name_count 000175 automatic fixed bin(17,0) dcl 39 set ref 79* 143 154* 154 155 177 177 237 240 name_error_printed_sw 000176 automatic bit(1) dcl 40 set ref 78* 145 147* names 000177 automatic char(32) array unaligned dcl 41 set ref 143 148 148 155* 242* 243* null builtin function dcl 52 ref 72 169 188 octal_sw 001637 automatic bit(1) dcl 42 set ref 74* 102* 104* 106* offset 73 based bit(18) level 3 dcl 2-25 set ref 217* oper_info 162 based structure level 2 dcl 2-54 output_pending 213(02) based bit(1) level 3 packed unaligned dcl 2-54 set ref 293* output_wait 213(01) based bit(1) level 3 packed unaligned dcl 2-54 set ref 292* path 001640 automatic char(168) unaligned dcl 43 set ref 76* 118 135* 160 160* 162* 165* pathname_ 000032 constant entry external dcl 67 ref 171 171 202 202 297 297 pending 0(01) based bit(1) level 3 packed unaligned dcl 2-54 set ref 233 235 256* personid 162 based char(32) level 3 dcl 2-54 ref 266 266 prev_arg based char unaligned dcl 50 set ref 128* prev_argl 001712 automatic fixed bin(21,0) dcl 44 set ref 124* 128 128 prev_argp 001714 automatic pointer dcl 45 set ref 123* 128 privilege 212 based bit(1) array level 3 packed unaligned dcl 2-54 set ref 289* queue_event 176 based fixed bin(71,0) level 2 dcl 2-54 ref 281 281 queue_ptr 174 based pointer level 2 dcl 2-54 set ref 280* real_tty_name 11 based char(32) level 2 packed unaligned dcl 2-54 ref 242 252 252 reply_restricted 0(07) based bit(1) level 3 packed unaligned dcl 2-54 set ref 260* restrict_reply 31 based char(32) level 2 dcl 2-54 ref 270 270 rtrim builtin function dcl 52 ref 251 251 252 252 266 266 270 270 274 274 276 276 sci_ptr 26 based pointer level 2 dcl 2-54 set ref 277* seq_num 72 based fixed bin(35,0) level 3 dcl 2-25 set ref 216* signed_on 0(06) based bit(1) level 3 packed unaligned dcl 2-54 set ref 259* sysdir 3 based char(168) level 2 dcl 2-25 set ref 208* terminate_file_ 000034 constant entry external dcl 68 ref 188 the_system_console 0(03) based bit(1) level 3 packed unaligned dcl 2-54 set ref 257* tra_vec 30 based fixed bin(17,0) level 2 dcl 2-54 set ref 279* unspec builtin function dcl 52 ref 215 215 281 281 282 282 285 285 286 286 287 287 vchn_requires_accept 0(10) based bit(1) level 3 packed unaligned dcl 2-54 set ref 263* vconsp 60 based pointer level 2 dcl 2-25 set ref 210* virtual based bit(1) level 3 packed unaligned dcl 2-54 set ref 255* virtual_tty_name 1 based char(32) level 2 packed unaligned dcl 2-54 ref 243 251 251 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 MC_WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_COMMAND internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_DIALUP internal static fixed bin(17,0) initial dcl 2-103 MC_WAIT_READY internal static fixed bin(17,0) initial dcl 2-103 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial unaligned dcl 3-12 TERM_FILE_DELETE internal static bit(5) initial unaligned dcl 3-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial unaligned dcl 3-16 TERM_FILE_TRUNC internal static bit(1) initial unaligned dcl 3-11 TERM_FILE_TRUNC_BC internal static bit(2) initial unaligned dcl 3-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial unaligned dcl 3-15 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 terminate_file_switches based structure level 1 packed unaligned dcl 3-4 NAMES DECLARED BY EXPLICIT CONTEXT. clean_up 001706 constant entry internal dcl 186 ref 81 181 display_mc_anstbl 000705 constant entry external dcl 25 do_dump 001747 constant entry internal dcl 193 ref 175 done_dump 004501 constant label dcl 297 ref 225 exit 001700 constant label dcl 181 ref 87 166 172 missing_arg 001236 constant label dcl 128 ref 133 next_ate 004477 constant label dcl 294 ref 233 235 246 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4732 4772 4547 4742 Length 5304 4547 40 275 162 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME display_mc_anstbl 1277 external procedure is an external procedure. on unit on line 81 64 on unit clean_up 84 internal procedure is called by several nonquick procedures. do_dump internal procedure shares stack frame of external procedure display_mc_anstbl. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME display_mc_anstbl 000100 argc display_mc_anstbl 000101 argl display_mc_anstbl 000102 argn display_mc_anstbl 000104 argp display_mc_anstbl 000106 code display_mc_anstbl 000107 dn display_mc_anstbl 000161 en display_mc_anstbl 000171 found_a_channel display_mc_anstbl 000172 header_sw display_mc_anstbl 000173 header_only_sw display_mc_anstbl 000174 mode display_mc_anstbl 000175 name_count display_mc_anstbl 000176 name_error_printed_sw display_mc_anstbl 000177 names display_mc_anstbl 001637 octal_sw display_mc_anstbl 001640 path display_mc_anstbl 001712 prev_argl display_mc_anstbl 001714 prev_argp display_mc_anstbl 001724 mc_ansp display_mc_anstbl 001726 mc_atep display_mc_anstbl 001740 i do_dump 001741 j do_dump 001742 limit do_dump 001743 mcode do_dump THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr date_time_$format expand_pathname_ initiate_file_ ioa_ ioa_$nnl match_star_name_ pathname_ terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000704 38 000712 72 000714 73 000716 74 000720 75 000721 76 000722 78 000725 79 000726 81 000727 83 000751 84 000762 86 000764 87 001001 90 001002 91 001011 92 001026 94 001037 96 001046 98 001054 100 001063 102 001072 104 001101 106 001110 108 001122 110 001130 112 001136 114 001151 116 001160 118 001170 120 001174 121 001227 123 001230 124 001231 125 001232 126 001233 128 001236 130 001274 132 001275 133 001312 135 001323 136 001327 137 001330 139 001337 141 001345 143 001346 145 001351 147 001353 148 001355 152 001417 154 001420 155 001421 158 001430 160 001432 162 001441 163 001465 165 001467 166 001516 168 001517 169 001555 171 001561 172 001630 175 001631 177 001632 181 001700 183 001704 186 001705 188 001713 190 001746 193 001747 201 001750 202 001751 203 002012 205 002016 206 002041 207 002062 208 002106 209 002132 210 002155 211 002201 213 002231 214 002244 215 002270 216 002314 217 002340 218 002364 219 002377 220 002420 221 002443 222 002467 223 002513 225 002570 228 002572 230 002600 231 002603 232 002611 233 002615 235 002625 237 002635 239 002637 240 002641 242 002653 243 002703 245 002733 246 002735 249 002737 250 002741 251 002764 252 003030 253 003075 254 003111 255 003136 256 003156 257 003200 258 003222 259 003244 260 003266 261 003310 262 003332 263 003354 265 003376 266 003414 267 003455 269 003533 270 003557 271 003623 272 003650 273 003665 274 003675 275 003744 276 003747 277 004016 278 004043 279 004066 280 004112 281 004136 282 004165 284 004214 285 004240 286 004264 287 004310 288 004337 289 004354 290 004375 291 004410 292 004431 293 004454 294 004477 297 004501 300 004544 ----------------------------------------------------------- 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