COMPILATION LISTING OF SEGMENT dm_check_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.0 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* This program validates the various fields and indicators in a DM 10* configuration file. The check is the checksum stored in the file vs. 11* the calculated checksum. This should be expanded later to include 12* validity checking on the various fields and indicators stored in the file 13* to save the individual initialization programs from having to check the 14* values. 15**/ 16 17 /* HISTORY: 18* 19*Written by L. A. Newcomb, 05/09/83. 20*Modified: 21*05/29/84 by Lindsey L. Spratt: Converted to use version 2 of 22* dm_system_config. 23**/ 24 /* format: style2,ind3 */ 25 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 26 27 dm_check_configuration_: 28 proc (p_dm_system_config_ptr); 29 30 /* START OF DECLARATIONS */ 31 32 dcl /* Parameter */ 33 p_dm_system_config_ptr ptr; /* Loc. of DM config file. */ 34 35 dcl /* Automatics */ 36 calculated_config_checksum fixed bin (35) 37 automatic; 38 39 dcl /* Builtin */ 40 (null, size) builtin; 41 42 dcl /* Constant */ 43 myname init ("dm_check_configuration_") char (32) varying 44 internal static options (constant); 45 46 dcl /* Entries */ 47 dm_gen_checksum_ entry (ptr, fixed bin (18)) returns (fixed bin (35)), 48 sub_err_ entry () options (variable); 49 50 dcl ( /* Status Codes */ 51 dm_error_$system_config_file_checksum_err, 52 error_table_$unimplemented_version 53 ) fixed bin (35) external static; 54 55 /* END OF DECLARATIONS */ 56 57 /* copy parameter to local for ease of use. */ 58 59 dm_system_config_ptr = p_dm_system_config_ptr; 60 61 /* first check the version */ 62 63 call CHECK_VERSION (dm_system_config.version, DM_CONFIG_VERSION_2, "dm_system_config"); 64 65 /* now try the checksum if we get this far */ 66 67 calculated_config_checksum = dm_gen_checksum_ (dm_system_config_ptr, size (dm_system_config_info) - 1); 68 if calculated_config_checksum ^= dm_system_config.checksum then 69 call sub_err_ (dm_error_$system_config_file_checksum_err, myname, ACTION_CANT_RESTART, null (), 0, 70 "Config file checksum = ^d, generated checksum = ^d.", 71 dm_system_config.checksum, calculated_config_checksum); 72 73 return; 74 75 CHECK_VERSION: 76 proc (p_received_version, p_expected_version, p_structure_name); 77 dcl ( /* Parameters */ 78 p_received_version char (8) aligned, 79 p_expected_version char (8) aligned, 80 p_structure_name char (*) 81 ) parameter; 82 83 if p_received_version ^= p_expected_version then 84 call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 85 "^/Expected version ^a of the ^a structure. 86 Received version ^a instead.", p_expected_version, p_structure_name, p_received_version); 87 88 end CHECK_VERSION; 89 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 */ 90 91 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 */ 92 93 end dm_check_configuration_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1150.2 dm_check_configuration_.pl1 >spec>temp>famis1>dm_check_configuration_.pl1 90 1 01/03/85 1004.7 dm_system_config.incl.pl1 >spec>temp>famis1>dm_system_config.incl.pl1 92 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 68* 83* DM_CONFIG_VERSION_2 000002 constant char(8) initial dcl 1-63 set ref 63* calculated_config_checksum 000100 automatic fixed bin(35,0) dcl 35 set ref 67* 68 68* checksum 107 based fixed bin(35,0) level 2 dcl 1-36 set ref 68 68* dm_error_$system_config_file_checksum_err 000014 external static fixed bin(35,0) dcl 50 set ref 68* dm_gen_checksum_ 000010 constant entry external dcl 46 ref 67 dm_system_config based structure level 1 dcl 1-36 dm_system_config_info based structure level 1 dcl 1-42 ref 67 dm_system_config_ptr 000102 automatic pointer dcl 1-34 set ref 59* 63 67* 67 68 68 error_table_$unimplemented_version 000016 external static fixed bin(35,0) dcl 50 set ref 83* information based structure level 2 dcl 1-36 myname 000004 constant varying char(32) initial dcl 42 set ref 68* 83* null builtin function dcl 39 ref 68 68 83 83 p_dm_system_config_ptr parameter pointer dcl 32 ref 27 59 p_expected_version parameter char(8) dcl 77 set ref 75 83 83* p_received_version parameter char(8) dcl 77 set ref 75 83 83* p_structure_name parameter char unaligned dcl 77 set ref 75 83* size builtin function dcl 39 ref 67 sub_err_ 000012 constant entry external dcl 46 ref 68 83 version based char(8) level 3 dcl 1-36 set ref 63* 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 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 000227 constant entry internal dcl 75 ref 63 dm_check_configuration_ 000100 constant entry external dcl 27 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 432 452 331 442 Length 664 331 20 176 100 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_check_configuration_ 192 external procedure is an external procedure. CHECK_VERSION internal procedure shares stack frame of external procedure dm_check_configuration_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_check_configuration_ 000100 calculated_config_checksum dm_check_configuration_ 000102 dm_system_config_ptr dm_check_configuration_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dm_gen_checksum_ sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$system_config_file_checksum_err 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 000000000027 000005 aa 144 155 137 143 dm_c 000006 aa 150 145 143 153 heck 000007 aa 137 143 157 156 _con 000010 aa 146 151 147 165 figu 000011 aa 162 141 164 151 rati 000012 aa 157 156 137 040 on_ 000013 aa 040 040 040 040 000014 aa 040 040 040 040 000015 aa 524000000107 000016 aa 526077777777 000017 aa 524000000063 000020 aa 404000000005 000021 aa 514000000044 000022 aa 530000000040 000023 aa 524000000020 000024 aa 524000000010 000025 aa 404000000043 000026 aa 464000000000 000030 aa 077777000043 000031 aa 000001000000 000032 aa 144 155 137 163 dm_s 000033 aa 171 163 164 145 yste 000034 aa 155 137 143 157 m_co 000035 aa 156 146 151 147 nfig 000036 aa 103 157 156 146 Conf 000037 aa 151 147 040 146 ig f 000040 aa 151 154 145 040 ile 000041 aa 143 150 145 143 chec 000042 aa 153 163 165 155 ksum 000043 aa 040 075 040 136 = ^ 000044 aa 144 054 040 147 d, g 000045 aa 145 156 145 162 ener 000046 aa 141 164 145 144 ated 000047 aa 040 143 150 145 che 000050 aa 143 153 163 165 cksu 000051 aa 155 040 075 040 m = 000052 aa 136 144 056 000 ^d. 000053 aa 136 057 105 170 ^/Ex 000054 aa 160 145 143 164 pect 000055 aa 145 144 040 166 ed v 000056 aa 145 162 163 151 ersi 000057 aa 157 156 040 136 on ^ 000060 aa 141 040 157 146 a of 000061 aa 040 164 150 145 the 000062 aa 040 136 141 040 ^a 000063 aa 163 164 162 165 stru 000064 aa 143 164 165 162 ctur 000065 aa 145 056 012 122 e. R 000066 aa 145 143 145 151 ecei 000067 aa 166 145 144 040 ved 000070 aa 166 145 162 163 vers 000071 aa 151 157 156 040 ion 000072 aa 136 141 040 151 ^a i 000073 aa 156 163 164 145 nste 000074 aa 141 144 056 000 ad. BEGIN PROCEDURE dm_check_configuration_ ENTRY TO dm_check_configuration_ STATEMENT 1 ON LINE 27 dm_check_configuration_: proc (p_dm_system_config_ptr); 000075 at 000001000026 000076 ta 000075000000 000077 da 000074300000 000100 aa 000300 6270 00 eax7 192 000101 aa 7 00034 3521 20 epp2 pr7|28,* 000102 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000103 aa 000002000000 000104 aa 000000000000 STATEMENT 1 ON LINE 59 dm_system_config_ptr = p_dm_system_config_ptr; 000105 aa 6 00032 3735 20 epp7 pr6|26,* 000106 aa 7 00002 3715 20 epp5 pr7|2,* p_dm_system_config_ptr 000107 aa 5 00000 3715 20 epp5 pr5|0,* p_dm_system_config_ptr 000110 aa 6 00102 6515 00 spri5 pr6|66 dm_system_config_ptr STATEMENT 1 ON LINE 63 call CHECK_VERSION (dm_system_config.version, DM_CONFIG_VERSION_2, "dm_system_config"); 000111 aa 777721 2370 04 ldaq -47,ic 000032 = 144155137163 171163164145 000112 aa 6 00112 7571 00 staq pr6|74 000113 aa 777721 2370 04 ldaq -47,ic 000034 = 155137143157 156146151147 000114 aa 6 00114 7571 00 staq pr6|76 000115 aa 5 00000 3521 00 epp2 pr5|0 dm_system_config.version 000116 aa 6 00120 2521 00 spri2 pr6|80 000117 aa 777663 3520 04 epp2 -77,ic 000002 = 144155143156 000120 aa 6 00122 2521 00 spri2 pr6|82 000121 aa 6 00112 3521 00 epp2 pr6|74 000122 aa 6 00124 2521 00 spri2 pr6|84 000123 aa 777701 3520 04 epp2 -63,ic 000024 = 524000000010 000124 aa 6 00126 2521 00 spri2 pr6|86 000125 aa 6 00130 2521 00 spri2 pr6|88 000126 aa 777675 3520 04 epp2 -67,ic 000023 = 524000000020 000127 aa 6 00132 2521 00 spri2 pr6|90 000130 aa 6 00116 3521 00 epp2 pr6|78 000131 aa 014000 4310 07 fld 6144,dl 000132 aa 2 00000 7571 00 staq pr2|0 000133 aa 000074 6700 04 tsp4 60,ic 000227 STATEMENT 1 ON LINE 67 calculated_config_checksum = dm_gen_checksum_ (dm_system_config_ptr, size (dm_system_config_info) - 1); 000134 aa 000105 2360 07 ldq 69,dl 000135 aa 6 00136 7561 00 stq pr6|94 000136 aa 6 00102 3521 00 epp2 pr6|66 dm_system_config_ptr 000137 aa 6 00120 2521 00 spri2 pr6|80 000140 aa 6 00136 3521 00 epp2 pr6|94 000141 aa 6 00122 2521 00 spri2 pr6|82 000142 aa 6 00100 3521 00 epp2 pr6|64 calculated_config_checksum 000143 aa 6 00124 2521 00 spri2 pr6|84 000144 aa 6 00116 6211 00 eax1 pr6|78 000145 aa 014000 4310 07 fld 6144,dl 000146 aa 6 00044 3701 20 epp4 pr6|36,* 000147 la 4 00010 3521 20 epp2 pr4|8,* dm_gen_checksum_ 000150 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 68 if calculated_config_checksum ^= dm_system_config.checksum then call sub_err_ (dm_error_$system_config_file_checksum_err, myname, ACTION_CANT_RESTART, null (), 0, "Config file checksum = ^d, generated checksum = ^d.", dm_system_config.checksum, calculated_config_checksum); 000151 aa 6 00100 2361 00 ldq pr6|64 calculated_config_checksum 000152 aa 6 00102 3735 20 epp7 pr6|66,* dm_system_config_ptr 000153 aa 7 00107 1161 00 cmpq pr7|71 dm_system_config.checksum 000154 aa 000052 6000 04 tze 42,ic 000226 000155 aa 777653 3714 24 epp5 -85,ic* 000156 aa 6 00140 6515 00 spri5 pr6|96 000157 aa 6 00137 4501 00 stz pr6|95 000160 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000161 aa 777656 00 0064 desc9a -82,52 000036 = 103157156146 000162 aa 6 00116 00 0064 desc9a pr6|78,52 000163 aa 6 00044 3701 20 epp4 pr6|36,* 000164 la 4 00014 3521 20 epp2 pr4|12,* dm_error_$system_config_file_checksum_err 000165 aa 6 00144 2521 00 spri2 pr6|100 000166 aa 777617 3520 04 epp2 -113,ic 000005 = 144155137143 000167 aa 6 00146 2521 00 spri2 pr6|102 000170 aa 777610 3520 04 epp2 -120,ic 000000 = 400000000000 000171 aa 6 00150 2521 00 spri2 pr6|104 000172 aa 6 00140 3521 00 epp2 pr6|96 000173 aa 6 00152 2521 00 spri2 pr6|106 000174 aa 6 00137 3521 00 epp2 pr6|95 000175 aa 6 00154 2521 00 spri2 pr6|108 000176 aa 6 00116 3521 00 epp2 pr6|78 000177 aa 6 00156 2521 00 spri2 pr6|110 000200 aa 7 00107 3521 00 epp2 pr7|71 dm_system_config.checksum 000201 aa 6 00160 2521 00 spri2 pr6|112 000202 aa 6 00100 3521 00 epp2 pr6|64 calculated_config_checksum 000203 aa 6 00162 2521 00 spri2 pr6|114 000204 aa 777621 3520 04 epp2 -111,ic 000025 = 404000000043 000205 aa 6 00164 2521 00 spri2 pr6|116 000206 aa 6 00200 2521 00 spri2 pr6|128 000207 aa 6 00202 2521 00 spri2 pr6|130 000210 aa 777612 3520 04 epp2 -118,ic 000022 = 530000000040 000211 aa 6 00166 2521 00 spri2 pr6|118 000212 aa 777607 3520 04 epp2 -121,ic 000021 = 514000000044 000213 aa 6 00170 2521 00 spri2 pr6|120 000214 aa 777612 3520 04 epp2 -118,ic 000026 = 464000000000 000215 aa 6 00172 2521 00 spri2 pr6|122 000216 aa 777602 3520 04 epp2 -126,ic 000020 = 404000000005 000217 aa 6 00174 2521 00 spri2 pr6|124 000220 aa 777577 3520 04 epp2 -129,ic 000017 = 524000000063 000221 aa 6 00176 2521 00 spri2 pr6|126 000222 aa 6 00142 6211 00 eax1 pr6|98 000223 aa 040000 4310 07 fld 16384,dl 000224 la 4 00012 3521 20 epp2 pr4|10,* sub_err_ 000225 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 73 return; 000226 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 93 end dm_check_configuration_; BEGIN PROCEDURE CHECK_VERSION ENTRY TO CHECK_VERSION STATEMENT 1 ON LINE 75 CHECK_VERSION: proc (p_received_version, p_expected_version, p_structure_name); 000227 aa 6 00104 6501 00 spri4 pr6|68 000230 aa 6 00106 2521 00 spri2 pr6|70 000231 aa 2 00002 3521 01 epp2 pr2|2,au 000232 aa 6 00110 2521 00 spri2 pr6|72 000233 aa 2 00004 2361 20 ldq pr2|4,* 000234 aa 000002 6040 04 tmi 2,ic 000236 000235 aa 777777 3760 07 anq 262143,dl 000236 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000237 aa 6 00204 7561 00 stq pr6|132 STATEMENT 1 ON LINE 83 if p_received_version ^= p_expected_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); 000240 aa 6 00106 3735 20 epp7 pr6|70,* 000241 aa 7 00002 3715 20 epp5 pr7|2,* 000242 aa 5 00000 2351 00 lda pr5|0 p_received_version 000243 aa 5 00001 2361 00 ldq pr5|1 p_received_version 000244 aa 7 00004 3535 20 epp3 pr7|4,* 000245 aa 3 00000 1151 00 cmpa pr3|0 p_expected_version 000246 aa 000002 6010 04 tnz 2,ic 000250 000247 aa 3 00001 1161 00 cmpq pr3|1 p_expected_version 000250 aa 000060 6000 04 tze 48,ic 000330 000251 aa 777557 3514 24 epp1 -145,ic* 000252 aa 6 00206 2515 00 spri1 pr6|134 000253 aa 6 00205 4501 00 stz pr6|133 000254 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000255 aa 777577 00 0110 desc9a -129,72 000053 = 136057105170 000256 aa 6 00210 00 0110 desc9a pr6|136,72 000257 aa 6 00044 3701 20 epp4 pr6|36,* 000260 la 4 00016 3521 20 epp2 pr4|14,* error_table_$unimplemented_version 000261 aa 6 00234 2521 00 spri2 pr6|156 000262 aa 777523 3520 04 epp2 -173,ic 000005 = 144155137143 000263 aa 6 00236 2521 00 spri2 pr6|158 000264 aa 777514 3520 04 epp2 -180,ic 000000 = 400000000000 000265 aa 6 00240 2521 00 spri2 pr6|160 000266 aa 6 00206 3521 00 epp2 pr6|134 000267 aa 6 00242 2521 00 spri2 pr6|162 000270 aa 6 00205 3521 00 epp2 pr6|133 000271 aa 6 00244 2521 00 spri2 pr6|164 000272 aa 6 00210 3521 00 epp2 pr6|136 000273 aa 6 00246 2521 00 spri2 pr6|166 000274 aa 7 00004 3521 20 epp2 pr7|4,* p_expected_version 000275 aa 6 00250 2521 00 spri2 pr6|168 000276 aa 7 00006 3521 20 epp2 pr7|6,* p_structure_name 000277 aa 6 00252 2521 00 spri2 pr6|170 000300 aa 7 00002 3521 20 epp2 pr7|2,* p_received_version 000301 aa 6 00254 2521 00 spri2 pr6|172 000302 aa 777523 3520 04 epp2 -173,ic 000025 = 404000000043 000303 aa 6 00256 2521 00 spri2 pr6|174 000304 aa 777516 3520 04 epp2 -178,ic 000022 = 530000000040 000305 aa 6 00260 2521 00 spri2 pr6|176 000306 aa 777513 3520 04 epp2 -181,ic 000021 = 514000000044 000307 aa 6 00262 2521 00 spri2 pr6|178 000310 aa 777516 3520 04 epp2 -178,ic 000026 = 464000000000 000311 aa 6 00264 2521 00 spri2 pr6|180 000312 aa 777506 3520 04 epp2 -186,ic 000020 = 404000000005 000313 aa 6 00266 2521 00 spri2 pr6|182 000314 aa 777501 3520 04 epp2 -191,ic 000015 = 524000000107 000315 aa 6 00270 2521 00 spri2 pr6|184 000316 aa 777506 3520 04 epp2 -186,ic 000024 = 524000000010 000317 aa 6 00272 2521 00 spri2 pr6|186 000320 aa 6 00276 2521 00 spri2 pr6|190 000321 aa 6 00110 3715 20 epp5 pr6|72,* 000322 aa 5 00004 3521 20 epp2 pr5|4,* 000323 aa 6 00274 2521 00 spri2 pr6|188 000324 aa 6 00232 6211 00 eax1 pr6|154 000325 aa 044000 4310 07 fld 18432,dl 000326 la 4 00012 3521 20 epp2 pr4|10,* sub_err_ 000327 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 88 end CHECK_VERSION; 000330 aa 6 00104 6101 00 rtcd pr6|68 END PROCEDURE CHECK_VERSION END PROCEDURE dm_check_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