COMPILATION LISTING OF SEGMENT gcos_mme_fsye_ 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.9 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 S Y E 17* * 18* * 19* * This procedure processes the file system mme, mme gefsye. 20* * Currently, creating, deleting, and purging a file, and 21* * creating a catalog are the only calls accepted. 22* * 23* * 24* * WRITTEN: D. Kayden MAR 75 25* * CHANGED: S.C. Akers NOV 81 Use gcos_build_pathname_ 26* * to expand pathnames instead 27* * of doing it internally. 28* * Changed: R. Barstad Nov 1982 delete IDS2 concurrency 29* * lock control seg if exists 30* * 31* * 32* ****************************************************************************************** 33* **************************************************************************************** */ 34 35 gcos_mme_fsye_: proc (mcp, increment); 36 37 /* P R O C E D U R E */ 38 39 increment = 2; 40 scup = addr (mcp -> mc.scu); 41 gseg = gcos_ext_stat_$gcos_slave_area_seg; 42 ap1 = addrel (gseg, fixed (scu.ilc)+1); 43 ap2 = addrel (gseg, fixed (arglst1.al2)); 44 rap = addrel (gseg, fixed (arglst2.ra)); 45 return.code = "1"b; 46 47 fnc = fixed (arglst1.fn); 48 49 if fnc > 22 then go to err2; 50 if fnc_map (fnc) = 0 then go to err2; /* illegal or unimplemented function */ 51 52 53 /* Get the pathname of catalog/file description */ 54 55 nameptr = addr (name); 56 CSEQ_ptr = addrel (gseg, fixed (scu.ilc,18)); 57 call gcos_build_pathname_ (nameptr, addrel (gseg, BUFFER), 58 dirname, entryname, status); 59 dirlen = length (rtrim (dirname)); 60 if dirlen = 0 then go to err1; /* operations in UMC not allowed */ 61 pname = rtrim (dirname) 62 ||">" 63 ||entryname; 64 65 go to fnc_proc (fnc_map (fnc)); /* process specific function */ 66 67 fnc_proc (1): /* create catalog request */ 68 dirsw = 1; 69 mode = 01011b; /* access = sma */ 70 bitcount = 0; 71 go to create_entry; 72 73 74 fnc_proc (2): /* create file request */ 75 op = addrel (gseg, fixed (arglst2.opt)); /* get pointer to options area */ 76 if opt.nonstruct | opt.userinfo then go to err4; /* illegal file characteristics */ 77 if opt.spec_perms ^= (36) "1"b then go to err4; /* specific permissions not handled */ 78 79 bitcount = fixed (opt.initial_size) * 36 * 320; 80 81 if ^opt.llsize then bitcount = bitcount * 12; 82 83 dirsw = 0; 84 mode = 01010b; /* access = rw */ 85 86 create_entry: call modefn; /* get mode and access name */ 87 88 call hcs_$append_branchx (dirname, entryname, mode, ring_br, access_name, dirsw, 0, bitcount, code); 89 if code ^= 0 then go to err3; 90 91 if fnc = 2 then go to exit; /* done if create catalog */ 92 93 if opt.ids & opt.attrib_present then do; 94 95 entryname = substr (pname, dirlen+2) || ".ids_attributes"; 96 97 call hcs_$make_seg (dirname, entryname, "", 01010b, attribptr, code); 98 if attribptr = null then go to err3; 99 100 attributes = opt.attrib; 101 102 end; 103 104 go to exit; 105 106 107 108 fnc_proc (3): /* delete or purge file request */ 109 call delete_$path (dirname, entryname, "000100"b, "gcos_mme_fsye_", code); 110 if code ^= 0 then go to err5; 111 112 call gcos_ids2_concur_$delete_control(dirname,entryname,code); /* just try to delete, if can't --code bad-- don't care */ 113 114 entryname = substr (pname, dirlen+2) || ".ids_attributes"; 115 116 call delete_$path (dirname, entryname, "000100"b, "gcos_mme_fsye_", code); 117 118 exit: return; 119 120 121 modefn: proc; 122 123 access_name = get_group_id_$tag_star (); 124 125 ring_br = fixed (cu_$level_get (), 6); 126 127 return; 128 end modefn; 129 130 131 132 /* Error returns */ 133 134 err1: return.code = "100000111101"b; 135 msg = "operations on the UMC not allowed"; 136 go to err_common; 137 138 err2: return.code = "100000111101"b; /* 4075 = illegal gefsye function */ 139 msg = "illegal or unimplemented function"; 140 go to err_common; 141 142 err3: return.code = "100000111111"b; /* 4077 = cannot create entry */ 143 go to get_msg; 144 145 err4: return.code = "100000111110"b; /* 4076 = illegal file characteristics */ 146 msg = "unimplemented file options"; 147 go to err_common; 148 149 err5: return.code = "100001000100"b; /* 4104 = unable to delete entry */ 150 151 get_msg: call convert_status_code_ (code, "xxxxxxxx", msg1); 152 msg = msg1; /* move char (100) to char (102) */ 153 154 err_common: return.messaddr = arglst1.buf; 155 156 call gcos_cv_ascii_gebcd_ (addr (msg), length (msg), addrel (gseg, fixed (arglst1.buf)), i); 157 return.messlen = divide (length (msg), 6, 17, 0); 158 return; 159 160 161 /* External Entries */ 162 163 164 dcl convert_status_code_ ext entry (fixed bin(35), char (8), char (100)); 165 dcl cu_$level_get ext entry returns (fixed bin(24)); 166 dcl cv_oct_ entry (char (*), fixed bin(35)); 167 dcl date_time_$fstime ext entry (fixed bin(35), char (13)); 168 dcl delete_$path ext entry (char (*), char (*), bit (6), char (*), fixed bin(35)); 169 dcl expand_path_ entry (ptr, fixed bin(24), ptr, ptr, fixed bin(35)); 170 dcl gcos_build_pathname_ ext entry (ptr, ptr, char(*), char (*), bit (72) aligned); 171 dcl gcos_cv_ascii_gebcd_ ext entry (ptr, fixed bin(24), ptr, fixed bin(24)); 172 dcl gcos_cv_gebcd_ascii_ ext entry (ptr, fixed bin(24), ptr); 173 dcl gcos_ids2_concur_$delete_control ext entry (char(*),char(*),fixed bin(35)); 174 dcl get_group_id_$tag_star ext entry returns (char (32) aligned); 175 dcl get_default_wdir_ ext entry returns (char (168)); 176 dcl hcs_$append_branchx ext entry (char (*), char (*), fixed bin(5), (3) fixed bin(6), 177 char (*), fixed bin(1), fixed bin(1), fixed bin(24), fixed bin(35)); 178 dcl hcs_$chname_file ext entry (char (*), char (*), char (*), char (*), fixed bin(35)); 179 dcl hcs_$initiate_count ext entry (char (*), char (*), char (*), fixed bin(24), fixed bin(2), ptr, fixed bin(35)); 180 dcl hcs_$make_seg ext entry (char (*), char (*), char (*), fixed bin(5), ptr, fixed bin(35)); 181 182 183 /* Work Variables */ 184 185 186 dcl access_name char (32); 187 dcl bitcount fixed bin(24); 188 dcl bitmode bit (5) aligned; 189 dcl code fixed bin(35); 190 dcl CSEQ_ptr ptr; 191 dcl date char (13); 192 dcl dirname char (168); 193 dcl dirsw fixed bin(1); 194 dcl ecount fixed; 195 dcl entryname char (32); 196 dcl increment fixed bin; /* number of argument words to skip over */ 197 dcl msg char (102); 198 dcl msg1 char (100); 199 dcl mode fixed bin(5); 200 dcl name char (32); 201 dcl pname char (168) varying; 202 dcl ring_br (3) fixed bin(6); 203 dcl status bit (72) aligned; 204 dcl (dirlen, fnc, i, j, k) fixed bin(24); 205 206 dcl word bit (36) aligned based; 207 208 dcl (ap1, ap2, attribptr, cdp, gseg, nameptr, nnp, op, pp, rap, radp, sp) ptr; 209 210 211 212 /* Structures and overlays */ 213 214 dcl 1 arglst1 aligned based (ap1), /* structure for the arg list following the mme */ 215 2 ccal bit (18) unal, /* 0 or courtesy call address */ 216 2 al2 bit (18) unal, /* location of arg list 2 */ 217 2 fn bit (18) unal, /* function code */ 218 2 buf bit (18) unal; /* working buffer address */ 219 220 dcl 1 arglst2 aligned based (ap2), /* structure for the main argument list */ 221 2 ra bit (18) unal, /* address of the return area */ 222 2 pad1 bit (18) unal, 223 2 catdesc bit (18) unal, /* address of the cataog description */ 224 2 perms bit (18) unal, /* address of the permissions word */ 225 2 opt bit (18) unal, /* address of the options area */ 226 2 newname bit (18) unal; /* address of the newname for modify functions */ 227 228 dcl 1 opt aligned based (op), /* the options area */ 229 2 contig bit (1) unal, /* file must be contiguous */ 230 2 rand bit (1) unal, /* define file as random */ 231 2 tss bit (1) unal, /* file is tss-created */ 232 2 ids bit (1) unal, /* file is IDS */ 233 2 llsize bit (1) unal, /* file sizes specified in llinks */ 234 2 nonstruct bit (1) unal, /* file on tape or nonstructured disk pack */ 235 2 pad bit (1) unal, 236 2 attrib_present bit (1) unal, /* attributes present */ 237 2 userinfo bit (1) unal, /* user specified information present */ 238 2 pad1 bit (4) unal, 239 2 protect bit (1) unal, /* protection options specified */ 240 2 pad2 bit (22) unal, 241 242 2 initial_size bit (18) unal, /* initial file size */ 243 2 max_size bit (18) unal, /* maximum file size (zero if unlimited) */ 244 2 spec_perms bit (36) unal, /* specific permissions */ 245 2 attrib bit (180) unal; /* attributes for IDS files */ 246 247 dcl attributes bit (180) aligned based (attribptr); 248 249 /* MME GEFSYE Calling Sequence */ 250 251 dcl 1 CALL_SEQ aligned based (CSEQ_ptr), 252 2 CC bit (18) unaligned, 253 2 ARGLIST bit (18) unaligned, 254 2 FUNCTION bit (18) unaligned, 255 2 BUFFER fixed bin (18) unaligned unsigned; 256 257 dcl 1 return aligned based (rap), /* return area for error indicators */ 258 2 code bit (12) unal, /* error code or zero */ 259 2 pad bit (24) unal, 260 2 messaddr bit (18) unal, /* address of error message */ 261 2 messlen fixed bin(17) unal; /* length of error message (in words) */ 262 263 dcl fnc_map (22) fixed bin(24)aligned int static init ( /* map gefsye function codes to processors */ 264 0, /* 1 = unimplemented */ 265 1, /* 2 = ccreat */ 266 2, /* 3 = fcreat */ 267 (5) 0, /* 4 to 8 = unimplemented */ 268 3, /* 9 = freles */ 269 (12) 0, /* 10 to 21 = unimplemented */ 270 3); /* 22 = fpurge */ 271 272 dcl (addr, addrel, bit, divide, fixed, index, length, null, substr, unspec) builtin; 273 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 */ 274 275 end gcos_mme_fsye_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/09/83 1007.4 gcos_mme_fsye_.pl1 >spec>on>09/07/83-gcos>gcos_mme_fsye_.pl1 274 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. BUFFER 1(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 251 ref 57 57 CALL_SEQ based structure level 1 dcl 251 CSEQ_ptr 000112 automatic pointer dcl 190 set ref 56* 57 57 access_name 000100 automatic char(32) unaligned dcl 186 set ref 88* 123* addr builtin function dcl 272 ref 40 55 156 156 addrel builtin function dcl 272 ref 42 43 44 56 57 57 74 156 156 al2 0(18) based bit(18) level 2 packed unaligned dcl 214 ref 43 ap1 000360 automatic pointer dcl 208 set ref 42* 43 47 154 156 156 ap2 000362 automatic pointer dcl 208 set ref 43* 44 74 arglst1 based structure level 1 dcl 214 arglst2 based structure level 1 dcl 220 attrib 3 based bit(180) level 2 packed unaligned dcl 228 ref 100 attrib_present 0(07) based bit(1) level 2 packed unaligned dcl 228 ref 93 attribptr 000364 automatic pointer dcl 208 set ref 97* 98 100 attributes based bit(180) dcl 247 set ref 100* bitcount 000110 automatic fixed bin(24,0) dcl 187 set ref 70* 79* 81* 81 88* buf 1(18) based bit(18) level 2 packed unaligned dcl 214 ref 154 156 156 code based bit(12) level 2 in structure "return" packed unaligned dcl 257 in procedure "gcos_mme_fsye_" set ref 45* 134* 138* 142* 145* 149* code 000111 automatic fixed bin(35,0) dcl 189 in procedure "gcos_mme_fsye_" set ref 88* 89 97* 108* 110 112* 116* 151* convert_status_code_ 000010 constant entry external dcl 164 ref 151 cu_$level_get 000012 constant entry external dcl 165 ref 125 delete_$path 000014 constant entry external dcl 168 ref 108 116 dirlen 000354 automatic fixed bin(24,0) dcl 204 set ref 59* 60 95 114 dirname 000114 automatic char(168) unaligned dcl 192 set ref 57* 59 61 88* 97* 108* 112* 116* dirsw 000166 automatic fixed bin(1,0) dcl 193 set ref 67* 83* 88* divide builtin function dcl 272 ref 157 entryname 000167 automatic char(32) unaligned dcl 195 set ref 57* 61 88* 95* 97* 108* 112* 114* 116* fct_entry based structure level 1 dcl 3-3 fib based structure level 1 dcl 6-10 fixed builtin function dcl 272 ref 42 43 44 47 56 74 79 125 156 156 flags based structure level 1 dcl 5-8 fn 1 based bit(18) level 2 packed unaligned dcl 214 ref 47 fnc 000355 automatic fixed bin(24,0) dcl 204 set ref 47* 49 50 65 91 fnc_map 000003 constant fixed bin(24,0) initial array dcl 263 ref 50 65 gcos_build_pathname_ 000016 constant entry external dcl 170 ref 57 gcos_cv_ascii_gebcd_ 000020 constant entry external dcl 171 ref 156 gcos_ext_stat_$gcos_slave_area_seg 000032 external static pointer dcl 1-27 ref 41 gcos_ids2_concur_$delete_control 000022 constant entry external dcl 173 ref 112 get_group_id_$tag_star 000024 constant entry external dcl 174 ref 123 gseg 000366 automatic pointer dcl 208 set ref 41* 42 43 44 56 57 57 74 156 156 hcs_$append_branchx 000026 constant entry external dcl 176 ref 88 hcs_$make_seg 000030 constant entry external dcl 180 ref 97 i 000356 automatic fixed bin(24,0) dcl 204 set ref 156* ids 0(03) based bit(1) level 2 packed unaligned dcl 228 ref 93 ilc 4 based bit(18) level 2 packed unaligned dcl 7-56 ref 42 56 increment parameter fixed bin(17,0) dcl 196 set ref 35 39* initial_size 1 based bit(18) level 2 packed unaligned dcl 228 ref 79 length builtin function dcl 272 ref 59 156 156 157 llsize 0(04) based bit(1) level 2 packed unaligned dcl 228 ref 81 mc based structure level 1 dcl 7-12 mcp parameter pointer dcl 7-10 ref 35 40 messaddr 1 based bit(18) level 2 packed unaligned dcl 257 set ref 154* messlen 1(18) based fixed bin(17,0) level 2 packed unaligned dcl 257 set ref 157* mode 000262 automatic fixed bin(5,0) dcl 199 set ref 69* 84* 88* msg 000177 automatic char(102) unaligned dcl 197 set ref 135* 139* 146* 152* 156 156 156 156 157 msg1 000231 automatic char(100) unaligned dcl 198 set ref 151* 152 name 000263 automatic char(32) unaligned dcl 200 set ref 55 nameptr 000370 automatic pointer dcl 208 set ref 55* 57* nonstruct 0(05) based bit(1) level 2 packed unaligned dcl 228 ref 76 null builtin function dcl 272 ref 98 op 000372 automatic pointer dcl 208 set ref 74* 76 76 77 79 81 93 93 100 opt 2 based bit(18) level 2 in structure "arglst2" packed unaligned dcl 220 in procedure "gcos_mme_fsye_" ref 74 opt based structure level 1 dcl 228 in procedure "gcos_mme_fsye_" pname 000273 automatic varying char(168) dcl 201 set ref 61* 95 114 ra based bit(18) level 2 packed unaligned dcl 220 ref 44 rap 000374 automatic pointer dcl 208 set ref 44* 45 134 138 142 145 149 154 157 return based structure level 1 dcl 257 ring_br 000346 automatic fixed bin(6,0) array dcl 202 set ref 88* 125* 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_fsye_" set ref 40 scu based structure level 1 dcl 7-56 in procedure "gcos_mme_fsye_" scup 000376 automatic pointer dcl 7-54 set ref 40* 42 56 spec_perms 2 based bit(36) level 2 packed unaligned dcl 228 ref 77 status 000352 automatic bit(72) dcl 203 set ref 57* substr builtin function dcl 272 ref 95 114 userinfo 0(08) based bit(1) level 2 packed unaligned dcl 228 ref 76 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 bit builtin function dcl 272 bitmode automatic bit(5) dcl 188 bpx internal static fixed bin(17,0) initial dcl 7-42 cdp automatic pointer dcl 208 cv_oct_ 000000 constant entry external dcl 166 date automatic char(13) unaligned dcl 191 date_time_$fstime 000000 constant entry external dcl 167 ecount automatic fixed bin(17,0) dcl 194 expand_path_ 000000 constant entry external dcl 169 fibptr automatic pointer dcl 6-84 gcos_cv_gebcd_ascii_ 000000 constant entry external dcl 172 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_$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_$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 get_default_wdir_ 000000 constant entry external dcl 175 hcs_$chname_file 000000 constant entry external dcl 178 hcs_$initiate_count 000000 constant entry external dcl 179 index builtin function dcl 272 j automatic fixed bin(24,0) dcl 204 k automatic fixed bin(24,0) dcl 204 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 nnp automatic pointer dcl 208 pp automatic pointer dcl 208 radp automatic pointer dcl 208 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 sp automatic pointer dcl 208 spx internal static fixed bin(17,0) initial dcl 7-42 unspec builtin function dcl 272 word based bit(36) dcl 206 write_file internal static bit(1) initial unaligned dcl 6-90 NAMES DECLARED BY EXPLICIT CONTEXT. create_entry 000360 constant label dcl 86 ref 71 err1 000703 constant label dcl 134 set ref 60 err2 000712 constant label dcl 138 ref 49 50 err3 000720 constant label dcl 142 ref 89 98 err4 000724 constant label dcl 145 set ref 76 77 err5 000733 constant label dcl 149 ref 110 err_common 000756 constant label dcl 154 ref 136 140 147 exit 000702 constant label dcl 118 ref 91 104 fnc_proc 000000 constant label array(3) dcl 67 set ref 65 gcos_mme_fsye_ 000123 constant entry external dcl 35 get_msg 000736 constant label dcl 151 ref 143 modefn 001016 constant entry internal dcl 121 ref 86 NAME DECLARED BY CONTEXT OR IMPLICATION. rtrim builtin function ref 59 61 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1236 1272 1056 1246 Length 1620 1056 34 311 157 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_mme_fsye_ 344 external procedure is an external procedure. modefn internal procedure shares stack frame of external procedure gcos_mme_fsye_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_mme_fsye_ 000100 access_name gcos_mme_fsye_ 000110 bitcount gcos_mme_fsye_ 000111 code gcos_mme_fsye_ 000112 CSEQ_ptr gcos_mme_fsye_ 000114 dirname gcos_mme_fsye_ 000166 dirsw gcos_mme_fsye_ 000167 entryname gcos_mme_fsye_ 000177 msg gcos_mme_fsye_ 000231 msg1 gcos_mme_fsye_ 000262 mode gcos_mme_fsye_ 000263 name gcos_mme_fsye_ 000273 pname gcos_mme_fsye_ 000346 ring_br gcos_mme_fsye_ 000352 status gcos_mme_fsye_ 000354 dirlen gcos_mme_fsye_ 000355 fnc gcos_mme_fsye_ 000356 i gcos_mme_fsye_ 000360 ap1 gcos_mme_fsye_ 000362 ap2 gcos_mme_fsye_ 000364 attribptr gcos_mme_fsye_ 000366 gseg gcos_mme_fsye_ 000370 nameptr gcos_mme_fsye_ 000372 op gcos_mme_fsye_ 000374 rap gcos_mme_fsye_ 000376 scup gcos_mme_fsye_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return mpfx2 shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ cu_$level_get delete_$path gcos_build_pathname_ gcos_cv_ascii_gebcd_ gcos_ids2_concur_$delete_control get_group_id_$tag_star hcs_$append_branchx hcs_$make_seg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. gcos_ext_stat_$gcos_slave_area_seg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 35 000117 39 000130 40 000133 41 000137 42 000142 43 000150 44 000155 45 000162 47 000164 49 000167 50 000171 55 000173 56 000175 57 000203 59 000237 60 000251 61 000252 65 000306 67 000312 69 000314 70 000316 71 000317 74 000320 76 000326 77 000331 79 000334 81 000347 83 000355 84 000356 86 000360 88 000361 89 000431 91 000433 93 000436 95 000442 97 000464 98 000524 100 000530 104 000535 108 000536 110 000575 112 000577 114 000620 116 000642 118 000702 134 000703 135 000706 136 000711 138 000712 139 000714 140 000717 142 000720 143 000723 145 000724 146 000727 147 000732 149 000733 151 000736 152 000753 154 000756 156 000763 157 001011 158 001015 121 001016 123 001017 125 001031 127 001053 ----------------------------------------------------------- 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