COMPILATION LISTING OF SEGMENT install_ttt_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 03/15/89 0831.3 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(85-07-15,EJSharpe), approve(86-02-20,MCR7303), 17* audit(85-11-07,Coren), install(86-04-23,MR12.0-1045): 18* add security auditing 19* 2) change(87-03-17,LJAdams), approve(87-04-03,MCR7646), 20* audit(87-05-05,Gilcrease), install(87-05-14,MR12.1-1030): 21* Added check for current TTT_version_3. 22* 3) change(88-01-26,Brunelle), approve(88-01-26,MCR7813), 23* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 24* Upgrade to TTT_version_4 which encompassed c_chars expansion. 25* END HISTORY COMMENTS */ 26 27 28 /* format: style2 */ 29 install_ttt_: 30 procedure (TTT_pointer, Wordcount, Complaint, Code); 31 32 /* install_ttt_ installs a ttt in ring 1 for an administrator. 33* 34* taken from up_ttt_ of december 1981 35* 36* This program checks a candidate TTT for acceptability and installs it. 37* Written 6/27/77 by Robert Coren 38* Bug fix August 1977 by T. Casey 39* Bug fix July 1978 by T. Casey 40* Fix to check offset of function key table in each tte 5/29/81 by Suzanne Krupp 41* Modified November 1981, E. N. Kittlitz. user_table_entry conversion. 42* Modified December 1981, Benson I. Margulies. Renamed to install_ttt_ 43* and changed to install to ring 1 and stop cross-checking with cdt 44* Modified December 1984, Keith Loepere, for new version create_branch_info. 45**/ 46 47 /* This program is called through install_gate_ */ 48 49 50 declare TTT_pointer pointer; /* Supplied segment */ 51 declare Wordcount fixed bin (18) unsigned; 52 declare Complaint character (*); /* explanation of rejection */ 53 declare Code fixed bin (35); /* status code */ 54 55 /* ENTRIES */ 56 57 dcl access_audit_r1_$log_general 58 entry options (variable); 59 dcl admin_gate_$syserr_error_code 60 entry options (variable); 61 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 62 dcl get_wdir_ entry () returns (char (168)); 63 dcl get_group_id_ entry returns (char (32)); 64 dcl get_group_id_$tag_star entry () returns (char (32)); 65 dcl hcs_$set_safety_sw_seg entry (ptr, bit (1), fixed bin (35)); 66 dcl hcs_$set_damaged_sw_seg 67 entry (ptr, bit (1), fixed bin (35)); 68 dcl hcs_$replace_acl entry (char (*), char (*), ptr, fixed bin, bit (1), fixed bin (35)); 69 dcl hcs_$create_branch_ entry (char (*), char (*), ptr, fixed bin (35)); 70 dcl hcs_$truncate_seg entry (ptr, fixed bin (19), fixed bin (35)); 71 dcl cu_$level_get entry returns (fixed bin (3)); 72 dcl cu_$level_set entry (fixed bin (3)); 73 dcl get_ring_ entry () returns (fixed bin (3)); 74 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 75 dcl set_lock_$lock entry (bit (36) aligned, fixed bin, fixed bin (35)); 76 dcl set_lock_$unlock entry (bit (36) aligned, fixed bin (35)); 77 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 78 /* cauise a segfault at least in this process */ 79 dcl (get_temp_segment_, release_temp_segment_) 80 entry (character (*), pointer, fixed bin (35)); 81 82 declare access_operations_$install_table 83 bit (36) aligned ext static; 84 85 declare error_table_$locked_by_this_process 86 fixed bin (35) ext static; 87 declare error_table_$invalid_lock_reset 88 fixed bin (35) ext static; 89 declare error_table_$smallarg fixed bin (35) ext static; 90 declare error_table_$invalid_ascii 91 fixed bin (35) ext static; 92 declare error_table_$unimplemented_version 93 fixed bin (35) ext static; 94 declare error_table_$zero_length_seg 95 fixed bin (35) ext static; 96 declare error_table_$noentry fixed bin (35) ext static; 97 declare error_table_$improper_data_format 98 fixed bin (35) ext static; 99 100 /* AUTOMATIC */ 101 102 dcl 1 auto_event_flags aligned like audit_event_flags; 103 dcl code fixed bin (35); 104 dcl complaint character (128); 105 dcl highest fixed bin; 106 dcl i fixed bin; 107 dcl j fixed bin; 108 dcl tabp ptr; 109 dcl locked bit (1) aligned; 110 dcl path char (168) varying; 111 dcl saved_level fixed bin (3); 112 dcl saved_proc_group_id character (32) aligned; 113 dcl system_tttp pointer; 114 dcl wdir char (168); 115 dcl wordcount fixed bin (18) unsigned; 116 117 /* INTERNAL STATIC */ 118 119 dcl TTT_dir character (168) init (">system_control_1") internal static; 120 dcl TTT_entryname character (32) init ("ttt") internal static; 121 122 dcl ME character (32) init ("install_ttt_") options (constant) internal static; 123 dcl LEGAL_CHARS char (37) int static options (constant) 124 init ("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"); 125 126 /* BASED */ 127 128 dcl rp (7) fixed bin (18) based; 129 130 declare ttt_seg_copy_var (wordcount) bit (36) aligned based; 131 declare 1 system_ttt aligned like ttt based (system_tttp); 132 /* BUILTIN */ 133 134 /* CONDITIONS */ 135 136 declare cleanup condition; 137 declare seg_fault_error condition; 138 139 dcl (addr, bin, clock, hbound, length, null, rel, rtrim, string, substr, verify) 140 builtin; 141 142 saved_level = -1; 143 tttp, system_tttp = null; 144 locked = "0"b; 145 on cleanup call clean_up; 146 147 saved_level = cu_$level_get (); 148 149 wordcount = Wordcount; 150 code = 0; 151 complaint = ""; 152 path = ""; 153 154 if wordcount < 64 155 then do; 156 complaint = "Supplied TTT less than 64 words long."; 157 code = error_table_$smallarg; 158 go to ERROR_RETURN; 159 end; 160 161 /* First copy supplied TTT to keep it from being modified */ 162 /* after being approved */ 163 164 call get_temp_segment_ (ME, tttp, code); 165 if code ^= 0 166 then do; 167 complaint = "Could not get temp segment."; 168 call admin_gate_$syserr_error_code (SYSERR_LOG_OR_DISCARD, code, "install_ttt_: ^a", complaint); 169 go to ERROR_RETURN; 170 end; 171 172 tttp -> ttt_seg_copy_var = TTT_pointer -> ttt_seg_copy_var; 173 /* WHUMP */ 174 175 /* From now on look only at the copy */ 176 177 if ttt.version ^= TTT_version_4 178 then do; /* Check right overlay dcl */ 179 complaint = "incorrect table version"; 180 code = error_table_$unimplemented_version; 181 go to ERROR_RETURN; 182 end; 183 184 ttt.author.proc_group_id = get_group_id_ (); /* no fibbing */ 185 ttt.author.lock = ""b; /* it will be unlocked when we install */ 186 ttt.last_install_time = 0; /* set for real below */ 187 ttt.author.table = "ttt"; 188 wdir = get_wdir_ (); /* Validation level not yet set down, so its callers wdir */ 189 ttt.author.w_dir = substr (wdir, 1, length(ttt.author.w_dir)); 190 191 /* Now initiate system ttt in real ring, and check access */ 192 193 call cu_$level_set (get_ring_ ()); 194 195 call initiate_file_ (TTT_dir, TTT_entryname, RW_ACCESS, system_tttp, (0), code); 196 if code = error_table_$zero_length_seg 197 then code = 0; /* we may be replacing a busted segment */ 198 199 if code = error_table_$noentry 200 then call try_to_create_ttt (code); 201 if code ^= 0 202 then do; 203 path = pathname_ (TTT_dir, TTT_entryname); 204 complaint = "Incorrect access to " || path; 205 string (auto_event_flags) = ""b; 206 auto_event_flags.admin_op = "1"b; 207 call access_audit_r1_$log_general (ME, (saved_level), string (auto_event_flags), 208 access_operations_$install_table, "system terminal type table (TTT)", code, null (), (0)); 209 go to ERROR_RETURN; 210 end; 211 else do; 212 string (auto_event_flags) = ""b; 213 auto_event_flags.grant = "1"b; 214 auto_event_flags.admin_op = "1"b; 215 call access_audit_r1_$log_general (ME, (saved_level), string (auto_event_flags), 216 access_operations_$install_table, "system terminal type table (TTT)", code, null (), (0)); 217 end; 218 219 on seg_fault_error /* Damaged ttt? */ 220 begin; /* we turn it off and truncate seg. If this installation 221* fails the next try will work no worse for it. */ 222 223 call hcs_$set_damaged_sw_seg (system_tttp, "0"b, (0)); 224 call hcs_$truncate_seg (system_tttp, 0, (0)); 225 end; 226 227 highest = system_ttt.highest_coded_type; 228 229 revert seg_fault_error; /* it was broken or it was not */ 230 231 call set_lock_$lock (system_tttp -> ttt.author.lock, (0), code); 232 if code = error_table_$invalid_lock_reset | code = error_table_$locked_by_this_process 233 /* force */ 234 then code = 0; 235 if code ^= 0 236 then do; 237 complaint = "TTT lock for installation by " || system_tttp -> ttt.author.proc_group_id; 238 go to ERROR_RETURN; 239 end; 240 241 locked = "1"b; 242 243 /* Whether or not the new ttt gets installed, leave our group id */ 244 /* there for an informative message to someone else locked out */ 245 /* if the installation fails, the old one will get put back */ 246 247 saved_proc_group_id = system_tttp -> ttt.author.proc_group_id; 248 system_tttp -> ttt.author.proc_group_id = ttt.author.proc_group_id; 249 250 do i = 1 to ttt.n_tt_entries; /* do a quick check on each terminal type entry */ 251 ttep = addr (ttt.tt_entries (i)); 252 if verify (rtrim (tte.name), LEGAL_CHARS) ^= 0 253 /* cv_ttf wouldn't have done this */ 254 then do; 255 complaint = rtrim (tte.name) || " not a valid terminal type name"; 256 code = error_table_$invalid_ascii; 257 go to ERROR_RETURN; 258 end; 259 260 call check_offset (tte.initial_string.offset); 261 /* make sure all offsets are at least within TTT */ 262 call check_offset (tte.additional_info.offset); 263 tabp = addr (tte.tables); 264 do j = 1 to 7; 265 call check_offset (tabp -> rp (j)); 266 end; 267 268 /* find old entry for same type (if any) */ 269 270 do j = 1 to system_ttt.n_tt_entries while (system_ttt.tt_entries (j).name ^= tte.name); 271 end; 272 273 if j > system_ttt.n_tt_entries /* there wasn't any */ 274 then highest, tte.coded_type = highest + 1; 275 else tte.coded_type = system_ttt.tt_entries (j).coded_type; 276 end; 277 278 ttt.highest_coded_type = highest; /* whether it changed or not */ 279 280 /* we are ready to install it now */ 281 282 wordcount = ttt.total_ttt_size; /* We should validate this! */ 283 284 ttt.last_install_time = clock (); /* for ttt_info_ */ 285 286 system_tttp -> ttt_seg_copy_var = tttp -> ttt_seg_copy_var; 287 call set_lock_$unlock (system_tttp -> ttt.author.lock, (0)); 288 locked = "0"b; 289 290 call terminate_file_ (system_tttp, wordcount * 36, TERM_FILE_TRUNC_BC, code); 291 if code ^= 0 292 then call admin_gate_$syserr_error_code (SYSERR_LOG_OR_DISCARD, code, 293 "install_ttt_: could not set bitcount and terminate ttt."); 294 295 call release_temp_segment_ (ME, tttp, (0)); 296 297 Code = 0; 298 return; 299 300 ERROR_RETURN: 301 call clean_up; 302 Complaint = complaint; 303 Code = code; 304 return; 305 306 check_offset: 307 proc (offset); 308 309 /* an internal procedure that makes sure offset is within TTT */ 310 311 dcl offset fixed bin (18); 312 313 if offset ^= 0 /* 0 is OK, of course */ 314 then if offset > ttt.total_ttt_size | offset < bin (rel (addr (ttt.tables))) 315 /* can't have it pointing into type entries */ 316 then do; 317 complaint = "Invalid offset in entry for type " || tte.name; 318 code = error_table_$improper_data_format; 319 go to ERROR_RETURN; 320 end; 321 322 return; 323 end check_offset; 324 325 clean_up: 326 procedure; 327 if tttp ^= null 328 then call release_temp_segment_ (ME, tttp, (0)); 329 tttp = null; 330 if system_tttp ^= null 331 then do; 332 if locked 333 then do; 334 call set_lock_$unlock (system_tttp -> ttt.author.lock, (0)); 335 system_tttp -> ttt.author.proc_group_id = saved_proc_group_id; 336 end; 337 call terminate_file_ (system_tttp, (0), TERM_FILE_TERM, (0)); 338 locked = "0"b; 339 system_tttp = null; 340 end; 341 if saved_level > 0 342 then call cu_$level_set (saved_level); 343 saved_level = -1; 344 end clean_up; 345 346 try_to_create_ttt: 347 procedure (code); 348 349 declare code fixed bin (35); 350 declare 1 cbi aligned like create_branch_info; 351 declare 1 segment_acl (3) aligned, 352 2 access_name character (32), 353 2 modes bit (36) aligned, 354 2 xmodes bit (36) aligned, 355 2 status_code fixed bin (35); 356 357 cbi.version = create_branch_version_2; 358 string (cbi.switches) = ""b; 359 cbi.parent_ac_sw = "1"b; /* inherit system low from >sc1 */ 360 cbi.mode = RW_ACCESS; 361 cbi.mbz2 = ""b; 362 cbi.rings (1) = get_ring_ (); 363 cbi.rings (2) = 5; 364 cbi.rings (3) = 5; 365 cbi.userid = get_group_id_ (); /* Us, others to be added */ 366 cbi.bitcnt = 0; /* more later */ 367 cbi.quota, cbi.dir_quota = 0; 368 cbi.access_class = ""b; 369 370 code = 0; 371 372 call hcs_$create_branch_ (TTT_dir, TTT_entryname, addr (cbi), code); 373 if code ^= 0 374 then return; /* No such luck */ 375 call initiate_file_ (TTT_dir, TTT_entryname, RW_ACCESS, system_tttp, (0), code); 376 if code = error_table_$zero_length_seg 377 then code = 0; 378 call hcs_$set_safety_sw_seg (system_tttp, "1"b, (0)); 379 /* not absolutely neccessary */ 380 381 segment_acl (*).xmodes = ""b; 382 segment_acl (*).status_code = 0; 383 384 segment_acl (1).access_name = get_group_id_$tag_star (); 385 segment_acl (1).modes = RW_ACCESS; 386 segment_acl (2).access_name = "*.SysDaemon.*"; /* even if default goes away */ 387 segment_acl (2).modes = RW_ACCESS; 388 segment_acl (3).access_name = "*.*.*"; 389 segment_acl (3).modes = R_ACCESS; 390 391 call hcs_$replace_acl (TTT_dir, TTT_entryname, addr (segment_acl), hbound (segment_acl, 1), "0"b, code); 392 if code ^= 0 393 then call admin_gate_$syserr_error_code (SYSERR_LOG_OR_DISCARD, code, "install_ttt_: could not set acl of ttt.") 394 ; 395 code = 0; /* this is still enough to go ahead with installation */ 396 end try_to_create_ttt; 397 398 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 399 400 2 1 /* BEGIN INCLUDE FILE ... author_dcl.incl.pl1 */ 2 2 2 3 /* This include file declares the "author" substructure 2 4* in a form suitable for using the PL/I "like" attribute. 2 5* 2 6* Written 750304 by PG 2 7**/ 2 8 2 9 dcl 1 author_dcl aligned based, 3 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 3 2 3 3 /* the "author" items must always be the first ones in the table. The 3 4* module which moves the converted table to the System Control process 3 5* fills in these data items and assumes them to be at the head of the segment 3 6* regardless of the specific table's actual declaration. The variables 3 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 3 8* respectively. For tables installed in multiple processes, these 3 9* are to be used to lock out multiple installations. */ 3 10 3 11 /* Lock should be used as a modification lock. Since, in general, 3 12* entries may not be moved in system tables, even by installations, 3 13* it is sufficient for only installers and programs that change threads 3 14* to set or respect the lock. Simply updating data in an entry 3 15* requires no such protection. 3 16* 3 17* Last_install_time is used by readers of system tables to detect 3 18* installations or other serious modifications. By checking it before 3 19* and after copying a block of data, they can be protected against 3 20* modifications. 3 21* 3 22* Modules that set the lock should save proc_group_id, and then 3 23* put their group id there for the time they hold the lock. 3 24* if they do not actually install the, they should restore the group id. 3 25**/ 3 26 3 27 2 author aligned, /* validation data about table's author */ 3 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 3 29 3 lock bit (36), /* installation lock */ 3 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 3 31 3 update_authorization bit (1) unal, /* update only authorizations */ 3 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 3 33 3 pad bit (33) unaligned, 3 34 3 last_install_time fixed bin (71), 3 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 3 36 3 w_dir char (64), /* author's working directory */ 3 37 3 38 /* END INCLUDE FILE author.incl.pl1 */ 2 10 2 11 2 pad; 2 12 2 13 /* END INCLUDE FILE ... author_dcl.incl.pl1 */ 401 402 4 1 /* BEGIN INCLUDE FILE - - - create_branch_info.incl.pl1 - - - created January 1975 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(89-01-16,TLNguyen), approve(89-01-16,MCR8049), 4 6* audit(89-02-03,Parisek), install(89-03-15,MR12.3-1025): 4 7* 1. Declare version constant properly. 4 8* 2. Remove version 1 since it was never referenced and to force 4 9* callers to upgrade their programs. 4 10* END HISTORY COMMENTS */ 4 11 4 12 4 13 /* Modified December 1984 for dir_quota, Keith Loepere. */ 4 14 4 15 /* this include files gives the argument structure for create_branch_ */ 4 16 4 17 dcl 1 create_branch_info aligned based, 4 18 2 version fixed bin, /* set this to the largest value given below */ 4 19 2 switches unaligned, 4 20 3 dir_sw bit (1) unaligned, /* if on, a directory branch is wanted */ 4 21 3 copy_sw bit (1) unaligned, /* if on, initiating segment will be done by copying */ 4 22 3 chase_sw bit (1) unaligned, /* if on, if pathname is a link, it will be chased */ 4 23 3 priv_upgrade_sw bit (1) unaligned, /* privileged creation (ring 1) of upgraded object */ 4 24 3 parent_ac_sw bit (1) unaligned, /* if on, use parent's access class for seg or dir created */ 4 25 3 mbz1 bit (31) unaligned, /* pad to full word */ 4 26 2 mode bit (3) unaligned, /* segment or directory for acl for userid */ 4 27 2 mbz2 bit (33) unaligned, /* pad to full word */ 4 28 2 rings (3) fixed bin (3), /* branch's ring brackets */ 4 29 2 userid char (32), /* user's access control name */ 4 30 2 bitcnt fixed bin (24), /* bit count of the segment */ 4 31 2 quota fixed bin (18), /* for directories, this am't of quota will be moved to it */ 4 32 2 access_class bit (72), /* is the access class of the body of the branch */ 4 33 2 dir_quota fixed bin (18); /* for directories, this am't of dir quota will be moved to it */ 4 34 4 35 dcl create_branch_version_2 fixed bin int static options (constant) init (2); 4 36 4 37 /* END INCLUDE FILE - - - create_branch_info.incl.pl1 - - - */ 4 38 403 404 5 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 5 2 /* format: style2,^inddcls,idind32 */ 5 3 5 4 declare 1 terminate_file_switches based, 5 5 2 truncate bit (1) unaligned, 5 6 2 set_bc bit (1) unaligned, 5 7 2 terminate bit (1) unaligned, 5 8 2 force_write bit (1) unaligned, 5 9 2 delete bit (1) unaligned; 5 10 5 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 5 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 5 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 5 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 5 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 5 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 5 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 5 18 5 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 405 406 6 1 /* BEGIN: ttt.incl.pl1 * * * * * */ 6 2 6 3 /* This include file describes the terminal type table (TTT) and 6 4* the various subtables it contains. */ 6 5 6 6 6 7 /****^ HISTORY COMMENTS: 6 8* 1) change(77-05-18,RCoren), approve(), audit(), install(): 6 9* Created 6 10* Modified 5/29/81 by Suzanne Krupp to make TTT_version = 2, 6 11* to change ttt and tte structures to include function key info 6 12* 2) change(84-12-17,Negaret), approve(87-07-28,MCR7742), 6 13* audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1056): 6 14* Add the dsatm_device table. 6 15* 3) change(87-03-05,LJAdams), approve(87-03-05,MCR7646), 6 16* audit(87-05-05,Gilcrease), install(87-05-08,MR12.1-1029): 6 17* Add the protocol field to the terminal type entry table. Change 6 18* TTT_version to TTT_version_3. 6 19* 4) change(87-06-26,LJAdams), approve(87-07-09,MCR7742), 6 20* audit(87-07-23,Gilcrease), install(87-08-04,MR12.1-1056): 6 21* Changed constant value for extended_tables_ntables from 2 to 3 in order to 6 22* accommodate addition of DSA table. 6 23* 5) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), 6 24* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 6 25* 1. Extend special character definition to 15 chars instead of three. 6 26* 2. add comment field to tte. 6 27* END HISTORY COMMENTS */ 6 28 6 29 6 30 dcl TTT_version_4 fixed bin int static options (constant) init (4); 6 31 6 32 dcl tttp ptr; 6 33 6 34 dcl 1 ttt aligned based (tttp), 6 35 2 author like author_dcl.author, 6 36 2 version fixed bin, 6 37 2 n_tt_entries fixed bin, 6 38 2 n_tables fixed bin, 6 39 2 n_special_tables fixed bin, 6 40 2 n_fkey_tables fixed bin, 6 41 2 fkey_offset fixed bin(18), 6 42 2 default_type_offset fixed bin (18), 6 43 2 answerback_offset fixed bin (18), 6 44 2 total_ttt_size fixed bin (18), 6 45 2 type_map fixed bin, /* index of type implied by MAP command */ 6 46 2 type_963 fixed bin, /* likewise for 963 command */ 6 47 2 type_029 fixed bin, /* likewise for 029 command */ 6 48 2 highest_coded_type fixed bin, /* highest value used so far for coded_type */ 6 49 /* start entries on 8-word boundary */ 6 50 2 tt_entries (0 refer (ttt.n_tt_entries)) like tte, 6 51 2 tables (0 refer (ttt.n_tables)) like table_entry, /* conversion and translation tables */ 6 52 2 rest_of_ttt (1) fixed bin; /* placeholder for special_tables, function_key_tables, 6 53* * delay tables, initial strings, 6 54* * additional_info strings, default_types table, 6 55* * answerback table */ 6 56 6 57 dcl ttep ptr; 6 58 6 59 dcl 1 tte based (ttep) aligned, /* terminal type entry */ 6 60 2 name char (32) unal, 6 61 2 modes char (256), 6 62 2 initial_string, 6 63 3 offset fixed bin (18), 6 64 3 length fixed bin, 6 65 2 additional_info, 6 66 3 offset fixed bin (18), 6 67 3 length fixed bin, 6 68 2 comment, 6 69 3 offset fixed bin (18), 6 70 3 length fixed bin, 6 71 2 tables, 6 72 3 input_translation_rp fixed bin (18), /* offset of input translation table */ 6 73 3 output_translation_rp fixed bin (18), /* " " output " " */ 6 74 3 input_conversion_rp fixed bin (18), /* " " input conversion " */ 6 75 3 output_conversion_rp fixed bin (18), /* " " output " " */ 6 76 3 special_rp fixed bin (18), /* " " special_chars table */ 6 77 3 fkey_rp fixed bin(18), 6 78 3 delay_rp fixed bin (18), /* offset of array of delay tables */ 6 79 2 line_types bit (72), /* terminal type is possible only if corresponding line_type bit is on */ 6 80 2 editing_chars aligned, 6 81 3 erase char (1) unal, 6 82 3 kill char (1) unal, 6 83 3 framing_chars unal, 6 84 4 frame_begin char (1) unal, 6 85 4 frame_end char (1) unal, 6 86 2 flags aligned, 6 87 3 keyboard_addressing bit (1) unal, 6 88 3 print_preaccess_message bit (1) unal, 6 89 3 conditional_printer_off bit (1) unal, 6 90 3 input_timeout bit (1) unal, 6 91 3 output_block_acknowledge bit (1) unal, 6 92 3 pad bit (31) unal, 6 93 2 old_type fixed bin, 6 94 2 like_type fixed bin, /* index of entry which this one is "like" */ 6 95 2 like_flags unal, /* only meaningful if like_type is non-0 */ 6 96 3 bauds_overridden bit (1), 6 97 3 delay_overridden (6) bit (1), /* one for each kind of delay statement */ 6 98 3 pad bit (11) unal, 6 99 2 line_delimiter char (1) unal, /* default line delimiter, untanslated */ 6 100 2 pad1 bit (9) unal, 6 101 2 coded_type fixed bin, /* used for storing type values in PDT & PNT */ 6 102 2 flow_control_chars unal, 6 103 3 input_suspend char (1), 6 104 3 input_resume char (1), 6 105 3 output_suspend_etb char (1), 6 106 3 output_resume_ack char (1), 6 107 2 output_buffer_size fixed bin, 6 108 2 extended_tables_rp fixed bin (18), /* rel pointer to extended_tables */ 6 109 2 protocol fixed bin; /* 0=NONE 1=MOWSE */ 6 110 /* 2=MOWSE_FANSI */ 6 111 6 112 dcl extended_tablesp ptr; 6 113 6 114 dcl 1 extended_tables aligned based (extended_tablesp), 6 115 2 ntables fixed bin, 6 116 2 tables_rp (extended_tables_ntables refer (extended_tables.ntables)) fixed bin (18); 6 117 6 118 dcl (VIDEO_RP init (1), /* indexes in tables_rp */ 6 119 FUNCTION_KEY_RP init (2), 6 120 DSATM_DEVICE_RP init (3)) fixed bin int static options (constant); 6 121 6 122 dcl extended_tables_ntables fixed bin int static options (constant) init (3); 6 123 6 124 6 125 dcl dfttp ptr; 6 126 6 127 dcl 1 dftt based (dfttp) aligned, /* default_types table */ 6 128 2 dft_count fixed bin, 6 129 2 dftte (0 refer (dftt.dft_count)), 6 130 3 baud fixed bin, 6 131 3 line_type fixed bin, 6 132 3 term_type_index fixed bin; 6 133 6 134 6 135 dcl tablep ptr; 6 136 6 137 dcl 1 table_entry aligned based (tablep), 6 138 2 name char (32) unal, 6 139 2 type fixed bin, /* 1 = conversion, 2 = translation */ 6 140 2 table like cv_trans_struc; 6 141 6 142 6 143 dcl 1 special_table aligned based, 6 144 2 name char (32) unal, 6 145 2 type fixed bin, 6 146 2 table, 6 147 3 version fixed bin, 6 148 3 default fixed bin, /* non-zero indicates use default */ 6 149 3 special_chars, /* same as level-1 above */ 6 150 /* has to be spelled out instead of using like */ 6 151 /* because of refer options */ 6 152 4 nl_seq aligned like c_chars, /* new-line sequence */ 6 153 4 cr_seq aligned like c_chars, /* carriage-return sequence */ 6 154 4 bs_seq aligned like c_chars, /* backspace sequence */ 6 155 4 tab_seq aligned like c_chars, /* horizontal tab sequence */ 6 156 4 vt_seq aligned like c_chars, /* vertical tab sequence */ 6 157 4 ff_seq aligned like c_chars, /* form-feed sequence */ 6 158 4 printer_on aligned like c_chars, /* printer-on sequence */ 6 159 4 printer_off aligned like c_chars, /* printer_off sequence */ 6 160 4 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 6 161 4 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 6 162 4 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 6 163 6 164 4 escape_length fixed bin, /* number of escape sequences */ 6 165 4 not_edited_escapes (sc_escape_len refer (special_table.escape_length)) like c_chars, /* use in ^edited mode */ 6 166 4 edited_escapes (sc_escape_len refer (special_table.escape_length)) like c_chars, /* use in edited mode */ 6 167 6 168 4 input_escapes aligned, 6 169 5 len fixed bin (8) unaligned, /* length of string */ 6 170 5 str char (sc_input_escape_len refer (special_table.input_escapes.len)) unaligned, /* escape sequence characters */ 6 171 4 input_results aligned, 6 172 5 pad bit (9) unaligned, /* so that strings will look the same */ 6 173 5 str char (sc_input_escape_len refer (special_table.input_escapes.len)) unaligned; /* results of escape sequences */ 6 174 6 175 dcl fkey_tablep ptr; 6 176 6 177 dcl 1 fkey_table aligned based (fkey_tablep), 6 178 2 name char(32) unal, 6 179 2 fkey_data aligned, 6 180 3 version fixed bin, 6 181 3 highest fixed bin, 6 182 3 sequence, /* string of all seqs*/ 6 183 4 seq_offset fixed bin(18), /* offset in ttt of sequence */ 6 184 4 pad bit(36), /* pad makes overlay of function_key_data struct possible */ 6 185 4 seq_len fixed bin(21), 6 186 3 cursor_motion_keys, 6 187 4 home (0:3) like template, 6 188 4 left (0:3) like template, 6 189 4 up (0:3) like template, 6 190 4 right (0:3) like template, 6 191 4 down (0:3) like template, 6 192 3 function_keys (0:function_key_data_highest refer(fkey_table.highest), 0:3) like template; 6 193 6 194 dcl template_ptr ptr; 6 195 6 196 dcl 1 template unaligned based(template_ptr), 6 197 2 sequence_index fixed bin(12) unsigned unaligned, 6 198 2 sequence_length fixed bin(6) unsigned unaligned; 6 199 6 200 dcl delay_tablep ptr; 6 201 6 202 dcl 1 delay_table based (delay_tablep) aligned, 6 203 2 n_bauds fixed bin, 6 204 2 delay_array (0 refer (delay_table.n_bauds)), 6 205 3 baud_rate fixed bin, 6 206 3 version fixed bin, 6 207 3 mbz fixed bin, 6 208 3 delays (6) fixed bin; 6 209 6 210 6 211 dcl answerback_entry_ptr ptr; 6 212 dcl answerback_length fixed bin; /* automatic copy of length of char string */ 6 213 6 214 dcl 1 answerback_entry based (answerback_entry_ptr) aligned, 6 215 2 next fixed bin (18), /* offset of next answerback table entry */ 6 216 2 term_type_index fixed bin, 6 217 2 def_string, 6 218 3 length fixed bin, 6 219 3 chars (answerback_length refer (answerback_entry.length)) char (1) unal; 6 220 6 221 dcl CONV_TYPE fixed bin int static options (constant) init (1); 6 222 dcl TRANS_TYPE fixed bin int static options (constant) init (2); 6 223 dcl SPEC_TYPE fixed bin int static options (constant) init (3); 6 224 dcl FKEY_TYPE fixed bin int static options (constant) init (4); 6 225 6 226 dcl table_types (4) char (12) int static options (constant) init 6 227 ("conversion", "translation", "special", "function_key"); 6 228 6 229 dcl pa_name (3) char (3) int static options (constant) init 6 230 ("MAP", "963", "029"); 6 231 7 1 /* BEGIN INCLUDE FILE ... tty_convert.incl.pl1 */ 7 2 7 3 /* tty_ conversion tables */ 7 4 /* Created 11/3/75 by Robert S. Coren */ 7 5 /* Info structures added 5/19/77 by Robert S. Coren */ 7 6 /* Length of cv_trans changed from 128 to 256 05/03/78 by Robert Coren */ 7 7 /* conversion table mnemonics added JRDavis 21 Aug 80 */ 7 8 /* fix special_chars_struc to have good refers Fri 13 Feb 81 JRDavis */ 7 9 7 10 7 11 /****^ HISTORY COMMENTS: 7 12* 1) change(85-12-01,Negaret), approve(87-07-23,MCR7742), 7 13* audit(87-07-23,GDixon), install(87-08-04,MR12.1-1056): 7 14* Added INPUT_CONVERT_DSA_CR_PROCESSING constant. 7 15* 2) change(88-01-22,Brunelle), approve(88-01-22,MCR7813), 7 16* audit(88-10-05,Blair), install(88-10-17,MR12.2-1171): 7 17* Expand c_chars definition from 3 chars to 15. Change SPECIAL_VERSION 7 18* from 1 to 2. Add version variable to get_special_info_struc and define 7 19* SPECIAL_INFO_STRUCT_VERSION_1. 7 20* END HISTORY COMMENTS */ 7 21 7 22 7 23 /* format: style2,linecom,^indnoniterdo,indcomtxt,^inditerdo,dclind5,idind25 */ 7 24 7 25 7 26 dcl 1 special_chars aligned based, /* table of special character sequences */ 7 27 2 nl_seq aligned like c_chars, /* new-line sequence */ 7 28 2 cr_seq aligned like c_chars, /* carriage-return sequence */ 7 29 2 bs_seq aligned like c_chars, /* backspace sequence */ 7 30 2 tab_seq aligned like c_chars, /* horizontal tab sequence */ 7 31 2 vt_seq aligned like c_chars, /* vertical tab sequence */ 7 32 2 ff_seq aligned like c_chars, /* form-feed sequence */ 7 33 2 printer_on aligned like c_chars, /* printer-on sequence */ 7 34 2 printer_off aligned like c_chars, /* printer_off sequence */ 7 35 2 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 7 36 2 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 7 37 2 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 7 38 2 escape_length fixed bin, /* number of escape sequences */ 7 39 2 not_edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 7 40 /* use in ^edited mode */ 7 41 2 edited_escapes (sc_escape_len refer (special_chars.escape_length)) like c_chars, 7 42 /* use in edited mode */ 7 43 2 input_escapes aligned, 7 44 3 len fixed bin (8) unaligned, /* length of string */ 7 45 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned, 7 46 /* escape sequence characters */ 7 47 2 input_results aligned, 7 48 3 pad bit (9) unaligned, /* so that strings will look the same */ 7 49 3 str char (sc_input_escape_len refer (special_chars.input_escapes.len)) unaligned; 7 50 /* results of escape sequences */ 7 51 7 52 7 53 dcl c_chars_ptr ptr; 7 54 dcl 1 c_chars based (c_chars_ptr) aligned, 7 55 2 count fixed bin (8) unaligned, 7 56 2 chars (15) char (1) unaligned; 7 57 7 58 dcl sc_escape_len fixed bin; /* count of output escapes to allocate in special_chars */ 7 59 dcl sc_input_escape_len fixed bin; /* count of input escapes to allocate in special_chars */ 7 60 7 61 7 62 dcl 1 cv_trans based aligned, /* conversion/translation table format */ 7 63 2 value (0:255) fixed bin (8) unal; 7 64 7 65 7 66 dcl 1 delay based aligned, /* delay counts for output */ 7 67 2 vert_nl fixed bin, 7 68 2 horz_nl float bin, 7 69 2 const_tab fixed bin, 7 70 2 var_tab float bin, 7 71 2 backspace fixed bin, 7 72 2 vt_ff fixed bin; 7 73 7 74 /* info structures used with orders */ 7 75 7 76 dcl 1 special_chars_struc aligned based, 7 77 2 version fixed bin, 7 78 2 default fixed bin, /* non-zero indicates use default */ 7 79 2 special_chars, /* same as level-1 above */ 7 80 /* has to be spelled out instead of using like */ 7 81 /* because of refer options */ 7 82 3 nl_seq aligned like c_chars, /* new-line sequence */ 7 83 3 cr_seq aligned like c_chars, /* carriage-return sequence */ 7 84 3 bs_seq aligned like c_chars, /* backspace sequence */ 7 85 3 tab_seq aligned like c_chars, /* horizontal tab sequence */ 7 86 3 vt_seq aligned like c_chars, /* vertical tab sequence */ 7 87 3 ff_seq aligned like c_chars, /* form-feed sequence */ 7 88 3 printer_on aligned like c_chars, /* printer-on sequence */ 7 89 3 printer_off aligned like c_chars, /* printer_off sequence */ 7 90 3 red_ribbon_shift aligned like c_chars, /* red ribbon shift sequence */ 7 91 3 black_ribbon_shift aligned like c_chars, /* black ribbon shift sequence */ 7 92 3 end_of_page aligned like c_chars, /* end-of-page warning sequence */ 7 93 3 escape_length fixed bin, /* number of escape sequences */ 7 94 3 not_edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 7 95 /* use in ^edited mode */ 7 96 3 edited_escapes (sc_escape_len refer (special_chars_struc.escape_length)) like c_chars, 7 97 /* use in edited mode */ 7 98 3 input_escapes aligned, 7 99 4 len fixed bin (8) unaligned, /* length of string */ 7 100 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned, 7 101 /* escape sequence characters */ 7 102 3 input_results aligned, 7 103 4 pad bit (9) unaligned, /* so that strings will look the same */ 7 104 4 str char (sc_input_escape_len refer (special_chars_struc.input_escapes.len)) unaligned; 7 105 /* results of escape sequences */ 7 106 7 107 dcl 1 cv_trans_struc aligned based, /* all conversion/translation tables */ 7 108 2 version fixed bin, 7 109 2 default fixed bin, /* as above */ 7 110 2 cv_trans like cv_trans; 7 111 7 112 dcl 1 delay_struc aligned based, 7 113 2 version fixed bin, 7 114 2 default fixed bin, /* as above */ 7 115 2 delay like delay; 7 116 7 117 dcl 1 get_special_info_struc based aligned, /* get_special order */ 7 118 2 version char (8), 7 119 2 area_ptr pointer, 7 120 2 table_ptr pointer; 7 121 7 122 dcl SPECIAL_INFO_STRUCT_VERSION_1 7 123 char (8) int static options (constant) init ("sisv1000"); 7 124 dcl SPECIAL_VERSION fixed bin int static options (constant) init (1); 7 125 dcl SPECIAL_VERSION_2 fixed bin int static options (constant) init (2); 7 126 dcl DELAY_VERSION fixed bin int static options (constant) init (1); 7 127 dcl CV_TRANS_VERSION fixed bin int static options (constant) init (2); 7 128 7 129 dcl CV_TRANS_SIZE (2) fixed bin int static options (constant) init (127, 255); 7 130 /* indexed by version number */ 7 131 7 132 7 133 /* values for input and output conversion tables */ 7 134 7 135 dcl ( 7 136 INPUT_CONVERT_ORDINARY init (0), 7 137 INPUT_CONVERT_BREAK init (1), 7 138 INPUT_CONVERT_ESCAPE init (2), 7 139 INPUT_CONVERT_DISCARD init (3), 7 140 INPUT_CONVERT_FORMFEED init (4), 7 141 INPUT_CONVERT_PRECEDENCE_DISCARD 7 142 init (5), 7 143 INPUT_CONVERT_DSA_CR_PROCESSING 7 144 init (6) 7 145 ) fixed bin (8) unaligned internal static options (constant); 7 146 7 147 dcl ( 7 148 OUTPUT_CONVERT_ORDINARY init (0), 7 149 OUTPUT_CONVERT_NEWLINE init (1), 7 150 OUTPUT_CONVERT_CR init (2), 7 151 OUTPUT_CONVERT_HT init (3), 7 152 OUTPUT_CONVERT_BS init (4), 7 153 OUTPUT_CONVERT_VT init (5), 7 154 OUTPUT_CONVERT_FF init (6), 7 155 OUTPUT_CONVERT_OCTAL init (7), 7 156 OUTPUT_CONVERT_RRS init (8), 7 157 OUTPUT_CONVERT_BRS init (9), 7 158 OUTPUT_CONVERT_NO_MOTION init (10), 7 159 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION 7 160 init (11), 7 161 OUTPUT_CONVERT_DONT_SEND init (12), 7 162 OUTPUT_CONVERT_NOT_USED_13 7 163 init (13), 7 164 OUTPUT_CONVERT_NOT_USED_14 7 165 init (14), 7 166 OUTPUT_CONVERT_NOT_USED_15 7 167 init (15), 7 168 OUTPUT_CONVERT_NOT_USED_16 7 169 init (16), 7 170 OUTPUT_CONVERT_FIRST_SPECIAL 7 171 init (17) 7 172 ) fixed bin (8) unaligned internal static options (constant); 7 173 7 174 /* END INCLUDE FILE ... tty_convert.incl.pl1 */ 6 232 6 233 6 234 /* END OF: ttt.incl.pl1 * * * * * */ 407 408 8 1 /* begin include file - access_audit_eventflags.incl.pl1 */ 8 2 /* NOTE: This include file has an ALM counterpart made with cif. 8 3*Keep it up to date. */ 8 4 8 5 dcl 1 audit_event_flags based aligned, 8 6 2 special_op bit (1) unal, /* special sys operation */ 8 7 2 grant bit (1) unal, /* operation was successful */ 8 8 2 admin_op bit (1) unal, /* administrative operation */ 8 9 2 priv_op bit (1) unal, /* privileged operation */ 8 10 2 cc_1_10 bit (1) unal, /* small covert channel */ 8 11 2 cc_10_100 bit (1) unal, /* moderate covert channel */ 8 12 2 receiver bit (1) unal, /* on receiving end of channel */ 8 13 2 pad bit (29) unal; 8 14 8 15 /* end include file - access_audit_eventflags.incl.pl1 */ 409 410 9 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 9 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 9 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 9 4 9 5 /* This include file has an ALM version. Keep 'em in sync! */ 9 6 9 7 dcl ( 9 8 9 9 /* The following constants define the message action codes. This indicates 9 10*how a message is to be handled. */ 9 11 9 12 SYSERR_CRASH_SYSTEM init (1), 9 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 9 14 9 15 SYSERR_TERMINATE_PROCESS init (2), 9 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 9 17 9 18 SYSERR_PRINT_WITH_ALARM init (3), 9 19 BEEP init (3), /* Beep and print the message on the console. */ 9 20 9 21 SYSERR_PRINT_ON_CONSOLE init (0), 9 22 ANNOUNCE init (0), /* Just print the message on the console. */ 9 23 9 24 SYSERR_LOG_OR_PRINT init (4), 9 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 9 26 9 27 SYSERR_LOG_OR_DISCARD init (5), 9 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 9 29 9 30 9 31 /* The following constants are added to the normal severities to indicate 9 32*different sorting classes of messages. */ 9 33 9 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 9 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 9 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 9 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 9 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 9 39 ) fixed bin internal static options (constant); 9 40 9 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 411 412 413 debug: 414 entry (d, e); 415 dcl (d, e) char (*); 416 417 TTT_dir = d; 418 TTT_entryname = e; 419 return; 420 end install_ttt_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/15/89 0800.6 install_ttt_.pl1 >special_ldd>install>MR12.3-1025>install_ttt_.pl1 399 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 401 2 09/09/75 2007.3 author_dcl.incl.pl1 >ldd>include>author_dcl.incl.pl1 2-10 3 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 403 4 03/15/89 0759.4 create_branch_info.incl.pl1 >special_ldd>install>MR12.3-1025>create_branch_info.incl.pl1 405 5 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.incl.pl1 407 6 10/18/88 1210.6 ttt.incl.pl1 >ldd>include>ttt.incl.pl1 6-232 7 10/18/88 1210.6 tty_convert.incl.pl1 >ldd>include>tty_convert.incl.pl1 409 8 01/30/85 1523.9 access_audit_eventflags.incl.pl1 >ldd>include>access_audit_eventflags.incl.pl1 411 9 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.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. Code parameter fixed bin(35,0) dcl 53 set ref 29 297* 303* Complaint parameter char packed unaligned dcl 52 set ref 29 302* LEGAL_CHARS 000003 constant char(37) initial packed unaligned dcl 123 ref 252 ME 000015 constant char(32) initial packed unaligned dcl 122 set ref 164* 207* 215* 295* 327* RW_ACCESS 000002 constant bit(3) initial packed unaligned dcl 1-11 set ref 195* 360 375* 385 387 R_ACCESS constant bit(3) initial packed unaligned dcl 1-11 ref 389 SYSERR_LOG_OR_DISCARD 000027 constant fixed bin(17,0) initial dcl 9-7 set ref 168* 291* 392* TERM_FILE_TERM 000000 constant bit(3) initial packed unaligned dcl 5-14 set ref 337* TERM_FILE_TRUNC_BC 000001 constant bit(2) initial packed unaligned dcl 5-13 set ref 290* TTT_dir 000010 internal static char(168) initial packed unaligned dcl 119 set ref 195* 203* 372* 375* 391* 417* TTT_entryname 000062 internal static char(32) initial packed unaligned dcl 120 set ref 195* 203* 372* 375* 391* 418* TTT_pointer parameter pointer dcl 50 ref 29 172 TTT_version_4 constant fixed bin(17,0) initial dcl 6-30 ref 177 Wordcount parameter fixed bin(18,0) unsigned dcl 51 ref 29 149 access_audit_r1_$log_general 000072 constant entry external dcl 57 ref 207 215 access_class 20 000352 automatic bit(72) level 2 dcl 350 set ref 368* access_name 000375 automatic char(32) array level 2 dcl 351 set ref 384* 386* 388* access_operations_$install_table 000142 external static bit(36) dcl 82 set ref 207* 215* additional_info 112 based structure level 2 dcl 6-59 addr builtin function dcl 139 ref 251 263 313 372 372 391 391 admin_gate_$syserr_error_code 000074 constant entry external dcl 59 ref 168 291 392 admin_op 0(02) 000100 automatic bit(1) level 2 packed packed unaligned dcl 102 set ref 206* 214* audit_event_flags based structure level 1 dcl 8-5 author based structure level 2 in structure "author_dcl" dcl 2-9 in procedure "install_ttt_" author based structure level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" author_dcl based structure level 1 dcl 2-9 auto_event_flags 000100 automatic structure level 1 dcl 102 set ref 205* 207 207 212* 215 215 bin builtin function dcl 139 ref 313 bitcnt 16 000352 automatic fixed bin(24,0) level 2 dcl 350 set ref 366* c_chars based structure level 1 dcl 7-54 cbi 000352 automatic structure level 1 dcl 350 set ref 372 372 cleanup 000314 stack reference condition dcl 136 ref 145 clock builtin function dcl 139 ref 284 code parameter fixed bin(35,0) dcl 349 in procedure "try_to_create_ttt" set ref 346 370* 372* 373 375* 376 376* 391* 392 392* 395* code 000101 automatic fixed bin(35,0) dcl 103 in procedure "install_ttt_" set ref 150* 157* 164* 165 168* 180* 195* 196 196* 199 199* 201 207* 215* 231* 232 232 232* 235 256* 290* 291 291* 303 318* coded_type 134 based fixed bin(17,0) level 2 in structure "tte" dcl 6-59 in procedure "install_ttt_" set ref 273* 275* coded_type 206 based fixed bin(17,0) array level 3 in structure "system_ttt" dcl 131 in procedure "install_ttt_" ref 275 complaint 000102 automatic char(128) packed unaligned dcl 104 set ref 151* 156* 167* 168* 179* 204* 237* 255* 302 317* create_branch_info based structure level 1 dcl 4-17 create_branch_version_2 constant fixed bin(17,0) initial dcl 4-35 ref 357 cu_$level_get 000120 constant entry external dcl 71 ref 147 cu_$level_set 000122 constant entry external dcl 72 ref 193 341 cv_trans based structure level 1 dcl 7-62 cv_trans_struc based structure level 1 dcl 7-107 d parameter char packed unaligned dcl 415 ref 413 417 delay based structure level 1 dcl 7-66 dir_quota 22 000352 automatic fixed bin(18,0) level 2 dcl 350 set ref 367* e parameter char packed unaligned dcl 415 ref 413 418 error_table_$improper_data_format 000162 external static fixed bin(35,0) dcl 97 ref 318 error_table_$invalid_ascii 000152 external static fixed bin(35,0) dcl 90 ref 256 error_table_$invalid_lock_reset 000146 external static fixed bin(35,0) dcl 87 ref 232 error_table_$locked_by_this_process 000144 external static fixed bin(35,0) dcl 85 ref 232 error_table_$noentry 000160 external static fixed bin(35,0) dcl 96 ref 199 error_table_$smallarg 000150 external static fixed bin(35,0) dcl 89 ref 157 error_table_$unimplemented_version 000154 external static fixed bin(35,0) dcl 92 ref 180 error_table_$zero_length_seg 000156 external static fixed bin(35,0) dcl 94 ref 196 376 get_group_id_ 000102 constant entry external dcl 63 ref 184 365 get_group_id_$tag_star 000104 constant entry external dcl 64 ref 384 get_ring_ 000124 constant entry external dcl 73 ref 193 193 362 get_temp_segment_ 000136 constant entry external dcl 79 ref 164 get_wdir_ 000100 constant entry external dcl 62 ref 188 grant 0(01) 000100 automatic bit(1) level 2 packed packed unaligned dcl 102 set ref 213* hbound builtin function dcl 139 ref 391 391 hcs_$create_branch_ 000114 constant entry external dcl 69 ref 372 hcs_$replace_acl 000112 constant entry external dcl 68 ref 391 hcs_$set_damaged_sw_seg 000110 constant entry external dcl 66 ref 223 hcs_$set_safety_sw_seg 000106 constant entry external dcl 65 ref 378 hcs_$truncate_seg 000116 constant entry external dcl 70 ref 224 highest 000142 automatic fixed bin(17,0) dcl 105 set ref 227* 273 273* 278 highest_coded_type 51 based fixed bin(17,0) level 2 in structure "system_ttt" dcl 131 in procedure "install_ttt_" ref 227 highest_coded_type 51 based fixed bin(17,0) level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" set ref 278* i 000143 automatic fixed bin(17,0) dcl 106 set ref 250* 251* initial_string 110 based structure level 2 dcl 6-59 initiate_file_ 000076 constant entry external dcl 61 ref 195 375 j 000144 automatic fixed bin(17,0) dcl 107 set ref 264* 265* 270* 270* 273 275 last_install_time 12 based fixed bin(71,0) level 3 dcl 6-34 set ref 186* 284* length builtin function dcl 139 ref 189 lock 10 based bit(36) level 3 dcl 6-34 set ref 185* 231* 287* 334* locked 000150 automatic bit(1) dcl 109 set ref 144* 241* 288* 332 338* mbz2 2(03) 000352 automatic bit(33) level 2 packed packed unaligned dcl 350 set ref 361* mode 2 000352 automatic bit(3) level 2 packed packed unaligned dcl 350 set ref 360* modes 10 000375 automatic bit(36) array level 2 dcl 351 set ref 385* 387* 389* n_tt_entries 36 based fixed bin(17,0) level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" ref 250 313 n_tt_entries 36 based fixed bin(17,0) level 2 in structure "system_ttt" dcl 131 in procedure "install_ttt_" ref 270 273 name based char(32) level 2 in structure "tte" packed packed unaligned dcl 6-59 in procedure "install_ttt_" ref 252 255 270 317 name 52 based char(32) array level 3 in structure "system_ttt" packed packed unaligned dcl 131 in procedure "install_ttt_" ref 270 null builtin function dcl 139 ref 143 207 207 215 215 327 329 330 339 offset 110 based fixed bin(18,0) level 3 in structure "tte" dcl 6-59 in procedure "install_ttt_" set ref 260* offset 112 based fixed bin(18,0) level 3 in structure "tte" dcl 6-59 in procedure "install_ttt_" set ref 262* offset parameter fixed bin(18,0) dcl 311 in procedure "check_offset" ref 306 313 313 313 parent_ac_sw 1(04) 000352 automatic bit(1) level 3 packed packed unaligned dcl 350 set ref 359* path 000151 automatic varying char(168) dcl 110 set ref 152* 203* 204 pathname_ 000126 constant entry external dcl 74 ref 203 proc_group_id based char(32) level 3 dcl 6-34 set ref 184* 237 247 248* 248 335* quota 17 000352 automatic fixed bin(18,0) level 2 dcl 350 set ref 367* rel builtin function dcl 139 ref 313 release_temp_segment_ 000140 constant entry external dcl 79 ref 295 327 rings 3 000352 automatic fixed bin(3,0) array level 2 dcl 350 set ref 362* 363* 364* rp based fixed bin(18,0) array dcl 128 set ref 265* rtrim builtin function dcl 139 ref 252 255 saved_level 000224 automatic fixed bin(3,0) dcl 111 set ref 142* 147* 207 215 341 341* 343* saved_proc_group_id 000225 automatic char(32) dcl 112 set ref 247* 335 seg_fault_error 000322 stack reference condition dcl 137 ref 219 229 segment_acl 000375 automatic structure array level 1 dcl 351 set ref 391 391 391 391 set_lock_$lock 000130 constant entry external dcl 75 ref 231 set_lock_$unlock 000132 constant entry external dcl 76 ref 287 334 status_code 12 000375 automatic fixed bin(35,0) array level 2 dcl 351 set ref 382* string builtin function dcl 139 set ref 205* 207 207 212* 215 215 358* substr builtin function dcl 139 ref 189 switches 1 000352 automatic structure level 2 packed packed unaligned dcl 350 set ref 358* system_ttt based structure level 1 dcl 131 system_tttp 000236 automatic pointer dcl 113 set ref 143* 195* 223* 224* 227 231 237 247 248 270 270 273 275 286 287 290* 330 334 335 337* 339* 375* 378* table 14 based char(4) level 3 dcl 6-34 set ref 187* table_entry based structure level 1 dcl 6-137 tables 116 based structure level 2 in structure "tte" dcl 6-59 in procedure "install_ttt_" set ref 263 tables based structure array level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" set ref 313 tabp 000146 automatic pointer dcl 108 set ref 263* 265 template based structure level 1 packed packed unaligned dcl 6-196 terminate_file_ 000134 constant entry external dcl 77 ref 290 337 total_ttt_size 45 based fixed bin(18,0) level 2 dcl 6-34 ref 282 313 tt_entries 52 based structure array level 2 in structure "system_ttt" dcl 131 in procedure "install_ttt_" tt_entries 52 based structure array level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" set ref 251 tte based structure level 1 dcl 6-59 ttep 000332 automatic pointer dcl 6-57 set ref 251* 252 255 260 262 263 270 273 275 317 ttt based structure level 1 dcl 6-34 ttt_seg_copy_var based bit(36) array dcl 130 set ref 172* 172 286* 286 tttp 000330 automatic pointer dcl 6-32 set ref 143* 164* 172 177 184 185 186 187 189 189 248 250 251 278 282 284 286 295* 313 313 327 327* 329* userid 6 000352 automatic char(32) level 2 dcl 350 set ref 365* verify builtin function dcl 139 ref 252 version 000352 automatic fixed bin(17,0) level 2 in structure "cbi" dcl 350 in procedure "try_to_create_ttt" set ref 357* version 35 based fixed bin(17,0) level 2 in structure "ttt" dcl 6-34 in procedure "install_ttt_" ref 177 w_dir 15 based char(64) level 3 dcl 6-34 set ref 189* 189 wdir 000240 automatic char(168) packed unaligned dcl 114 set ref 188* 189 wordcount 000312 automatic fixed bin(18,0) unsigned dcl 115 set ref 149* 154 172 282* 286 290 xmodes 11 000375 automatic bit(36) array level 2 dcl 351 set ref 381* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANNOUNCE internal static fixed bin(17,0) initial dcl 9-7 A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 BEEP internal static fixed bin(17,0) initial dcl 9-7 CONV_TYPE internal static fixed bin(17,0) initial dcl 6-221 CRASH internal static fixed bin(17,0) initial dcl 9-7 CV_TRANS_SIZE internal static fixed bin(17,0) initial array dcl 7-129 CV_TRANS_VERSION internal static fixed bin(17,0) initial dcl 7-127 DELAY_VERSION internal static fixed bin(17,0) initial dcl 7-126 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 DSATM_DEVICE_RP internal static fixed bin(17,0) initial dcl 6-118 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 FKEY_TYPE internal static fixed bin(17,0) initial dcl 6-224 FUNCTION_KEY_RP internal static fixed bin(17,0) initial dcl 6-118 INPUT_CONVERT_BREAK internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_DSA_CR_PROCESSING internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_ESCAPE internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_FORMFEED internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 7-135 INPUT_CONVERT_PRECEDENCE_DISCARD internal static fixed bin(8,0) initial packed unaligned dcl 7-135 JUST_LOG internal static fixed bin(17,0) initial dcl 9-7 LOG internal static fixed bin(17,0) initial dcl 9-7 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 OUTPUT_CONVERT_BRS internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_BS internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_CR internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_DONT_SEND internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_FF internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_FIRST_SPECIAL internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_HT internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NEWLINE internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NOT_USED_13 internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NOT_USED_14 internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NOT_USED_15 internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NOT_USED_16 internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_OCTAL internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_ORDINARY internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_PRECEDENCE_NO_MOTION internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_RRS internal static fixed bin(8,0) initial packed unaligned dcl 7-147 OUTPUT_CONVERT_VT internal static fixed bin(8,0) initial packed unaligned dcl 7-147 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SPECIAL_INFO_STRUCT_VERSION_1 internal static char(8) initial packed unaligned dcl 7-122 SPECIAL_VERSION internal static fixed bin(17,0) initial dcl 7-124 SPECIAL_VERSION_2 internal static fixed bin(17,0) initial dcl 7-125 SPEC_TYPE internal static fixed bin(17,0) initial dcl 6-223 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 9-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 9-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 9-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 9-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 9-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 9-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 9-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 9-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 9-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 9-7 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 9-7 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 5-12 TERM_FILE_DELETE internal static bit(5) initial packed unaligned dcl 5-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 5-16 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 5-11 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 5-15 TRANS_TYPE internal static fixed bin(17,0) initial dcl 6-222 VIDEO_RP internal static fixed bin(17,0) initial dcl 6-118 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 answerback_entry based structure level 1 dcl 6-214 answerback_entry_ptr automatic pointer dcl 6-211 answerback_length automatic fixed bin(17,0) dcl 6-212 c_chars_ptr automatic pointer dcl 7-53 delay_struc based structure level 1 dcl 7-112 delay_table based structure level 1 dcl 6-202 delay_tablep automatic pointer dcl 6-200 dftt based structure level 1 dcl 6-127 dfttp automatic pointer dcl 6-125 extended_tables based structure level 1 dcl 6-114 extended_tables_ntables internal static fixed bin(17,0) initial dcl 6-122 extended_tablesp automatic pointer dcl 6-112 fkey_table based structure level 1 dcl 6-177 fkey_tablep automatic pointer dcl 6-175 get_special_info_struc based structure level 1 dcl 7-117 pa_name internal static char(3) initial array packed unaligned dcl 6-229 sc_escape_len automatic fixed bin(17,0) dcl 7-58 sc_input_escape_len automatic fixed bin(17,0) dcl 7-59 special_chars based structure level 1 dcl 7-26 special_chars_struc based structure level 1 dcl 7-76 special_table based structure level 1 dcl 6-143 table_types internal static char(12) initial array packed unaligned dcl 6-226 tablep automatic pointer dcl 6-135 template_ptr automatic pointer dcl 6-194 terminate_file_switches based structure level 1 packed packed unaligned dcl 5-4 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_RETURN 001435 constant label dcl 300 ref 158 169 181 209 238 257 319 check_offset 001513 constant entry internal dcl 306 ref 260 262 265 clean_up 001560 constant entry internal dcl 325 ref 145 300 debug 001456 constant entry external dcl 413 install_ttt_ 000232 constant entry external dcl 29 try_to_create_ttt 001713 constant entry internal dcl 346 ref 199 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3070 3254 2452 3100 Length 3714 2452 164 423 416 62 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME install_ttt_ 462 external procedure is an external procedure. on unit on line 145 64 on unit on unit on line 219 74 on unit check_offset internal procedure shares stack frame of external procedure install_ttt_. clean_up 98 internal procedure is called by several nonquick procedures. try_to_create_ttt internal procedure shares stack frame of external procedure install_ttt_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 TTT_dir install_ttt_ 000062 TTT_entryname install_ttt_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME install_ttt_ 000100 auto_event_flags install_ttt_ 000101 code install_ttt_ 000102 complaint install_ttt_ 000142 highest install_ttt_ 000143 i install_ttt_ 000144 j install_ttt_ 000146 tabp install_ttt_ 000150 locked install_ttt_ 000151 path install_ttt_ 000224 saved_level install_ttt_ 000225 saved_proc_group_id install_ttt_ 000236 system_tttp install_ttt_ 000240 wdir install_ttt_ 000312 wordcount install_ttt_ 000330 tttp install_ttt_ 000332 ttep install_ttt_ 000352 cbi try_to_create_ttt 000375 segment_acl try_to_create_ttt THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op shorten_stack ext_entry_desc int_entry clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. access_audit_r1_$log_general admin_gate_$syserr_error_code cu_$level_get cu_$level_set get_group_id_ get_group_id_$tag_star get_ring_ get_temp_segment_ get_wdir_ hcs_$create_branch_ hcs_$replace_acl hcs_$set_damaged_sw_seg hcs_$set_safety_sw_seg hcs_$truncate_seg initiate_file_ pathname_ release_temp_segment_ set_lock_$lock set_lock_$unlock terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. access_operations_$install_table error_table_$improper_data_format error_table_$invalid_ascii error_table_$invalid_lock_reset error_table_$locked_by_this_process error_table_$noentry error_table_$smallarg error_table_$unimplemented_version error_table_$zero_length_seg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 29 000225 142 000245 143 000247 144 000252 145 000253 147 000275 149 000304 150 000307 151 000310 152 000313 154 000314 156 000316 157 000321 158 000324 164 000325 165 000346 167 000350 168 000353 169 000404 172 000405 177 000416 179 000421 180 000424 181 000427 184 000430 185 000443 186 000444 187 000446 188 000450 189 000457 193 000463 195 000501 196 000537 199 000544 201 000551 203 000553 204 000600 205 000615 206 000617 207 000621 209 000677 212 000700 213 000701 214 000703 215 000705 219 000763 223 000777 224 001015 225 001033 227 001034 229 001037 231 001040 232 001054 235 001063 237 001065 238 001101 241 001103 247 001105 248 001111 250 001115 251 001125 252 001131 255 001155 256 001172 257 001176 260 001177 262 001205 263 001214 264 001217 265 001225 266 001234 270 001236 271 001257 273 001261 275 001273 276 001277 278 001301 282 001304 284 001306 286 001311 287 001317 288 001331 290 001332 291 001362 295 001410 297 001432 298 001434 300 001435 302 001441 303 001447 304 001451 413 001452 417 001476 418 001505 419 001512 306 001513 313 001515 317 001535 318 001551 319 001555 322 001556 325 001557 327 001565 329 001613 330 001616 332 001621 334 001623 335 001636 337 001643 338 001672 339 001674 341 001676 343 001707 344 001712 346 001713 357 001715 358 001717 359 001720 360 001722 361 001726 362 001730 363 001737 364 001741 365 001742 366 001754 367 001755 368 001757 370 001761 372 001763 373 002012 375 002016 376 002054 378 002062 381 002077 382 002111 384 002123 385 002135 386 002137 387 002142 388 002143 389 002146 391 002150 392 002214 395 002243 396 002245 ----------------------------------------------------------- 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