COMPILATION LISTING OF SEGMENT gcos_mme_bort_ Compiled by: Multics PL/I Compiler, Release 28b, of April 11, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 09/09/83 1148.4 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* 12* ******************************************************************************** 13* ******************************************************************************** 14* * 15* * 16* * M M E G E B O R T 17* * 18* * MME GEBORT is used to abort the execution of the current slave activity 19* * by the user. The abort code passed in the Q register is used in messages 20* * displayed on the execution report and at the users terminal. 21* * 22* * This module also processes requests from the GES system to abort the 23* * slave activity. These requests are handled by .mbrt1,3 in real GCOS. 24* * This entry (gcos_mme_bort_$system) is called passing some system defined 25* * error code (from gcos_et_). The short message associated with this error 26* * code is the GCOS system abort number which is to be placed in the 27* * slave prefix. 28* * 29* * After the processing of the appropriate abort request, gcos_mme_bort_ will 30* * fill in the proper words in the slave prefix and return to gcos_run_activity_ 31* * by way of a non-local goto through gcos_ext_stat_$mme_rtrn. 32* * 33* * CALLING SEQUENCE: 34* * 35* * MME GEBORT 36* * 37* * C(Q) 24-35 BCD abort code 38* * 39* * 40* * WRITTEN BY DICK SNYDER, 1971. 41* * MODIFIED BY T. CASEY - DECEMBER 1973, MARCH 1974, AUGUST 1974. 42* * Modified by M. R. Jordan, January 1977, August 1977 43* * Modified by S. C. Akers, December 1981. Change \014 to %page; 44* * Fix bug to stuff abort reason 45* * and address of faulting instruction 46* * in Word 13 (octal) of slave prefix. 47* * 48* ******************************************************************************** 49* ******************************************************************************** 50**/ 51 52 gcos_mme_bort_: procedure (mcp, increment); 53 /* 54* 55* 56* The data item gcos_ext_stat_$termination_code is of special importance in that it tells the user 57* what type of abort (system or user) and exactly which abort he got. This information 58* is typicaly used in a wrapup routine to make decisions. The data item 59* is declared as a bit(18). The following assignments are made within it: 60* 61* 0-3 MBZ 62* 4-5 =1 system abort; =2 user abort 63* 6-17 system abort number or user abort code (BCD) 64* 65**/ 66 67 /* 68* 69* This entry will be called as a result of a MME GEBORT in a slave activity. 70* After extracting the abort code from the Q register, a message will be 71* printed at the users terminal and wrapup will be looked into. 72* 73**/ 74 75 substr (abort_code, 1, 1) = xlate (fixed (substr (mc.regs.q, 25, 6), 7)); 76 substr (abort_code, 2, 1) = xlate (fixed (substr (mc.regs.q, 31, 6), 6)); 77 78 /* 79* 80* Set the termination code to reflect the specified abort code and the 81* fact that this is a GEBORT rather than a fault. 82* 83**/ 84 85 substr (gcos_ext_stat_$termination_code, 1, 6) = "000010"b; 86 substr (gcos_ext_stat_$termination_code, 7, 12) = substr (mc.regs.q, 25, 12); 87 88 /* 89* 90* Now print a message at the users terminal and continue. 91* 92**/ 93 94 gcos_ext_stat_$abort_reason = "Users " || abort_code || " MME GEBORT."; 95 call ioa_$ioa_stream ("error_output", "^a", gcos_ext_stat_$abort_reason); 96 goto continue_termination; 97 98 /* 99* 100* The following entry provides for system termination of the slave 101* activity due to a system detected error. This entry expects a 102* code from the gcos_et_ (or any valid error table code) as its first 103* argument. The remaining arguments are passed to ioa_ for printing. 104* 105**/ 106 107 system: entry (abort_ecode); 108 109 ecode = abort_ecode; 110 111 system_error: ; 112 113 /* 114* 115* Prepare the termination code value from the information given 116* in the gcos error table (gcos_et_). 117* 118**/ 119 120 121 call get_abort_info (); 122 substr (gcos_ext_stat_$termination_code, 1, 6) = "000001"b; 123 substr (gcos_ext_stat_$termination_code, 7, 12) = substr (addr (abort_number) -> bit36, 25, 12); 124 125 /* 126* 127* Now prepare the message for the user to tell him what went wrong. 128* The message consists of the long message from the gcos_et_ and an 129* additional message formatted from the remaining arguments passed to 130* gcos_mme_bort_$system. 131* 132**/ 133 134 call ioa_$ioa_stream ("error_output", "^a", long_message); 135 call cu_$arg_count (nargs); 136 if nargs > 1 then do; 137 call cu_$arg_list_ptr (arg_list_ptr); 138 call ioa_$general_rs (arg_list_ptr, 2, 3, rtn_string, rtn_string_len, "0"b, "0"b); 139 if rtn_string_len > 0 then 140 if substr (rtn_string, 1, rtn_string_len) ^= "" then 141 call ioa_$ioa_stream ("error_output", "^a", substr (rtn_string, 1, rtn_string_len)); 142 end; 143 144 145 /* 146* 147* Now pass the abort message on to gcos_run_activity_ by continuing. 148* 149**/ 150 151 152 gcos_ext_stat_$abort_reason = rtrim (long_message); 153 goto continue_termination; 154 155 abort_number: entry (abort_ecode, return_code); 156 157 158 ecode = abort_ecode; 159 call get_abort_info (); 160 return_code = abort_number; 161 162 return; 163 164 continue_termination:; 165 166 /* 167* 168* Set up pointers needed later. 169* 170**/ 171 172 scup = addr (gcos_ext_stat_$mc.scu); 173 174 175 /* 176* 177* Initialize the proper locations in the slave prefix. Some of the 178* values to be set are offset by 1 if the most recent termination 179* occured during wrapup. 180* 181**/ 182 183 184 slave_prefix_ptr = gcos_ext_stat_$gcos_slave_area_seg; 185 slave_prefix.word_30 = (36)"0"b; 186 slave_prefix.words_60_thru_65 = (216)"0"b; 187 if gcos_ext_stat_$save_data.wrapup then slave_prefix_ptr = addrel (slave_prefix_ptr, 1); 188 slave_prefix.termination_info = gcos_ext_stat_$termination_code; 189 slave_prefix.ic_and_i = addr (scu.ilc) -> bit36; 190 slave_prefix.ic_value = scu.ilc; 191 192 /* 193* 194* Now if the user has specified the -debug control argument, do it. 195* 196**/ 197 198 199 if gcos_ext_stat_$save_data.debug then do; 200 call ioa_$ioa_stream ("error_output", "CALLING DEBUG:"); 201 call db; 202 end; 203 204 205 /* 206* 207* Prepare to return to gcos_run_activity by setting the activity abort 208* flag and the "run only compilations till next $ BREAK" flag. Bit 5 209* of the program switch word gets reset and the abort code is passed 210* back to gcos_run_activity. 211* 212**/ 213 214 215 gcos_ext_stat_$save_data.this_act_abort = "1"b; 216 gcos_ext_stat_$save_data.prev_act_abort = "1"b; 217 substr (save_data.psw, 6, 1) = "0"b; 218 goto gcos_ext_stat_$mme_rtrn; 219 220 /* 221* 222* This entry is called to inform the user of a bad MME number in his 223* program. This is an i1 system abort. 224* 225**/ 226 227 228 not_imp: entry (mcp, increment, mme_number); 229 230 231 if mme_number = 0 then 232 call gcos_mme_bort_$system (gcos_et_$unimp_mme, "0 is not a valid MME number."); 233 else 234 call gcos_mme_bort_$system (gcos_et_$unimp_mme, "GE^a", MME_NAME (mme_number)); 235 236 /* 237* 238* This entry process run-time "system" detected fatal errors. 239* The calling sequence is essentially options(variable), but the first 240* argument must be a char(2) for the abort code. Other arguments that 241* follow are passed to ioa_ to be printed. 242* 243**/ 244 245 246 simulator: entry (code); 247 248 abort_code = code; 249 call cu_$stack_frame_ptr (p); 250 p = backp; /* get caller's frame */ 251 unspec (offset) = (18)"0"b||substr (rel (ret), 1, 18); 252 call pl1_frame_$name (p, z, j); /* get caller name */ 253 call ioa_ ("Abort ^a from ^a at ^o ", code, name, offset); 254 call cu_$arg_list_ptr (p); /* get ptr to my arg list */ 255 ii, i = arg_count; /* get no of args */ 256 if i = 2 then goto continue_termination; /* only one arg */ 257 ii, i = i-2; /* decrement arg count */ 258 arg_count = i; /* put new count in arg list */ 259 i = descriptor_count; /* get no. of descriptors */ 260 if i ^= 0 then do; /* adjust descriptors and count if necessary */ 261 descriptor_count = fixed (i-2, 18); 262 do j = divide (ii+4, 2, 18, 0) to ii+2; /* shift descriptors left one to */ 263 /* wipe out descriptor for arg 1 (abort cause) */ 264 arg_pointers (j) = arg_pointers (j+1); 265 end; 266 267 end; 268 else ii = divide (ii, 2, 18, 0); /* no descriptors so adjust move variable */ 269 do j = 1 to ii; 270 arg_pointers (j) = arg_pointers (j+1); /* move arg pointers */ 271 end; 272 call cu_$gen_call (ioa_, p); /* let ioa_ print out any other info */ 273 gcos_ext_stat_$termination_code = "000001000000000000"b; 274 gcos_ext_stat_$abort_reason = abort_code; 275 goto continue_termination; 276 277 278 dcl 1 arg_list aligned based (p), 279 2 arg_count fixed bin(17) unaligned, 280 2 display bit (18) unaligned, 281 2 descriptor_count fixed bin(17) unaligned, 282 2 fill bit (18) unaligned, 283 2 arg_pointers (1) fixed bin(71); 284 dcl code char (*); 285 dcl cu_$gen_call ext entry (entry, pointer); 286 dcl cu_$stack_frame_ptr ext entry (pointer); 287 dcl divide builtin; 288 dcl 1 frame based (p), 289 2 ab (4) fixed bin(24), 290 2 lp pointer, 291 2 sp pointer, 292 2 regs (8) fixed bin(24), 293 2 backp pointer, 294 2 nxt pointer, 295 2 ret pointer; 296 dcl i fixed bin(24); 297 dcl ii fixed bin(24); 298 dcl j fixed bin(24); 299 dcl name char (j) aligned based (z); 300 dcl offset fixed bin(24); 301 dcl p pointer; 302 dcl pl1_frame_$name ext entry (ptr, ptr, fixed bin(24)); 303 dcl rel builtin; 304 dcl unspec builtin; 305 dcl z pointer; 306 307 get_abort_info: procedure (); 308 309 310 /* 311* 312* This internal procedure obtains the short_message, long_message, and abort_number 313* given the ecode value passed to the gcos_mme_bort_ entry point that has been called. 314* 315* To begin with, using the convert_status_code_ subroutine get the message for this 316* code value. 317* 318**/ 319 320 call convert_status_code_ (ecode, short_message, long_message); 321 322 /* 323* 324* Prepare the abort number from the ecode value. 325* 326**/ 327 328 if substr (short_message, 1, 4) = "GCOS" then do ; 329 abort_number = cv_dec_check_ (substr (short_message, 5, 4), ecode); 330 if ecode ^= 0 then abort_number = 0; 331 end; 332 else abort_number = 0; 333 334 return; 335 336 end get_abort_info; 337 338 dcl abort_code char (2); /* the ASCII abort code */ 339 dcl abort_ecode fixed bin(35); /* error code value for system aborts */ 340 dcl abort_number fixed bin(24); /* GCOS system abort number */ 341 dcl null builtin; 342 dcl addr builtin; 343 dcl addrel builtin; 344 dcl arg_list_ptr ptr; /* ptr to the system entry points arg list */ 345 dcl bit36 bit (36) based; /* a based word for bit manipulation */ 346 dcl convert_status_code_ entry (fixed bin(35), char (8) aligned, char (100) aligned); 347 dcl cu_$arg_count entry (fixed bin(24)); 348 dcl cu_$arg_list_ptr entry (ptr); 349 dcl cv_dec_check_ entry (char (*), fixed bin(35)) returns (fixed bin(35)); 350 dcl db ext entry; 351 dcl ecode fixed bin(35); /* local error code value */ 352 dcl fixed builtin; 353 dcl gcos_et_$unimp_mme fixed bin(35) ext; 354 dcl gcos_mme_bort_$system entry options (variable); 355 dcl increment fixed bin(24); /* number of arg words to this MME */ 356 dcl ioa_ ext entry options (variable); 357 dcl ioa_$ioa_stream entry options (variable); 358 dcl ioa_$general_rs entry (ptr, fixed bin(24), fixed bin(24), char (*), fixed bin(24), bit (1), bit (1)); 359 dcl long_message char (100) aligned; /* long message for ecode */ 360 dcl mme_number fixed bin(24); /* the MME number for non-implemented MMEs */ 361 dcl nargs fixed bin(24); 362 dcl return_code fixed bin(24); /* returned abort number for return_abort_number entry */ 363 dcl rtn_string char (256); /* output string for ioa_$general_rs */ 364 dcl rtn_string_len fixed bin(24); /* output string length from ioa_$general_rs */ 365 dcl rtrim builtin; 366 dcl short_message char (8) aligned; /* short message for ecode */ 367 dcl 1 slave_prefix aligned based (slave_prefix_ptr), 368 2 filler_1 (11) bit (36), 369 2 ic_value bit (18) unal, 370 2 termination_info bit (18) unal, 371 2 filler_2 (6) bit (36), 372 2 ic_and_i bit (36), 373 2 filler_3 (5) bit (36), 374 2 word_30 bit (36), 375 2 filler_4 (23) bit (36), 376 2 words_60_thru_65 bit (216); 377 dcl slave_prefix_ptr ptr; /* ptr to slave jobs prefix */ 378 dcl substr builtin; 379 1 1 /* BEGIN INCLUDE FILE gcos_ext_stat_.incl.pl1 */ 1 2 /* 1 3* Changes to gcos_ext_stat_ must be made here AND gcos_ext_stat_.cds 1 4**/ 1 5 /* July 77 (MRJ) Mike Jordan. */ 1 6 /* Change: Mel Wilson Oct 1979 for gtss compatibility (Bell Canada). */ 1 7 /* Change: A. N. Kepner, March, 1978 to allow courtesy call i/o within cc routines. */ 1 8 /* Change: Dave Ward 06/01/81 Reorganized to eliminate alm object (using cds). Use of like structures. */ 1 9 /* Change: Scott C. Akers 01/26/82 Add tape_buffer_size for GEINOS processing. */ 1 10 /* Change: Ron Barstad 83-08-02 Added activity_card_num for execution report */ 1 11 /* Increased size of statistics for 4js3 MMEs */ 1 12 1 13 dcl gcos_ext_stat_$abort_reason char(128) varying /* abort reason from gcos pgm */ ext; 1 14 dcl gcos_ext_stat_$abort_return label /* abort return point */ ext; 1 15 dcl gcos_ext_stat_$activity_card_num pic "9999" ext; /* card number defining current activity */ 1 16 dcl gcos_ext_stat_$activity_name char(8) /* name of activity to be run */ ext; 1 17 dcl gcos_ext_stat_$activity_start_time fixed bin(71) /* TOD start of activity */ ext; 1 18 dcl gcos_ext_stat_$card_num pic "9999" /* ordinal number of card in input stream */ ext; 1 19 dcl gcos_ext_stat_$dbs (36)bit(1) /* Debugging switch. */ ext; 1 20 dcl gcos_ext_stat_$default_nondollar char(2) /* filecode where nondollar cards go by default */ ext; 1 21 dcl gcos_ext_stat_$dir_rings (3) fixed bin(3) /* ring brackets for created catalogs */ ext; 1 22 dcl gcos_ext_stat_$dpno char(100) varying /* arguments for call to dpunch */ ext; 1 23 dcl gcos_ext_stat_$dpo char(100) varying /* arguments for call to dprint */ ext; 1 24 dcl gcos_ext_stat_$endfc char(2) /* endfc value for endcopy processing */ ext; 1 25 dcl gcos_ext_stat_$er ptr /* fib pointer for *er */ ext; 1 26 dcl gcos_ext_stat_$etc_filecode char(2) /* filecode where $ ETC cards should be written */ ext; 1 27 dcl gcos_ext_stat_$gcos_slave_area_seg ptr /* pointer to gcos slave area segment */ ext; 1 28 dcl gcos_ext_stat_$gf fixed bin(24)/* sw used by getfield rtn */ ext; 1 29 dcl gcos_ext_stat_$incode fixed bin(24) /* switches to control incode processing */ ext; 1 30 dcl gcos_ext_stat_$increment_hold fixed bin(24) /* Holds increment for courtesy call returns. */ ext; 1 31 dcl gcos_ext_stat_$initial_cpu_time fixed bin(71) /* vcu time at activity start */ ext; 1 32 dcl gcos_ext_stat_$input_segment_path char(168) varying /* pathname of input segment */ ext; 1 33 dcl gcos_ext_stat_$jcl_warnings fixed bin(24) /* number warnings issued processing control cards */ ext; 1 34 dcl gcos_ext_stat_$job_cpu_time fixed bin(71) /* cpu usage at job start */ ext; 1 35 dcl gcos_ext_stat_$job_id char(18) varying /* unique job id for file naming */ ext; 1 36 dcl gcos_ext_stat_$job_real_time fixed bin(71) /* job start time in microseconds */ ext; 1 37 dcl gcos_ext_stat_$last_mme fixed bin(24)/* number of last mme executed */ ext; 1 38 dcl gcos_ext_stat_$ldrss fixed bin(24) /* loader shared stg. */ ext; 1 39 dcl gcos_ext_stat_$max_activities fixed bin(24)/* max activities in a job */ ext; 1 40 dcl gcos_ext_stat_$max_mem fixed bin(19) /* maximum memory available to an activity */ ext; 1 41 dcl gcos_ext_stat_$mme_rtrn label /* where to return at activity end */ ext; 1 42 dcl gcos_ext_stat_$nondollar char(2) /* non-dollar card file code */ ext; 1 43 dcl gcos_ext_stat_$nongcos char(2) /* filecode where nongcos dollar cards go */ ext; 1 44 dcl gcos_ext_stat_$normal_return label /* nonlocal goto for normal termination */ ext; 1 45 dcl gcos_ext_stat_$patchfile_ptr ptr /* pointer to patchfile */ ext; 1 46 dcl gcos_ext_stat_$pathname_prefix char(168)var ext; 1 47 dcl gcos_ext_stat_$pch ptr /* pointer to fib for syspunch collector file */ ext; 1 48 dcl gcos_ext_stat_$pdir char(168) varying /* pathname of process directory */ ext; 1 49 dcl gcos_ext_stat_$prt ptr /* pointer to fib for sysprint collector file */ ext; 1 50 dcl gcos_ext_stat_$rs ptr /* pointer to fib for geload r* collector file */ ext; 1 51 dcl gcos_ext_stat_$saveseg_ptr ptr /* pointer to save segment used by save/restart */ ext; 1 52 dcl gcos_ext_stat_$save_dir char(168) varying /* pathname of temp save directory */ ext; 1 53 dcl gcos_ext_stat_$seg_rings (3) fixed bin(3) /* ring brackets for created files */ ext; 1 54 dcl gcos_ext_stat_$sig_ptr ptr /* saved pointer to signal_ */ ext; 1 55 dcl gcos_ext_stat_$skip_umc bit(1) ext; 1 56 dcl gcos_ext_stat_$snumb bit (30) aligned /* snumb of the current job */ ext; 1 57 dcl gcos_ext_stat_$sought_label char(8) /* Label from GOTO, IF, or WHEN card */ ext; 1 58 dcl gcos_ext_stat_$statistics (3*44) fixed bin(24) /* mme usage statistics- 3 per mme */ ext; 1 59 dcl gcos_ext_stat_$stop_code fixed bin(24) /* debugging, print results and stop. */ ext; 1 60 dcl gcos_ext_stat_$storage_limit fixed bin(19) /* activity storage limit */ ext; 1 61 dcl gcos_ext_stat_$sysout_limit fixed bin(35) /* sysout line limit */ ext; 1 62 dcl gcos_ext_stat_$sysout_lines fixed bin(35) /* sysout lines used */ ext; 1 63 dcl gcos_ext_stat_$system_free_pointer ptr /* pointer to area for allocating in ext; set by gcos */ ext; 1 64 dcl gcos_ext_stat_$tape_buffer_size fixed bin(35) external static; /* tape buffer size for GEINOS. */ 1 65 dcl gcos_ext_stat_$temp_dir char(168) varying /* pathname of directory to hold temp files */ ext; 1 66 dcl gcos_ext_stat_$temp_seg_ptr ptr ext; 1 67 dcl gcos_ext_stat_$termination_code bit (18) /* termination code from gcos_mme_bort_ */ ext; 1 68 dcl gcos_ext_stat_$time_limit fixed bin(71) /* activity time limit */ ext; 1 69 dcl gcos_ext_stat_$userid char(12) /* the USERID */ ext; 1 70 dcl gcos_ext_stat_$validation_level fixed bin(3) /* current ring of execution */ ext; 1 71 1 72 /* Courtesy Call Queue 1 73* A queue for courtesy call addresses which must be saved during 1 74* execution of courtesy call routines. A courtesy call address is 1 75* saved each time a MME GEROUT or MME GEINOS, which specifies a 1 76* courtesy call, is executed within a courtesy call routine. Each 1 77* time a MME GEENDC is executed a courtesy call address will be 1 78* removed from this FIFO queue and the corresponding courtesy call 1 79* routine executed until the queue is empty. The FIFO "queue" is 1 80* implemented in a circular fashion. "next_avail" points to the 1 81* next empty location in the queue. "next_out" points to the 1 82* entry in the queue which has been in the queue longest. When 1 83* entering or removing entries from the queue the appropriate index 1 84* is incremented modulo the length of the queue. By convention the 1 85* queue is empty when "next_avail" equals "next_out". A 1 86* second convention is that the queue is considered to overflow 1 87* during an attempt to add an entry to the queue which would force 1 88* "next_avail" to "catch up" with "next_out". This means that 1 89* the last empty position in the queue will never be used. 1 90**/ 1 91 1 92 dcl 1 gcos_ext_stat_$courtesy_call_control aligned ext 1 93 , 3 courtesy_call 1 94 , 4 hold like save_machine_conditions /* Mach. conds. restored on courtesy call returns. */ 1 95 , 4 next_avail fixed bin(24) /* next available empty location in cc_queue. */ 1 96 , 4 next_out fixed bin(24) /* next entry to remove from cc_queue. */ 1 97 , 4 queue (6) fixed bin(24) 1 98 ; 1 99 2 1 /* BEGIN INCLUDE FILE gcos_save_mc.incl.pl1 (Wardd Multics) 09/12/81 0905.9 mst Sat */ 2 2 2 3 /* Structure to isolate the definition of the size of the 2 4*space needed to store he machine conditions structure (mc). 2 5**/ 2 6 dcl 1 save_machine_conditions based 2 7 , 3 save_space bit(1728) 2 8 ; 2 9 2 10 /* END INCLUDE FILE gcos_save_mc.incl.pl1 */ 1 100 1 101 1 102 dcl 1 gcos_ext_stat_$fct aligned ext, 1 103 3 fct (40) like fct_entry; 3 1 /* BEGIN INCLUDE FILE gcos_fct_entry.incl.pl1 (Wardd Multics) 05/30/81 1758.6 mst Sat */ 3 2 3 3 dcl 1 fct_entry aligned based, 3 4 2 filecode char(2) aligned, /* file code (or blank) */ 3 5 /* flags */ 3 6 2 sysout bit(1) unaligned, /* 1=file is sysout or dac */ 3 7 2 dac bit(1) unaligned, /* 1=file is dac,0=file is sysout */ 3 8 2 pad bit(34) unaligned, /* unused */ 3 9 2 fibptr ptr aligned /* ptr to fib for this file */ 3 10 ; 3 11 3 12 /* END INCLUDE FILE gcos_fct_entry.incl.pl1 */ 1 104 1 105 1 106 dcl 1 gcos_ext_stat_$save_data aligned ext, 1 107 3 save_data like save_data_entry; 4 1 /* BEGIN INCLUDE FILE gcos_save_data_entry.incl.pl1 (Wardd Multics) 07/01/81 1339.9 mst Wed */ 4 2 /* Change: Dave Ward 07/01/81 include gcos_flags_. */ 4 3 /* Change: Dave Ward 09/10/81 fib changed to fibs & likened to fib. */ 4 4 4 5 dcl 1 save_data_entry aligned based 4 6 ,3 flgs like flags /* system wide flgs */ 4 7 ,3 actid char(8) /* activity no. and accnt i.d. */ 4 8 ,3 short_actid bit(36) aligned /* short form of activity id */ 4 9 ,3 ident char(60) /* holds ident info from snumb card */ 4 10 ,3 psw bit(36) aligned /* program switch word */ 4 11 ,3 last_execute_act_no fixed bin(24)/* activity number of last $ EXECUTE card in job */ 4 12 ,3 activity_no fixed bin(24)/* activity number */ 4 13 ,3 job_time_limit fixed bin(71) /* job time limit */ 4 14 ,3 job_sysout_limit fixed bin(24)/* job sysout line limit */ 4 15 ,3 sysout_queue (10) char(32) /* sysout queue */ 4 16 ,3 sysout_queue_media (10) fixed bin(24)/* medium (print,punch) of each file on queue */ 4 17 ,3 sqindex fixed bin(24)/* curr offset in sysout queue */ 4 18 ,3 pathname_prefix char(168)varying /* prefix for gcos cfdescs */ 4 19 ,3 skip_umc aligned bit(1) /* flag to tell if we should skip umc names */ 4 20 ,3 job_deck pointer /* pointer to seg holding canonicalized job deck */ 4 21 ,3 jd_size fixed bin(24)/* size in words of job deck */ 4 22 ,3 jd_position fixed bin(24) /* position of current block of job deck */ 4 23 ,3 jd_rem_block_len fixed bin(24)/* words remaining in current block of job deck */ 4 24 ,3 syot_dir char(168)varying /* pathname of directory to hold sysout files */ 4 25 ,3 fibs (40) like fib 4 26 ,3 param (32) char(57)varying /* parameters */ 4 27 ; 4 28 5 1 /* BEGIN INCLUDE FILE gcos_flags.incl.pl1 (Wardd Multics) 07/01/81 1344.7 mst Wed */ 5 2 /* Change: Mel Wilson 03/01/79 to add gtssflag & identflag */ 5 3 /* Change: Dave Ward 07/01/81 revised, mad apart of gcos_ext_stat_. */ 5 4 5 5 5 6 /* Declaration of Simulator Wide Flags */ 5 7 5 8 dcl 1 flags aligned based, 5 9 2 ( 5 10 pad1, /* no longer used */ 5 11 copy, /* 1=copy option on|0=off */ 5 12 snumb, /* 1=snumb card read|0=not */ 5 13 ident, /* 1=ident card read|0=not */ 5 14 activ, /* 1=activity being defined|0=not */ 5 15 cc, /* 1=courtesy call active|0=not */ 5 16 pad2, /* no longer used */ 5 17 cksum, /* 1=don't check checksums|0=do */ 5 18 pad3, /* no longer used */ 5 19 wrapup, /* 1=processing wrapup after abort */ 5 20 5 21 /* FOLLOWING ADDED AFTER MARCH 73 */ 5 22 5 23 nosave, /* 1=disable save/restart function,0=not */ 5 24 pad4, /* no longer used */ 5 25 gcos, /* 1=job deck segment in gcos file format */ 5 26 raw, /* 1=sysout punch files to be converted to raw bit strings */ 5 27 list, /* 1=sysout print files to be converted to ascii */ 5 28 brief, /* 1=print nothing but fatal error messages on terminal */ 5 29 debug, /* 1=give option to call debug before aborting */ 5 30 no_canonicalize, /* 1=do NOT canonicalize job deck */ 5 31 5 32 /* 18 bits into first word */ 5 33 5 34 pad5, /* no longer used */ 5 35 dpunch, /* 1=dpunch sysout punch files;0=don't */ 5 36 dprint, /* 1=dprint sysout print files,0=don't */ 5 37 userid, /* 1=userid card read,0=not */ 5 38 userlib, /* 1= -userlib ctl arg given, see gcos_gein_ */ 5 39 dstar, /* 1=current activity card written on d* */ 5 40 write_etc, /* 1 tells get_cc_field to write $ ETC cards on etc_filecode */ 5 41 prev_act_abort, /* turned on by abort and off by $ BREAK */ 5 42 this_act_abort, /* turned on by abort to select abort disp codes */ 5 43 abort_subact, /* 1=processing abort subactivity */ 5 44 dump, /* 1=dump option given on activity card */ 5 45 nondollar, /* 1=reading nondollar card deck in gein */ 5 46 endjob, /* 1=cc_endjob already called once in this job */ 5 47 abort_card, /* 1=the terminator for this activity was a $ ABORT card */ 5 48 truncate, /* 1=truncate option given:truncate long ascii input lines */ 5 49 continue, /* 1=continue option given:continue after nonfatal errors */ 5 50 rout, /* 1=gcos_mme_rout_ was called in this activity */ 5 51 seeking, /* 1=gein is looking for a label and/or terminator */ 5 52 5 53 /* end of first word */ 5 54 5 55 seeking_terminator, /* 1=gein is looking for a terminator */ 5 56 lower_case, /* 1=lower case print conversion wanted */ 5 57 no_bar, /* 1=do not run slave program in BAR mode */ 5 58 long, /* 1=print some lines from execution reort on terminal */ 5 59 endfc, /* 1=process endfc option on endcopy card */ 5 60 gtssflag, /* 1=update gtss_user_state_ during execution */ 5 61 identflag, /* 1= use $ident banner info for print & punch */ 5 62 spawnflag, /* 1= entry due to tss spawn */ 5 63 taskflag /* 1= entry due to tss drl task */ 5 64 ) bit(1) unal, 5 65 2 pad6 bit(27)unal 5 66 ; 5 67 5 68 /* END INCLUDE FILE gcos_flags.incl.pl1 */ 4 29 4 30 4 31 /* END INCLUDE FILE gcos_save_data_entry.incl.pl1 */ 1 108 1 109 6 1 /* BEGIN INCLUDE FILE gcos_file_info_block_.incl.pl1 DAK - APRIL 74 */ 6 2 6 3 /* Declaration of File Information Block (fib) 6 4* 6 5* Change: Mel Wilson 11/01/79 for gtss compatibility 6 6* Change: Dave Ward 05/20/81 *_file constants. 6 7* Change: Dave Ward 05/29/81 separated fct structures. 6 8* Change: Dave Ward 09/02/81 provision for tape density 6250, dens_hist 2 bits (not 3). 6 9**/ 6 10 dcl 1 fib aligned based (fibptr) /* fib structure */ 6 11 6 12 , 2 buffer ptr aligned /* pointer to current buffer (gcos_write_) */ 6 13 , 2 buffer_indx fixed bin /* Index to buffer in use. */ 6 14 , 2 stream char(8)unal /* stream name for attaching this file */ 6 15 , 2 pathnm char(168)unal /* pathname (for disk, print or punch files) */ 6 16 , 2 unique_file_id bit(36) /* multics unique segment id for file */ 6 17 , 2 indicators /* five words of flags */ 6 18 6 19 , 3 indicators_word_1 6 20 , 4 used bit(1) unal /* 1=fib used, 0=fib used */ 6 21 , 4 attached bit(1) unal /* 1=stream is attached */ 6 22 , 4 type bit(1) unal /* 1=random, 0=linked */ 6 23 , 4 perm bit(1) unal /* 1=permanent file, 0=not */ 6 24 , 4 print bit(1) unal /* 1=file type is printer */ 6 25 , 4 punch bit(1) unal /* 1=file type is punch */ 6 26 , 4 reader bit(1) unal /* 1=file type is card reader */ 6 27 , 4 tape bit(1) unal /* 1=file type is tape */ 6 28 , 4 console bit(1) unal /* 1=file type is console typewriter */ 6 29 , 4 read bit(1) unal /* 1=read access permitted */ 6 30 , 4 write bit(1) unal /* 1=write access permitted */ 6 31 , 4 null bit(1) unal /* 1=file is null */ 6 32 , 4 purge bit(1) unal /* 1=purge file at time on release */ 6 33 , 4 gein bit(1) unal /* 1 = this file contains data cards from the job deck */ 6 34 , 4 disp bit(2) unal /* disposition code: 6 35* 00 = dismount 6 36* 01 = release 6 37* 10 = save 6 38* 11 = continue */ 6 39 , 4 adisp bit(2) unal /* abort disp - same codes as disp */ 6 40 , 4 order bit(1) unal /* 1 = write, 0 = read or other */ 6 41 , 4 mode bit(2) unal /* tape i/o mode 6 42* 00 = binary 6 43* 01 = decimal 6 44* 10 = nine */ 6 45 , 4 tracks bit(2) unal /* tape request code: 6 46* 00 = installation default 6 47* 01 = 7 track 6 48* 10 = 9 track */ 6 49 , 4 density bit(4) unal /* tape density from $ TAPE card 6 50* 0000 = site standard high 6 51* 0001 = 200 bpi 6 52* 0010 = 556 bpi 6 53* 0100 = 800 bpi 6 54* 1001 = 1600 bpi 6 55* 1100 = 6250 bpi 6 56* 1111 = handler capable of any appropriate denisty */ 6 57 , 4 dens_hist bit(2) unal /* density history for MME GEFADD */ 6 58 , 4 forced_acl_flag bit(1) unal /* 1 => acl forced for gtss file (2.4) */ 6 59 , 4 fill bit(6) unal /* reserved for future use */ 6 60 , 3 indicators_word_2 6 61 , 4 plud bit(18) unal /* primary log unit designator */ 6 62 /* bcd channel and channel number */ 6 63 6 64 , 4 slud bit(18) unal /* secondary log. unit designator */ 6 65 /* bcd channel and channel number */ 6 66 , 3 indicators_word_3 6 67 , 4 serial_no bit(30) unal /* tape serial number */ 6 68 , 4 pad bit( 6) unal /* unused */ 6 69 , 3 indicators_word_4 6 70 , 4 tape_name bit(72) unal /* tape name */ 6 71 6 72 , 2 current fixed bin(21) /* current file position */ 6 73 , 2 last fixed bin(21) /* eof for sequential disk files */ 6 74 , 2 size fixed bin(24) /* offset of end of file in words */ 6 75 , 2 init_size fixed bin(24) /* file size at start of activity */ 6 76 , 2 init_posit fixed bin(24) /* file position at start of activity */ 6 77 , 2 iocount fixed bin(35) /* total no. of i/o operations */ 6 78 , 2 rec_len fixed bin(24) /* length of current record (gcos_write_) */ 6 79 , 2 command_count fixed bin(17) unal /* size of command table for device (gcos_mme_inos_) */ 6 80 , 2 command_index fixed bin(17) unal /* pointer to command table entry (gcos_mme_inos_) */ 6 81 , 2 error_retry fixed bin(17) unal /* error retry counter */ 6 82 , 2 seq_no fixed bin(17) unal /* tape reel sequence no */ 6 83 ; 6 84 dcl fibptr ptr /* pointer to current fib in gcos_ext_stat_ */; 6 85 6 86 /* File usage classification constants: */ 6 87 dcl linked_file bit(1)static int options(constant)init("0"b); 6 88 dcl random_file bit(1)static int options(constant)init("1"b); 6 89 dcl read_file bit(1)static int options(constant)init("0"b); 6 90 dcl write_file bit(1)static int options(constant)init("1"b); 6 91 6 92 /* END INCLUDE FILE gcos_file_info_block_.incl.pl1 */ 1 110 1 111 1 112 dcl 1 gcos_ext_stat_$mc like mc /* machine condition from abort or fault */ ext; 7 1 /* */ 7 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 7 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 7 4 /* Modified 07/07/76 by Morris for fault register data */ 7 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 7 6 /* Modified '82 to make values constant */ 7 7 7 8 /* words 0-15 pointer registers */ 7 9 7 10 dcl mcp ptr; 7 11 7 12 dcl 1 mc based (mcp) aligned, 7 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 7 14 (2 regs, /* registers */ 7 15 3 x (0:7) bit (18), /* index registers */ 7 16 3 a bit (36), /* accumulator */ 7 17 3 q bit (36), /* q-register */ 7 18 3 e bit (8), /* exponent */ 7 19 3 pad1 bit (28), 7 20 3 t bit (27), /* timer register */ 7 21 3 pad2 bit (6), 7 22 3 ralr bit (3), /* ring alarm register */ 7 23 7 24 2 scu (0:7) bit (36), 7 25 7 26 2 mask bit (72), /* mem controller mask at time of fault */ 7 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 7 28 2 errcode fixed bin (35), /* fault handler's error code */ 7 29 2 fim_temp, 7 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 7 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 7 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 7 33 2 fault_reg bit (36), /* fault register */ 7 34 2 pad2 bit (1), 7 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 7 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 7 37 2 fault_time bit (54), /* time of fault */ 7 38 7 39 2 eis_info (0:7) bit (36)) unaligned; 7 40 7 41 7 42 dcl (apx fixed bin init (0), 7 43 abx fixed bin init (1), 7 44 bpx fixed bin init (2), 7 45 bbx fixed bin init (3), 7 46 lpx fixed bin init (4), 7 47 lbx fixed bin init (5), 7 48 spx fixed bin init (6), 7 49 sbx fixed bin init (7)) internal static options (constant); 7 50 7 51 7 52 7 53 7 54 dcl scup ptr; 7 55 7 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 7 57 7 58 7 59 /* WORD (0) */ 7 60 7 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 7 62 3 prr bit (3), /* procedure ring register */ 7 63 3 psr bit (15), /* procedure segment register */ 7 64 3 p bit (1), /* procedure privileged bit */ 7 65 7 66 2 apu, /* APPENDING UNIT STATUS */ 7 67 3 xsf bit (1), /* ext seg flag - IT modification */ 7 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 7 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 7 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 7 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 7 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 7 73 3 dsptw bit (1), /* Fetch of DSPTW */ 7 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 7 75 3 sdwp bit (1), /* Fetch of SDW paged */ 7 76 3 ptw bit (1), /* Fetch of PTW */ 7 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 7 78 3 fap bit (1), /* Fetch of final address paged */ 7 79 3 fanp bit (1), /* Fetch of final address non-paged */ 7 80 3 fabs bit (1), /* Fetch of final address absolute */ 7 81 7 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 7 83 7 84 7 85 /* WORD (1) */ 7 86 7 87 2 fd, /* FAULT DATA */ 7 88 3 iro bit (1), /* illegal ring order */ 7 89 3 oeb bit (1), /* out of execute bracket */ 7 90 3 e_off bit (1), /* no execute */ 7 91 3 orb bit (1), /* out of read bracket */ 7 92 3 r_off bit (1), /* no read */ 7 93 3 owb bit (1), /* out of write bracket */ 7 94 3 w_off bit (1), /* no write */ 7 95 3 no_ga bit (1), /* not a gate */ 7 96 3 ocb bit (1), /* out of call bracket */ 7 97 3 ocall bit (1), /* outward call */ 7 98 3 boc bit (1), /* bad outward call */ 7 99 3 inret bit (1), /* inward return */ 7 100 3 crt bit (1), /* cross ring transfer */ 7 101 3 ralr bit (1), /* ring alarm register */ 7 102 3 am_er bit (1), /* associative memory fault */ 7 103 3 oosb bit (1), /* out of segment bounds */ 7 104 3 paru bit (1), /* processor parity upper */ 7 105 3 parl bit (1), /* processor parity lower */ 7 106 3 onc_1 bit (1), /* op not complete type 1 */ 7 107 3 onc_2 bit (1), /* op not complete type 2 */ 7 108 7 109 2 port_stat, /* PORT STATUS */ 7 110 3 ial bit (4), /* illegal action lines */ 7 111 3 iac bit (3), /* illegal action channel */ 7 112 3 con_chan bit (3), /* connect channel */ 7 113 7 114 2 fi_num bit (5), /* (fault/interrupt) number */ 7 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 7 116 7 117 7 118 /* WORD (2) */ 7 119 7 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 7 121 3 trr bit (3), /* temporary ring register */ 7 122 3 tsr bit (15), /* temporary segment register */ 7 123 7 124 2 pad2 bit (9), 7 125 7 126 2 cpu_no bit (3), /* CPU number */ 7 127 7 128 2 delta bit (6), /* tally modification DELTA */ 7 129 7 130 7 131 /* WORD (3) */ 7 132 7 133 2 word3 bit (18), 7 134 7 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 7 136 3 tsna, /* Word 1 status */ 7 137 4 prn bit (3), /* Word 1 PR number */ 7 138 4 prv bit (1), /* Word 1 PR valid bit */ 7 139 3 tsnb, /* Word 2 status */ 7 140 4 prn bit (3), /* Word 2 PR number */ 7 141 4 prv bit (1), /* Word 2 PR valid bit */ 7 142 3 tsnc, /* Word 3 status */ 7 143 4 prn bit (3), /* Word 3 PR number */ 7 144 4 prv bit (1), /* Word 3 PR valid bit */ 7 145 7 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 7 147 7 148 7 149 /* WORD (4) */ 7 150 7 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 7 152 7 153 2 ir, /* INDICATOR REGISTERS */ 7 154 3 zero bit (1), /* zero indicator */ 7 155 3 neg bit (1), /* negative indicator */ 7 156 3 carry bit (1), /* carryry indicator */ 7 157 3 ovfl bit (1), /* overflow indicator */ 7 158 3 eovf bit (1), /* eponent overflow */ 7 159 3 eufl bit (1), /* exponent underflow */ 7 160 3 oflm bit (1), /* overflow mask */ 7 161 3 tro bit (1), /* tally runout */ 7 162 3 par bit (1), /* parity error */ 7 163 3 parm bit (1), /* parity mask */ 7 164 3 bm bit (1), /* ^bar mode */ 7 165 3 tru bit (1), /* truncation mode */ 7 166 3 mif bit (1), /* multi-word instruction mode */ 7 167 3 abs bit (1), /* absolute mode */ 7 168 3 pad bit (4), 7 169 7 170 7 171 /* WORD (5) */ 7 172 7 173 2 ca bit (18), /* COMPUTED ADDRESS */ 7 174 7 175 2 cu, /* CONTROL UNIT STATUS */ 7 176 3 rf bit (1), /* on first cycle of repeat instr */ 7 177 3 rpt bit (1), /* repeat instruction */ 7 178 3 rd bit (1), /* repeat double instruction */ 7 179 3 rl bit (1), /* repeat link instruciton */ 7 180 3 pot bit (1), /* IT modification */ 7 181 3 pon bit (1), /* return type instruction */ 7 182 3 xde bit (1), /* XDE from Even location */ 7 183 3 xdo bit (1), /* XDE from Odd location */ 7 184 3 poa bit (1), /* operation preparation */ 7 185 3 rfi bit (1), /* tells CPU to refetch instruction */ 7 186 3 its bit (1), /* ITS modification */ 7 187 3 if bit (1), /* fault occured during instruction fetch */ 7 188 7 189 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 7 190 7 191 7 192 /* WORDS (6,7) */ 7 193 7 194 2 even_inst bit (36), /* even instruction of faulting pair */ 7 195 7 196 2 odd_inst bit (36); /* odd instruction of faulting pair */ 7 197 7 198 7 199 7 200 7 201 7 202 7 203 /* ALTERNATE SCU DECLARATION */ 7 204 7 205 7 206 dcl 1 scux based (scup) aligned, 7 207 7 208 (2 pad0 bit (36), 7 209 7 210 2 fd, /* GROUP II FAULT DATA */ 7 211 3 isn bit (1), /* illegal segment number */ 7 212 3 ioc bit (1), /* illegal op code */ 7 213 3 ia_am bit (1), /* illegal address - modifier */ 7 214 3 isp bit (1), /* illegal slave procedure */ 7 215 3 ipr bit (1), /* illegal procedure */ 7 216 3 nea bit (1), /* non existent address */ 7 217 3 oobb bit (1), /* out of bounds */ 7 218 3 pad bit (29), 7 219 7 220 2 pad2 bit (36), 7 221 7 222 2 pad3a bit (18), 7 223 7 224 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 7 225 3 prn bit (3), /* PR number */ 7 226 3 prv bit (1), /* PR valid bit */ 7 227 7 228 2 pad3b bit (6)) unaligned, 7 229 7 230 2 pad45 (0:1) bit (36), 7 231 7 232 2 instr (0:1) bit (36); /* Instruction ARRAY */ 7 233 7 234 7 235 7 236 /* END INCLUDE FILE mc.incl.pl1 */ 1 113 1 114 1 115 dcl 1 gcos_ext_stat_$gcos_gtss ext 1 116 , 3 gcos_gtss_ext 1 117 , 4 u_state_ptr ptr 1 118 , 4 snumb_index fixed bin(24) 1 119 , 4 home_path char(168) 1 120 ; 1 121 1 122 /* END INCLUDE FILE gcos_ext_stat_.incl.pl1 */ 380 381 8 1 /* BEGIN INCLUDE FILE gcos_mme_names.incl.pl1 */ 8 2 8 3 /* Author: MRJordan July 1977 8 4* Change: Dave Ward 06/17/81 mme_table (from gcos_process_mme_.pl1). 8 5* Change: Ron Barstad 83-08-03 Add MMEs 41-44 for 4js3 8 6**/ 8 7 8 8 dcl MME_NAME (44)char(4) aligned static options(constant) init( 8 9 "INOS" /* 1 */ 8 10 , "ROAD" /* 2 */ 8 11 , "FADD" /* 3 */ 8 12 , "RELS" /* 4 */ 8 13 , "SNAP" /* 5 */ 8 14 , "LAPS" /* 6 */ 8 15 , "FINI" /* 7 */ 8 16 , "BORT" /* 8 */ 8 17 , "MORE" /* 9 */ 8 18 , "FCON" /* 10 */ 8 19 , "FILS" /* 11 */ 8 20 , "SETS" /* 12 */ 8 21 , "RETS" /* 13 */ 8 22 , "ENDC" /* 14 */ 8 23 , "RELC" /* 15 */ 8 24 , "SPEC" /* 16 */ 8 25 , "TIME" /* 17 */ 8 26 , "CALL" /* 18 */ 8 27 , "SAVE" /* 19 */ 8 28 , "RSTR" /* 20 */ 8 29 , "MREL" /* 21 */ 8 30 , "SYOT" /* 22 */ 8 31 , "CHEK" /* 23 */ 8 32 , "ROUT" /* 24 */ 8 33 , "ROLL" /* 25 */ 8 34 , "USER" /* 26 */ 8 35 , "LOOP" /* 27 */ 8 36 , "WAKE" /* 28 */ 8 37 , "IDSE" /* 29 */ 8 38 , ".EMM" /* 30 */ 8 39 , "LBAR" /* 31 */ 8 40 , "FRCE" /* 32 */ 8 41 , "FSYE" /* 33 */ 8 42 , "PRIO" /* 34 */ 8 43 , "NEWS" /* 35 */ 8 44 , "SNUM" /* 36 */ 8 45 , "INFO" /* 37 */ 8 46 , "SECR" /* 38 */ 8 47 , "XLIT" /* 39 */ 8 48 , "XXXX" /* 40 */ 8 49 , "XXXX" /* 41 */ 8 50 , "XXXX" /* 42 */ 8 51 , "MODS" /* 43 */ 8 52 , "MODR" /* 44 */ 8 53 ); 8 54 8 55 /* 8 56* The following table contains a "1"b value for each MME that _i_s legal 8 57* during a courtesy call. The table is indexed by mme_number. 8 58**/ 8 59 8 60 8 61 dcl mme_table (44) bit(1) aligned internal static options (constant) initial ( 8 62 "1"b /* 1 GEINOS */ 8 63 , "0"b /* 2 GEROAD */ 8 64 , "0"b /* 3 GEFADD */ 8 65 , "0"b /* 4 GERELS */ 8 66 , "0"b /* 5 GESNAP */ 8 67 , "1"b /* 6 GELAPS */ 8 68 , "0"b /* 7 GEFINI */ 8 69 , "0"b /* 8 GEBORT */ 8 70 , "0"b /* 9 GEMORE */ 8 71 , "0"b /* 10 GEFCON */ 8 72 , "0"b /* 11 GEFILS */ 8 73 , "0"b /* 12 GESETS */ 8 74 , "0"b /* 13 GERETS */ 8 75 , "1"b /* 14 GEENDC */ 8 76 , "0"b /* 15 GERELC */ 8 77 , "1"b /* 16 GESPEC */ 8 78 , "1"b /* 17 GETIME */ 8 79 , "0"b /* 18 GECALL */ 8 80 , "0"b /* 19 GESAVE */ 8 81 , "0"b /* 20 GERSTR */ 8 82 , "0"b /* 21 GEMREL */ 8 83 , "1"b /* 22 GESYOT */ 8 84 , "0"b /* 23 GECHEK */ 8 85 , "1"b /* 24 GEROUT */ 8 86 , "0"b /* 25 GEROLL */ 8 87 , "0"b /* 26 GEUSER */ 8 88 , "1"b /* 27 GELOOP */ 8 89 , "0"b /* 28 GEWAKE */ 8 90 , "0"b /* 29 GEIDSE */ 8 91 , "0"b /* 30 GE.EMM */ 8 92 , "0"b /* 31 GELBAR */ 8 93 , "0"b /* 32 GEFRCE */ 8 94 , "0"b /* 33 GEFSYE */ 8 95 , "0"b /* 34 GEPRIO */ 8 96 , "0"b /* 35 GENEWS */ 8 97 , "1"b /* 36 GESNUM */ 8 98 , "1"b /* 37 GEINFO */ 8 99 , "0"b /* 38 GExxxx */ 8 100 , "0"b /* 39 GExxxx */ 8 101 , "0"b /* 40 GExxxx */ 8 102 , "0"b /* 41 GExxxx */ 8 103 , "0"b /* 42 GExxxx */ 8 104 , "0"b /* 43 GMODES */ 8 105 , "0"b /* 44 GMODER */ 8 106 ); 8 107 8 108 /* END INCLUDE FILE gcos_mme_names.incl.pl1 */ 382 383 9 1 /* BEGIN INCLUDE FILE gcos_xlate_bcd_ascii_.incl.pl1 5/19/76/ RHM */ 9 2 9 3 /* Change: Dave Ward 05/20/81 options constant. 9 4**/ 9 5 9 6 dcl xlate (0: 63) char(1) int static options(constant) init( /* bcd to ascii xlation table */ 9 7 9 8 "0","1","2","3","4","5","6","7","8","9","[","#","@",":",">","?", 9 9 9 10 " ","a","b","c","d","e","f","g","h","i","&",".","]","(","<","\", 9 11 9 12 "^","j","k","l","m","n","o","p","q","r","-","$","*",")",";","'", 9 13 9 14 "+","/","s","t","u","v","w","x","y","z","_",",","%","=","""","!" ); 9 15 9 16 /* END INCLUDE FILE gcos_xlate_bcd_ascii_.incl.pl1 */ 384 385 10 1 /* BEGIN INCLUDE FILE query_info.incl.pl1 TAC June 1, 1973 */ 10 2 /* Renamed to query_info.incl.pl1 and cp_escape_control added, 08/10/78 WOS */ 10 3 /* version number changed to 4, 08/10/78 WOS */ 10 4 /* Version 5 adds explanation_(ptr len) 05/08/81 S. Herbst */ 10 5 /* Version 6 adds literal_sw, prompt_after_explanation switch 12/15/82 S. Herbst */ 10 6 10 7 dcl 1 query_info aligned, /* argument structure for command_query_ call */ 10 8 2 version fixed bin, /* version of this structure - must be set, see below */ 10 9 2 switches aligned, /* various bit switch values */ 10 10 3 yes_or_no_sw bit (1) unaligned init ("0"b), /* not a yes-or-no question, by default */ 10 11 3 suppress_name_sw bit (1) unaligned init ("0"b), /* do not suppress command name */ 10 12 3 cp_escape_control bit (2) unaligned init ("00"b), /* obey static default value */ 10 13 /* "01" -> invalid, "10" -> don't allow, "11" -> allow */ 10 14 3 suppress_spacing bit (1) unaligned init ("0"b), /* whether to print extra spacing */ 10 15 3 literal_sw bit (1) unaligned init ("0"b), /* ON => do not strip leading/trailing white space */ 10 16 3 prompt_after_explanation bit (1) unaligned init ("0"b), /* ON => repeat question after explanation */ 10 17 3 padding bit (29) unaligned init (""b), /* pads it out to t word */ 10 18 2 status_code fixed bin (35) init (0), /* query not prompted by any error, by default */ 10 19 2 query_code fixed bin (35) init (0), /* currently has no meaning */ 10 20 10 21 /* Limit of data defined for version 2 */ 10 22 10 23 2 question_iocbp ptr init (null ()), /* IO switch to write question */ 10 24 2 answer_iocbp ptr init (null ()), /* IO switch to read answer */ 10 25 2 repeat_time fixed bin (71) init (0), /* repeat question every N seconds if no answer */ 10 26 /* minimum of 30 seconds required for repeat */ 10 27 /* otherwise, no repeat will occur */ 10 28 /* Limit of data defined for version 4 */ 10 29 10 30 2 explanation_ptr ptr init (null ()), /* explanation of question to be printed if */ 10 31 2 explanation_len fixed bin (21) init (0); /* user answers "?" (disabled if ptr=null or len=0) */ 10 32 10 33 dcl query_info_version_3 fixed bin int static options (constant) init (3); 10 34 dcl query_info_version_4 fixed bin int static options (constant) init (4); 10 35 dcl query_info_version_5 fixed bin int static options (constant) init (5); 10 36 dcl query_info_version_6 fixed bin int static options (constant) init (6); /* the current version number */ 10 37 10 38 /* END INCLUDE FILE query_info.incl.pl1 */ 386 387 388 end gcos_mme_bort_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/09/83 1007.3 gcos_mme_bort_.pl1 >spec>on>09/07/83-gcos>gcos_mme_bort_.pl1 380 1 09/08/83 1229.3 gcos_ext_stat_.incl.pl1 >spec>on>09/07/83-gcos>gcos_ext_stat_.incl.pl1 1-100 2 03/27/82 0424.8 gcos_save_mc.incl.pl1 >ldd>include>gcos_save_mc.incl.pl1 1-104 3 03/27/82 0424.8 gcos_fct_entry.incl.pl1 >ldd>include>gcos_fct_entry.incl.pl1 1-108 4 03/27/82 0424.8 gcos_save_data_entry.incl.pl1 >ldd>include>gcos_save_data_entry.incl.pl1 4-29 5 09/08/83 1230.3 gcos_flags.incl.pl1 >spec>on>09/07/83-gcos>gcos_flags.incl.pl1 1-110 6 03/27/82 0424.8 gcos_file_info_block_.incl.pl1 >ldd>include>gcos_file_info_block_.incl.pl1 1-113 7 08/17/83 1135.7 mc.incl.pl1 >ldd>include>mc.incl.pl1 382 8 09/08/83 1229.3 gcos_mme_names.incl.pl1 >spec>on>09/07/83-gcos>gcos_mme_names.incl.pl1 384 9 03/27/82 0424.8 gcos_xlate_bcd_ascii_.incl.pl1 >ldd>include>gcos_xlate_bcd_ascii_.incl.pl1 386 10 03/11/83 1204.3 query_info.incl.pl1 >ldd>include>query_info.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. MME_NAME 000020 constant char(4) initial array dcl 8-8 set ref 233* abort_code 000110 automatic char(2) unaligned dcl 338 set ref 75* 76* 94 248* 274 abort_ecode parameter fixed bin(35,0) dcl 339 ref 107 109 155 158 abort_number 000111 automatic fixed bin(24,0) dcl 340 set ref 123 160 329* 330* 332* addr builtin function dcl 342 ref 123 172 189 addrel builtin function dcl 343 ref 187 answer_iocbp 6 000256 automatic pointer initial level 2 dcl 10-7 set ref 10-7* arg_count based fixed bin(17,0) level 2 packed unaligned dcl 278 set ref 255 258* arg_list based structure level 1 dcl 278 arg_list_ptr 000112 automatic pointer dcl 344 set ref 137* 138* arg_pointers 2 based fixed bin(71,0) array level 2 dcl 278 set ref 264* 264 270* 270 backp 20 based pointer level 2 dcl 288 ref 250 bit36 based bit(36) unaligned dcl 345 ref 123 189 code parameter char unaligned dcl 284 set ref 246 248 253* convert_status_code_ 000016 constant entry external dcl 346 ref 320 cp_escape_control 1(02) 000256 automatic bit(2) initial level 3 packed unaligned dcl 10-7 set ref 10-7* cu_$arg_count 000020 constant entry external dcl 347 ref 135 cu_$arg_list_ptr 000022 constant entry external dcl 348 ref 137 254 cu_$gen_call 000010 constant entry external dcl 285 ref 272 cu_$stack_frame_ptr 000012 constant entry external dcl 286 ref 249 cv_dec_check_ 000024 constant entry external dcl 349 ref 329 db 000026 constant entry external dcl 350 ref 201 debug 0(16) 000052 external static bit(1) level 4 packed unaligned dcl 1-106 ref 199 descriptor_count 1 based fixed bin(17,0) level 2 packed unaligned dcl 278 set ref 259 261* divide builtin function dcl 287 ref 262 268 ecode 000114 automatic fixed bin(35,0) dcl 351 set ref 109* 158* 320* 329* 330 explanation_len 14 000256 automatic fixed bin(21,0) initial level 2 dcl 10-7 set ref 10-7* explanation_ptr 12 000256 automatic pointer initial level 2 dcl 10-7 set ref 10-7* fct_entry based structure level 1 dcl 3-3 fib based structure level 1 dcl 6-10 fixed builtin function dcl 352 ref 75 76 261 flags based structure level 1 dcl 5-8 flgs 000052 external static structure level 3 dcl 1-106 frame based structure level 1 unaligned dcl 288 gcos_et_$unimp_mme 000030 external static fixed bin(35,0) dcl 353 set ref 231* 233* gcos_ext_stat_$abort_reason 000042 external static varying char(128) dcl 1-13 set ref 94* 95* 152* 274* gcos_ext_stat_$gcos_slave_area_seg 000044 external static pointer dcl 1-27 ref 184 gcos_ext_stat_$mc 000054 external static structure level 1 unaligned dcl 1-112 gcos_ext_stat_$mme_rtrn 000046 external static label variable dcl 1-41 ref 218 gcos_ext_stat_$save_data 000052 external static structure level 1 dcl 1-106 gcos_ext_stat_$termination_code 000050 external static bit(18) unaligned dcl 1-67 set ref 85* 86* 122* 123* 188 273* gcos_mme_bort_$system 000032 constant entry external dcl 354 ref 231 233 i 000100 automatic fixed bin(24,0) dcl 296 set ref 255* 256 257 257* 258 259* 260 261 ic_and_i 22 based bit(36) level 2 dcl 367 set ref 189* ic_value 13 based bit(18) level 2 packed unaligned dcl 367 set ref 190* ii 000101 automatic fixed bin(24,0) dcl 297 set ref 255* 257* 262 262 268* 268 269 ilc 4 based bit(18) level 2 packed unaligned dcl 7-56 set ref 189 190 increment parameter fixed bin(24,0) dcl 355 ref 52 228 ioa_ 000034 constant entry external dcl 356 ref 253 272 272 ioa_$general_rs 000040 constant entry external dcl 358 ref 138 ioa_$ioa_stream 000036 constant entry external dcl 357 ref 95 134 139 200 j 000102 automatic fixed bin(24,0) dcl 298 set ref 252* 253 253 262* 264 264* 269* 270 270* literal_sw 1(05) 000256 automatic bit(1) initial level 3 packed unaligned dcl 10-7 set ref 10-7* long_message 000115 automatic char(100) dcl 359 set ref 134* 152 320* mc based structure level 1 dcl 7-12 mcp parameter pointer dcl 7-10 ref 52 75 76 86 228 mme_number parameter fixed bin(24,0) dcl 360 ref 228 231 233 name based char dcl 299 set ref 253* nargs 000146 automatic fixed bin(24,0) dcl 361 set ref 135* 136 null builtin function dcl 341 ref 10-7 10-7 10-7 offset 000103 automatic fixed bin(24,0) dcl 300 set ref 251* 253* p 000104 automatic pointer dcl 301 set ref 249* 250* 250 251 252* 254* 255 258 259 261 264 264 270 270 272* padding 1(07) 000256 automatic bit(29) initial level 3 packed unaligned dcl 10-7 set ref 10-7* pl1_frame_$name 000014 constant entry external dcl 302 ref 252 prev_act_abort 0(25) 000052 external static bit(1) level 4 packed unaligned dcl 1-106 set ref 216* prompt_after_explanation 1(06) 000256 automatic bit(1) initial level 3 packed unaligned dcl 10-7 set ref 10-7* psw 24 000052 external static bit(36) level 3 dcl 1-106 set ref 217* q 25 based bit(36) level 3 packed unaligned dcl 7-12 ref 75 76 86 query_code 3 000256 automatic fixed bin(35,0) initial level 2 dcl 10-7 set ref 10-7* query_info 000256 automatic structure level 1 dcl 10-7 question_iocbp 4 000256 automatic pointer initial level 2 dcl 10-7 set ref 10-7* regs 20 based structure level 2 packed unaligned dcl 7-12 rel builtin function dcl 303 ref 251 repeat_time 10 000256 automatic fixed bin(71,0) initial level 2 dcl 10-7 set ref 10-7* ret 24 based pointer level 2 dcl 288 ref 251 return_code parameter fixed bin(24,0) dcl 362 set ref 155 160* rtn_string 000147 automatic char(256) unaligned dcl 363 set ref 138* 139 139 139 rtn_string_len 000247 automatic fixed bin(24,0) dcl 364 set ref 138* 139 139 139 139 rtrim builtin function dcl 365 ref 152 save_data 000052 external static structure level 2 dcl 1-106 save_data_entry based structure level 1 dcl 4-5 save_machine_conditions based structure level 1 packed unaligned dcl 2-6 scu 30 000054 external static bit(36) array level 2 in structure "gcos_ext_stat_$mc" packed unaligned dcl 1-112 in procedure "gcos_mme_bort_" set ref 172 scu based structure level 1 dcl 7-56 in procedure "gcos_mme_bort_" scup 000254 automatic pointer dcl 7-54 set ref 172* 189 190 short_message 000250 automatic char(8) dcl 366 set ref 320* 328 329 329 slave_prefix based structure level 1 dcl 367 slave_prefix_ptr 000252 automatic pointer dcl 377 set ref 184* 185 186 187* 187 188 189 190 status_code 2 000256 automatic fixed bin(35,0) initial level 2 dcl 10-7 set ref 10-7* substr builtin function dcl 378 set ref 75* 75 76* 76 85* 86* 86 122* 123* 123 139 139 139 217* 251 328 329 329 suppress_name_sw 1(01) 000256 automatic bit(1) initial level 3 packed unaligned dcl 10-7 set ref 10-7* suppress_spacing 1(04) 000256 automatic bit(1) initial level 3 packed unaligned dcl 10-7 set ref 10-7* switches 1 000256 automatic structure level 2 dcl 10-7 termination_info 13(18) based bit(18) level 2 packed unaligned dcl 367 set ref 188* this_act_abort 0(26) 000052 external static bit(1) level 4 packed unaligned dcl 1-106 set ref 215* unspec builtin function dcl 304 set ref 251* word_30 30 based bit(36) level 2 dcl 367 set ref 185* words_60_thru_65 60 based bit(216) level 2 dcl 367 set ref 186* wrapup 0(09) 000052 external static bit(1) level 4 packed unaligned dcl 1-106 ref 187 xlate 000000 constant char(1) initial array unaligned dcl 9-6 ref 75 76 yes_or_no_sw 1 000256 automatic bit(1) initial level 3 packed unaligned dcl 10-7 set ref 10-7* z 000106 automatic pointer dcl 305 set ref 252* 253 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. abx internal static fixed bin(17,0) initial dcl 7-42 apx internal static fixed bin(17,0) initial dcl 7-42 bbx internal static fixed bin(17,0) initial dcl 7-42 bpx internal static fixed bin(17,0) initial dcl 7-42 fibptr automatic pointer dcl 6-84 gcos_ext_stat_$abort_return external static label variable dcl 1-14 gcos_ext_stat_$activity_card_num external static picture(4) unaligned dcl 1-15 gcos_ext_stat_$activity_name external static char(8) unaligned dcl 1-16 gcos_ext_stat_$activity_start_time external static fixed bin(71,0) dcl 1-17 gcos_ext_stat_$card_num external static picture(4) unaligned dcl 1-18 gcos_ext_stat_$courtesy_call_control external static structure level 1 dcl 1-92 gcos_ext_stat_$dbs external static bit(1) array unaligned dcl 1-19 gcos_ext_stat_$default_nondollar external static char(2) unaligned dcl 1-20 gcos_ext_stat_$dir_rings external static fixed bin(3,0) array dcl 1-21 gcos_ext_stat_$dpno external static varying char(100) dcl 1-22 gcos_ext_stat_$dpo external static varying char(100) dcl 1-23 gcos_ext_stat_$endfc external static char(2) unaligned dcl 1-24 gcos_ext_stat_$er external static pointer dcl 1-25 gcos_ext_stat_$etc_filecode external static char(2) unaligned dcl 1-26 gcos_ext_stat_$fct external static structure level 1 dcl 1-102 gcos_ext_stat_$gcos_gtss external static structure level 1 unaligned dcl 1-115 gcos_ext_stat_$gf external static fixed bin(24,0) dcl 1-28 gcos_ext_stat_$incode external static fixed bin(24,0) dcl 1-29 gcos_ext_stat_$increment_hold external static fixed bin(24,0) dcl 1-30 gcos_ext_stat_$initial_cpu_time external static fixed bin(71,0) dcl 1-31 gcos_ext_stat_$input_segment_path external static varying char(168) dcl 1-32 gcos_ext_stat_$jcl_warnings external static fixed bin(24,0) dcl 1-33 gcos_ext_stat_$job_cpu_time external static fixed bin(71,0) dcl 1-34 gcos_ext_stat_$job_id external static varying char(18) dcl 1-35 gcos_ext_stat_$job_real_time external static fixed bin(71,0) dcl 1-36 gcos_ext_stat_$last_mme external static fixed bin(24,0) dcl 1-37 gcos_ext_stat_$ldrss external static fixed bin(24,0) dcl 1-38 gcos_ext_stat_$max_activities external static fixed bin(24,0) dcl 1-39 gcos_ext_stat_$max_mem external static fixed bin(19,0) dcl 1-40 gcos_ext_stat_$nondollar external static char(2) unaligned dcl 1-42 gcos_ext_stat_$nongcos external static char(2) unaligned dcl 1-43 gcos_ext_stat_$normal_return external static label variable dcl 1-44 gcos_ext_stat_$patchfile_ptr external static pointer dcl 1-45 gcos_ext_stat_$pathname_prefix external static varying char(168) dcl 1-46 gcos_ext_stat_$pch external static pointer dcl 1-47 gcos_ext_stat_$pdir external static varying char(168) dcl 1-48 gcos_ext_stat_$prt external static pointer dcl 1-49 gcos_ext_stat_$rs external static pointer dcl 1-50 gcos_ext_stat_$save_dir external static varying char(168) dcl 1-52 gcos_ext_stat_$saveseg_ptr external static pointer dcl 1-51 gcos_ext_stat_$seg_rings external static fixed bin(3,0) array dcl 1-53 gcos_ext_stat_$sig_ptr external static pointer dcl 1-54 gcos_ext_stat_$skip_umc external static bit(1) unaligned dcl 1-55 gcos_ext_stat_$snumb external static bit(30) dcl 1-56 gcos_ext_stat_$sought_label external static char(8) unaligned dcl 1-57 gcos_ext_stat_$statistics external static fixed bin(24,0) array dcl 1-58 gcos_ext_stat_$stop_code external static fixed bin(24,0) dcl 1-59 gcos_ext_stat_$storage_limit external static fixed bin(19,0) dcl 1-60 gcos_ext_stat_$sysout_limit external static fixed bin(35,0) dcl 1-61 gcos_ext_stat_$sysout_lines external static fixed bin(35,0) dcl 1-62 gcos_ext_stat_$system_free_pointer external static pointer dcl 1-63 gcos_ext_stat_$tape_buffer_size external static fixed bin(35,0) dcl 1-64 gcos_ext_stat_$temp_dir external static varying char(168) dcl 1-65 gcos_ext_stat_$temp_seg_ptr external static pointer dcl 1-66 gcos_ext_stat_$time_limit external static fixed bin(71,0) dcl 1-68 gcos_ext_stat_$userid external static char(12) unaligned dcl 1-69 gcos_ext_stat_$validation_level external static fixed bin(3,0) dcl 1-70 lbx internal static fixed bin(17,0) initial dcl 7-42 linked_file internal static bit(1) initial unaligned dcl 6-87 lpx internal static fixed bin(17,0) initial dcl 7-42 mme_table internal static bit(1) initial array dcl 8-61 query_info_version_3 internal static fixed bin(17,0) initial dcl 10-33 query_info_version_4 internal static fixed bin(17,0) initial dcl 10-34 query_info_version_5 internal static fixed bin(17,0) initial dcl 10-35 query_info_version_6 internal static fixed bin(17,0) initial dcl 10-36 random_file internal static bit(1) initial unaligned dcl 6-88 read_file internal static bit(1) initial unaligned dcl 6-89 sbx internal static fixed bin(17,0) initial dcl 7-42 scux based structure level 1 dcl 7-206 spx internal static fixed bin(17,0) initial dcl 7-42 write_file internal static bit(1) initial unaligned dcl 6-90 NAMES DECLARED BY EXPLICIT CONTEXT. abort_number 000553 constant entry external dcl 155 continue_termination 000571 constant label dcl 164 ref 96 153 256 275 gcos_mme_bort_ 000210 constant entry external dcl 52 get_abort_info 001216 constant entry internal dcl 307 ref 121 159 not_imp 000674 constant entry external dcl 228 simulator 000754 constant entry external dcl 246 system 000321 constant entry external dcl 107 system_error 000332 constant label dcl 111 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1562 1640 1306 1572 Length 2274 1306 56 420 253 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_mme_bort_ 276 external procedure is an external procedure. get_abort_info internal procedure shares stack frame of external procedure gcos_mme_bort_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_mme_bort_ 000100 i gcos_mme_bort_ 000101 ii gcos_mme_bort_ 000102 j gcos_mme_bort_ 000103 offset gcos_mme_bort_ 000104 p gcos_mme_bort_ 000106 z gcos_mme_bort_ 000110 abort_code gcos_mme_bort_ 000111 abort_number gcos_mme_bort_ 000112 arg_list_ptr gcos_mme_bort_ 000114 ecode gcos_mme_bort_ 000115 long_message gcos_mme_bort_ 000146 nargs gcos_mme_bort_ 000147 rtn_string gcos_mme_bort_ 000247 rtn_string_len gcos_mme_bort_ 000250 short_message gcos_mme_bort_ 000252 slave_prefix_ptr gcos_mme_bort_ 000254 scup gcos_mme_bort_ 000256 query_info gcos_mme_bort_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return tra_label_var shorten_stack ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ cu_$arg_count cu_$arg_list_ptr cu_$gen_call cu_$stack_frame_ptr cv_dec_check_ db gcos_mme_bort_$system ioa_ ioa_$general_rs ioa_$ioa_stream pl1_frame_$name THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gcos_et_$unimp_mme gcos_ext_stat_$abort_reason gcos_ext_stat_$gcos_slave_area_seg gcos_ext_stat_$mc gcos_ext_stat_$mme_rtrn gcos_ext_stat_$save_data gcos_ext_stat_$termination_code LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 10 7 000152 52 000204 75 000216 76 000227 85 000234 86 000240 94 000244 95 000265 96 000315 107 000316 109 000327 111 000332 121 000333 122 000334 123 000340 134 000344 135 000372 136 000401 137 000404 138 000413 139 000460 142 000523 152 000524 153 000546 155 000547 158 000561 159 000564 160 000565 162 000570 164 000571 172 000572 184 000576 185 000601 186 000603 187 000606 188 000613 189 000616 190 000620 199 000622 200 000625 201 000651 215 000656 216 000661 217 000663 218 000666 228 000670 231 000702 233 000726 246 000750 248 000770 249 000776 250 001005 251 001010 252 001014 253 001027 254 001067 255 001076 256 001102 257 001104 258 001107 259 001112 260 001116 261 001117 262 001122 264 001135 265 001142 267 001144 268 001145 269 001150 270 001157 271 001164 272 001166 273 001203 274 001207 275 001215 307 001216 320 001217 328 001232 329 001235 330 001261 331 001264 332 001265 334 001266 ----------------------------------------------------------- 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