COMPILATION LISTING OF SEGMENT as_dump_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1318.1 mst Fri 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 /****^ HISTORY COMMENTS: 13* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 14* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1055): 15* Correct error message documentation. 16* 2) change(87-03-11,GDixon), approve(87-07-13,MCR7741), 17* audit(87-07-24,Brunelle), install(87-08-04,MR12.1-1055): 18* Correct coding standard violations. 19* 3) change(87-05-06,GDixon), approve(87-07-13,MCR7741), 20* audit(87-07-24,Brunelle), install(87-08-04,MR12.1-1055): 21* Disable stringsize checking when assigning input parameter. Caller may 22* have passed a long string. 23* END HISTORY COMMENTS */ 24 25 /* format: style4 */ 26 as_dump_: proc (dumpid); 27 28 /* AS_DUMP_ - program to take off line dump of answering service stack. 29* Modified 750210 by PG to try to cleanup after aborted dump. 30* Modified January 1978 by T. Casey to try once more after an aborted dump so we can see why it aborted. 31* Modified August 1981 by E. N. Kittlitz to not use mc until as_init_ says 32* it is ok. 33* Modified May 1982 by E. N. Kittlitz. New AS initialization. 34* Modified Spetember 1982 by E. N. Kittlitz. USE static_dump_dir. 35* Modified 1985-03-06, BIM: call trace_stack_$hregs 36* Modified 1985-03-18, E. Swenson to pass signal_io_ condition. 37**/ 38 39 /* parameter */ 40 41 dcl dumpid char (*) parameter; /* anything caller wants to say */ 42 43 /* Automatic */ 44 45 dcl abort label; /* escape route */ 46 dcl argl fixed bin (21); 47 dcl argp ptr; 48 dcl datstr char (24); 49 dcl dir char (168); /* where the dump goes */ 50 dcl dir_dumpid char (256) varying; /* dump dir + dumpid for messages */ 51 dcl doing_stack_trace bit (1) aligned init (""b); 52 dcl ec fixed bin (35); 53 dcl error_entry entry variable options (variable); 54 dcl i fixed bin; 55 dcl iocbp ptr; 56 dcl iqct fixed bin; 57 dcl outname char (32); 58 dcl quota fixed bin; 59 dcl sp ptr; 60 dcl taccsw fixed bin (1); 61 dcl trp fixed bin (35); 62 dcl tup bit (36) aligned; 63 dcl ucs_recursion fixed bin initial (0); /* trouble in as_dump_ counter */ 64 dcl use_r0m bit (1) aligned; /* use phcs_ ("1"b)or use the Message Coord ("0"b) */ 65 dcl used fixed bin; 66 67 /* internal static */ 68 69 dcl ENOUGH fixed bin int static init (64); 70 dcl STREAM char (32) int static init ("as_dump_stream_"); 71 dcl static_dump_dir char (168) static internal init (""); 72 73 /* based */ 74 75 dcl arg char (argl) based (argp); 76 77 /* entries */ 78 79 dcl absolute_pathname_ entry (char (*), char (*), fixed bin (35)); 80 dcl com_err_ entry options (variable); 81 dcl condition_ entry (char (*), entry); 82 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 83 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 84 dcl cu_$stack_frame_ptr entry (ptr); 85 dcl date_time_ entry (fixed bin (71), char (*)); 86 dcl dprint_ entry (char (*), char (*), ptr, fixed bin (35)); 87 dcl hcs_$quota_get entry (char (*), fixed bin, fixed bin (35), bit (36) aligned, fixed bin, fixed bin (1), fixed bin, fixed bin (35)); 88 dcl ioa_ entry options (variable); 89 dcl ioa_$ioa_switch entry () options (variable); 90 dcl iox_$attach_ptr entry (ptr, char (*), ptr, fixed bin (35)); 91 dcl iox_$close entry (ptr, fixed bin (35)); 92 dcl iox_$detach_iocb entry (ptr, fixed bin (35)); 93 dcl iox_$find_iocb entry (char (*), ptr, fixed bin (35)); 94 dcl iox_$open entry (ptr, fixed bin, bit (1) aligned, fixed bin (35)); 95 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 96 dcl phcs_$ring_0_message entry (char (*)); 97 dcl sys_log_ entry options (variable); 98 dcl sys_log_$error_log entry options (variable); 99 dcl trace_stack_$hregs entry (ptr, fixed bin, fixed bin, char (32) aligned, fixed bin); 100 101 /* builtins */ 102 103 dcl (addr, clock, null, rtrim, substr) builtin; 104 105 /* ====================================================== */ 106 107 /* When taking an as_dump, we don't want to use portions of the AS of which 108* we are not certain. During initialization, our problems might be due 109* to something in the message coordinator, so we elect to not use the mc. 110* After as_init_ has run, and sc_stat_$Multics is set at the end of initialization, 111* we will avoid the MC only when we are dumping the MC itself (indicated by 112* the user calling the dump_mc entry. */ 113 114 use_r0m = ^sc_stat_$Multics; /* as as_init_ goes... */ 115 go to common; 116 117 dont_use_mc: /* use ring_0_message for all console messages */ 118 dump_mc: /* this entry-name retained for compatibility */ 119 entry (dumpid); /* Entry called from message coordr */ 120 121 use_r0m = "1"b; 122 123 common: 124 if ^sc_stat_$test_mode then 125 error_entry = phcs_$ring_0_message; 126 else error_entry = ioa_; 127 128 abort = try_to_cleanup; /* if get error while dumping, try to finish up */ 129 iocbp = null; 130 call condition_ ("any_other", errx); /* No recursion! */ 131 132 if static_dump_dir ^= "" then 133 dir = static_dump_dir; /* something specific? */ 134 else dir = sc_stat_$sysdir; /* no use default place */ 135 136 dir_dumpid = rtrim (dir) || " "; /* set-up for 137*messages */ 138 (nostringsize): 139 dir_dumpid = dir_dumpid || dumpid; /* directory name and dump identifier */ 140 call hcs_$quota_get (dir, quota, trp, tup, iqct, taccsw, used, ec); 141 if ec ^= 0 then do; 142 if use_r0m then 143 call error_entry ("as_dump_: Cannot obtain quota, dump aborted. " || dir_dumpid); 144 else call sys_log_$error_log (1, ec, "as_dump_", "Cannot obtain quota, dump aborted. ^a", dir_dumpid); 145 return; 146 end; 147 if quota ^= 0 then /* Make sure there is room for the dump. */ 148 if (quota - used) < ENOUGH then do; 149 if use_r0m 150 then call error_entry ("as_dump_: Out of room for dump " || dir_dumpid); 151 else call sys_log_ (1, "as_dump_: Out of room for dump ^a", dir_dumpid); 152 return; 153 end; 154 call date_time_ (clock (), datstr); 155 outname = "asdump.-." || substr (datstr, 1, 8) || "-" || substr (datstr, 11, 4); 156 call iox_$find_iocb (STREAM, iocbp, ec); 157 if ec ^= 0 then do; 158 attach_fail: if use_r0m 159 then call error_entry ("as_dump_: Cannot attach I/O switch. No dump " || dir_dumpid); 160 else call sys_log_$error_log (1, ec, "as_dump_", "Cannot attach ^a to ^a. No dump ^a", 161 STREAM, outname, dir_dumpid); 162 return; 163 end; 164 call iox_$close (iocbp, (0)); 165 call iox_$detach_iocb (iocbp, (0)); 166 call iox_$attach_ptr (iocbp, "vfile_ " || pathname_ (dir, outname), null (), ec); 167 if ec ^= 0 then go to attach_fail; 168 call iox_$open (iocbp, Stream_output, ""b, ec); 169 if ec ^= 0 then go to attach_fail; 170 call ioa_$ioa_switch (iocbp, "^a ^a^2/", datstr, dumpid); 171 call cu_$stack_frame_ptr (sp); 172 doing_stack_trace = "1"b; 173 call trace_stack_$hregs (sp, 2, -1, (STREAM), 1); 174 doing_stack_trace = ""b; 175 call ioa_$ioa_switch (iocbp, "^/End of dump.^/"); 176 177 try_to_cleanup: 178 abort = just_return; /* any errors from now on will return and not try to cleanup */ 179 if iocbp ^= null then do; 180 call iox_$close (iocbp, (0)); 181 call iox_$detach_iocb (iocbp, (0)); 182 end; 183 dpap = addr (dprint_arg_buf); /* Set up to print segment. */ 184 dprint_arg.version = 1; 185 dprint_arg.copies = 1; 186 dprint_arg.delete = 0; 187 dprint_arg.queue = 1; 188 dprint_arg.pt_pch = 1; 189 dprint_arg.notify = 0; 190 (nostringsize): 191 dprint_arg.heading = " for asdump " || dumpid; 192 dprint_arg.output_module = 1; 193 dprint_arg.dest = "SysAdmin"; 194 195 /**** Don't submit a dprint request for ASDUMP when we are debugging the 196* answering service. */ 197 198 if ^sc_stat_$test_mode then 199 call dprint_ (dir, outname, dpap, ec); /* Request IO daemon to print the dump. */ 200 201 if use_r0m 202 then call error_entry ("as_dump_: Message coordinator dump created in segment " || outname); 203 else call sys_log_ (1, "as_dump_: Answering service dump created in segment ^a", outname); 204 just_return: 205 return; 206 207 set_as_dump_dir: 208 entry options (variable); /* establish residence of dumps */ 209 210 dcl reason char (64); 211 212 reason = "Usage: as_$set_as_dump_dir "; 213 call cu_$arg_count (i, ec); 214 if i ^= 1 | ec ^= 0 then do; 215 sdd_error: call com_err_ (ec, "as_dump_$set_as_dump_dir", reason); 216 return; 217 end; 218 call cu_$arg_ptr (1, argp, argl, ec); /* must have 1 arg */ 219 if ec ^= 0 then do; /* how could this happen? */ 220 call com_err_ (ec, "as_dump_$set_as_dump_dir", reason); 221 return; 222 end; 223 224 if arg = "" | arg = "-none" then do; 225 static_dump_dir = ""; /* indicate we should use working dir at time of fault */ 226 return; 227 end; 228 229 reason = arg; 230 call absolute_pathname_ (arg, dir, ec); /* make sure it's absolute */ 231 if ec ^= 0 then go to sdd_error; /* oh dear */ 232 reason = "getting quota"; /* make sure we can do this much later */ 233 call hcs_$quota_get (dir, quota, trp, tup, iqct, taccsw, used, ec); 234 if ec ^= 0 then go to sdd_error; /* but don't worry about actual quota */ 235 static_dump_dir = dir; /* good enough to remember */ 236 return; 237 238 errx: proc (mcptr, cname, coptr, infoptr, cont); 239 240 dcl (mcptr, coptr, infoptr) ptr, cname char (*), cont bit (1); 241 242 /* automatic */ 243 244 dcl reason char (64); 245 dcl ucs_sp ptr; 246 dcl try_again bit (1) aligned; 247 248 /* program */ 249 250 try_again = doing_stack_trace; /* keep plugging to limit of recursion */ 251 if cname = "cleanup" then return; 252 if cname = "storage" then go to foo; 253 if cname = "command_error" then go to foo; 254 if cname = "stack" then go to foo; 255 if cname = "finish" then go to foo; 256 if cname = "mme2" then go to foo; 257 if cname = "cput" then go to foo; 258 if cname = "alrm" then go to foo; 259 if cname = "program_interrupt" then go to foo; 260 if cname = "signal_io_" then go to foo; 261 if cname = "quit" then do; 262 foo: cont = "1"b; 263 return; 264 end; 265 266 ucs_recursion = ucs_recursion + 1; 267 if ucs_recursion <= 2 then do; 268 reason = "as_dump_: " || cname || " while dumping. Dump aborted."; 269 if ucs_recursion = 2 then do; /* definitely the last time */ 270 use_r0m = "1"b; /* don't use MC */ 271 try_again = "1"b; /* remember to try */ 272 end; 273 if use_r0m then /* tell SOMEBODY */ 274 call error_entry (reason); 275 else call sys_log_ (1, reason); 276 if try_again then do; /* once more? */ 277 call cu_$stack_frame_ptr (ucs_sp); 278 call trace_stack_$hregs (ucs_sp, 2, -1, (STREAM), 1); 279 end; 280 end; 281 282 go to abort; 283 284 end; 285 286 /* format: off */ 287 /* BEGIN INCLUDE FILE ... dprint_arg.incl.pl1 */ 1 2 /* Modified 11/13/74 by Noel I. Morris */ 1 3 /* Modified: 10 April 1981 by G. Palter for version 6 structure -- longer request type names */ 1 4 /* Modified: 30 April 1982 by R. Kovalcik for version 7 structure -- defer_until_process_terminataion */ 1 5 /* Modified: November 1983 by C. Marker for version 8 structure -- no_separator */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(87-05-10,Gilcrease), approve(87-05-13,MCR7686), 1 9* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 1 10* Add line_nbrs bit for line-numbered printouts, version 9. 1 11* 2) change(88-02-05,Farley), approve(88-02-05,PBF7686), audit(88-02-05,GWMay), 1 12* install(88-02-05,MR12.2-1022): 1 13* Corrected alignment of line_nbrs, was aligned s/b unaligned.. 1 14* 3) change(88-08-29,Farley), approve(88-09-16,MCR7911), 1 15* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 1 16* Created a new 64 character forms_name variable, which supersedes the old 1 17* char 24 form_name variable, version 10. 1 18* END HISTORY COMMENTS */ 1 19 1 20 1 21 dcl dpap ptr; /* ptr to argument structure */ 1 22 dcl 1 dprint_arg_buf aligned like dprint_arg; /* Automatic storage for arg. */ 1 23 1 24 dcl 1 dprint_arg based (dpap) aligned, /* argument structure */ 1 25 2 version fixed bin, /* version number of dcl - current version is 9 */ 1 26 2 copies fixed bin, /* number of copies wanted */ 1 27 2 delete fixed bin, /* 1=delete after print */ 1 28 2 queue fixed bin, /* print queue */ 1 29 2 pt_pch fixed bin, /* 1=print, 2=punch */ 1 30 2 notify fixed bin, /* 1 = notify user when done */ 1 31 2 heading char (64), /* first page heading */ 1 32 2 output_module fixed bin, /* 1=print, 2=7punch, 3=mcc, 4=raw, 5=plotter */ 1 33 2 dest char (12), /* version 5 made this a pad - see destination below */ 1 34 /* limit of version 1 structure */ 1 35 2 carriage_control, /* Carriage control flags. */ 1 36 3 nep bit (1) unal, /* TRUE if print trhu perf. */ 1 37 3 single bit (1) unal, /* TRUE if ignore FF and VT */ 1 38 3 non_edited bit (1) unal, /* TRUE if printing in non-edited mode */ 1 39 3 truncate bit (1) unal, /* TRUE if truncating lines at line length */ 1 40 3 center_top_label bit (1) unal, /* TRUE if top label to be centered */ 1 41 3 center_bottom_label bit (1) unal, /* TRUE if bottom label to be centered */ 1 42 3 esc bit (1) unal, /* version 5 TRUE if text escapes are to be processed */ 1 43 3 no_separator bit (1) unal, /* version 8 TRUE if the inner head and tail sheets are to be suppressed. */ 1 44 3 line_nbrs bit (1) unal, /* version 9, line numbers */ 1 45 3 padding bit (27) unal, 1 46 2 pad (30) fixed bin, 1 47 2 forms char (8), /* version 5 made this a pad - see form_name below */ 1 48 2 lmargin fixed bin, /* left margin */ 1 49 2 line_lth fixed bin, /* max line lth */ 1 50 /* limit of version 2 structure */ 1 51 2 class char (8), /* version 6 made this a pad - see request_type below */ 1 52 2 page_lth fixed bin, /* Paper length arg */ 1 53 /* limit of version 3 structure */ 1 54 2 top_label char (136), /* top-of-page label */ 1 55 2 bottom_label char (136), /* bottom-of-page label */ 1 56 /* limit of version 4 structure */ 1 57 2 bit_count fixed bin (35), /* segment bit count */ 1 58 2 form_name char (24), /* name of special forms needed - moved from forms */ 1 59 /* version 10 made this a pad - see forms_name below */ 1 60 2 destination char (24), /* the long destination - moved from dest */ 1 61 2 chan_stop_path char (168), /* path of user channel stops - future */ 1 62 /* limit of version 5 structure */ 1 63 2 request_type character (24) unaligned, /* request type for the request */ 1 64 /* limit of version 6 structure */ 1 65 2 defer_until_process_termination fixed bin, /* 1 = don't process request until requesting process terminates */ 1 66 2 forms_name char (64) unal; /* name of special forms needed - moved from form_name */ 1 67 /* limit of version 10 structure */ 1 68 1 69 dcl dprint_arg_version_1 fixed bin int static options (constant) init (1); 1 70 dcl dprint_arg_version_2 fixed bin int static options (constant) init (2); 1 71 dcl dprint_arg_version_3 fixed bin int static options (constant) init (3); 1 72 dcl dprint_arg_version_4 fixed bin int static options (constant) init (4); 1 73 dcl dprint_arg_version_5 fixed bin int static options (constant) init (5); 1 74 dcl dprint_arg_version_6 fixed bin int static options (constant) init (6); 1 75 dcl dprint_arg_version_7 fixed bin int static options (constant) init (7); 1 76 dcl dprint_arg_version_8 fixed bin int static options (constant) init (8); 1 77 dcl dprint_arg_version_9 fixed bin int static options (constant) init (9); 1 78 dcl dprint_arg_version_10 fixed bin int static options (constant) init (10); 1 79 /* current version */ 1 80 1 81 dcl ( 1 82 DP_PRINT init (1), 1 83 DP_PUNCH init (2), 1 84 DP_PLOT init (3) 1 85 ) fixed bin static options (constant); /* for dprint_arg.pt_pch */ 1 86 1 87 /* END INCLUDE FILE ... dprint_arg.incl.pl1 */ 287 288 /* Begin include file ..... iox_modes.incl.pl1 */ 2 2 2 3 /* Written by C. D. Tavares, 03/17/75 */ 2 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 2 5 2 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 2 7 ("stream_input", "stream_output", "stream_input_output", 2 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 2 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 2 10 "direct_input", "direct_output", "direct_update"); 2 11 2 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 2 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 2 14 2 15 dcl (Stream_input initial (1), 2 16 Stream_output initial (2), 2 17 Stream_input_output initial (3), 2 18 Sequential_input initial (4), 2 19 Sequential_output initial (5), 2 20 Sequential_input_output initial (6), 2 21 Sequential_update initial (7), 2 22 Keyed_sequential_input initial (8), 2 23 Keyed_sequential_output initial (9), 2 24 Keyed_sequential_update initial (10), 2 25 Direct_input initial (11), 2 26 Direct_output initial (12), 2 27 Direct_update initial (13)) fixed bin int static options (constant); 2 28 2 29 /* End include file ..... iox_modes.incl.pl1 */ 288 289 /* BEGIN: sc_stat_.incl.pl1 * * * * * */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(87-02-04,GDixon), approve(87-05-25,MCR7690), 3 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 7* Add sc_stat_$vchn_requires_accept in support of DSA virtual channels. 3 8* 2) change(87-02-04,GDixon), approve(87-05-25,MCR7680), 3 9* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 3 10* Reorganized by type of data to improve readability. 3 11* END HISTORY COMMENTS */ 3 12 3 13 3 14 /* ACCESS NAMES */ 3 15 dcl ( 3 16 sc_stat_$exec_access_name, /* check MC access in an exec request */ 3 17 sc_stat_$unidentified_access_name /* check access if no one is logged in. */ 3 18 ) char(32) ext static; 3 19 3 20 /* PATHNAMES */ 3 21 dcl ( 3 22 sc_stat_$info_dir, /* admin info segs directory */ 3 23 sc_stat_$log_dir, /* as log segs directory */ 3 24 sc_stat_$mc_acs_dir, /* message coordinator ACS segments (.mcacs) dir */ 3 25 sc_stat_$sysdir /* system control directory */ 3 26 ) char(168) ext static; 3 27 3 28 /* OTHER CHAR STRINGS */ 3 29 dcl ( 3 30 sc_stat_$master_channel /* Master TTY channel. */ 3 31 ) char(6) aligned ext static; 3 32 3 33 /* LABELS */ 3 34 dcl ( 3 35 sc_stat_$admin_listener_exit_label, /* GO here to exit admin mode. Set to */ 3 36 /* ssu_$null_label unless */ 3 37 /* admin_listener is active. */ 3 38 sc_stat_$master_abort_label, /* GO here after fault that is not */ 3 39 /* attributable to a particular */ 3 40 /* command. */ 3 41 sc_stat_$system_shutdown_label /* GO here to shut down system */ 3 42 ) label variable ext static; 3 43 3 44 /* POINTERS TO */ 3 45 dcl ( 3 46 sc_stat_$admin_log_iocb, /* IOCB for admin log */ 3 47 sc_stat_$admin_log_write_ptr, /* DATA for log_write_ calls on the admin log */ 3 48 sc_stat_$admin_sci_ptr, /* DATA ssu_ for terminal currently executing */ 3 49 sc_stat_$as_log_write_ptr, /* DATA for log_write_ calls on as log, used */ 3 50 /* by sys_log_. */ 3 51 sc_stat_$initzer_ttyp, /* ENT mc_ate for initializer terminal */ 3 52 sc_stat_$master_iocb, /* IOCB for "master_i/o" */ 3 53 sc_stat_$master_sci_ptr, /* DATA ssu_ (permanent) for system control */ 3 54 sc_stat_$mc_ansp, /* HEAD of mc_anstbl */ 3 55 sc_stat_$mc_iocb, /* IOCB ptr for "mc_i/o" */ 3 56 sc_stat_$sv1_iocb, /* IOCB ptr for "severity1" */ 3 57 sc_stat_$sv2_iocb, /* IOCB ptr for "severity2" */ 3 58 sc_stat_$sv3_iocb /* IOCB ptr for "severity3" */ 3 59 ) ptr ext static; 3 60 3 61 /* SWITCHES */ 3 62 dcl ( 3 63 sc_stat_$Go, /* TRUE after answering service is listening*/ 3 64 sc_stat_$Go_typed, /* TRUE immediately after 'go' is typed */ 3 65 sc_stat_$Multics, /* TRUE after answering service started */ 3 66 sc_stat_$Multics_typed, /* TRUE immediately after 'mult' is typed */ 3 67 sc_stat_$Star_typed, /* TRUE if 'mult' and 'go' came from 'star' */ 3 68 sc_stat_$admin_listener_switch, /* TRUE if in the admin listener */ 3 69 sc_stat_$did_part1, /* TRUE if part 1 of system startup ec done */ 3 70 sc_stat_$did_part2, /* TRUE if part 2 of system startup ec done */ 3 71 sc_stat_$did_part3, /* TRUE if part 3 of system startup ec done */ 3 72 sc_stat_$mc_is_on, /* TRUE if message coordinator running */ 3 73 sc_stat_$no_operator_login, /* TRUE if operator login not required, or */ 3 74 /* if PNT not yet available. */ 3 75 sc_stat_$shutdown_typed, /* TRUE if 'shutdown' command in progress. */ 3 76 sc_stat_$test_mode, /* TRUE if in test environment */ 3 77 sc_stat_$vchn_requires_accept /* TRUE if vchn may only be used if accepted*/ 3 78 /* by operator signed on system console*/ 3 79 ) bit(1) aligned ext static; 3 80 3 81 3 82 /* END OF: sc_stat_.incl.pl1 * * * * * */ 289 290 291 /* BEGIN MESSAGE DOCUMENTATION 292* 293* Message: 294* as_dump_: Answering service dump created in segment >sc1>asdump.-.MM/DD/YY-HHMM 295* 296* S: as (severity1) 297* 298* T: $run 299* 300* M: Some program has encountered an unexpected fault and has 301* called for a dump of the Answering Service. This segment 302* is automatically dprinted. 303* 304* A: $ignore 305* 306* 307* Message: 308* as_dump_: Message coordinator dump created in segment >sc1>asdump.-.MM/DD/YY-HHMM 309* 310* S: $info 311* 312* T: $run 313* 314* M: Some program has encountered an unexpected fault and has 315* called for a dump of the message coordinator. This segment 316* is automatically dprinted. 317* 318* A: $ignore 319* 320* 321* Message: 322* as_dump_: CONDITION while dumping. Dump aborted 323* 324* S: as (severity1) 325* 326* T: $run 327* 328* M: During the attempt to perform an Answering Service dump, some 329* unexpected fault occurred. The dump is stopped and the system tries to continue. 330* 331* A: Notify the system programming staff. 332* 333* 334* Message: 335* as_dump_: ERROR_MESSAGE. Cannot attach as_dump_stream_ to FILENAME. No dump asdump.MM/DD/YY-HHMM 336* 337* S: as (severity1) 338* 339* T: $run 340* 341* M: The Answering Service dump program could not attach a file 342* for the Answering Service dump. The dump will abort, and the system 343* will continue. 344* 345* A: $inform 346* 347* 348* Message: 349* as_dump_: ERROR_MESSAGE. Cannot obtain quota of >sc1, dump aborted. DUMPID 350* 351* S: as (severity2) 352* 353* T: $run 354* 355* M: An error occurred while dumping. 356* No dump was taken. 357* 358* A: $inform 359* 360* 361* Message: 362* as_dump_: Out of room for dump DUMPID 363* 364* S: as (severity2) 365* 366* T: $run 367* 368* M: An error occurred while dumping. 369* No dump was taken. 370* 371* A: $inform 372* 373* 374* Message: 375* as_dump_: Cannot obtain quota, dump aborted. NAME 376* 377* S: as (severity2) 378* 379* T: $run 380* 381* M: An error occurred while dumping. 382* No dump was taken. 383* 384* A: $inform 385* 386* 387* Message: 388* as_dump_: Cannot attach I/O switch. No dump NAME 389* 390* S: as (severity2) 391* 392* T: $run 393* 394* M: An error occurred while dumping. 395* No dump was taken. 396* 397* A: $inform 398* 399* 400* END MESSAGE DOCUMENTATION */ 401 402 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1302.2 as_dump_.pl1 >special_ldd>install>MR12.2-1199>as_dump_.pl1 287 1 10/28/88 1227.7 dprint_arg.incl.pl1 >special_ldd>install>MR12.2-1199>dprint_arg.incl.pl1 288 2 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.incl.pl1 289 3 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. ENOUGH constant fixed bin(17,0) initial dcl 69 ref 147 STREAM 000010 internal static char(32) initial packed unaligned dcl 70 set ref 156* 160* 173 278 Stream_output 000013 constant fixed bin(17,0) initial dcl 2-15 set ref 168* abort 000100 automatic label variable dcl 45 set ref 128* 177* 282 absolute_pathname_ 000072 constant entry external dcl 79 ref 230 addr builtin function dcl 103 ref 183 arg based char packed unaligned dcl 75 set ref 224 224 229 230* argl 000104 automatic fixed bin(21,0) dcl 46 set ref 218* 224 224 229 230 230 argp 000106 automatic pointer dcl 47 set ref 218* 224 224 229 230 clock builtin function dcl 103 ref 154 154 cname parameter char packed unaligned dcl 240 ref 238 251 252 253 254 255 256 257 258 259 260 261 268 com_err_ 000074 constant entry external dcl 80 ref 215 220 condition_ 000076 constant entry external dcl 81 ref 130 cont parameter bit(1) packed unaligned dcl 240 set ref 238 262* copies 1 based fixed bin(17,0) level 2 dcl 1-24 set ref 185* coptr parameter pointer dcl 240 ref 238 cu_$arg_count 000100 constant entry external dcl 82 ref 213 cu_$arg_ptr 000102 constant entry external dcl 83 ref 218 cu_$stack_frame_ptr 000104 constant entry external dcl 84 ref 171 277 date_time_ 000106 constant entry external dcl 85 ref 154 datstr 000110 automatic char(24) packed unaligned dcl 48 set ref 154* 155 155 170* delete 2 based fixed bin(17,0) level 2 dcl 1-24 set ref 186* dest 27 based char(12) level 2 dcl 1-24 set ref 193* dir 000116 automatic char(168) packed unaligned dcl 49 set ref 132* 134* 136 140* 166* 198* 230* 233* 235 dir_dumpid 000170 automatic varying char(256) dcl 50 set ref 136* 138* 138 142 144* 149 151* 158 160* doing_stack_trace 000271 automatic bit(1) initial dcl 51 set ref 51* 172* 174* 250 dpap 000346 automatic pointer dcl 1-21 set ref 183* 184 185 186 187 188 189 190 192 193 198* dprint_ 000110 constant entry external dcl 86 ref 198 dprint_arg based structure level 1 dcl 1-24 dprint_arg_buf 000350 automatic structure level 1 dcl 1-22 set ref 183 dumpid parameter char packed unaligned dcl 41 set ref 26 117 117 138 170* 190 ec 000272 automatic fixed bin(35,0) dcl 52 set ref 140* 141 144* 156* 157 160* 166* 167 168* 169 198* 213* 214 215* 218* 219 220* 230* 231 233* 234 error_entry 000274 automatic entry variable dcl 53 set ref 123* 126* 142 149 158 201 273 hcs_$quota_get 000112 constant entry external dcl 87 ref 140 233 heading 6 based char(64) level 2 dcl 1-24 set ref 190* i 000300 automatic fixed bin(17,0) dcl 54 set ref 213* 214 infoptr parameter pointer dcl 240 ref 238 ioa_ 000114 constant entry external dcl 88 ref 126 ioa_$ioa_switch 000116 constant entry external dcl 89 ref 170 175 iocbp 000302 automatic pointer dcl 55 set ref 129* 156* 164* 165* 166* 168* 170* 175* 179 180* 181* iox_$attach_ptr 000120 constant entry external dcl 90 ref 166 iox_$close 000122 constant entry external dcl 91 ref 164 180 iox_$detach_iocb 000124 constant entry external dcl 92 ref 165 181 iox_$find_iocb 000126 constant entry external dcl 93 ref 156 iox_$open 000130 constant entry external dcl 94 ref 168 iqct 000304 automatic fixed bin(17,0) dcl 56 set ref 140* 233* mcptr parameter pointer dcl 240 ref 238 notify 5 based fixed bin(17,0) level 2 dcl 1-24 set ref 189* null builtin function dcl 103 ref 129 166 166 179 outname 000305 automatic char(32) packed unaligned dcl 57 set ref 155* 160* 166* 198* 201 203* output_module 26 based fixed bin(17,0) level 2 dcl 1-24 set ref 192* pathname_ 000132 constant entry external dcl 95 ref 166 phcs_$ring_0_message 000134 constant entry external dcl 96 ref 123 pt_pch 4 based fixed bin(17,0) level 2 dcl 1-24 set ref 188* queue 3 based fixed bin(17,0) level 2 dcl 1-24 set ref 187* quota 000315 automatic fixed bin(17,0) dcl 58 set ref 140* 147 147 233* reason 000100 automatic char(64) packed unaligned dcl 244 in procedure "errx" set ref 268* 273* 275* reason 000326 automatic char(64) packed unaligned dcl 210 in procedure "as_dump_" set ref 212* 215* 220* 229* 232* rtrim builtin function dcl 103 ref 136 sc_stat_$Multics 000146 external static bit(1) dcl 3-62 ref 114 sc_stat_$sysdir 000144 external static char(168) packed unaligned dcl 3-21 ref 134 sc_stat_$test_mode 000150 external static bit(1) dcl 3-62 ref 123 198 sp 000316 automatic pointer dcl 59 set ref 171* 173* static_dump_dir 000020 internal static char(168) initial packed unaligned dcl 71 set ref 132 132 225* 235* substr builtin function dcl 103 ref 155 155 sys_log_ 000136 constant entry external dcl 97 ref 151 203 275 sys_log_$error_log 000140 constant entry external dcl 98 ref 144 160 taccsw 000320 automatic fixed bin(1,0) dcl 60 set ref 140* 233* trace_stack_$hregs 000142 constant entry external dcl 99 ref 173 278 trp 000321 automatic fixed bin(35,0) dcl 61 set ref 140* 233* try_again 000122 automatic bit(1) dcl 246 set ref 250* 271* 276 tup 000322 automatic bit(36) dcl 62 set ref 140* 233* ucs_recursion 000323 automatic fixed bin(17,0) initial dcl 63 set ref 63* 266* 266 267 269 ucs_sp 000120 automatic pointer dcl 245 set ref 277* 278* use_r0m 000324 automatic bit(1) dcl 64 set ref 114* 121* 142 149 158 201 270* 273 used 000325 automatic fixed bin(17,0) dcl 65 set ref 140* 147 233* version based fixed bin(17,0) level 2 dcl 1-24 set ref 184* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DP_PLOT internal static fixed bin(17,0) initial dcl 1-81 DP_PRINT internal static fixed bin(17,0) initial dcl 1-81 DP_PUNCH internal static fixed bin(17,0) initial dcl 1-81 Direct_input internal static fixed bin(17,0) initial dcl 2-15 Direct_output internal static fixed bin(17,0) initial dcl 2-15 Direct_update internal static fixed bin(17,0) initial dcl 2-15 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 2-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 2-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 2-15 Sequential_input internal static fixed bin(17,0) initial dcl 2-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 2-15 Sequential_output internal static fixed bin(17,0) initial dcl 2-15 Sequential_update internal static fixed bin(17,0) initial dcl 2-15 Stream_input internal static fixed bin(17,0) initial dcl 2-15 Stream_input_output internal static fixed bin(17,0) initial dcl 2-15 dprint_arg_version_1 internal static fixed bin(17,0) initial dcl 1-69 dprint_arg_version_10 internal static fixed bin(17,0) initial dcl 1-78 dprint_arg_version_2 internal static fixed bin(17,0) initial dcl 1-70 dprint_arg_version_3 internal static fixed bin(17,0) initial dcl 1-71 dprint_arg_version_4 internal static fixed bin(17,0) initial dcl 1-72 dprint_arg_version_5 internal static fixed bin(17,0) initial dcl 1-73 dprint_arg_version_6 internal static fixed bin(17,0) initial dcl 1-74 dprint_arg_version_7 internal static fixed bin(17,0) initial dcl 1-75 dprint_arg_version_8 internal static fixed bin(17,0) initial dcl 1-76 dprint_arg_version_9 internal static fixed bin(17,0) initial dcl 1-77 iox_modes internal static char(24) initial array dcl 2-6 sc_stat_$Go external static bit(1) dcl 3-62 sc_stat_$Go_typed external static bit(1) dcl 3-62 sc_stat_$Multics_typed external static bit(1) dcl 3-62 sc_stat_$Star_typed external static bit(1) dcl 3-62 sc_stat_$admin_listener_exit_label external static label variable dcl 3-34 sc_stat_$admin_listener_switch external static bit(1) dcl 3-62 sc_stat_$admin_log_iocb external static pointer dcl 3-45 sc_stat_$admin_log_write_ptr external static pointer dcl 3-45 sc_stat_$admin_sci_ptr external static pointer dcl 3-45 sc_stat_$as_log_write_ptr external static pointer dcl 3-45 sc_stat_$did_part1 external static bit(1) dcl 3-62 sc_stat_$did_part2 external static bit(1) dcl 3-62 sc_stat_$did_part3 external static bit(1) dcl 3-62 sc_stat_$exec_access_name external static char(32) packed unaligned dcl 3-15 sc_stat_$info_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$initzer_ttyp external static pointer dcl 3-45 sc_stat_$log_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$master_abort_label external static label variable dcl 3-34 sc_stat_$master_channel external static char(6) dcl 3-29 sc_stat_$master_iocb external static pointer dcl 3-45 sc_stat_$master_sci_ptr external static pointer dcl 3-45 sc_stat_$mc_acs_dir external static char(168) packed unaligned dcl 3-21 sc_stat_$mc_ansp external static pointer dcl 3-45 sc_stat_$mc_iocb external static pointer dcl 3-45 sc_stat_$mc_is_on external static bit(1) dcl 3-62 sc_stat_$no_operator_login external static bit(1) dcl 3-62 sc_stat_$shutdown_typed external static bit(1) dcl 3-62 sc_stat_$sv1_iocb external static pointer dcl 3-45 sc_stat_$sv2_iocb external static pointer dcl 3-45 sc_stat_$sv3_iocb external static pointer dcl 3-45 sc_stat_$system_shutdown_label external static label variable dcl 3-34 sc_stat_$unidentified_access_name external static char(32) packed unaligned dcl 3-15 sc_stat_$vchn_requires_accept external static bit(1) dcl 3-62 short_iox_modes internal static char(4) initial array dcl 2-12 NAMES DECLARED BY EXPLICIT CONTEXT. as_dump_ 000313 constant entry external dcl 26 attach_fail 001037 constant label dcl 158 ref 167 169 common 000373 constant label dcl 123 ref 115 dont_use_mc 000355 constant entry external dcl 117 dump_mc 000336 constant entry external dcl 117 errx 002043 constant entry internal dcl 238 ref 130 130 foo 002137 constant label dcl 262 ref 252 253 254 255 256 257 258 259 260 just_return 001572 constant label dcl 204 ref 177 sdd_error 001623 constant label dcl 215 ref 231 234 set_as_dump_dir 001574 constant entry external dcl 207 try_to_cleanup 001403 constant label dcl 177 ref 128 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2614 2766 2306 2624 Length 3264 2306 152 262 305 62 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME as_dump_ 586 external procedure is an external procedure. errx 118 internal procedure is assigned to an entry variable. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 STREAM as_dump_ 000020 static_dump_dir as_dump_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME as_dump_ 000100 abort as_dump_ 000104 argl as_dump_ 000106 argp as_dump_ 000110 datstr as_dump_ 000116 dir as_dump_ 000170 dir_dumpid as_dump_ 000271 doing_stack_trace as_dump_ 000272 ec as_dump_ 000274 error_entry as_dump_ 000300 i as_dump_ 000302 iocbp as_dump_ 000304 iqct as_dump_ 000305 outname as_dump_ 000315 quota as_dump_ 000316 sp as_dump_ 000320 taccsw as_dump_ 000321 trp as_dump_ 000322 tup as_dump_ 000323 ucs_recursion as_dump_ 000324 use_r0m as_dump_ 000325 used as_dump_ 000326 reason as_dump_ 000346 dpap as_dump_ 000350 dprint_arg_buf as_dump_ errx 000100 reason errx 000120 ucs_sp errx 000122 try_again errx THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ent_var_desc call_ext_out_desc call_ext_out return_mac tra_ext_2 shorten_stack ext_entry ext_entry_desc int_entry_desc clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ condition_ cu_$arg_count cu_$arg_ptr cu_$stack_frame_ptr date_time_ dprint_ hcs_$quota_get ioa_ ioa_$ioa_switch iox_$attach_ptr iox_$close iox_$detach_iocb iox_$find_iocb iox_$open pathname_ phcs_$ring_0_message sys_log_ sys_log_$error_log trace_stack_$hregs THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sc_stat_$Multics sc_stat_$sysdir sc_stat_$test_mode LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 51 000304 63 000305 26 000310 114 000327 115 000333 117 000334 121 000371 123 000373 126 000403 128 000407 129 000412 130 000414 132 000440 134 000451 136 000455 138 000507 140 000524 141 000565 142 000567 144 000617 145 000661 147 000662 149 000667 151 000717 152 000746 154 000747 155 000766 156 001013 157 001035 158 001037 160 001067 162 001140 164 001141 165 001153 166 001165 167 001241 168 001243 169 001262 170 001264 171 001320 172 001327 173 001331 174 001361 175 001362 177 001403 179 001406 180 001412 181 001424 183 001436 184 001440 185 001442 186 001443 187 001444 188 001445 189 001446 190 001447 192 001466 193 001471 198 001474 201 001523 203 001544 204 001572 207 001573 212 001602 213 001605 214 001616 215 001623 216 001647 218 001650 219 001667 220 001671 221 001715 224 001716 225 001730 226 001734 229 001735 230 001740 231 001764 232 001766 233 001771 234 002033 235 002035 236 002041 238 002042 250 002056 251 002061 252 002067 253 002073 254 002077 255 002103 256 002107 257 002113 258 002117 259 002123 260 002127 261 002133 262 002137 263 002143 266 002144 267 002145 268 002150 269 002176 270 002202 271 002204 273 002205 275 002220 276 002236 277 002240 278 002247 282 002277 ----------------------------------------------------------- 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