COMPILATION LISTING OF SEGMENT dm_find_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.4 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: style4,indattr,ifthenstmt,ifthen,^indcomtxt,idind33 */ 8 9 dm_find_configuration_: 10 proc () returns (ptr); /* returns a dm_system_config_ptr */ 11 12 13 /* DESCRIPTION: 14* 15* This program returns a pointer to the data management configuration 16* file in the per-AIM directory. There are several important points: 17* - the configuration file MUST exist, 18* - no validation is performed on the file; the config is simply initiated 19* and a pointer to the start of the file is returned. 20* 21* A terminate entry is provided for cleaning up the address space 22* of a process finished with the configuration file. 23**/ 24 25 /* HISTORY: 26* 27*Written by Lee A. Newcomb, 05/03/83. 28*Modified: 29*05/06/83 by Lee A. Newcomb: Changed to just return ptr to file, nothing more. 30*05/09/83 by Lee A. Newcomb: added calls to sub_err_ when non-zero codes 31* returned from calls made. 32*11/22/84 by Lee A. Newcomb: To use dm_misc_util_$get_aim_dir. 33**/ 34 35 /* START OF DECLARATIONS */ 36 37 dcl /* Parameters */ 38 p_dm_system_config_ptr ptr /* only used in terminate entry */ 39 parameter; 40 41 dcl ( /* Automatics */ 42 aim_dir char (168), 43 code fixed bin (35), 44 dm_system_config_ptr ptr /* used by main entry */ 45 ) automatic; 46 47 dcl /* Builtins & Conditions */ 48 null builtin, 49 cleanup condition; 50 51 dcl ( /* Constants */ 52 myname char (32) varying init ("dm_find_configuration_"), 53 CONFIG_FILE char (32) init ("dm_configuration") 54 ) internal static options (constant); 55 56 dcl /* Entries */ 57 dm_misc_util_$get_aim_dir entry (char (*)), 58 hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)), 59 sub_err_ entry () options (variable), 60 term_$seg_ptr entry (ptr, fixed bin (35)); 61 62 63 /* END OF DECLARATIONS */ 64 65 /* Initialize parameter, local status code, and establish cleanup handler */ 66 67 dm_system_config_ptr = null (); 68 code = 0; /* no problems yet */ 69 70 on cleanup 71 call CLEAN_UP (); 72 73 /* Find the per-AIM directory */ 74 75 call dm_misc_util_$get_aim_dir (aim_dir); 76 if code ^= 0 then 77 call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, 78 "Cannot find per-AIM directory to contain DM configuration file."); 79 80 /* Find the configuration file */ 81 82 call hcs_$initiate (aim_dir, CONFIG_FILE, "", 83 0, 0, dm_system_config_ptr, code); /* no reserved segno */ 84 if dm_system_config_ptr = null () then do; 85 call CLEAN_UP (); 86 call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, 87 "Cannot initiate DM configuration file ^a>^a.", aim_dir, CONFIG_FILE); 88 end; 89 90 return (dm_system_config_ptr); 91 92 /* This entry simply cleans up the process address space. */ 93 94 terminate: 95 entry (p_dm_system_config_ptr); 96 97 /* initialize local status code for testing */ 98 99 code = 0; 100 101 /* just call term_ to do the real work */ 102 103 call term_$seg_ptr (p_dm_system_config_ptr, code); 104 if code ^= 0 then 105 call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, 106 "Cannot terminate reference to configuration file, seg no ^p.", p_dm_system_config_ptr); 107 108 p_dm_system_config_ptr = null (); 109 110 return; 111 112 CLEAN_UP: 113 proc (); 114 115 /* Currently, we need only terminate the reference to the config file */ 116 117 if dm_system_config_ptr ^= null () then /* we have the file known */ 118 if code = 0 then do; /* and this program is the one that did it */ 119 call term_$seg_ptr (dm_system_config_ptr, (0) /* ignore code */); 120 dm_system_config_ptr = null (); 121 end; 122 123 return; 124 125 end CLEAN_UP; 126 1 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 1 2 /* format: style3 */ 1 3 1 4 /* These constants are to be used for the flags argument of sub_err_ */ 1 5 /* They are just "string (condition_info_header.action_flags)" */ 1 6 1 7 declare ( 1 8 ACTION_CAN_RESTART init (""b), 1 9 ACTION_CANT_RESTART init ("1"b), 1 10 ACTION_DEFAULT_RESTART 1 11 init ("01"b), 1 12 ACTION_QUIET_RESTART 1 13 init ("001"b), 1 14 ACTION_SUPPORT_SIGNAL 1 15 init ("0001"b) 1 16 ) bit (36) aligned internal static options (constant); 1 17 1 18 /* End include file */ 127 128 129 130 end dm_find_configuration_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1150.3 dm_find_configuration_.pl1 >spec>temp>famis1>dm_find_configuration_.pl1 127 1 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 1-7 set ref 76* 86* 104* CONFIG_FILE 000001 constant char(32) initial unaligned dcl 51 set ref 82* 86* aim_dir 000100 automatic char(168) unaligned dcl 41 set ref 75* 82* 86* cleanup 000156 stack reference condition dcl 47 ref 70 code 000152 automatic fixed bin(35,0) dcl 41 set ref 68* 76 76* 82* 86* 99* 103* 104 104* 117 dm_misc_util_$get_aim_dir 000010 constant entry external dcl 56 ref 75 dm_system_config_ptr 000154 automatic pointer dcl 41 set ref 67* 82* 84 90 117 119* 120* hcs_$initiate 000012 constant entry external dcl 56 ref 82 myname 000011 constant varying char(32) initial dcl 51 set ref 76* 86* 104* null builtin function dcl 47 ref 67 76 76 84 86 86 104 104 108 117 120 p_dm_system_config_ptr parameter pointer dcl 37 set ref 94 103* 104* 108* sub_err_ 000014 constant entry external dcl 56 ref 76 86 104 term_$seg_ptr 000016 constant entry external dcl 56 ref 103 119 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 1-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 1-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 1-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 1-7 NAMES DECLARED BY EXPLICIT CONTEXT. CLEAN_UP 000507 constant entry internal dcl 112 ref 70 85 dm_find_configuration_ 000127 constant entry external dcl 9 terminate 000403 constant entry external dcl 94 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 650 670 540 660 Length 1070 540 20 163 110 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dm_find_configuration_ 234 external procedure is an external procedure. on unit on line 70 64 on unit CLEAN_UP 72 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dm_find_configuration_ 000100 aim_dir dm_find_configuration_ 000152 code dm_find_configuration_ 000154 dm_system_config_ptr dm_find_configuration_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return signal enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. dm_misc_util_$get_aim_dir hcs_$initiate sub_err_ term_$seg_ptr NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. CONSTANTS 000000 aa 400000000000 000001 aa 144 155 137 143 dm_c 000002 aa 157 156 146 151 onfi 000003 aa 147 165 162 141 gura 000004 aa 164 151 157 156 tion 000005 aa 040 040 040 040 000006 aa 040 040 040 040 000007 aa 040 040 040 040 000010 aa 040 040 040 040 000011 aa 000000000026 000012 aa 144 155 137 146 dm_f 000013 aa 151 156 144 137 ind_ 000014 aa 143 157 156 146 conf 000015 aa 151 147 165 162 igur 000016 aa 141 164 151 157 atio 000017 aa 156 137 040 040 n_ 000020 aa 040 040 040 040 000021 aa 040 040 040 040 000022 aa 524000000074 000023 aa 524000000054 000024 aa 404000000002 000025 aa 404000000001 000026 aa 524000000000 000027 aa 526000000040 000030 aa 524000000077 000031 aa 404000000005 000032 aa 514000000044 000033 aa 530000000040 000034 aa 404000000043 000035 aa 526000000250 000036 aa 464000000000 000040 aa 077777000043 000041 aa 000001000000 000042 aa 143 154 145 141 clea 000043 aa 156 165 160 000 nup 000044 aa 162 145 164 165 retu 000045 aa 162 156 137 143 rn_c 000046 aa 157 156 166 145 onve 000047 aa 162 163 151 157 rsio 000050 aa 156 137 145 162 n_er 000051 aa 162 157 162 000 ror 000052 aa 103 141 156 156 Cann 000053 aa 157 164 040 151 ot i 000054 aa 156 151 164 151 niti 000055 aa 141 164 145 040 ate 000056 aa 104 115 040 143 DM c 000057 aa 157 156 146 151 onfi 000060 aa 147 165 162 141 gura 000061 aa 164 151 157 156 tion 000062 aa 040 146 151 154 fil 000063 aa 145 040 136 141 e ^a 000064 aa 076 136 141 056 >^a. 000065 aa 103 141 156 156 Cann 000066 aa 157 164 040 164 ot t 000067 aa 145 162 155 151 ermi 000070 aa 156 141 164 145 nate 000071 aa 040 162 145 146 ref 000072 aa 145 162 145 156 eren 000073 aa 143 145 040 164 ce t 000074 aa 157 040 143 157 o co 000075 aa 156 146 151 147 nfig 000076 aa 165 162 141 164 urat 000077 aa 151 157 156 040 ion 000100 aa 146 151 154 145 file 000101 aa 054 040 163 145 , se 000102 aa 147 040 156 157 g no 000103 aa 040 136 160 056 ^p. 000104 aa 103 141 156 156 Cann 000105 aa 157 164 040 146 ot f 000106 aa 151 156 144 040 ind 000107 aa 160 145 162 055 per- 000110 aa 101 111 115 040 AIM 000111 aa 144 151 162 145 dire 000112 aa 143 164 157 162 ctor 000113 aa 171 040 164 157 y to 000114 aa 040 143 157 156 con 000115 aa 164 141 151 156 tain 000116 aa 040 104 115 040 DM 000117 aa 143 157 156 146 conf 000120 aa 151 147 165 162 igur 000121 aa 141 164 151 157 atio 000122 aa 156 040 146 151 n fi 000123 aa 154 145 056 000 le. BEGIN PROCEDURE dm_find_configuration_ ENTRY TO dm_find_configuration_ STATEMENT 1 ON LINE 9 dm_find_configuration_: proc () returns (ptr); 000124 at 000001000036 000125 ta 000124000000 000126 da 000062320000 000127 aa 000360 6270 00 eax7 240 000130 aa 7 00034 3521 20 epp2 pr7|28,* 000131 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000132 aa 000002000000 000133 aa 000000000000 000134 aa 000001 2360 07 ldq 1,dl 000135 aa 6 00164 7561 00 stq pr6|116 STATEMENT 1 ON LINE 67 dm_system_config_ptr = null (); 000136 aa 777702 2370 04 ldaq -62,ic 000040 = 077777000043 000001000000 000137 aa 6 00154 7571 00 staq pr6|108 dm_system_config_ptr STATEMENT 1 ON LINE 68 code = 0; 000140 aa 6 00152 4501 00 stz pr6|106 code STATEMENT 1 ON LINE 70 on cleanup call CLEAN_UP (); 000141 aa 000007 7260 07 lxl6 7,dl 000142 aa 777700 3520 04 epp2 -64,ic 000042 = 143154145141 000143 aa 0 00717 7001 00 tsx0 pr0|463 enable 000144 aa 000004 7100 04 tra 4,ic 000150 000145 aa 000156000000 000146 aa 000015 7100 04 tra 13,ic 000163 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 70 on cleanup call CLEAN_UP (); 000147 da 000070200000 000150 aa 000100 6270 00 eax7 64 000151 aa 7 00034 3521 20 epp2 pr7|28,* 000152 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000153 aa 000000000000 000154 aa 000000000000 000155 aa 000001 7270 07 lxl7 1,dl 000156 aa 6 00056 6211 00 eax1 pr6|46 000157 aa 000000 4310 07 fld 0,dl 000160 aa 000327 3520 04 epp2 215,ic 000507 = 000120627000 000161 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 000162 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 75 call dm_misc_util_$get_aim_dir (aim_dir); 000163 aa 6 00100 3521 00 epp2 pr6|64 aim_dir 000164 aa 6 00170 2521 00 spri2 pr6|120 000165 aa 777650 3520 04 epp2 -88,ic 000035 = 526000000250 000166 aa 6 00172 2521 00 spri2 pr6|122 000167 aa 6 00166 6211 00 eax1 pr6|118 000170 aa 004000 4310 07 fld 2048,dl 000171 aa 6 00044 3701 20 epp4 pr6|36,* 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 STATEMENT 1 ON LINE 76 if code ^= 0 then call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, "Cannot find per-AIM directory to contain DM configuration file."); 000174 aa 6 00152 2361 00 ldq pr6|106 code 000175 aa 000044 6000 04 tze 36,ic 000241 000176 aa 777642 3734 24 epp7 -94,ic* 000177 aa 6 00174 6535 00 spri7 pr6|124 000200 aa 6 00165 4501 00 stz pr6|117 000201 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000202 aa 777703 00 0100 desc9a -61,64 000104 = 103141156156 000203 aa 6 00176 00 0100 desc9a pr6|126,64 000204 aa 6 00152 3521 00 epp2 pr6|106 code 000205 aa 6 00220 2521 00 spri2 pr6|144 000206 aa 777604 3520 04 epp2 -124,ic 000012 = 144155137146 000207 aa 6 00222 2521 00 spri2 pr6|146 000210 aa 777570 3520 04 epp2 -136,ic 000000 = 400000000000 000211 aa 6 00224 2521 00 spri2 pr6|148 000212 aa 6 00174 3521 00 epp2 pr6|124 000213 aa 6 00226 2521 00 spri2 pr6|150 000214 aa 6 00165 3521 00 epp2 pr6|117 000215 aa 6 00230 2521 00 spri2 pr6|152 000216 aa 6 00176 3521 00 epp2 pr6|126 000217 aa 6 00232 2521 00 spri2 pr6|154 000220 aa 777614 3520 04 epp2 -116,ic 000034 = 404000000043 000221 aa 6 00234 2521 00 spri2 pr6|156 000222 aa 777611 3520 04 epp2 -119,ic 000033 = 530000000040 000223 aa 6 00236 2521 00 spri2 pr6|158 000224 aa 777606 3520 04 epp2 -122,ic 000032 = 514000000044 000225 aa 6 00240 2521 00 spri2 pr6|160 000226 aa 777610 3520 04 epp2 -120,ic 000036 = 464000000000 000227 aa 6 00242 2521 00 spri2 pr6|162 000230 aa 777601 3520 04 epp2 -127,ic 000031 = 404000000005 000231 aa 6 00244 2521 00 spri2 pr6|164 000232 aa 777576 3520 04 epp2 -130,ic 000030 = 524000000077 000233 aa 6 00246 2521 00 spri2 pr6|166 000234 aa 6 00216 6211 00 eax1 pr6|142 000235 aa 030000 4310 07 fld 12288,dl 000236 aa 6 00044 3701 20 epp4 pr6|36,* 000237 la 4 00014 3521 20 epp2 pr4|12,* sub_err_ 000240 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 82 call hcs_$initiate (aim_dir, CONFIG_FILE, "", 0, 0, dm_system_config_ptr, code); 000241 aa 6 00250 4501 00 stz pr6|168 000242 aa 6 00251 4501 00 stz pr6|169 000243 aa 6 00100 3521 00 epp2 pr6|64 aim_dir 000244 aa 6 00254 2521 00 spri2 pr6|172 000245 aa 777534 3520 04 epp2 -164,ic 000001 = 144155137143 000246 aa 6 00256 2521 00 spri2 pr6|174 000247 aa 6 00165 3521 00 epp2 pr6|117 000250 aa 6 00260 2521 00 spri2 pr6|176 000251 aa 6 00250 3521 00 epp2 pr6|168 000252 aa 6 00262 2521 00 spri2 pr6|178 000253 aa 6 00251 3521 00 epp2 pr6|169 000254 aa 6 00264 2521 00 spri2 pr6|180 000255 aa 6 00154 3521 00 epp2 pr6|108 dm_system_config_ptr 000256 aa 6 00266 2521 00 spri2 pr6|182 000257 aa 6 00152 3521 00 epp2 pr6|106 code 000260 aa 6 00270 2521 00 spri2 pr6|184 000261 aa 777554 3520 04 epp2 -148,ic 000035 = 526000000250 000262 aa 6 00272 2521 00 spri2 pr6|186 000263 aa 777544 3520 04 epp2 -156,ic 000027 = 526000000040 000264 aa 6 00274 2521 00 spri2 pr6|188 000265 aa 777541 3520 04 epp2 -159,ic 000026 = 524000000000 000266 aa 6 00276 2521 00 spri2 pr6|190 000267 aa 777536 3520 04 epp2 -162,ic 000025 = 404000000001 000270 aa 6 00300 2521 00 spri2 pr6|192 000271 aa 777533 3520 04 epp2 -165,ic 000024 = 404000000002 000272 aa 6 00302 2521 00 spri2 pr6|194 000273 aa 777543 3520 04 epp2 -157,ic 000036 = 464000000000 000274 aa 6 00304 2521 00 spri2 pr6|196 000275 aa 777537 3520 04 epp2 -161,ic 000034 = 404000000043 000276 aa 6 00306 2521 00 spri2 pr6|198 000277 aa 6 00252 6211 00 eax1 pr6|170 000300 aa 034000 4310 07 fld 14336,dl 000301 aa 6 00044 3701 20 epp4 pr6|36,* 000302 la 4 00012 3521 20 epp2 pr4|10,* hcs_$initiate 000303 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 84 if dm_system_config_ptr = null () then do; 000304 aa 6 00154 2371 00 ldaq pr6|108 dm_system_config_ptr 000305 aa 777533 6770 04 eraq -165,ic 000040 = 077777000043 000001000000 000306 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000307 aa 000060 6010 04 tnz 48,ic 000367 STATEMENT 1 ON LINE 85 call CLEAN_UP (); 000310 aa 6 00056 6211 00 eax1 pr6|46 000311 aa 000000 4310 07 fld 0,dl 000312 aa 000175 3520 04 epp2 125,ic 000507 = 000120627000 000313 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 86 call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, "Cannot initiate DM configuration file ^a>^a.", aim_dir, CONFIG_FILE); 000314 aa 777524 3734 24 epp7 -172,ic* 000315 aa 6 00174 6535 00 spri7 pr6|124 000316 aa 6 00251 4501 00 stz pr6|169 000317 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000320 aa 777533 00 0054 desc9a -165,44 000052 = 103141156156 000321 aa 6 00176 00 0054 desc9a pr6|126,44 000322 aa 6 00152 3521 00 epp2 pr6|106 code 000323 aa 6 00312 2521 00 spri2 pr6|202 000324 aa 777466 3520 04 epp2 -202,ic 000012 = 144155137146 000325 aa 6 00314 2521 00 spri2 pr6|204 000326 aa 777452 3520 04 epp2 -214,ic 000000 = 400000000000 000327 aa 6 00316 2521 00 spri2 pr6|206 000330 aa 6 00174 3521 00 epp2 pr6|124 000331 aa 6 00320 2521 00 spri2 pr6|208 000332 aa 6 00251 3521 00 epp2 pr6|169 000333 aa 6 00322 2521 00 spri2 pr6|210 000334 aa 6 00176 3521 00 epp2 pr6|126 000335 aa 6 00324 2521 00 spri2 pr6|212 000336 aa 6 00100 3521 00 epp2 pr6|64 aim_dir 000337 aa 6 00326 2521 00 spri2 pr6|214 000340 aa 777441 3520 04 epp2 -223,ic 000001 = 144155137143 000341 aa 6 00330 2521 00 spri2 pr6|216 000342 aa 777472 3520 04 epp2 -198,ic 000034 = 404000000043 000343 aa 6 00332 2521 00 spri2 pr6|218 000344 aa 777467 3520 04 epp2 -201,ic 000033 = 530000000040 000345 aa 6 00334 2521 00 spri2 pr6|220 000346 aa 777464 3520 04 epp2 -204,ic 000032 = 514000000044 000347 aa 6 00336 2521 00 spri2 pr6|222 000350 aa 777466 3520 04 epp2 -202,ic 000036 = 464000000000 000351 aa 6 00340 2521 00 spri2 pr6|224 000352 aa 777457 3520 04 epp2 -209,ic 000031 = 404000000005 000353 aa 6 00342 2521 00 spri2 pr6|226 000354 aa 777447 3520 04 epp2 -217,ic 000023 = 524000000054 000355 aa 6 00344 2521 00 spri2 pr6|228 000356 aa 777457 3520 04 epp2 -209,ic 000035 = 526000000250 000357 aa 6 00346 2521 00 spri2 pr6|230 000360 aa 777447 3520 04 epp2 -217,ic 000027 = 526000000040 000361 aa 6 00350 2521 00 spri2 pr6|232 000362 aa 6 00310 6211 00 eax1 pr6|200 000363 aa 040000 4310 07 fld 16384,dl 000364 aa 6 00044 3701 20 epp4 pr6|36,* 000365 la 4 00014 3521 20 epp2 pr4|12,* sub_err_ 000366 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 88 end; STATEMENT 1 ON LINE 90 return (dm_system_config_ptr); 000367 aa 6 00164 2361 00 ldq pr6|116 000370 aa 000005 6010 04 tnz 5,ic 000375 000371 aa 000027 7260 07 lxl6 23,dl 000372 aa 777452 3520 04 epp2 -214,ic 000044 = 162145164165 000373 aa 0 00716 7001 00 tsx0 pr0|462 signal 000374 aa 0 00631 7101 00 tra pr0|409 return 000375 aa 6 00154 3735 20 epp7 pr6|108,* dm_system_config_ptr 000376 aa 6 00032 3715 20 epp5 pr6|26,* 000377 aa 5 00002 6535 20 spri7 pr5|2,* 000400 aa 0 00631 7101 00 tra pr0|409 return ENTRY TO terminate STATEMENT 1 ON LINE 94 terminate: entry (p_dm_system_config_ptr); 000401 ta 000124000000 000402 da 000076300000 000403 aa 000360 6270 00 eax7 240 000404 aa 7 00034 3521 20 epp2 pr7|28,* 000405 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000406 aa 000002000000 000407 aa 000000000000 000410 aa 6 00164 4501 00 stz pr6|116 STATEMENT 1 ON LINE 99 code = 0; 000411 aa 6 00152 4501 00 stz pr6|106 code STATEMENT 1 ON LINE 103 call term_$seg_ptr (p_dm_system_config_ptr, code); 000412 aa 6 00032 3735 20 epp7 pr6|26,* 000413 aa 7 00002 3521 20 epp2 pr7|2,* p_dm_system_config_ptr 000414 aa 6 00170 2521 00 spri2 pr6|120 000415 aa 6 00152 3521 00 epp2 pr6|106 code 000416 aa 6 00172 2521 00 spri2 pr6|122 000417 aa 6 00166 6211 00 eax1 pr6|118 000420 aa 010000 4310 07 fld 4096,dl 000421 aa 6 00044 3701 20 epp4 pr6|36,* 000422 la 4 00016 3521 20 epp2 pr4|14,* term_$seg_ptr 000423 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 104 if code ^= 0 then call sub_err_ (code, myname, ACTION_CANT_RESTART, null (), 0, "Cannot terminate reference to configuration file, seg no ^p.", p_dm_system_config_ptr); 000424 aa 6 00152 2361 00 ldq pr6|106 code 000425 aa 000050 6000 04 tze 40,ic 000475 000426 aa 777412 3734 24 epp7 -246,ic* 000427 aa 6 00174 6535 00 spri7 pr6|124 000430 aa 6 00251 4501 00 stz pr6|169 000431 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000432 aa 777434 00 0074 desc9a -228,60 000065 = 103141156156 000433 aa 6 00176 00 0074 desc9a pr6|126,60 000434 aa 6 00152 3521 00 epp2 pr6|106 code 000435 aa 6 00254 2521 00 spri2 pr6|172 000436 aa 777354 3520 04 epp2 -276,ic 000012 = 144155137146 000437 aa 6 00256 2521 00 spri2 pr6|174 000440 aa 777340 3520 04 epp2 -288,ic 000000 = 400000000000 000441 aa 6 00260 2521 00 spri2 pr6|176 000442 aa 6 00174 3521 00 epp2 pr6|124 000443 aa 6 00262 2521 00 spri2 pr6|178 000444 aa 6 00251 3521 00 epp2 pr6|169 000445 aa 6 00264 2521 00 spri2 pr6|180 000446 aa 6 00176 3521 00 epp2 pr6|126 000447 aa 6 00266 2521 00 spri2 pr6|182 000450 aa 6 00032 3715 20 epp5 pr6|26,* 000451 aa 5 00002 3521 20 epp2 pr5|2,* p_dm_system_config_ptr 000452 aa 6 00270 2521 00 spri2 pr6|184 000453 aa 777361 3520 04 epp2 -271,ic 000034 = 404000000043 000454 aa 6 00272 2521 00 spri2 pr6|186 000455 aa 777356 3520 04 epp2 -274,ic 000033 = 530000000040 000456 aa 6 00274 2521 00 spri2 pr6|188 000457 aa 777353 3520 04 epp2 -277,ic 000032 = 514000000044 000460 aa 6 00276 2521 00 spri2 pr6|190 000461 aa 777355 3520 04 epp2 -275,ic 000036 = 464000000000 000462 aa 6 00300 2521 00 spri2 pr6|192 000463 aa 6 00306 2521 00 spri2 pr6|198 000464 aa 777345 3520 04 epp2 -283,ic 000031 = 404000000005 000465 aa 6 00302 2521 00 spri2 pr6|194 000466 aa 777334 3520 04 epp2 -292,ic 000022 = 524000000074 000467 aa 6 00304 2521 00 spri2 pr6|196 000470 aa 6 00252 6211 00 eax1 pr6|170 000471 aa 034000 4310 07 fld 14336,dl 000472 aa 6 00044 3701 20 epp4 pr6|36,* 000473 la 4 00014 3521 20 epp2 pr4|12,* sub_err_ 000474 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 108 p_dm_system_config_ptr = null (); 000475 aa 777343 2370 04 ldaq -285,ic 000040 = 077777000043 000001000000 000476 aa 6 00032 3735 20 epp7 pr6|26,* 000477 aa 7 00002 7571 20 staq pr7|2,* p_dm_system_config_ptr STATEMENT 1 ON LINE 110 return; 000500 aa 6 00164 2361 00 ldq pr6|116 000501 aa 0 00631 6001 00 tze pr0|409 return 000502 aa 000027 7260 07 lxl6 23,dl 000503 aa 777341 3520 04 epp2 -287,ic 000044 = 162145164165 000504 aa 0 00716 7001 00 tsx0 pr0|462 signal 000505 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 130 end dm_find_configuration_; BEGIN PROCEDURE CLEAN_UP ENTRY TO CLEAN_UP STATEMENT 1 ON LINE 112 CLEAN_UP: proc (); 000506 da 000104200000 000507 aa 000120 6270 00 eax7 80 000510 aa 7 00034 3521 20 epp2 pr7|28,* 000511 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000512 aa 000000000000 000513 aa 000000000000 STATEMENT 1 ON LINE 117 if dm_system_config_ptr ^= null () then /* we have the file known */ if code = 0 then do; 000514 aa 6 00040 3735 20 epp7 pr6|32,* 000515 aa 7 00154 2371 00 ldaq pr7|108 dm_system_config_ptr 000516 aa 777322 6770 04 eraq -302,ic 000040 = 077777000043 000001000000 000517 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000520 aa 000017 6000 04 tze 15,ic 000537 000521 aa 7 00152 2361 00 ldq pr7|106 code 000522 aa 000015 6010 04 tnz 13,ic 000537 STATEMENT 1 ON LINE 119 call term_$seg_ptr (dm_system_config_ptr, (0) /* ignore code */); 000523 aa 6 00100 4501 00 stz pr6|64 000524 aa 7 00154 3521 00 epp2 pr7|108 dm_system_config_ptr 000525 aa 6 00104 2521 00 spri2 pr6|68 000526 aa 6 00100 3521 00 epp2 pr6|64 000527 aa 6 00106 2521 00 spri2 pr6|70 000530 aa 6 00102 6211 00 eax1 pr6|66 000531 aa 010000 4310 07 fld 4096,dl 000532 la 4 00016 3521 20 epp2 pr4|14,* term_$seg_ptr 000533 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 120 dm_system_config_ptr = null (); 000534 aa 777304 2370 04 ldaq -316,ic 000040 = 077777000043 000001000000 000535 aa 6 00040 3735 20 epp7 pr6|32,* 000536 aa 7 00154 7571 00 staq pr7|108 dm_system_config_ptr STATEMENT 1 ON LINE 121 end; STATEMENT 1 ON LINE 123 return; 000537 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 125 end CLEAN_UP; END PROCEDURE CLEAN_UP END PROCEDURE dm_find_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