COMPILATION LISTING OF SEGMENT gcos_mme_frce_ Compiled by: Multics PL/I Compiler, Release 28b, of April 11, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 09/09/83 1150.5 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 F R C E 17* * 18* * 19* * MME GEFRCE is used to produce ISP abort messages or perform 20* * UFAS label processing. 21* * 22* * 23* * CALLING SEQUENCE 24* * 25* * MME GEFRCE 26* * ZERO Function,Abort_message_number 27* * ZERO Parameter_list_ptr,Number_of_ptrs_in_list 28* * return 29* * 30* * For function < 0 ISP abort processing is invoked. Function ^= -1 is in error. 31* * 32* * 33* * For Function >= 0 unimplemented label processing is called. This always 34* * results in an abort of the slave job. 35* * 36* * 37* * Written by M. R. Jordan, August 1977 38* * 39* ******************************************************************************************** 40* ******************************************************************************************** 41**/ 42 43 44 45 gcos_mme_frce_: procedure (mcp, increment); 46 47 dcl BAD_FUNCTION_CODE char (48) static internal options (constant) init ("invalid function code specified for 'mme gefrce'"); 48 dcl BAD_MESSAGE_NUMBER char (31) static internal options (constant) init ("undefined error message number "); 49 dcl BAD_PARAM_LOC char (38) static internal options (constant) init ("invalid 'mme gefrce' parameter address"); 50 dcl addr builtin; 51 dcl addrel builtin; 52 dcl fb35 fixed bin(35) aligned based; 53 dcl divide builtin; 54 dcl fixed builtin; 55 dcl function fixed bin(24); 56 dcl gcos_cv_gebcd_ascii_ entry (ptr, fixed bin(24), ptr); 57 dcl gcos_et_$bad_mme_param fixed bin(35) ext; 58 dcl gcos_et_$isp_sys_term fixed bin(35) ext; 59 dcl gcos_et_$unimp_mme fixed bin(35) ext; 60 dcl gcos_mme_bort_$system entry options (variable); 61 dcl gseg_ptr ptr; 62 dcl hbound builtin; 63 dcl i fixed bin(24); 64 dcl increment fixed bin(18); 65 dcl ioa_$rsnnl entry options (variable); 66 dcl last_loc fixed bin(18); 67 dcl lbound builtin; 68 dcl length builtin; 69 dcl message char (128) varying; 70 dcl message_num fixed bin(24); 71 dcl min builtin; 72 dcl mme_arg_ptr ptr; 73 dcl param (3) character (48) varying; 74 dcl param_len fixed bin(24); 75 dcl param_list_len fixed bin(24); 76 dcl param_list_loc fixed bin(18); 77 dcl param_list_ptr ptr; 78 dcl param_loc fixed bin(18); 79 dcl param_pic picture "999999"; 80 dcl param_ptr ptr; 81 dcl storage_limit fixed bin(18); 82 dcl substr builtin; 83 dcl temp_param char (48); 84 85 /* 86* 87* The following declaration is the argument list to the MME for ISP abort processing. 88* 89**/ 90 91 92 dcl 1 mme_args aligned based (mme_arg_ptr), 93 2 function fixed bin(17) unal, 94 2 message_num fixed bin(17) unal, 95 2 param_list_loc bit (18) unal, 96 2 param_list_len fixed bin(17) unal; 97 98 99 /* 100* 101* The following is the parameter list used in ISP abort processing. 102* 103**/ 104 105 106 dcl 1 param_list (param_list_len) aligned based (param_list_ptr), 107 2 param_loc bit (18) unal, 108 2 param_len fixed bin(17) unal; 109 110 111 /* 112* 113* The following are message texts and number of parameters expected. 114* 115**/ 116 117 118 dcl 1 MESSAGE (0:33) aligned static internal options (constant), 119 2 TEXT char (48) init ( 120 "^a", 121 "file code '^a' is already open", 122 "not enough memory to open data file '^a'", 123 "file code '^a' requested but not present", 124 "file code '^a' is not random", 125 "key outside of record area for data file '^a'", 126 "file '^a' record size ^6o > 1024 words", 127 "file '^a' record size ^6o+3 >page size ^6o", 128 "descriptor card file '^a' content error", 129 "data file '^a' key size = 0", 130 "index file '^a' and data file '^a' do not match", 131 "protection error on file code '^a'", 132 "data file '^a' is not open", 133 "file code '^a' is not a data file", 134 "data file '^a' was not opened by 'nopen'", 135 "index file '^a' is too small", 136 "journalization requested - journal file missing", 137 "unrecoverable i/o error on file code '^a'", 138 "page ^6o out of range of data file '^a'", 139 "unable to locate required key in index file '^a'", 140 "data file '^a' was not opened by 'iopen'", 141 "not enough memory to run journal restore", 142 "contents of journal tape file 't1' are not valid", 143 "descriptor card file '.x' content error", 144 "more than 20 data file codes specified", 145 "unrecoverable read error on journal tape 't1'", 146 "invalid file code for additional data file", 147 "file code 'in' or 'ot' must be present for xutil", 148 "file '^a' is not a valid isp index file", 149 "no records have been stored in file '^a'", 150 "file '^a' is not a valid isp data file", 151 ".qpbg buffer is too small", 152 "file '^a' page size discrepancy between isp/fms", 153 "xckptp not taken before xrolbp executed"), 154 2 NUM_PARAMS fixed bin(24)init ((6)1, 2, 3, (10)1, 2, (2)1, (7)0, (3)1, 0, (2)1); 155 156 /* 157* 158* Do some initialization and make sure the first argument word to the MME is accessable. 159* 160**/ 161 162 163 gseg_ptr = gcos_ext_stat_$gcos_slave_area_seg; 164 storage_limit = gcos_ext_stat_$storage_limit; 165 scup = addr (mc.scu); 166 167 if fixed (scu.ilc, 18)+1 >= storage_limit then 168 call gcos_mme_bort_$system (gcos_et_$bad_mme_param, "MME GEFRCE parameter word is outside slave limits."); 169 170 171 /* 172* 173* Determine the function requested and attempt to process it. 174* 175**/ 176 177 178 mme_arg_ptr = addrel (gseg_ptr, fixed (scu.ilc, 18)+1); 179 function = mme_args.function; 180 181 182 if function >= 0 then call UFAS_Label_Processing (); 183 else call ISP_Abort_Processing (); 184 185 186 return; 187 188 UFAS_Label_Processing: procedure (); 189 190 191 increment = 1; 192 call gcos_mme_bort_$system (gcos_et_$unimp_mme, "MME GEFRCE does not support UFAS calls."); 193 194 195 return; 196 197 198 end UFAS_Label_Processing; 199 200 /* 201* 202* This internal procedure controls the simulation of the ISP abort processing 203* subfunction of MME GEFRCE. Assumtions are as follows: (1) function < 0; 204* (2) mme_arg_ptr is valid. 205* 206**/ 207 208 209 ISP_Abort_Processing: procedure (); 210 211 212 /* 213* 214* Initialize the number of parameters and make sure they're accessable. 215* 216**/ 217 218 219 increment = 2; 220 if fixed (scu.ilc, 18)+2 >= storage_limit then 221 call gcos_mme_bort_$system (gcos_et_$bad_mme_param, "MME GEFRCE parameter word is outside slave limits."); 222 223 224 /* 225* 226* Make sure the function is -1. If its not, use the precanned message to say so. 227* 228**/ 229 230 231 if function = -1 then do ; 232 233 234 /* 235* 236* Get the necessary items from the parameter list. 237* 238**/ 239 240 241 message_num = mme_args.message_num; 242 param_list_loc = fixed (mme_args.param_list_loc, 18); 243 param_list_len = mme_args.param_list_len; 244 245 246 /* 247* 248* Initialize the parameters. 249* 250**/ 251 252 253 do i = 1 to hbound (param, 1); 254 param (i) = ""; 255 end; 256 257 258 /* 259* 260* Make sure the parameter list is entirely accessable. 261* 262**/ 263 264 265 if param_list_len+param_list_loc > storage_limit then message = BAD_PARAM_LOC; 266 267 268 /* 269* 270* If the message number is bad, say so. Otherwise, get the proper message. 271* 272**/ 273 274 275 else if message_num > hbound (MESSAGE, 1) | message_num < lbound (MESSAGE, 1) then do; 276 param_pic = message_num; 277 message = BAD_MESSAGE_NUMBER || param_pic; 278 end; 279 else call Get_Message (); 280 281 282 end; 283 else message = BAD_FUNCTION_CODE; 284 285 286 /* 287* 288* ... at last ... abort the user. 289* 290**/ 291 292 293 call gcos_mme_bort_$system (gcos_et_$isp_sys_term, "^a^/", message); 294 295 296 return; 297 298 299 end ISP_Abort_Processing; 300 301 /* 302* 303* 304* This internal procedure gets the 'message' text. Editing of parameters is also 305* performed. Assumtions are as follows: (1) param(*) = ""; (2) message_num is valid; 306* (3) param_list_loc+param_list_len-1 is a valid location. 307* 308**/ 309 310 311 Get_Message: procedure (); 312 313 314 /* 315* 316* If parameters exist, process them. 317* 318**/ 319 320 321 if param_list_len ^= 0 then do; 322 323 324 /* 325* 326* After obtaining a pointer to the parameter list, process those needed and present. 327* 328**/ 329 330 331 param_list_ptr = addrel (gseg_ptr, param_list_loc); 332 do i = 1 to min (MESSAGE (message_num).NUM_PARAMS, param_list_len); 333 334 335 param_loc = fixed (param_list (i).param_loc, 18); 336 param_len = param_list (i).param_len; 337 338 339 /* 340* 341* If the length is negative we use only one word. Otherwise, calculate how many we will need. 342* 343**/ 344 345 346 if param_len <= 0 then last_loc = param_loc; 347 else do; 348 param_len = min (param_len, 48); 349 last_loc = param_loc+divide (param_len+5, 6, 18, 0)-1; 350 end; 351 352 353 /* 354* 355* If the last word needed is not accessable complain. 356* 357**/ 358 359 360 if last_loc >= storage_limit then do; 361 message = BAD_PARAM_LOC; 362 return; 363 end; 364 param_ptr = addrel (gseg_ptr, param_loc); 365 366 367 /* 368* 369* If param_len < 0, use the rightmost -param_len digits from the integer at location aram_loc. 370* 371**/ 372 373 374 if param_len < 0 then do; 375 param_len = min (-param_len, 6); 376 param_pic = param_ptr -> fb35; 377 param (i) = substr (param_pic, length (param_pic)+1-param_len, param_len); 378 end; 379 380 381 /* 382* 383* Otherwise, use the first param_len characters (GBCD). 384* 385**/ 386 387 388 else if param_len > 0 then do; 389 call gcos_cv_gebcd_ascii_ (param_ptr, param_len, addr (temp_param)); 390 param (i) = substr (temp_param, 1, param_len); 391 end; 392 393 394 end; 395 396 397 end; 398 399 400 /* 401* 402* Now format the text for the message. 403* 404**/ 405 406 407 call ioa_$rsnnl (MESSAGE (message_num).TEXT, message, 0, param); 408 409 410 return; 411 412 413 end Get_Message; 414 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 */ 415 416 417 418 end gcos_mme_frce_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/09/83 1007.4 gcos_mme_frce_.pl1 >spec>on>09/07/83-gcos>gcos_mme_frce_.pl1 415 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 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. BAD_FUNCTION_CODE 000714 constant char(48) initial unaligned dcl 47 ref 283 BAD_MESSAGE_NUMBER 000704 constant char(31) initial unaligned dcl 48 ref 277 BAD_PARAM_LOC 000672 constant char(38) initial unaligned dcl 49 ref 265 361 MESSAGE 000000 constant structure array level 1 dcl 118 set ref 275 275 NUM_PARAMS 14 000000 constant fixed bin(24,0) initial array level 2 dcl 118 ref 332 TEXT 000000 constant char(48) initial array level 2 dcl 118 set ref 407* addr builtin function dcl 50 ref 165 389 389 addrel builtin function dcl 51 ref 178 331 364 divide builtin function dcl 53 ref 349 fb35 based fixed bin(35,0) dcl 52 ref 376 fct_entry based structure level 1 dcl 3-3 fib based structure level 1 dcl 6-10 fixed builtin function dcl 54 ref 167 178 220 242 335 flags based structure level 1 dcl 5-8 function 000100 automatic fixed bin(24,0) dcl 55 in procedure "gcos_mme_frce_" set ref 179* 182 231 function based fixed bin(17,0) level 2 in structure "mme_args" packed unaligned dcl 92 in procedure "gcos_mme_frce_" ref 179 gcos_cv_gebcd_ascii_ 000010 constant entry external dcl 56 ref 389 gcos_et_$bad_mme_param 000012 external static fixed bin(35,0) dcl 57 set ref 167* 220* gcos_et_$isp_sys_term 000014 external static fixed bin(35,0) dcl 58 set ref 293* gcos_et_$unimp_mme 000016 external static fixed bin(35,0) dcl 59 set ref 192* gcos_ext_stat_$gcos_slave_area_seg 000024 external static pointer dcl 1-27 ref 163 gcos_ext_stat_$storage_limit 000026 external static fixed bin(19,0) dcl 1-60 ref 164 gcos_mme_bort_$system 000020 constant entry external dcl 60 ref 167 192 220 293 gseg_ptr 000102 automatic pointer dcl 61 set ref 163* 178 331 364 hbound builtin function dcl 62 ref 253 275 i 000104 automatic fixed bin(24,0) dcl 63 set ref 253* 254* 332* 335 336 377 390* ilc 4 based bit(18) level 2 packed unaligned dcl 7-56 ref 167 178 220 increment parameter fixed bin(18,0) dcl 64 set ref 45 191* 219* ioa_$rsnnl 000022 constant entry external dcl 65 ref 407 last_loc 000105 automatic fixed bin(18,0) dcl 66 set ref 346* 349* 360 lbound builtin function dcl 67 ref 275 length builtin function dcl 68 ref 377 mc based structure level 1 dcl 7-12 mcp parameter pointer dcl 7-10 ref 45 165 message 000106 automatic varying char(128) dcl 69 set ref 265* 277* 283* 293* 361* 407* message_num 0(18) based fixed bin(17,0) level 2 in structure "mme_args" packed unaligned dcl 92 in procedure "gcos_mme_frce_" ref 241 message_num 000147 automatic fixed bin(24,0) dcl 70 in procedure "gcos_mme_frce_" set ref 241* 275 275 276 332 407 min builtin function dcl 71 ref 332 348 375 mme_arg_ptr 000150 automatic pointer dcl 72 set ref 178* 179 241 242 243 mme_args based structure level 1 dcl 92 param 000152 automatic varying char(48) array dcl 73 set ref 253 254* 377* 390* 407* param_len 0(18) based fixed bin(17,0) array level 2 in structure "param_list" packed unaligned dcl 106 in procedure "gcos_mme_frce_" ref 336 param_len 000221 automatic fixed bin(24,0) dcl 74 in procedure "gcos_mme_frce_" set ref 336* 346 348* 348 349 374 375* 375 377 377 388 389* 390 param_list based structure array level 1 dcl 106 param_list_len 000222 automatic fixed bin(24,0) dcl 75 in procedure "gcos_mme_frce_" set ref 243* 265 321 332 param_list_len 1(18) based fixed bin(17,0) level 2 in structure "mme_args" packed unaligned dcl 92 in procedure "gcos_mme_frce_" ref 243 param_list_loc 000223 automatic fixed bin(18,0) dcl 76 in procedure "gcos_mme_frce_" set ref 242* 265 331 param_list_loc 1 based bit(18) level 2 in structure "mme_args" packed unaligned dcl 92 in procedure "gcos_mme_frce_" ref 242 param_list_ptr 000224 automatic pointer dcl 77 set ref 331* 335 336 param_loc 000226 automatic fixed bin(18,0) dcl 78 in procedure "gcos_mme_frce_" set ref 335* 346 349 364 param_loc based bit(18) array level 2 in structure "param_list" packed unaligned dcl 106 in procedure "gcos_mme_frce_" ref 335 param_pic 000230 automatic picture(6) unaligned dcl 79 set ref 276* 277 376* 377 377 param_ptr 000232 automatic pointer dcl 80 set ref 364* 376 389* save_data_entry based structure level 1 dcl 4-5 save_machine_conditions based structure level 1 packed unaligned dcl 2-6 scu 30 based bit(36) array level 2 in structure "mc" packed unaligned dcl 7-12 in procedure "gcos_mme_frce_" set ref 165 scu based structure level 1 dcl 7-56 in procedure "gcos_mme_frce_" scup 000252 automatic pointer dcl 7-54 set ref 165* 167 178 220 storage_limit 000234 automatic fixed bin(18,0) dcl 81 set ref 164* 167 220 265 360 substr builtin function dcl 82 ref 377 390 temp_param 000235 automatic char(48) unaligned dcl 83 set ref 389 389 390 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_reason external static varying char(128) dcl 1-13 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_$mc external static structure level 1 unaligned dcl 1-112 gcos_ext_stat_$mme_rtrn external static label variable dcl 1-41 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_data external static structure level 1 dcl 1-106 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_$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_$termination_code external static bit(18) unaligned dcl 1-67 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 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. Get_Message 001273 constant entry internal dcl 311 ref 279 ISP_Abort_Processing 001110 constant entry internal dcl 209 ref 183 UFAS_Label_Processing 001063 constant entry internal dcl 188 ref 182 gcos_mme_frce_ 001001 constant entry external dcl 45 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1640 1670 1507 1650 Length 2214 1507 30 310 130 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_mme_frce_ 306 external procedure is an external procedure. UFAS_Label_Processing internal procedure shares stack frame of external procedure gcos_mme_frce_. ISP_Abort_Processing internal procedure shares stack frame of external procedure gcos_mme_frce_. Get_Message internal procedure shares stack frame of external procedure gcos_mme_frce_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_mme_frce_ 000100 function gcos_mme_frce_ 000102 gseg_ptr gcos_mme_frce_ 000104 i gcos_mme_frce_ 000105 last_loc gcos_mme_frce_ 000106 message gcos_mme_frce_ 000147 message_num gcos_mme_frce_ 000150 mme_arg_ptr gcos_mme_frce_ 000152 param gcos_mme_frce_ 000221 param_len gcos_mme_frce_ 000222 param_list_len gcos_mme_frce_ 000223 param_list_loc gcos_mme_frce_ 000224 param_list_ptr gcos_mme_frce_ 000226 param_loc gcos_mme_frce_ 000230 param_pic gcos_mme_frce_ 000232 param_ptr gcos_mme_frce_ 000234 storage_limit gcos_mme_frce_ 000235 temp_param gcos_mme_frce_ 000252 scup gcos_mme_frce_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out return shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gcos_cv_gebcd_ascii_ gcos_mme_bort_$system ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gcos_et_$bad_mme_param gcos_et_$isp_sys_term gcos_et_$unimp_mme gcos_ext_stat_$gcos_slave_area_seg gcos_ext_stat_$storage_limit LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 45 000775 163 001006 164 001011 165 001013 167 001020 178 001044 179 001053 182 001056 183 001061 186 001062 188 001063 191 001064 192 001067 195 001107 209 001110 219 001111 220 001114 231 001142 241 001145 242 001151 243 001155 253 001161 254 001167 255 001171 265 001173 275 001205 276 001212 277 001222 278 001236 279 001240 282 001241 283 001242 293 001247 296 001272 311 001273 321 001274 331 001276 332 001302 335 001317 336 001323 346 001330 348 001334 349 001340 360 001345 361 001347 362 001354 364 001355 374 001361 375 001363 376 001370 377 001400 378 001417 388 001420 389 001421 390 001436 394 001452 407 001454 410 001504 ----------------------------------------------------------- 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