COMPILATION LISTING OF SEGMENT rcprm_verify_registries_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 0936.6 mst Sat 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(87-06-25,Rauschelbach), approve(87-06-29,MCR7736), 17* audit(87-07-21,Farley), install(87-08-06,MR12.1-1063): 18* System error message documentation was added. Also set 19* RTDT_area_len. 20* END HISTORY COMMENTS */ 21 22 23 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 24 rcprm_verify_registries_: 25 proc (p_sysdir, p_code); 26 27 dcl p_sysdir char (*) parameter; 28 dcl p_code fixed bin (35) parameter; 29 30 /* automatic */ 31 32 dcl caller_ring fixed bin; 33 dcl code fixed bin (35); 34 dcl error_occurred bit (1) initial (""b) aligned; 35 dcl registry_dir char (168); 36 dcl sysdir char (168); 37 38 /* builtins and conditions */ 39 40 dcl (null, pointer) builtin; 41 42 dcl cleanup condition; 43 44 /* entries */ 45 46 dcl admin_gate_$syserr_error_code 47 ext entry options (variable); 48 dcl ( 49 cu_$level_set, 50 cu_$level_get 51 ) ext entry (fixed bin); 52 dcl get_ring_ ext entry returns (fixed bin); 53 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 54 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 55 dcl rcprm_registry_mgr_$validate_registry 56 ext entry (char (*), pointer, fixed bin (35)); 57 dcl sys_info$max_seg_size fixed bin(35) ext static; 58 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 59 60 /* external static */ 61 62 dcl error_table_$action_not_performed 63 ext fixed bin (35) static; 64 65 sysdir = p_sysdir; 66 call cu_$level_get (caller_ring); 67 rtdtp = null (); 68 69 on cleanup call clean_up; 70 71 call cu_$level_set (get_ring_ ()); 72 73 RTDT_area_len = sys_info$max_seg_size - 32; /* Size of author info is 28, and there are four words before it in rtdt. */ 74 75 call initiate_file_ (sysdir, "rtdt", R_ACCESS, rtdtp, (0), code); 76 if code ^= 0 then 77 goto returner; 78 79 registry_dir = pathname_ (sysdir, "rcp"); 80 81 do rtdep = pointer (rtdt.first_resource, rtdt.rtdt_area) 82 repeat pointer (rtde.next_resource, rtdt.rtdt_area) while (rtdep ^= null); 83 84 if rtde.valid then 85 if ^rtde.is_synonym then do; 86 call rcprm_registry_mgr_$validate_registry (registry_dir, rtdep, code); 87 if code ^= 0 then do; 88 call admin_gate_$syserr_error_code (BEEP, code, "rcprm_verify_registries_: ^a.rcpr", 89 pathname_ (registry_dir, (rtde.name))); 90 error_occurred = "1"b; 91 end; 92 end; 93 end; 94 95 if error_occurred then 96 code = error_table_$action_not_performed; 97 else code = 0; 98 99 returner: 100 call clean_up; 101 p_code = code; 102 return; 103 104 clean_up: 105 proc; 106 107 if rtdtp ^= null () then 108 call terminate_file_ (rtdtp, 0, TERM_FILE_TERM, (0)); 109 call cu_$level_set (caller_ring); 110 111 end clean_up; 112 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 */ 113 114 2 1 /* --------------- BEGIN include file rtdt.incl.pl1 --------------- */ 2 2 2 3 dcl 1 rtdt aligned based (rtdtp), /* resource type description table */ 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 4 2 5 2 version fixed bin, /* version number */ 2 6 2 installed_under_resource_mgt bit (1) aligned, /* resource mgt. was ON when this was installed */ 2 7 2 charge_type_table_ptr offset, /* points to charge_type_table */ 2 8 2 first_resource offset, /* chain for RTDE's */ 2 9 2 rtdt_area area (RTDT_area_len); /* all following items allocated here */ 2 10 2 11 dcl 1 charge_type_table aligned based (cttp), /* describes charges for resource types */ 2 12 2 n_charge_types fixed bin, /* number of distinct charge types */ 2 13 2 charge_types (N_CHARGE_TYPES refer (charge_type_table.n_charge_types)) aligned char (32), 2 14 2 flagword fixed bin (35) aligned; /* this word simply help us set bitcount properly */ 2 15 2 16 dcl 1 rtde aligned based (rtdep), /* describes one resource type */ 2 17 2 fixed_info aligned, 2 18 3 next_resource offset, /* chains to next type, or nullo */ 2 19 3 name char (32), /* name of resource type, e.g. "tape_drive" */ 2 20 3 syn_to char (32), /* if is_synonym this is master syn */ 2 21 3 precanon_proc char (64), /* name of routine to standardize resource name */ 2 22 3 pad_1 (16) fixed bin (35), 2 23 3 flags unaligned, 2 24 4 (valid, /* resource type hasn't been deleted */ 2 25 is_volume, /* specifies volume or device type */ 2 26 manual_clear, /* volumes of this type to be "degaussed" between owners */ 2 27 addition_pending, /* bookkeeping bit for upd_rtdt_ */ 2 28 deletion_pending, 2 29 is_synonym) bit (1) unaligned, /* ditto */ 2 30 4 pad bit (12) unaligned, 2 31 3 (process_limit, /* how many can you assign at one time */ 2 32 default_time, /* implicit reservations are for how many minutes */ 2 33 max_time, /* how long can you reserve it for */ 2 34 advance_notice_time, /* warn operator to prepare mount ahead of time */ 2 35 pad2, 2 36 n_exclusion_specs, /* number of distinct "name=" fields in attributes */ 2 37 n_mates, /* number of mating devs/vols for this vol/dev */ 2 38 n_subtypes, /* number of registration subtypes */ 2 39 n_defined_attributes) fixed bin (17) unaligned, /* number of defined attributes */ 2 40 3 pad_2 (8) fixed bin (35), 2 41 3 attributes_valid bit (72) aligned, /* "1"b if corresp. attribute undeleted */ 2 42 3 attributes_to_match bit (72) aligned, /* potential mate must possess these attributes */ 2 43 3 attribute_names (72) char (12) aligned, /* all possible attributes for this resource */ 2 44 3 exclusion_specs (36) bit (72) aligned, /* each masks all attrributes of the form "key=val" */ 2 45 3 pad_3 (32) fixed bin (35), 2 46 3 registration_defaults aligned, /* applied at reg. time if none given */ 2 47 4 default_flags aligned, 2 48 5 (potential_attributes_given, /* "1"b = there are default potential_attributes */ 2 49 attributes_given, /* and similarly, etc. */ 2 50 aim_range_given, 2 51 charge_type_given) bit (1) unaligned, 2 52 5 pad bit (31) unaligned, 2 53 4 potential_attributes bit (72) aligned, /* for registration, if given */ 2 54 4 attributes bit (72) aligned, /* for registration and also for runtime "I-don't-care" */ 2 55 4 aim_range (2) bit (72) aligned, /* and similarly, etc. */ 2 56 4 charge_type fixed bin, 2 57 4 pad_4 (8) fixed bin (35) aligned, 2 58 2 mates (N_MATES refer (rtde.n_mates)) char (32) aligned, 2 59 /* the volume type that mounts on this device, or vice versa */ 2 60 2 subtypes (N_SUBTYPES refer (rtde.n_subtypes)) aligned, /* named registration default groups */ 2 61 3 subtype_name char (32), /* name of the group */ 2 62 3 subtype_defaults like rtde.registration_defaults aligned; 2 63 2 64 dcl RTDT_version_3 fixed bin static options (constant) initial (3), 2 65 RTDT_version_2 fixed bin static options (constant) initial (2), 2 66 /* same format, but without precanon_proc */ 2 67 (N_MATES, N_SUBTYPES, N_CHARGE_TYPES) fixed bin, 2 68 RTDT_area_len fixed bin (18); 2 69 2 70 dcl (rtdep, rtdtp, cttp) pointer; 2 71 2 72 /* ---------------- END include file rtdt.incl.pl1 ---------------- */ 115 116 4 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 4 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 4 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 4 4 4 5 /* This include file has an ALM version. Keep 'em in sync! */ 4 6 4 7 dcl ( 4 8 4 9 /* The following constants define the message action codes. This indicates 4 10*how a message is to be handled. */ 4 11 4 12 SYSERR_CRASH_SYSTEM init (1), 4 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 4 14 4 15 SYSERR_TERMINATE_PROCESS init (2), 4 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 4 17 4 18 SYSERR_PRINT_WITH_ALARM init (3), 4 19 BEEP init (3), /* Beep and print the message on the console. */ 4 20 4 21 SYSERR_PRINT_ON_CONSOLE init (0), 4 22 ANNOUNCE init (0), /* Just print the message on the console. */ 4 23 4 24 SYSERR_LOG_OR_PRINT init (4), 4 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 4 26 4 27 SYSERR_LOG_OR_DISCARD init (5), 4 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 4 29 4 30 4 31 /* The following constants are added to the normal severities to indicate 4 32*different sorting classes of messages. */ 4 33 4 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 4 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 4 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 4 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 4 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 4 39 ) fixed bin internal static options (constant); 4 40 4 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 117 118 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 */ 119 120 121 end rcprm_verify_registries_; 122 /* BEGIN MESSAGE DOCUMENTATION 123* 124* Message: rcprm_verify_registries_: REGISTRY.rcpr 125* 126* S: $beep 127* 128* T: $run 129* 130* M: There is an error in the named registry. 131* 132* A: $contact_sa 133* 134* END MESSAGE DOCUMENTATION */ 135 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0806.7 rcprm_verify_registries_.pl1 >spec>install>1111>rcprm_verify_registries_.pl1 113 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 115 2 11/20/79 2015.6 rtdt.incl.pl1 >ldd>include>rtdt.incl.pl1 2-4 3 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 117 4 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.incl.pl1 119 5 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. BEEP 000014 constant fixed bin(17,0) initial dcl 4-7 set ref 88* RTDT_area_len 000236 automatic fixed bin(18,0) dcl 2-64 set ref 73* R_ACCESS 000001 constant bit(3) initial packed unaligned dcl 1-11 set ref 75* TERM_FILE_TERM 000000 constant bit(3) initial packed unaligned dcl 5-14 set ref 107* admin_gate_$syserr_error_code 000010 constant entry external dcl 46 ref 88 caller_ring 000100 automatic fixed bin(17,0) dcl 32 set ref 66* 109* cleanup 000230 stack reference condition dcl 42 ref 69 code 000101 automatic fixed bin(35,0) dcl 33 set ref 75* 76 86* 87 88* 95* 97* 101 cu_$level_get 000014 constant entry external dcl 48 ref 66 cu_$level_set 000012 constant entry external dcl 48 ref 71 109 error_occurred 000102 automatic bit(1) initial dcl 34 set ref 34* 90* 95 error_table_$action_not_performed 000032 external static fixed bin(35,0) dcl 62 ref 95 first_resource 40 based offset level 2 dcl 2-3 ref 81 fixed_info based structure level 2 dcl 2-16 flags 61 based structure level 3 packed packed unaligned dcl 2-16 get_ring_ 000016 constant entry external dcl 52 ref 71 71 initiate_file_ 000020 constant entry external dcl 53 ref 75 is_synonym 61(05) based bit(1) level 4 packed packed unaligned dcl 2-16 ref 84 name 1 based char(32) level 3 dcl 2-16 ref 88 88 next_resource based offset level 3 dcl 2-16 ref 93 null builtin function dcl 40 ref 67 81 107 p_code parameter fixed bin(35,0) dcl 28 set ref 24 101* p_sysdir parameter char packed unaligned dcl 27 ref 24 65 pathname_ 000022 constant entry external dcl 54 ref 79 88 88 pointer builtin function dcl 40 ref 81 93 rcprm_registry_mgr_$validate_registry 000024 constant entry external dcl 55 ref 86 registration_defaults 602 based structure level 3 dcl 2-16 registry_dir 000103 automatic char(168) packed unaligned dcl 35 set ref 79* 86* 88* 88* rtde based structure level 1 dcl 2-16 rtdep 000240 automatic pointer dcl 2-70 set ref 81* 81* 84 84 86* 88 88* 93 rtdt based structure level 1 dcl 2-3 rtdt_area 42 based area level 2 dcl 2-3 ref 81 93 rtdtp 000242 automatic pointer dcl 2-70 set ref 67* 75* 81 81 93 107 107* sys_info$max_seg_size 000026 external static fixed bin(35,0) dcl 57 ref 73 sysdir 000155 automatic char(168) packed unaligned dcl 36 set ref 65* 75* 79* terminate_file_ 000030 constant entry external dcl 58 ref 107 valid 61 based bit(1) level 4 packed packed unaligned dcl 2-16 ref 84 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANNOUNCE internal static fixed bin(17,0) initial dcl 4-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 CRASH internal static fixed bin(17,0) initial dcl 4-7 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 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 JUST_LOG internal static fixed bin(17,0) initial dcl 4-7 LOG internal static fixed bin(17,0) initial dcl 4-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 N_CHARGE_TYPES automatic fixed bin(17,0) dcl 2-64 N_MATES automatic fixed bin(17,0) dcl 2-64 N_SUBTYPES automatic fixed bin(17,0) dcl 2-64 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 RTDT_version_2 internal static fixed bin(17,0) initial dcl 2-64 RTDT_version_3 internal static fixed bin(17,0) initial dcl 2-64 RW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 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 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 4-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 4-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 4-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 4-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 4-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 4-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 4-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 4-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 4-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 4-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 4-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 4-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 internal static bit(2) initial packed unaligned dcl 5-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 5-15 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 charge_type_table based structure level 1 dcl 2-11 cttp automatic pointer dcl 2-70 terminate_file_switches based structure level 1 packed packed unaligned dcl 5-4 NAMES DECLARED BY EXPLICIT CONTEXT. clean_up 000376 constant entry internal dcl 104 ref 69 99 rcprm_verify_registries_ 000043 constant entry external dcl 24 returner 000365 constant label dcl 99 ref 76 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 642 676 447 652 Length 1166 447 34 254 172 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rcprm_verify_registries_ 280 external procedure is an external procedure. on unit on line 69 64 on unit clean_up 84 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rcprm_verify_registries_ 000100 caller_ring rcprm_verify_registries_ 000101 code rcprm_verify_registries_ 000102 error_occurred rcprm_verify_registries_ 000103 registry_dir rcprm_verify_registries_ 000155 sysdir rcprm_verify_registries_ 000236 RTDT_area_len rcprm_verify_registries_ 000240 rtdep rcprm_verify_registries_ 000242 rtdtp rcprm_verify_registries_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op ext_entry_desc int_entry pointer_hard THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. admin_gate_$syserr_error_code cu_$level_get cu_$level_set get_ring_ initiate_file_ pathname_ rcprm_registry_mgr_$validate_registry terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$action_not_performed sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000037 34 000056 65 000057 66 000064 67 000072 69 000074 71 000116 73 000134 75 000143 76 000202 79 000204 81 000226 84 000240 86 000247 87 000270 88 000272 90 000346 93 000350 95 000356 97 000364 99 000365 101 000371 102 000374 104 000375 107 000403 109 000436 111 000446 ----------------------------------------------------------- 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