COMPILATION LISTING OF SEGMENT dm_load_configuration_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1648.7 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: ^indcom */ 8 9 /* DESCRIPTION: 10* 11* This program loads dm_system_data_ with the various configuration 12* file parameters that are different than in the installed dm_system_data_. 13* An example of this is the default before journal size. 14* 15* Several assumptions are made: 16* - The configuration file exists and has been locked and validated by the 17* process loading the system data, 18* - dm_system_data_ is addressable via an implicit link, 19* - the configuration file can be interpreted by overlaying a structure on 20* it (see dm_system_config.incl.pl1), and 21* - the site config parameters will either be zero (a.k.a. null) or 22* non-zero. Zero valued parameters will be ignored, the others loaded 23* into dm_system_data_. 24**/ 25 26 /* HISTORY: 27*Written by M. Pandolf, 12/07/82. 28*Modified: 29*03/21/83 by M. Pandolf: to use new dm_system_config dcl and to use new name 30* use new name for the config file, "dm_configuration". 31*03/23/83 by M. Pandolf: to set default bj dirs and to set shutdown delay. 32*03/28/83 by M. Pandolf: to fix names of default bj dirs and to add 33* log_proc_terms. 34*04/07/83 by M. Pandolf: to fix bug in previous change. 35*05/09/83 by L. A. Newcomb: to work with new config programs: lock and find. 36*11/04/83 by M. Pandolf: to set default before journal name to 37* system_default.bj for extended object integration. 38*05/29/84 by Lindsey L. Spratt: Changed to use version 2 of dm_system_config. 39* Fixed to check the version of dm_system_config. Removed dcl of 40* $bj_max_n_journals. 41*06/12/84 by Lindsey Spratt: Added initialization of the 42* $initializer_shutdown_delay cell. 43*09/05/84 by Lee A. Newcomb: Renamed 44* dm_system_data_$initializer_shutdown_delay to be 45* $user_shutdown_delay to agree with dm_system_data_ changes. 46*11/22/84 by Lee A. Newcomb: Fixed to use dm_misc_util_$get_aim_dir. 47*12/10/84 by R. Michael Tague: Added comments and rearranged CHECK_VERSION args 48**/ 49 50 /* format: style2,^inddcls,linecom,ifthendo,ifthen,^indnoniterdo,dclind5,idind35 */ 51 52 dm_load_configuration_: 53 proc (p_dm_system_config_ptr); 54 55 /* START OF DECLARATIONS */ 56 57 /* Parameter */ 58 dcl p_dm_system_config_ptr ptr parameter; 59 60 /* Automatic */ 61 dcl code fixed bin (35) automatic; 62 63 /* Builtin */ 64 dcl null builtin; 65 66 /* Constant */ 67 dcl myname init ("dm_load_configuration_") char (32) varying internal static 68 options (constant); 69 70 /* Entries */ 71 dcl ( 72 dm_misc_util_$get_aim_dir entry (char (*)), 73 sub_err_ entry () options (variable) 74 ) external; 75 76 /* External */ 77 dcl ( 78 dm_system_data_$bj_default_dirname char (168), 79 dm_system_data_$bj_default_filename 80 char (32), 81 dm_system_data_$bj_default_journal_size 82 fixed bin, 83 dm_system_data_$bj_max_n_processes fixed bin, 84 dm_system_data_$initializer_wakeup_increment 85 fixed bin, 86 dm_system_data_$log_proc_terms bit (1) aligned, 87 dm_system_data_$max_n_transactions fixed bin, 88 dm_system_data_$user_shutdown_delay 89 fixed bin (71), 90 error_table_$unimplemented_version fixed bin (35) 91 ) external static; 92 93 /* END OF DECLARATIONS */ 94 95 /* set local version of config file pointer */ 96 97 dm_system_config_ptr = p_dm_system_config_ptr; 98 99 call CHECK_VERSION (dm_system_config.version, DM_CONFIG_VERSION_2, "dm_system_config"); 100 101 /* now fill in appropriate dm_system_data_ cells. */ 102 103 if dm_system_config.idle_timeout ^= 0 then 104 dm_system_data_$initializer_wakeup_increment = dm_system_config.idle_timeout; 105 106 if dm_system_config.shutdown_delay ^= 0 then 107 dm_system_data_$user_shutdown_delay = dm_system_config.shutdown_delay; 108 109 /* $log_proc_terms is always set, no default */ 110 111 dm_system_data_$log_proc_terms = dm_system_config.log_proc_terms; 112 113 if dm_system_config.max_n_txn ^= 0 then 114 dm_system_data_$max_n_transactions = dm_system_config.max_n_txn; 115 116 if dm_system_config.max_n_proc ^= 0 then 117 dm_system_data_$bj_max_n_processes = dm_system_config.max_n_proc; 118 119 if dm_system_config.default_bj_size ^= 0 then 120 dm_system_data_$bj_default_journal_size = dm_system_config.default_bj_size; 121 122 if dm_system_config.default_bj.dir = "" | dm_system_config.default_bj.dir = "aim_dir" then 123 call dm_misc_util_$get_aim_dir (dm_system_data_$bj_default_dirname); 124 125 /* 126* NOTE WELL: the non-deterministic keyword "bootload_dir" is passed directly 127* into dm_system_data_ to be interpreted at a later time by the before 128* journal manager. 129**/ 130 131 else dm_system_data_$bj_default_dirname = dm_system_config.default_bj.dir; 132 133 if dm_system_config.default_bj.entry = "" then 134 dm_system_data_$bj_default_filename = "system_default.bj"; 135 else dm_system_data_$bj_default_filename = dm_system_config.default_bj.entry; 136 137 return; 138 139 CHECK_VERSION: 140 proc (p_received_version, p_expected_version, p_structure_name); 141 142 dcl (p_expected_version, p_received_version) 143 char (8) aligned parameter; 144 dcl p_structure_name char (*) parameter; 145 146 if p_expected_version ^= p_received_version then 147 call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 148 "^/Expected version ^a of the ^a structure. 149 Received version ^a, instead.", p_expected_version, p_structure_name, p_received_version); 150 end CHECK_VERSION; 151 152 153 /* INCLUDE FILES START NEXT PAGE */ 154 1 1 /* BEGIN INCLUDE FILE dm_system_config.incl.pl1 */ 1 2 1 3 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 1 4 1 5 /* DESCRIPTION: 1 6* This is the structure of the data in a Data Management configuration 1 7* file. The configuration data is used during Data Management per-system 1 8* initialization to override hardcoded default in dm_system_data_ and 1 9* give the disposition of old bootloads. This table is created at runtime 1 10* via a call to dm_translate_system_config_ subroutine. 1 11* 1 12* NOTE: only the data in the dm_system_config_info structure is used 1 13* to generate the checksum; the dm_system_config structure is used to 1 14* overlay the segment containing the configuration data, including the 1 15* lock and checksum cells. 1 16**/ 1 17 /* HISTORY: 1 18*Written by M. Pandolf, 12/06/82. 1 19*Modified: 1 20*03/14/83 by M. Pandolf: for single AIM class structure and more items. 1 21*03/28/83 by M. Pandolf: for default default_bj and log_terms. 1 22*05/04/83 by L. A. Newcomb: Added new element, recovery_check_mode, and 1 23* changed the version and most character values to "char (8)"'s for 1 24* ease of use. A string of 8 blanks is no longer a valid value for 1 25* any of the char strings. 1 26*06/09/83 by L. A. Newcomb: moved lock to just before checksum so we can 1 27* correctly determine checksum without the lock in the way. 1 28*05/29/84 by Lindsey L. Spratt: Changed to version 2. Removed various cells 1 29* which are not used; first_boot, trace_stack_mode, max_n_bj and 1 30* subsystem_disposition (to enable/disable bjm, tm or lm). 1 31*06/12/84 by Lindsey L. Spratt: Added the shutdown_delay cell. 1 32**/ 1 33 1 34 dcl dm_system_config_ptr pointer; 1 35 1 36 dcl 1 dm_system_config aligned based (dm_system_config_ptr), 1 37 2 information like dm_system_config_info, 1 38 /* NEXT MUST NOT BE IN CHECKSUM VALUE */ 1 39 2 lock bit (36) aligned, /* to prevent installations during initialization */ 1 40 2 checksum fixed bin (35); /* for error detection */ 1 41 1 42 dcl 1 dm_system_config_info aligned based (dm_system_config_ptr), 1 43 2 version char (8) aligned, /* = DM_CONFIG_VERSION_2 */ 1 44 2 idle_timeout fixed bin, /* max time daemon will remain idle before wakeup */ 1 45 2 shutdown_delay fixed bin (71), /* Default time offset from issuing shutdown warning to forcing user shutdown */ 1 46 2 log_proc_terms bit (1) aligned, /* true if process terminations to be logged */ 1 47 2 max_n_txn fixed bin, /* found in the data segment */ 1 48 2 max_n_proc fixed bin, /* dm_system_data_ */ 1 49 2 default_bj_size fixed bin, /* size of before journal made by daemon */ 1 50 2 default_bj aligned, 1 51 3 dir char (168), /* dir containing default before journal */ 1 52 3 entry char (32), /* entryname of default before journal */ 1 53 2 prev_dm_disp aligned, /* what to do with old botload */ 1 54 3 adopt char (8), /* DM_ADOPT_OLD_BOOTLOAD | DM_DO_NOT_ADOPT_OLD_BOOTLOAD */ 1 55 3 hold char (8), /* DM_HOLD_OLD_BOOTLOAD_DIRECTORY | */ 1 56 /* DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY */ 1 57 3 recover char (8), /* DM_RECOVER_OLD_BOOTLOAD | */ 1 58 /* DM_DO_NOT_RECOVER_OLD_BOOTLOAD */ 1 59 3 recovery_check_mode char (8), /* DM_RECOVERY_CHECK_MODE_ON | DM_RECOVERY_CHECK_MODE_OFF */ 1 60 2 curr_dm_enable char (8); /* DM_FORCE_ENABLE_NEW_BOOTLOAD | */ 1 61 /* DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD */ 1 62 1 63 dcl ( /* all the "char (8) aligned" constants */ 1 64 DM_CONFIG_VERSION_2 init ("dmcnfg_2"), 1 65 1 66 DM_ADOPT_OLD_BOOTLOAD init ("adopt"), 1 67 DM_DO_NOT_ADOPT_OLD_BOOTLOAD init ("no_adopt"), 1 68 1 69 DM_FORCE_ENABLE_NEW_BOOTLOAD init ("fc_enabl"), 1 70 DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD init ("no_enabl"), 1 71 1 72 DM_HOLD_OLD_BOOTLOAD_DIRECTORY init ("hold"), 1 73 DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY init ("no_hold"), 1 74 1 75 DM_RECOVER_OLD_BOOTLOAD init ("do_recov"), 1 76 DM_DO_NOT_RECOVER_OLD_BOOTLOAD init ("no_recov"), 1 77 1 78 DM_RECOVERY_CHECK_MODE_ON init ("rcvck_on"), 1 79 DM_RECOVERY_CHECK_MODE_OFF init ("rcvck_of") 1 80 1 81 ) char (8) aligned internal static options (constant); 1 82 1 83 /* END INCLUDE FILE dm_system_config.incl.pl1 */ 155 156 2 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 2 2 /* format: style3 */ 2 3 2 4 /* These constants are to be used for the flags argument of sub_err_ */ 2 5 /* They are just "string (condition_info_header.action_flags)" */ 2 6 2 7 declare ( 2 8 ACTION_CAN_RESTART init (""b), 2 9 ACTION_CANT_RESTART init ("1"b), 2 10 ACTION_DEFAULT_RESTART 2 11 init ("01"b), 2 12 ACTION_QUIET_RESTART 2 13 init ("001"b), 2 14 ACTION_SUPPORT_SIGNAL 2 15 init ("0001"b) 2 16 ) bit (36) aligned internal static options (constant); 2 17 2 18 /* End include file */ 157 158 159 160 end dm_load_configuration_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1150.4 dm_load_configuration_.pl1 >spec>temp>famis1>dm_load_configuration_.pl1 155 1 01/03/85 1004.7 dm_system_config.incl.pl1 >spec>temp>famis1>dm_system_config.incl.pl1 157 2 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.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. ACTION_CANT_RESTART 000000 constant bit(36) initial dcl 2-7 set ref 146* DM_CONFIG_VERSION_2 000002 constant char(8) initial dcl 1-63 set ref 99* default_bj 12 based structure level 3 dcl 1-36 default_bj_size 11 based fixed bin(17,0) level 3 dcl 1-36 ref 119 119 dir 12 based char(168) level 4 dcl 1-36 ref 122 122 131 dm_misc_util_$get_aim_dir 000010 constant entry external dcl 71 ref 122 dm_system_config based structure level 1 dcl 1-36 dm_system_config_info based structure level 1 dcl 1-42 dm_system_config_ptr 000100 automatic pointer dcl 1-34 set ref 97* 99 103 103 106 106 111 113 113 116 116 119 119 122 122 131 133 135 dm_system_data_$bj_default_dirname 000014 external static char(168) unaligned dcl 77 set ref 122* 131* dm_system_data_$bj_default_filename 000016 external static char(32) unaligned dcl 77 set ref 133* 135* dm_system_data_$bj_default_journal_size 000020 external static fixed bin(17,0) dcl 77 set ref 119* dm_system_data_$bj_max_n_processes 000022 external static fixed bin(17,0) dcl 77 set ref 116* dm_system_data_$initializer_wakeup_increment 000024 external static fixed bin(17,0) dcl 77 set ref 103* dm_system_data_$log_proc_terms 000026 external static bit(1) dcl 77 set ref 111* dm_system_data_$max_n_transactions 000030 external static fixed bin(17,0) dcl 77 set ref 113* dm_system_data_$user_shutdown_delay 000032 external static fixed bin(71,0) dcl 77 set ref 106* entry 64 based char(32) level 4 dcl 1-36 ref 133 135 error_table_$unimplemented_version 000034 external static fixed bin(35,0) dcl 77 set ref 146* idle_timeout 2 based fixed bin(17,0) level 3 dcl 1-36 ref 103 103 information based structure level 2 dcl 1-36 log_proc_terms 6 based bit(1) level 3 dcl 1-36 ref 111 max_n_proc 10 based fixed bin(17,0) level 3 dcl 1-36 ref 116 116 max_n_txn 7 based fixed bin(17,0) level 3 dcl 1-36 ref 113 113 myname 000004 constant varying char(32) initial dcl 67 set ref 146* null builtin function dcl 64 ref 146 146 p_dm_system_config_ptr parameter pointer dcl 58 ref 52 97 p_expected_version parameter char(8) dcl 142 set ref 139 146 146* p_received_version parameter char(8) dcl 142 set ref 139 146 146* p_structure_name parameter char unaligned dcl 144 set ref 139 146* shutdown_delay 4 based fixed bin(71,0) level 3 dcl 1-36 ref 106 106 sub_err_ 000012 constant entry external dcl 71 ref 146 version based char(8) level 3 dcl 1-36 set ref 99* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 2-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 2-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 2-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 2-7 DM_ADOPT_OLD_BOOTLOAD internal static char(8) initial dcl 1-63 DM_DO_NOT_ADOPT_OLD_BOOTLOAD internal static char(8) initial dcl 1-63 DM_DO_NOT_FORCE_ENABLE_NEW_BOOTLOAD internal static char(8) initial dcl 1-63 DM_DO_NOT_HOLD_OLD_BOOTLOAD_DIRECTORY internal static char(8) initial dcl 1-63 DM_DO_NOT_RECOVER_OLD_BOOTLOAD internal static char(8) initial dcl 1-63 DM_FORCE_ENABLE_NEW_BOOTLOAD internal static char(8) initial dcl 1-63 DM_HOLD_OLD_BOOTLOAD_DIRECTORY internal static char(8) initial dcl 1-63 DM_RECOVERY_CHECK_MODE_OFF internal static char(8) initial dcl 1-63 DM_RECOVERY_CHECK_MODE_ON internal static char(8) initial dcl 1-63 DM_RECOVER_OLD_BOOTLOAD internal static char(8) initial dcl 1-63 code automatic fixed bin(35,0) dcl 61 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 000222 constant entry internal dcl 139 ref 99 dm_load_configuration_ 000073 constant entry external dcl 52 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 520 556 324 530 Length 1002 324 36 210 173 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_load_configuration_ 154 external procedure is an external procedure. CHECK_VERSION internal procedure shares stack frame of external procedure dm_load_configuration_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_load_configuration_ 000100 dm_system_config_ptr dm_load_configuration_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dm_misc_util_$get_aim_dir sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_system_data_$bj_default_dirname dm_system_data_$bj_default_filename dm_system_data_$bj_default_journal_size dm_system_data_$bj_max_n_processes dm_system_data_$initializer_wakeup_increment dm_system_data_$log_proc_terms dm_system_data_$max_n_transactions dm_system_data_$user_shutdown_delay error_table_$unimplemented_version CONSTANTS 000000 aa 400000000000 000002 aa 144 155 143 156 dmcn 000003 aa 146 147 137 062 fg_2 000004 aa 000000000026 000005 aa 144 155 137 154 dm_l 000006 aa 157 141 144 137 oad_ 000007 aa 143 157 156 146 conf 000010 aa 151 147 165 162 igur 000011 aa 141 164 151 157 atio 000012 aa 156 137 040 040 n_ 000013 aa 040 040 040 040 000014 aa 040 040 040 040 000015 aa 524000000112 000016 aa 404000000005 000017 aa 514000000044 000020 aa 530000000040 000021 aa 404000000043 000022 aa 526077777777 000023 aa 526000000250 000024 aa 524000000020 000025 aa 524000000010 000026 aa 464000000000 000030 aa 077777000043 000031 aa 000001000000 000032 aa 141 151 155 137 aim_ 000033 aa 144 151 162 000 dir 000034 aa 144 155 137 163 dm_s 000035 aa 171 163 164 145 yste 000036 aa 155 137 143 157 m_co 000037 aa 156 146 151 147 nfig 000040 aa 163 171 163 164 syst 000041 aa 145 155 137 144 em_d 000042 aa 145 146 141 165 efau 000043 aa 154 164 056 142 lt.b 000044 aa 152 000 000 000 j 000045 aa 136 057 105 170 ^/Ex 000046 aa 160 145 143 164 pect 000047 aa 145 144 040 166 ed v 000050 aa 145 162 163 151 ersi 000051 aa 157 156 040 136 on ^ 000052 aa 141 040 157 146 a of 000053 aa 040 164 150 145 the 000054 aa 040 136 141 040 ^a 000055 aa 163 164 162 165 stru 000056 aa 143 164 165 162 ctur 000057 aa 145 056 040 040 e. 000060 aa 012 122 145 143 Rec 000061 aa 145 151 166 145 eive 000062 aa 144 040 166 145 d ve 000063 aa 162 163 151 157 rsio 000064 aa 156 040 136 141 n ^a 000065 aa 054 040 151 156 , in 000066 aa 163 164 145 141 stea 000067 aa 144 056 000 000 d. BEGIN PROCEDURE dm_load_configuration_ ENTRY TO dm_load_configuration_ STATEMENT 1 ON LINE 52 dm_load_configuration_: proc (p_dm_system_config_ptr); 000070 at 000001000026 000071 ta 000070000000 000072 da 000167300000 000073 aa 000240 6270 00 eax7 160 000074 aa 7 00034 3521 20 epp2 pr7|28,* 000075 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000076 aa 000002000000 000077 aa 000000000000 STATEMENT 1 ON LINE 97 dm_system_config_ptr = p_dm_system_config_ptr; 000100 aa 6 00032 3735 20 epp7 pr6|26,* 000101 aa 7 00002 3715 20 epp5 pr7|2,* p_dm_system_config_ptr 000102 aa 5 00000 3715 20 epp5 pr5|0,* p_dm_system_config_ptr 000103 aa 6 00100 6515 00 spri5 pr6|64 dm_system_config_ptr STATEMENT 1 ON LINE 99 call CHECK_VERSION (dm_system_config.version, DM_CONFIG_VERSION_2, "dm_system_config"); 000104 aa 777730 2370 04 ldaq -40,ic 000034 = 144155137163 171163164145 000105 aa 6 00110 7571 00 staq pr6|72 000106 aa 777730 2370 04 ldaq -40,ic 000036 = 155137143157 156146151147 000107 aa 6 00112 7571 00 staq pr6|74 000110 aa 5 00000 3521 00 epp2 pr5|0 dm_system_config.version 000111 aa 6 00116 2521 00 spri2 pr6|78 000112 aa 777670 3520 04 epp2 -72,ic 000002 = 144155143156 000113 aa 6 00120 2521 00 spri2 pr6|80 000114 aa 6 00110 3521 00 epp2 pr6|72 000115 aa 6 00122 2521 00 spri2 pr6|82 000116 aa 777707 3520 04 epp2 -57,ic 000025 = 524000000010 000117 aa 6 00124 2521 00 spri2 pr6|84 000120 aa 6 00126 2521 00 spri2 pr6|86 000121 aa 777703 3520 04 epp2 -61,ic 000024 = 524000000020 000122 aa 6 00130 2521 00 spri2 pr6|88 000123 aa 6 00114 3521 00 epp2 pr6|76 000124 aa 014000 4310 07 fld 6144,dl 000125 aa 2 00000 7571 00 staq pr2|0 000126 aa 000074 6700 04 tsp4 60,ic 000222 STATEMENT 1 ON LINE 103 if dm_system_config.idle_timeout ^= 0 then dm_system_data_$initializer_wakeup_increment = dm_system_config.idle_timeout; 000127 aa 6 00100 3735 20 epp7 pr6|64,* dm_system_config_ptr 000130 aa 7 00002 2361 00 ldq pr7|2 dm_system_config.idle_timeout 000131 aa 000003 6000 04 tze 3,ic 000134 000132 aa 6 00044 3701 20 epp4 pr6|36,* 000133 la 4 00024 7561 20 stq pr4|20,* dm_system_data_$initializer_wakeup_increment STATEMENT 1 ON LINE 106 if dm_system_config.shutdown_delay ^= 0 then dm_system_data_$user_shutdown_delay = dm_system_config.shutdown_delay; 000134 aa 7 00004 2371 00 ldaq pr7|4 dm_system_config.shutdown_delay 000135 aa 000003 6000 04 tze 3,ic 000140 000136 aa 6 00044 3701 20 epp4 pr6|36,* 000137 la 4 00032 7571 20 staq pr4|26,* dm_system_data_$user_shutdown_delay STATEMENT 1 ON LINE 111 dm_system_data_$log_proc_terms = dm_system_config.log_proc_terms; 000140 aa 7 00006 2351 00 lda pr7|6 dm_system_config.log_proc_terms 000141 aa 6 00044 3701 20 epp4 pr6|36,* 000142 la 4 00026 7551 20 sta pr4|22,* dm_system_data_$log_proc_terms STATEMENT 1 ON LINE 113 if dm_system_config.max_n_txn ^= 0 then dm_system_data_$max_n_transactions = dm_system_config.max_n_txn; 000143 aa 7 00007 2361 00 ldq pr7|7 dm_system_config.max_n_txn 000144 aa 000002 6000 04 tze 2,ic 000146 000145 la 4 00030 7561 20 stq pr4|24,* dm_system_data_$max_n_transactions STATEMENT 1 ON LINE 116 if dm_system_config.max_n_proc ^= 0 then dm_system_data_$bj_max_n_processes = dm_system_config.max_n_proc; 000146 aa 7 00010 2361 00 ldq pr7|8 dm_system_config.max_n_proc 000147 aa 000002 6000 04 tze 2,ic 000151 000150 la 4 00022 7561 20 stq pr4|18,* dm_system_data_$bj_max_n_processes STATEMENT 1 ON LINE 119 if dm_system_config.default_bj_size ^= 0 then dm_system_data_$bj_default_journal_size = dm_system_config.default_bj_size; 000151 aa 7 00011 2361 00 ldq pr7|9 dm_system_config.default_bj_size 000152 aa 000002 6000 04 tze 2,ic 000154 000153 la 4 00020 7561 20 stq pr4|16,* dm_system_data_$bj_default_journal_size STATEMENT 1 ON LINE 122 if dm_system_config.default_bj.dir = "" | dm_system_config.default_bj.dir = "aim_dir" then call dm_misc_util_$get_aim_dir (dm_system_data_$bj_default_dirname); 000154 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000155 aa 7 00012 00 0250 desc9a pr7|10,168 dm_system_config.dir 000156 aa 000150 00 0000 desc9a 104,0 000324 = 000011000000 000157 aa 000005 6000 04 tze 5,ic 000164 000160 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000161 aa 7 00012 00 0250 desc9a pr7|10,168 dm_system_config.dir 000162 aa 777652 00 0007 desc9a -86,7 000032 = 141151155137 000163 aa 000012 6010 04 tnz 10,ic 000175 000164 la 4 00014 3521 20 epp2 pr4|12,* dm_system_data_$bj_default_dirname 000165 aa 6 00116 2521 00 spri2 pr6|78 000166 aa 777635 3520 04 epp2 -99,ic 000023 = 526000000250 000167 aa 6 00120 2521 00 spri2 pr6|80 000170 aa 6 00114 6211 00 eax1 pr6|76 000171 aa 004000 4310 07 fld 2048,dl 000172 la 4 00010 3521 20 epp2 pr4|8,* dm_misc_util_$get_aim_dir 000173 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000174 aa 000005 7100 04 tra 5,ic 000201 STATEMENT 1 ON LINE 131 else dm_system_data_$bj_default_dirname = dm_system_config.default_bj.dir; 000175 la 4 00014 3715 20 epp5 pr4|12,* dm_system_data_$bj_default_dirname 000176 aa 000 100 100 500 mlr (pr),(pr),fill(000) 000177 aa 7 00012 00 0250 desc9a pr7|10,168 dm_system_config.dir 000200 aa 5 00000 00 0250 desc9a pr5|0,168 dm_system_data_$bj_default_dirname STATEMENT 1 ON LINE 133 if dm_system_config.default_bj.entry = "" then dm_system_data_$bj_default_filename = "system_default.bj"; 000201 aa 6 00100 3735 20 epp7 pr6|64,* dm_system_config_ptr 000202 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000203 aa 7 00064 00 0040 desc9a pr7|52,32 dm_system_config.entry 000204 aa 000122 00 0000 desc9a 82,0 000324 = 000011000000 000205 aa 000007 6010 04 tnz 7,ic 000214 000206 aa 6 00044 3701 20 epp4 pr6|36,* 000207 la 4 00016 3715 20 epp5 pr4|14,* dm_system_data_$bj_default_filename 000210 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000211 aa 777630 00 0021 desc9a -104,17 000040 = 163171163164 000212 aa 5 00000 00 0040 desc9a pr5|0,32 dm_system_data_$bj_default_filename 000213 aa 000006 7100 04 tra 6,ic 000221 STATEMENT 1 ON LINE 135 else dm_system_data_$bj_default_filename = dm_system_config.default_bj.entry; 000214 aa 6 00044 3701 20 epp4 pr6|36,* 000215 la 4 00016 3715 20 epp5 pr4|14,* dm_system_data_$bj_default_filename 000216 aa 000 100 100 500 mlr (pr),(pr),fill(000) 000217 aa 7 00064 00 0040 desc9a pr7|52,32 dm_system_config.entry 000220 aa 5 00000 00 0040 desc9a pr5|0,32 dm_system_data_$bj_default_filename STATEMENT 1 ON LINE 137 return; 000221 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 160 end dm_load_configuration_; BEGIN PROCEDURE CHECK_VERSION ENTRY TO CHECK_VERSION STATEMENT 1 ON LINE 139 CHECK_VERSION: proc (p_received_version, p_expected_version, p_structure_name); 000222 aa 6 00102 6501 00 spri4 pr6|66 000223 aa 6 00104 2521 00 spri2 pr6|68 000224 aa 2 00002 3521 01 epp2 pr2|2,au 000225 aa 6 00106 2521 00 spri2 pr6|70 000226 aa 2 00004 2361 20 ldq pr2|4,* 000227 aa 000002 6040 04 tmi 2,ic 000231 000230 aa 777777 3760 07 anq 262143,dl 000231 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000232 aa 6 00134 7561 00 stq pr6|92 STATEMENT 1 ON LINE 146 if p_expected_version ^= p_received_version then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^a of the ^a structure. Received version ^a, instead.", p_expected_version, p_structure_name, p_received_version); 000233 aa 6 00104 3735 20 epp7 pr6|68,* 000234 aa 7 00004 3715 20 epp5 pr7|4,* 000235 aa 5 00000 2351 00 lda pr5|0 p_expected_version 000236 aa 5 00001 2361 00 ldq pr5|1 p_expected_version 000237 aa 7 00002 3535 20 epp3 pr7|2,* 000240 aa 3 00000 1151 00 cmpa pr3|0 p_received_version 000241 aa 000002 6010 04 tnz 2,ic 000243 000242 aa 3 00001 1161 00 cmpq pr3|1 p_received_version 000243 aa 000060 6000 04 tze 48,ic 000323 000244 aa 777564 3514 24 epp1 -140,ic* 000245 aa 6 00136 2515 00 spri1 pr6|94 000246 aa 6 00135 4501 00 stz pr6|93 000247 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000250 aa 777576 00 0114 desc9a -130,76 000045 = 136057105170 000251 aa 6 00140 00 0114 desc9a pr6|96,76 000252 aa 6 00044 3701 20 epp4 pr6|36,* 000253 la 4 00034 3521 20 epp2 pr4|28,* error_table_$unimplemented_version 000254 aa 6 00166 2521 00 spri2 pr6|118 000255 aa 777530 3520 04 epp2 -168,ic 000005 = 144155137154 000256 aa 6 00170 2521 00 spri2 pr6|120 000257 aa 777521 3520 04 epp2 -175,ic 000000 = 400000000000 000260 aa 6 00172 2521 00 spri2 pr6|122 000261 aa 6 00136 3521 00 epp2 pr6|94 000262 aa 6 00174 2521 00 spri2 pr6|124 000263 aa 6 00135 3521 00 epp2 pr6|93 000264 aa 6 00176 2521 00 spri2 pr6|126 000265 aa 6 00140 3521 00 epp2 pr6|96 000266 aa 6 00200 2521 00 spri2 pr6|128 000267 aa 7 00004 3521 20 epp2 pr7|4,* p_expected_version 000270 aa 6 00202 2521 00 spri2 pr6|130 000271 aa 7 00006 3521 20 epp2 pr7|6,* p_structure_name 000272 aa 6 00204 2521 00 spri2 pr6|132 000273 aa 7 00002 3521 20 epp2 pr7|2,* p_received_version 000274 aa 6 00206 2521 00 spri2 pr6|134 000275 aa 777524 3520 04 epp2 -172,ic 000021 = 404000000043 000276 aa 6 00210 2521 00 spri2 pr6|136 000277 aa 777521 3520 04 epp2 -175,ic 000020 = 530000000040 000300 aa 6 00212 2521 00 spri2 pr6|138 000301 aa 777516 3520 04 epp2 -178,ic 000017 = 514000000044 000302 aa 6 00214 2521 00 spri2 pr6|140 000303 aa 777523 3520 04 epp2 -173,ic 000026 = 464000000000 000304 aa 6 00216 2521 00 spri2 pr6|142 000305 aa 777511 3520 04 epp2 -183,ic 000016 = 404000000005 000306 aa 6 00220 2521 00 spri2 pr6|144 000307 aa 777506 3520 04 epp2 -186,ic 000015 = 524000000112 000310 aa 6 00222 2521 00 spri2 pr6|146 000311 aa 777514 3520 04 epp2 -180,ic 000025 = 524000000010 000312 aa 6 00224 2521 00 spri2 pr6|148 000313 aa 6 00230 2521 00 spri2 pr6|152 000314 aa 6 00106 3715 20 epp5 pr6|70,* 000315 aa 5 00004 3521 20 epp2 pr5|4,* 000316 aa 6 00226 2521 00 spri2 pr6|150 000317 aa 6 00164 6211 00 eax1 pr6|116 000320 aa 044000 4310 07 fld 18432,dl 000321 la 4 00012 3521 20 epp2 pr4|10,* sub_err_ 000322 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 150 end CHECK_VERSION; 000323 aa 6 00102 6101 00 rtcd pr6|66 END PROCEDURE CHECK_VERSION END PROCEDURE dm_load_configuration_ ----------------------------------------------------------- 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