# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 88 /* how many entries */ 89 2 max_size fixed bin (19); /* max segment length */ 90 91 dcl 1 mti_v2 aligned like ms_table_info_v2; 92 dcl 1 mti_v3 aligned like ms_table_info; 93 94 /* External Entries */ 95 96 dcl ms_table_mgr_$close entry (ptr, fixed bin (35)); 97 dcl ms_table_mgr_$create entry (char (*), char (*), ptr, fixed bin (35)); 98 dcl ms_table_mgr_$new_entry 99 entry (ptr, char (*), ptr, fixed bin (35)); 100 dcl ms_table_mgr_$open entry (char (*), char (*), char (*) aligned, ptr, ptr, fixed bin (35)); 101 dcl ms_table_mgr_$update_entry 102 entry (ptr, ptr, fixed bin (35)); 103 dcl ms_table_mgr_v2_$abs_entry 104 entry (ptr, fixed bin (35), char (*), ptr, fixed bin (35)); 105 dcl ms_table_mgr_v2_$close entry (ptr, fixed bin (35)); 106 dcl ms_table_mgr_v2_$open entry (char (*), char (*), char (*) aligned, ptr, ptr, fixed bin (35)); 107 dcl ms_table_mgr_v2_$table_data 108 entry (ptr, ptr, ptr, fixed bin (35), fixed bin (35)); 109 110 /* External Static */ 111 112 dcl error_table_$bad_index fixed bin (35) external static; 113 dcl error_table_$unimplemented_version 114 fixed bin (35) external static; 115 /* Conditions */ 116 117 dcl cleanup condition; 118 119 /* Program */ 120 121 /* convert_v2_mstb_: entry (P_source_dirname, P_source_entryname, P_target_dirname, P_target_entryname, P_convert_procedure, P_new_entry_size, P_code); */ 122 123 source_dirname = P_source_dirname; 124 source_entryname = P_source_entryname; 125 target_dirname = P_target_dirname; 126 target_entryname = P_target_entryname; 127 128 source_table_ptr = null (); /* For cleanup purposes */ 129 target_table_ptr = null (); 130 131 on condition (cleanup) 132 call CLEAN_UP (); 133 134 call ms_table_mgr_v2_$open (source_dirname, source_entryname, "", source_table_ptr, source_header_ptr, code); 135 if code ^= 0 136 then goto RETURN_TO_CALLER; 137 138 call ms_table_mgr_v2_$table_data (source_table_ptr, addr (mti_v2), source_header_ptr, (0), code); 139 if code ^= 0 140 then goto RETURN_TO_CALLER; 141 142 if mti_v2.version ^= 2 & mti_v2.version ^= 1 143 then do; 144 code = error_table_$unimplemented_version; 145 goto RETURN_TO_CALLER; 146 end; 147 148 mti_v3 = mti_v2, by name; /* Keep all the rest the same */ 149 mti_v3.version = MS_TABLE_INFO_VERSION_3; /* Upgrade to V3 */ 150 mti_v3.keep_meters = "0"b; /* This used to be the default */ 151 152 if P_new_entry_size ^= 0 153 then mti_v3.entry_size = P_new_entry_size; 154 155 call ms_table_mgr_$create (target_dirname, target_entryname, addr (mti_v3), code); 156 if code ^= 0 157 then goto RETURN_TO_CALLER; 158 159 call ms_table_mgr_$open (target_dirname, target_entryname, (mti_v3.type), target_table_ptr, target_header_ptr, 160 code); 161 if code ^= 0 162 then goto RETURN_TO_CALLER; 163 164 /**** I'm not sure how to find the maximum number of entries. This should 165* work, however. */ 166 167 do i = 1 by 1 while (code ^= error_table_$bad_index); 168 call PROCESS_ENTRY (i); 169 end; 170 171 if code = error_table_$bad_index 172 then code = 0; 173 174 RETURN_TO_CALLER: 175 call CLEAN_UP (); 176 P_code = code; 177 return; 178 179 default_convert_proc: 180 entry (P_table_ptr, P_septr, P_teptr, P_ec); 181 182 dcl based_storage (based_storage_length) bit (36) aligned based; 183 dcl based_storage_length fixed bin (18) unsigned; 184 dcl 1 table_info aligned like mti_v2; 185 186 call ms_table_mgr_v2_$table_data (P_table_ptr, addr (table_info), (null ()), (0), P_ec); 187 if P_ec ^= 0 188 then return; 189 190 based_storage_length = table_info.entry_size; 191 192 P_teptr -> based_storage = P_septr -> based_storage; 193 return; 194 195 PROCESS_ENTRY: 196 procedure (idx); 197 198 dcl idx fixed bin (35); 199 200 call ms_table_mgr_v2_$abs_entry (source_table_ptr, idx, key, source_entry_ptr, code); 201 if code ^= 0 202 then return; 203 204 call ms_table_mgr_$new_entry (target_table_ptr, key, target_entry_ptr, code); 205 if code ^= 0 206 then goto RETURN_TO_CALLER; /* Need better error handling */ 207 208 call P_convert_procedure (source_table_ptr, source_entry_ptr, target_entry_ptr, code); 209 if code ^= 0 210 then goto RETURN_TO_CALLER; 211 212 call ms_table_mgr_$update_entry (target_table_ptr, target_entry_ptr, code); 213 if code ^= 0 214 then goto RETURN_TO_CALLER; /* Need better error handling */ 215 216 return; 217 end PROCESS_ENTRY; 218 219 CLEAN_UP: procedure (); 220 221 if target_table_ptr ^= null () 222 then call ms_table_mgr_$close (target_table_ptr, (0)); 223 if source_table_ptr ^= null () 224 then call ms_table_mgr_v2_$close (source_table_ptr, (0)); 225 226 return; 227 end CLEAN_UP; 228 229 /* format: off */ 230 /* Begin include file ms_table_info.incl.pl1 */ 1 2 /* Written by C. Hornig, June 1979 */ 1 3 /* Modified by B. Margolin, July 1983, for version 2 */ 1 4 /* Modified 1984-07-24 BIM for V3, improved hash, checksums */ 1 5 1 6 /* This information is passed to ms_table_mgr_$create when a multi-segment 1 7* table is created. */ 1 8 1 9 /* format: style3 */ 1 10 1 11 declare MS_TABLE_INFO_VERSION_3 1 12 fixed init (3) internal static options (constant); 1 13 1 14 declare 1 ms_table_info aligned based, 1 15 2 version fixed, /* Should be 3 */ 1 16 2 type character (32), /* what table is this? */ 1 17 2 ( 1 18 header_size, /* length of table header in words */ 1 19 entry_size 1 20 ) unsigned fixed (18), /* same for table entries */ 1 21 2 max_entries unsigned fixed bin (18), /* how many entries */ 1 22 2 max_size fixed bin (19), /* max segment length */ 1 23 2 keep_meters bit (1) aligned; /* table is writable to readers */ 1 24 1 25 /* End include file ms_table_info.incl.pl1 */ 230 231 2 2 /* format: style3 */ 2 3 2 4 /**** Statictics from an mstb that the manager thereof 2 5* might need to know. */ 2 6 2 7 declare mstb_status_ptr pointer; 2 8 declare 1 mstb_status aligned based (mstb_status_ptr), 2 9 2 version fixed bin, 2 10 2 (total_entries, deleted_entries, used_entries) 2 11 fixed bin (35), 2 12 2 meters, 2 13 3 searches fixed bin (35), 2 14 3 entries_examined 2 15 fixed bin (35); 2 16 2 17 declare MSTB_STATUS_VERSION_1 2 18 fixed bin init (1) int static options (constant); 2 19 2 20 /* End include file ms_table_status.incl.pl1 */ 231 232 /* Begin include file mstb_format.incl.pl1 */ 3 2 3 3 /* Modified 1984-07-23 BIM for V3: new hash function, checksums. */ 3 4 /* Modified 1984-08-08 EJS to make comp_header an even number of 3 5* words long. This is required so that MSTB entries end up on 3 6* an even word boundary. */ 3 7 3 8 /* format: style3 */ 3 9 3 10 /***** NOTE NOTE NOTE 3 11* 3 12* These tables have locks. Otherwise, checksum calculation 3 13* would be an incredible complexity. 3 14* 3 15* It could, however be done. If the AS is split into multiple 3 16* processes, the following can be done: 3 17* 3 18* 1) use stacq to maintain counters. 3 19* 2) use entry locks on the individual entries. 3 20* 3) use the pclocks on the components 3 21* to validate checksum entries. 3 22* 3 23* With any luck, we will have FAMIS files at our disposal 3 24* by the time the AS splits, and all of this will be 3 25* unnecessary. 3 26* 3 27* --BIM 1984-07-23 */ 3 28 3 29 declare (hdrp, segp, ep) pointer; 3 30 3 31 declare 1 mt_header aligned based (hdrp), 3 32 2 header aligned, /* data mstb_mgr_ owns */ 3 33 3 comp_hdr aligned like comp_header, 3 34 3 lock bit (36) aligned, /* file lock */ 3 35 3 pclock fixed bin (35), /* change count, used for passive locking */ 3 36 3 mti aligned like ms_table_info, 3 37 3 (number_components, entries_per_component, entry_offset) 3 38 unsigned fixed binary (18), 3 39 3 (total_entries, deleted_entries, used_entries) 3 40 fixed binary (35), 3 41 3 perm_data_checksum 3 42 fixed bin (35), /* sum of n_components, entries_per_component, entry_offset, total_entries, header_size, entry_size */ 3 43 3 meters, /* only maintained if mti.keep_meters is on */ 3 44 4 searches fixed binary (35), 3 45 4 entries_examined 3 46 fixed binary (35), 3 47 3 pad (12) bit (36) aligned, /* 50 words to end of this */ 3 48 2 header_data (0 refer (mt_header.mti.header_size)) bit (36) aligned; 3 49 3 50 declare 1 comp_header aligned based (segp), /* 16 words */ 3 51 2 type character (32), 3 52 2 (dt_created, dt_updated) 3 53 fixed binary (71), 3 54 2 component unsigned fixed binary (18), 3 55 2 pad (3) bit (36); /* Pad out to 16 words. */ 3 56 3 57 declare 1 entry aligned based (ep), /* 10 + entry size */ 3 58 2 header aligned, 3 59 3 flags unaligned, 3 60 4 (used, deleted, inconsistent) 3 61 bit (1), 3 62 4 pad bit (15), 3 63 3 checksum fixed bin (18) unsigned unaligned, 3 64 /* checksums ENTIRE entry, including header */ 3 65 3 lock bit (36) aligned, /* unused for now */ 3 66 3 key character (32) unaligned, 3 67 2 entry_data (mt_header.mti.entry_size) bit (36) aligned; 3 68 3 69 3 70 3 71 /* End include file mstb_format.incl.pl1 */ 232 233 /* format: on */ 234 235 end convert_v2_mstb_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/05/84 0851.6 convert_v2_mstb_.pl1 >special_ldd>temp>as>convert_v2_mstb_.pl1 230 1 12/05/84 0834.4 ms_table_info.incl.pl1 >special_ldd>temp>as>ms_table_info.incl.pl1 231 2 12/05/84 0834.3 ms_table_status.incl.pl1 >special_ldd>temp>as>ms_table_status.incl.pl1 232 3 12/05/84 0834.4 mstb_format.incl.pl1 >special_ldd>temp>as>mstb_format.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. MS_TABLE_INFO_VERSION_3 constant fixed bin(17,0) initial dcl 1-11 ref 149 P_code parameter fixed bin(35,0) dcl 19 set ref 8 176* P_convert_procedure parameter entry variable dcl 20 ref 8 208 P_ec parameter fixed bin(35,0) dcl 21 set ref 179 186* 187 P_new_entry_size parameter fixed bin(18,0) unsigned dcl 22 ref 8 152 152 P_septr parameter pointer dcl 23 ref 179 192 P_source_dirname parameter char unaligned dcl 24 ref 8 123 P_source_entryname parameter char unaligned dcl 25 ref 8 124 P_table_ptr parameter pointer dcl 26 set ref 179 186* P_target_dirname parameter char unaligned dcl 27 ref 8 125 P_target_entryname parameter char unaligned dcl 28 ref 8 126 P_teptr parameter pointer dcl 29 ref 179 192 based_storage based bit(36) array dcl 182 set ref 192* 192 based_storage_length 000334 automatic fixed bin(18,0) unsigned dcl 183 set ref 190* 192 cleanup 000326 stack reference condition dcl 117 ref 131 code 000100 automatic fixed bin(35,0) dcl 33 set ref 134* 135 138* 139 144* 155* 156 159* 161 167 171 171* 176 200* 201 204* 205 208* 209 212* 213 comp_header based structure level 1 dcl 3-50 comp_header_v2 based structure level 1 dcl 64 entry_size 12 000307 automatic fixed bin(18,0) level 2 in structure "mti_v3" unsigned dcl 92 in procedure "convert_v2_mstb_" set ref 152* entry_size 12 000335 automatic fixed bin(18,0) level 2 in structure "table_info" unsigned dcl 184 in procedure "convert_v2_mstb_" set ref 190 error_table_$bad_index 000032 external static fixed bin(35,0) dcl 112 ref 167 171 error_table_$unimplemented_version 000034 external static fixed bin(35,0) dcl 113 ref 144 i 000101 automatic fixed bin(35,0) dcl 34 set ref 167* 168* idx parameter fixed bin(35,0) dcl 198 set ref 195 200* keep_meters 15 000307 automatic bit(1) level 2 dcl 92 set ref 150* key 000102 automatic char(32) unaligned dcl 35 set ref 200* 204* ms_table_info based structure level 1 dcl 1-14 ms_table_info_v2 based structure level 1 dcl 79 ms_table_mgr_$close 000010 constant entry external dcl 96 ref 221 ms_table_mgr_$create 000012 constant entry external dcl 97 ref 155 ms_table_mgr_$new_entry 000014 constant entry external dcl 98 ref 204 ms_table_mgr_$open 000016 constant entry external dcl 100 ref 159 ms_table_mgr_$update_entry 000020 constant entry external dcl 101 ref 212 ms_table_mgr_v2_$abs_entry 000022 constant entry external dcl 103 ref 200 ms_table_mgr_v2_$close 000024 constant entry external dcl 105 ref 223 ms_table_mgr_v2_$open 000026 constant entry external dcl 106 ref 134 ms_table_mgr_v2_$table_data 000030 constant entry external dcl 107 ref 138 186 mti_v2 000272 automatic structure level 1 dcl 91 set ref 138 138 148 mti_v3 000307 automatic structure level 1 dcl 92 set ref 148* 155 155 source_dirname 000112 automatic char(168) unaligned dcl 36 set ref 123* 134* source_entry_ptr 000164 automatic pointer dcl 37 set ref 200* 208* source_entryname 000170 automatic char(32) unaligned dcl 39 set ref 124* 134* source_header_ptr 000200 automatic pointer dcl 40 set ref 134* 138* source_table_ptr 000202 automatic pointer dcl 41 set ref 128* 134* 138* 200* 208* 223 223* table_info 000335 automatic structure level 1 dcl 184 set ref 186 186 target_dirname 000204 automatic char(168) unaligned dcl 42 set ref 125* 155* 159* target_entry_ptr 000166 automatic pointer dcl 38 set ref 204* 208* 212* target_entryname 000256 automatic char(32) unaligned dcl 43 set ref 126* 155* 159* target_header_ptr 000266 automatic pointer dcl 44 set ref 159* target_table_ptr 000270 automatic pointer dcl 45 set ref 129* 159* 204* 212* 221 221* type 1 000307 automatic char(32) level 2 dcl 92 set ref 159 version 000272 automatic fixed bin(17,0) level 2 in structure "mti_v2" dcl 91 in procedure "convert_v2_mstb_" set ref 142 142 version 000307 automatic fixed bin(17,0) level 2 in structure "mti_v3" dcl 92 in procedure "convert_v2_mstb_" set ref 149* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MSTB_STATUS_VERSION_1 internal static fixed bin(17,0) initial dcl 2-17 entry based structure level 1 dcl 3-57 entry_v2 based structure level 1 dcl 70 ep automatic pointer dcl 3-29 hdrp automatic pointer dcl 3-29 ms_table_info_version_2 internal static fixed bin(17,0) initial dcl 76 mstb_status based structure level 1 dcl 2-8 mstb_status_ptr automatic pointer dcl 2-7 mt_header based structure level 1 dcl 3-31 mt_header_v2 based structure level 1 dcl 53 segp automatic pointer dcl 3-29 NAMES DECLARED BY EXPLICIT CONTEXT. CLEAN_UP 000567 constant entry internal dcl 219 ref 131 174 PROCESS_ENTRY 000446 constant entry internal dcl 195 ref 168 RETURN_TO_CALLER 000361 constant label dcl 174 ref 135 139 145 156 161 205 209 213 convert_v2_mstb_ 000024 constant entry external dcl 8 default_convert_proc 000376 constant entry external dcl 179 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 138 138 155 155 186 186 null builtin function ref 128 129 186 221 223 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1024 1062 636 1034 Length 1334 636 36 236 165 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_v2_mstb_ 324 external procedure is an external procedure. on unit on line 131 64 on unit PROCESS_ENTRY internal procedure shares stack frame of external procedure convert_v2_mstb_. CLEAN_UP 72 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_v2_mstb_ 000100 code convert_v2_mstb_ 000101 i convert_v2_mstb_ 000102 key convert_v2_mstb_ 000112 source_dirname convert_v2_mstb_ 000164 source_entry_ptr convert_v2_mstb_ 000166 target_entry_ptr convert_v2_mstb_ 000170 source_entryname convert_v2_mstb_ 000200 source_header_ptr convert_v2_mstb_ 000202 source_table_ptr convert_v2_mstb_ 000204 target_dirname convert_v2_mstb_ 000256 target_entryname convert_v2_mstb_ 000266 target_header_ptr convert_v2_mstb_ 000270 target_table_ptr convert_v2_mstb_ 000272 mti_v2 convert_v2_mstb_ 000307 mti_v3 convert_v2_mstb_ 000334 based_storage_length convert_v2_mstb_ 000335 table_info convert_v2_mstb_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_var call_ext_out_desc call_ext_out call_int_this call_int_other return enable ext_entry ext_entry_desc int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ms_table_mgr_$close ms_table_mgr_$create ms_table_mgr_$new_entry ms_table_mgr_$open ms_table_mgr_$update_entry ms_table_mgr_v2_$abs_entry ms_table_mgr_v2_$close ms_table_mgr_v2_$open ms_table_mgr_v2_$table_data THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_index error_table_$unimplemented_version CONSTANTS 000632 aa 000002000000 000633 aa 000000000000 000634 aa 600000000041 000635 aa 000101000000 000000 aa 524000000040 000001 aa 524000000000 000002 aa 526000000040 000003 aa 526000000250 000004 aa 526077777777 000005 aa 464000000000 000006 aa 604000000022 000007 aa 500000000000 000010 aa 404000000043 000012 aa 077777000043 000013 aa 000001000000 000014 aa 143 154 145 141 clea 000015 aa 156 165 160 000 nup BEGIN PROCEDURE convert_v2_mstb_ ENTRY TO convert_v2_mstb_ STATEMENT 1 ON LINE 8 convert_v2_mstb_: procedure (P_source_dirname, P_source_entryname, P_target_dirname, P_target_entryname, P_convert_procedure, P_new_entry_size, P_code); 000016 at 000007000004 000017 tt 000004000004 000020 tt 000004000007 000021 tt 000006000010 000022 ta 000016000000 000023 da 000134300000 000024 aa 000520 6270 00 eax7 336 000025 aa 7 00034 3521 20 epp2 pr7|28,* 000026 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 000027 aa 000016000000 000030 aa 000000000000 000031 aa 6 00042 3735 20 epp7 pr6|34,* 000032 aa 7 00000 2361 20 ldq pr7|0,* 000033 aa 000002 6040 04 tmi 2,ic 000035 000034 aa 777777 3760 07 anq 262143,dl 000035 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000036 aa 6 00360 7561 00 stq pr6|240 000037 aa 7 00002 2361 20 ldq pr7|2,* 000040 aa 000002 6040 04 tmi 2,ic 000042 000041 aa 777777 3760 07 anq 262143,dl 000042 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000043 aa 6 00361 7561 00 stq pr6|241 000044 aa 7 00004 2361 20 ldq pr7|4,* 000045 aa 000002 6040 04 tmi 2,ic 000047 000046 aa 777777 3760 07 anq 262143,dl 000047 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000050 aa 6 00362 7561 00 stq pr6|242 000051 aa 7 00006 2361 20 ldq pr7|6,* 000052 aa 000002 6040 04 tmi 2,ic 000054 000053 aa 777777 3760 07 anq 262143,dl 000054 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000055 aa 6 00363 7561 00 stq pr6|243 STATEMENT 1 ON LINE 123 source_dirname = P_source_dirname; 000056 aa 6 00032 3715 20 epp5 pr6|26,* 000057 aa 5 00002 3535 20 epp3 pr5|2,* 000060 aa 6 00360 2351 00 lda pr6|240 000061 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000062 aa 3 00000 00 0005 desc9a pr3|0,al P_source_dirname 000063 aa 6 00112 00 0250 desc9a pr6|74,168 source_dirname STATEMENT 1 ON LINE 124 source_entryname = P_source_entryname; 000064 aa 5 00004 3515 20 epp1 pr5|4,* 000065 aa 6 00361 2361 00 ldq pr6|241 000066 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000067 aa 1 00000 00 0006 desc9a pr1|0,ql P_source_entryname 000070 aa 6 00170 00 0040 desc9a pr6|120,32 source_entryname STATEMENT 1 ON LINE 125 target_dirname = P_target_dirname; 000071 aa 5 00006 3735 20 epp7 pr5|6,* 000072 aa 6 00362 2351 00 lda pr6|242 000073 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000074 aa 7 00000 00 0005 desc9a pr7|0,al P_target_dirname 000075 aa 6 00204 00 0250 desc9a pr6|132,168 target_dirname STATEMENT 1 ON LINE 126 target_entryname = P_target_entryname; 000076 aa 5 00010 3535 20 epp3 pr5|8,* 000077 aa 6 00363 2361 00 ldq pr6|243 000100 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000101 aa 3 00000 00 0006 desc9a pr3|0,ql P_target_entryname 000102 aa 6 00256 00 0040 desc9a pr6|174,32 target_entryname STATEMENT 1 ON LINE 128 source_table_ptr = null (); 000103 aa 777707 2370 04 ldaq -57,ic 000012 = 077777000043 000001000000 000104 aa 6 00202 7571 00 staq pr6|130 source_table_ptr STATEMENT 1 ON LINE 129 target_table_ptr = null (); 000105 aa 6 00270 7571 00 staq pr6|184 target_table_ptr STATEMENT 1 ON LINE 131 on condition (cleanup) call CLEAN_UP (); 000106 aa 000007 7260 07 lxl6 7,dl 000107 aa 777705 3520 04 epp2 -59,ic 000014 = 143154145141 000110 aa 0 00717 7001 00 tsx0 pr0|463 enable 000111 aa 000004 7100 04 tra 4,ic 000115 000112 aa 000326000000 000113 aa 000015 7100 04 tra 13,ic 000130 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 131 on condition (cleanup) call CLEAN_UP (); 000114 da 000142200000 000115 aa 000100 6270 00 eax7 64 000116 aa 7 00034 3521 20 epp2 pr7|28,* 000117 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000120 aa 000000000000 000121 aa 000000000000 000122 aa 000001 7270 07 lxl7 1,dl 000123 aa 6 00056 6211 00 eax1 pr6|46 000124 aa 000000 4310 07 fld 0,dl 000125 aa 000442 3520 04 epp2 290,ic 000567 = 000120627000 000126 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 000127 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 134 call ms_table_mgr_v2_$open (source_dirname, source_entryname, "", source_table_ptr, source_header_ptr, code); 000130 aa 6 00112 3521 00 epp2 pr6|74 source_dirname 000131 aa 6 00370 2521 00 spri2 pr6|248 000132 aa 6 00170 3521 00 epp2 pr6|120 source_entryname 000133 aa 6 00372 2521 00 spri2 pr6|250 000134 aa 6 00364 3521 00 epp2 pr6|244 000135 aa 6 00374 2521 00 spri2 pr6|252 000136 aa 6 00202 3521 00 epp2 pr6|130 source_table_ptr 000137 aa 6 00376 2521 00 spri2 pr6|254 000140 aa 6 00200 3521 00 epp2 pr6|128 source_header_ptr 000141 aa 6 00400 2521 00 spri2 pr6|256 000142 aa 6 00100 3521 00 epp2 pr6|64 code 000143 aa 6 00402 2521 00 spri2 pr6|258 000144 aa 777637 3520 04 epp2 -97,ic 000003 = 526000000250 000145 aa 6 00404 2521 00 spri2 pr6|260 000146 aa 777634 3520 04 epp2 -100,ic 000002 = 526000000040 000147 aa 6 00406 2521 00 spri2 pr6|262 000150 aa 777631 3520 04 epp2 -103,ic 000001 = 524000000000 000151 aa 6 00410 2521 00 spri2 pr6|264 000152 aa 777633 3520 04 epp2 -101,ic 000005 = 464000000000 000153 aa 6 00412 2521 00 spri2 pr6|266 000154 aa 6 00414 2521 00 spri2 pr6|268 000155 aa 777633 3520 04 epp2 -101,ic 000010 = 404000000043 000156 aa 6 00416 2521 00 spri2 pr6|270 000157 aa 6 00366 6211 00 eax1 pr6|246 000160 aa 030000 4310 07 fld 12288,dl 000161 aa 6 00044 3701 20 epp4 pr6|36,* 000162 la 4 00026 3521 20 epp2 pr4|22,* ms_table_mgr_v2_$open 000163 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 135 if code ^= 0 then goto RETURN_TO_CALLER; 000164 aa 6 00100 2361 00 ldq pr6|64 code 000165 aa 000174 6010 04 tnz 124,ic 000361 STATEMENT 1 ON LINE 138 call ms_table_mgr_v2_$table_data (source_table_ptr, addr (mti_v2), source_header_ptr, (0), code); 000166 aa 6 00272 3735 00 epp7 pr6|186 mti_v2 000167 aa 6 00420 6535 00 spri7 pr6|272 000170 aa 6 00364 4501 00 stz pr6|244 000171 aa 6 00202 3521 00 epp2 pr6|130 source_table_ptr 000172 aa 6 00370 2521 00 spri2 pr6|248 000173 aa 6 00420 3521 00 epp2 pr6|272 000174 aa 6 00372 2521 00 spri2 pr6|250 000175 aa 6 00200 3521 00 epp2 pr6|128 source_header_ptr 000176 aa 6 00374 2521 00 spri2 pr6|252 000177 aa 6 00364 3521 00 epp2 pr6|244 000200 aa 6 00376 2521 00 spri2 pr6|254 000201 aa 6 00100 3521 00 epp2 pr6|64 code 000202 aa 6 00400 2521 00 spri2 pr6|256 000203 aa 6 00366 6211 00 eax1 pr6|246 000204 aa 024000 4310 07 fld 10240,dl 000205 aa 6 00044 3701 20 epp4 pr6|36,* 000206 la 4 00030 3521 20 epp2 pr4|24,* ms_table_mgr_v2_$table_data 000207 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 139 if code ^= 0 then goto RETURN_TO_CALLER; 000210 aa 6 00100 2361 00 ldq pr6|64 code 000211 aa 000150 6010 04 tnz 104,ic 000361 STATEMENT 1 ON LINE 142 if mti_v2.version ^= 2 & mti_v2.version ^= 1 then do; 000212 aa 6 00272 2361 00 ldq pr6|186 mti_v2.version 000213 aa 000002 1160 07 cmpq 2,dl 000214 aa 000007 6000 04 tze 7,ic 000223 000215 aa 000001 1160 07 cmpq 1,dl 000216 aa 000005 6000 04 tze 5,ic 000223 STATEMENT 1 ON LINE 144 code = error_table_$unimplemented_version; 000217 aa 6 00044 3701 20 epp4 pr6|36,* 000220 la 4 00034 2361 20 ldq pr4|28,* error_table_$unimplemented_version 000221 aa 6 00100 7561 00 stq pr6|64 code STATEMENT 1 ON LINE 145 goto RETURN_TO_CALLER; 000222 aa 000137 7100 04 tra 95,ic 000361 STATEMENT 1 ON LINE 146 end; STATEMENT 1 ON LINE 148 mti_v3 = mti_v2, by name; 000223 aa 6 00272 2361 00 ldq pr6|186 mti_v2.version 000224 aa 6 00307 7561 00 stq pr6|199 mti_v3.version 000225 aa 000 100 100 500 mlr (pr),(pr),fill(000) 000226 aa 6 00273 00 0040 desc9a pr6|187,32 mti_v2.type 000227 aa 6 00310 00 0040 desc9a pr6|200,32 mti_v3.type 000230 aa 6 00303 2361 00 ldq pr6|195 mti_v2.header_size 000231 aa 6 00320 7561 00 stq pr6|208 mti_v3.header_size 000232 aa 6 00304 2361 00 ldq pr6|196 mti_v2.entry_size 000233 aa 6 00321 7561 00 stq pr6|209 mti_v3.entry_size 000234 aa 6 00305 2361 00 ldq pr6|197 mti_v2.max_entries 000235 aa 6 00322 7561 00 stq pr6|210 mti_v3.max_entries 000236 aa 6 00306 2361 00 ldq pr6|198 mti_v2.max_size 000237 aa 6 00323 7561 00 stq pr6|211 mti_v3.max_size STATEMENT 1 ON LINE 149 mti_v3.version = MS_TABLE_INFO_VERSION_3; 000240 aa 000003 2360 07 ldq 3,dl 000241 aa 6 00307 7561 00 stq pr6|199 mti_v3.version STATEMENT 1 ON LINE 150 mti_v3.keep_meters = "0"b; 000242 aa 6 00324 4501 00 stz pr6|212 mti_v3.keep_meters STATEMENT 1 ON LINE 152 if P_new_entry_size ^= 0 then mti_v3.entry_size = P_new_entry_size; 000243 aa 6 00032 3735 20 epp7 pr6|26,* 000244 aa 7 00014 2361 20 ldq pr7|12,* P_new_entry_size 000245 aa 000002 6000 04 tze 2,ic 000247 000246 aa 6 00321 7561 00 stq pr6|209 mti_v3.entry_size STATEMENT 1 ON LINE 155 call ms_table_mgr_$create (target_dirname, target_entryname, addr (mti_v3), code); 000247 aa 6 00307 3715 00 epp5 pr6|199 mti_v3 000250 aa 6 00420 6515 00 spri5 pr6|272 000251 aa 6 00204 3521 00 epp2 pr6|132 target_dirname 000252 aa 6 00370 2521 00 spri2 pr6|248 000253 aa 6 00256 3521 00 epp2 pr6|174 target_entryname 000254 aa 6 00372 2521 00 spri2 pr6|250 000255 aa 6 00420 3521 00 epp2 pr6|272 000256 aa 6 00374 2521 00 spri2 pr6|252 000257 aa 6 00100 3521 00 epp2 pr6|64 code 000260 aa 6 00376 2521 00 spri2 pr6|254 000261 aa 777522 3520 04 epp2 -174,ic 000003 = 526000000250 000262 aa 6 00400 2521 00 spri2 pr6|256 000263 aa 777517 3520 04 epp2 -177,ic 000002 = 526000000040 000264 aa 6 00402 2521 00 spri2 pr6|258 000265 aa 777520 3520 04 epp2 -176,ic 000005 = 464000000000 000266 aa 6 00404 2521 00 spri2 pr6|260 000267 aa 777521 3520 04 epp2 -175,ic 000010 = 404000000043 000270 aa 6 00406 2521 00 spri2 pr6|262 000271 aa 6 00366 6211 00 eax1 pr6|246 000272 aa 020000 4310 07 fld 8192,dl 000273 aa 6 00044 3701 20 epp4 pr6|36,* 000274 la 4 00012 3521 20 epp2 pr4|10,* ms_table_mgr_$create 000275 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 156 if code ^= 0 then goto RETURN_TO_CALLER; 000276 aa 6 00100 2361 00 ldq pr6|64 code 000277 aa 000062 6010 04 tnz 50,ic 000361 STATEMENT 1 ON LINE 159 call ms_table_mgr_$open (target_dirname, target_entryname, (mti_v3.type), target_table_ptr, target_header_ptr, code); 000300 aa 000 100 100 500 mlr (pr),(pr),fill(000) 000301 aa 6 00310 00 0040 desc9a pr6|200,32 mti_v3.type 000302 aa 6 00366 00 0040 desc9a pr6|246,32 000303 aa 6 00204 3521 00 epp2 pr6|132 target_dirname 000304 aa 6 00424 2521 00 spri2 pr6|276 000305 aa 6 00256 3521 00 epp2 pr6|174 target_entryname 000306 aa 6 00426 2521 00 spri2 pr6|278 000307 aa 6 00366 3521 00 epp2 pr6|246 000310 aa 6 00430 2521 00 spri2 pr6|280 000311 aa 6 00270 3521 00 epp2 pr6|184 target_table_ptr 000312 aa 6 00432 2521 00 spri2 pr6|282 000313 aa 6 00266 3521 00 epp2 pr6|182 target_header_ptr 000314 aa 6 00434 2521 00 spri2 pr6|284 000315 aa 6 00100 3521 00 epp2 pr6|64 code 000316 aa 6 00436 2521 00 spri2 pr6|286 000317 aa 777464 3520 04 epp2 -204,ic 000003 = 526000000250 000320 aa 6 00440 2521 00 spri2 pr6|288 000321 aa 777461 3520 04 epp2 -207,ic 000002 = 526000000040 000322 aa 6 00442 2521 00 spri2 pr6|290 000323 aa 777455 3520 04 epp2 -211,ic 000000 = 524000000040 000324 aa 6 00444 2521 00 spri2 pr6|292 000325 aa 777460 3520 04 epp2 -208,ic 000005 = 464000000000 000326 aa 6 00446 2521 00 spri2 pr6|294 000327 aa 6 00450 2521 00 spri2 pr6|296 000330 aa 777460 3520 04 epp2 -208,ic 000010 = 404000000043 000331 aa 6 00452 2521 00 spri2 pr6|298 000332 aa 6 00422 6211 00 eax1 pr6|274 000333 aa 030000 4310 07 fld 12288,dl 000334 aa 6 00044 3701 20 epp4 pr6|36,* 000335 la 4 00016 3521 20 epp2 pr4|14,* ms_table_mgr_$open 000336 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 161 if code ^= 0 then goto RETURN_TO_CALLER; 000337 aa 6 00100 2361 00 ldq pr6|64 code 000340 aa 000021 6010 04 tnz 17,ic 000361 STATEMENT 1 ON LINE 167 do i = 1 by 1 while (code ^= error_table_$bad_index); 000341 aa 000001 2360 07 ldq 1,dl 000342 aa 6 00101 7561 00 stq pr6|65 i 000343 aa 000000 0110 03 nop 0,du 000344 aa 6 00100 2361 00 ldq pr6|64 code 000345 aa 6 00044 3701 20 epp4 pr6|36,* 000346 la 4 00032 1161 20 cmpq pr4|26,* error_table_$bad_index 000347 aa 000010 6000 04 tze 8,ic 000357 STATEMENT 1 ON LINE 168 call PROCESS_ENTRY (i); 000350 aa 000262 3520 04 epp2 178,ic 000632 = 000002000000 000351 aa 000075 6700 04 tsp4 61,ic 000446 STATEMENT 1 ON LINE 169 end; 000352 aa 6 00101 2351 00 lda pr6|65 i 000353 aa 000044 7330 00 lrs 36 000354 aa 000001 0330 07 adl 1,dl 000355 aa 6 00101 7561 00 stq pr6|65 i 000356 aa 777766 7100 04 tra -10,ic 000344 STATEMENT 1 ON LINE 171 if code = error_table_$bad_index then code = 0; 000357 aa 000002 6010 04 tnz 2,ic 000361 000360 aa 6 00100 4501 00 stz pr6|64 code STATEMENT 1 ON LINE 174 RETURN_TO_CALLER: call CLEAN_UP (); 000361 aa 6 00056 6211 00 eax1 pr6|46 000362 aa 000000 4310 07 fld 0,dl 000363 aa 000204 3520 04 epp2 132,ic 000567 = 000120627000 000364 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 176 P_code = code; 000365 aa 6 00100 2361 00 ldq pr6|64 code 000366 aa 6 00032 3735 20 epp7 pr6|26,* 000367 aa 7 00016 7561 20 stq pr7|14,* P_code STATEMENT 1 ON LINE 177 return; 000370 aa 0 00631 7101 00 tra pr0|409 return ENTRY TO default_convert_proc STATEMENT 1 ON LINE 179 default_convert_proc: entry (P_table_ptr, P_septr, P_teptr, P_ec); 000371 at 000004000005 000372 tt 000005000005 000373 ta 000010000000 000374 ta 000371000000 000375 da 000153300000 000376 aa 000520 6270 00 eax7 336 000377 aa 7 00034 3521 20 epp2 pr7|28,* 000400 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000401 aa 000010000000 000402 aa 000000000000 STATEMENT 1 ON LINE 186 call ms_table_mgr_v2_$table_data (P_table_ptr, addr (table_info), (null ()), (0), P_ec); 000403 aa 6 00335 3735 00 epp7 pr6|221 table_info 000404 aa 6 00420 6535 00 spri7 pr6|272 000405 aa 777405 3714 24 epp5 -251,ic* 000406 aa 6 00454 6515 00 spri5 pr6|300 000407 aa 6 00364 4501 00 stz pr6|244 000410 aa 6 00032 3535 20 epp3 pr6|26,* 000411 aa 3 00002 3521 20 epp2 pr3|2,* P_table_ptr 000412 aa 6 00424 2521 00 spri2 pr6|276 000413 aa 6 00420 3521 00 epp2 pr6|272 000414 aa 6 00426 2521 00 spri2 pr6|278 000415 aa 6 00454 3521 00 epp2 pr6|300 000416 aa 6 00430 2521 00 spri2 pr6|280 000417 aa 6 00364 3521 00 epp2 pr6|244 000420 aa 6 00432 2521 00 spri2 pr6|282 000421 aa 3 00010 3521 20 epp2 pr3|8,* P_ec 000422 aa 6 00434 2521 00 spri2 pr6|284 000423 aa 6 00422 6211 00 eax1 pr6|274 000424 aa 024000 4310 07 fld 10240,dl 000425 aa 6 00044 3701 20 epp4 pr6|36,* 000426 la 4 00030 3521 20 epp2 pr4|24,* ms_table_mgr_v2_$table_data 000427 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 187 if P_ec ^= 0 then return; 000430 aa 6 00032 3735 20 epp7 pr6|26,* 000431 aa 7 00010 2361 20 ldq pr7|8,* P_ec 000432 aa 0 00631 6011 00 tnz pr0|409 return STATEMENT 1 ON LINE 190 based_storage_length = table_info.entry_size; 000433 aa 6 00347 2361 00 ldq pr6|231 table_info.entry_size 000434 aa 6 00334 7561 00 stq pr6|220 based_storage_length STATEMENT 1 ON LINE 192 P_teptr -> based_storage = P_septr -> based_storage; 000435 aa 000002 7360 00 qls 2 000436 aa 7 00006 3715 20 epp5 pr7|6,* P_teptr 000437 aa 5 00000 3715 20 epp5 pr5|0,* P_teptr 000440 aa 7 00004 3535 20 epp3 pr7|4,* P_septr 000441 aa 3 00000 3535 20 epp3 pr3|0,* P_septr 000442 aa 000 140 100 540 mlr (pr,rl),(pr,rl),fill(000) 000443 aa 3 00000 00 0006 desc9a pr3|0,ql based_storage 000444 aa 5 00000 00 0006 desc9a pr5|0,ql based_storage STATEMENT 1 ON LINE 193 return; 000445 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 235 end convert_v2_mstb_; BEGIN PROCEDURE PROCESS_ENTRY ENTRY TO PROCESS_ENTRY STATEMENT 1 ON LINE 195 PROCESS_ENTRY: procedure (idx); 000446 aa 6 00352 6501 00 spri4 pr6|234 000447 aa 6 00354 2521 00 spri2 pr6|236 STATEMENT 1 ON LINE 200 call ms_table_mgr_v2_$abs_entry (source_table_ptr, idx, key, source_entry_ptr, code); 000450 aa 6 00202 3521 00 epp2 pr6|130 source_table_ptr 000451 aa 6 00460 2521 00 spri2 pr6|304 000452 aa 6 00354 3735 20 epp7 pr6|236,* 000453 aa 7 00002 3521 20 epp2 pr7|2,* idx 000454 aa 6 00462 2521 00 spri2 pr6|306 000455 aa 6 00102 3521 00 epp2 pr6|66 key 000456 aa 6 00464 2521 00 spri2 pr6|308 000457 aa 6 00164 3521 00 epp2 pr6|116 source_entry_ptr 000460 aa 6 00466 2521 00 spri2 pr6|310 000461 aa 6 00100 3521 00 epp2 pr6|64 code 000462 aa 6 00470 2521 00 spri2 pr6|312 000463 aa 777322 3520 04 epp2 -302,ic 000005 = 464000000000 000464 aa 6 00472 2521 00 spri2 pr6|314 000465 aa 6 00500 2521 00 spri2 pr6|320 000466 aa 777322 3520 04 epp2 -302,ic 000010 = 404000000043 000467 aa 6 00474 2521 00 spri2 pr6|316 000470 aa 6 00502 2521 00 spri2 pr6|322 000471 aa 777311 3520 04 epp2 -311,ic 000002 = 526000000040 000472 aa 6 00476 2521 00 spri2 pr6|318 000473 aa 6 00456 6211 00 eax1 pr6|302 000474 aa 024000 4310 07 fld 10240,dl 000475 aa 6 00044 3701 20 epp4 pr6|36,* 000476 la 4 00022 3521 20 epp2 pr4|18,* ms_table_mgr_v2_$abs_entry 000477 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 201 if code ^= 0 then return; 000500 aa 6 00100 2361 00 ldq pr6|64 code 000501 aa 000002 6000 04 tze 2,ic 000503 000502 aa 6 00352 6101 00 rtcd pr6|234 STATEMENT 1 ON LINE 204 call ms_table_mgr_$new_entry (target_table_ptr, key, target_entry_ptr, code); 000503 aa 6 00270 3521 00 epp2 pr6|184 target_table_ptr 000504 aa 6 00460 2521 00 spri2 pr6|304 000505 aa 6 00102 3521 00 epp2 pr6|66 key 000506 aa 6 00462 2521 00 spri2 pr6|306 000507 aa 6 00166 3521 00 epp2 pr6|118 target_entry_ptr 000510 aa 6 00464 2521 00 spri2 pr6|308 000511 aa 6 00100 3521 00 epp2 pr6|64 code 000512 aa 6 00466 2521 00 spri2 pr6|310 000513 aa 777272 3520 04 epp2 -326,ic 000005 = 464000000000 000514 aa 6 00470 2521 00 spri2 pr6|312 000515 aa 6 00474 2521 00 spri2 pr6|316 000516 aa 777264 3520 04 epp2 -332,ic 000002 = 526000000040 000517 aa 6 00472 2521 00 spri2 pr6|314 000520 aa 777270 3520 04 epp2 -328,ic 000010 = 404000000043 000521 aa 6 00476 2521 00 spri2 pr6|318 000522 aa 6 00456 6211 00 eax1 pr6|302 000523 aa 020000 4310 07 fld 8192,dl 000524 aa 6 00044 3701 20 epp4 pr6|36,* 000525 la 4 00014 3521 20 epp2 pr4|12,* ms_table_mgr_$new_entry 000526 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 205 if code ^= 0 then goto RETURN_TO_CALLER; 000527 aa 6 00100 2361 00 ldq pr6|64 code 000530 aa 777631 6010 04 tnz -103,ic 000361 STATEMENT 1 ON LINE 208 call P_convert_procedure (source_table_ptr, source_entry_ptr, target_entry_ptr, code); 000531 aa 6 00202 3521 00 epp2 pr6|130 source_table_ptr 000532 aa 6 00460 2521 00 spri2 pr6|304 000533 aa 6 00164 3521 00 epp2 pr6|116 source_entry_ptr 000534 aa 6 00462 2521 00 spri2 pr6|306 000535 aa 6 00166 3521 00 epp2 pr6|118 target_entry_ptr 000536 aa 6 00464 2521 00 spri2 pr6|308 000537 aa 6 00100 3521 00 epp2 pr6|64 code 000540 aa 6 00466 2521 00 spri2 pr6|310 000541 aa 6 00456 6211 00 eax1 pr6|302 000542 aa 020000 4310 07 fld 8192,dl 000543 aa 6 00032 3735 20 epp7 pr6|26,* 000544 aa 7 00012 3521 20 epp2 pr7|10,* P_convert_procedure 000545 aa 0 00617 7001 00 tsx0 pr0|399 call_var STATEMENT 1 ON LINE 209 if code ^= 0 then goto RETURN_TO_CALLER; 000546 aa 6 00100 2361 00 ldq pr6|64 code 000547 aa 777612 6010 04 tnz -118,ic 000361 STATEMENT 1 ON LINE 212 call ms_table_mgr_$update_entry (target_table_ptr, target_entry_ptr, code); 000550 aa 6 00270 3521 00 epp2 pr6|184 target_table_ptr 000551 aa 6 00460 2521 00 spri2 pr6|304 000552 aa 6 00166 3521 00 epp2 pr6|118 target_entry_ptr 000553 aa 6 00462 2521 00 spri2 pr6|306 000554 aa 6 00100 3521 00 epp2 pr6|64 code 000555 aa 6 00464 2521 00 spri2 pr6|308 000556 aa 6 00456 6211 00 eax1 pr6|302 000557 aa 014000 4310 07 fld 6144,dl 000560 aa 6 00044 3701 20 epp4 pr6|36,* 000561 la 4 00020 3521 20 epp2 pr4|16,* ms_table_mgr_$update_entry 000562 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 213 if code ^= 0 then goto RETURN_TO_CALLER; 000563 aa 6 00100 2361 00 ldq pr6|64 code 000564 aa 777575 6010 04 tnz -131,ic 000361 STATEMENT 1 ON LINE 216 return; 000565 aa 6 00352 6101 00 rtcd pr6|234 STATEMENT 1 ON LINE 217 end PROCESS_ENTRY; END PROCEDURE PROCESS_ENTRY BEGIN PROCEDURE CLEAN_UP ENTRY TO CLEAN_UP STATEMENT 1 ON LINE 219 CLEAN_UP: procedure (); 000566 da 000161200000 000567 aa 000120 6270 00 eax7 80 000570 aa 7 00034 3521 20 epp2 pr7|28,* 000571 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000572 aa 000000000000 000573 aa 000000000000 STATEMENT 1 ON LINE 221 if target_table_ptr ^= null () then call ms_table_mgr_$close (target_table_ptr, (0)); 000574 aa 6 00040 3735 20 epp7 pr6|32,* 000575 aa 7 00270 2371 00 ldaq pr7|184 target_table_ptr 000576 aa 777214 6770 04 eraq -372,ic 000012 = 077777000043 000001000000 000577 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000600 aa 000012 6000 04 tze 10,ic 000612 000601 aa 6 00100 4501 00 stz pr6|64 000602 aa 7 00270 3521 00 epp2 pr7|184 target_table_ptr 000603 aa 6 00104 2521 00 spri2 pr6|68 000604 aa 6 00100 3521 00 epp2 pr6|64 000605 aa 6 00106 2521 00 spri2 pr6|70 000606 aa 6 00102 6211 00 eax1 pr6|66 000607 aa 010000 4310 07 fld 4096,dl 000610 la 4 00010 3521 20 epp2 pr4|8,* ms_table_mgr_$close 000611 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 223 if source_table_ptr ^= null () then call ms_table_mgr_v2_$close (source_table_ptr, (0)); 000612 aa 6 00040 3735 20 epp7 pr6|32,* 000613 aa 7 00202 2371 00 ldaq pr7|130 source_table_ptr 000614 aa 777176 6770 04 eraq -386,ic 000012 = 077777000043 000001000000 000615 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000616 aa 000013 6000 04 tze 11,ic 000631 000617 aa 6 00100 4501 00 stz pr6|64 000620 aa 7 00202 3521 00 epp2 pr7|130 source_table_ptr 000621 aa 6 00104 2521 00 spri2 pr6|68 000622 aa 6 00100 3521 00 epp2 pr6|64 000623 aa 6 00106 2521 00 spri2 pr6|70 000624 aa 6 00102 6211 00 eax1 pr6|66 000625 aa 010000 4310 07 fld 4096,dl 000626 aa 6 00044 3701 20 epp4 pr6|36,* 000627 la 4 00024 3521 20 epp2 pr4|20,* ms_table_mgr_v2_$close 000630 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 226 return; 000631 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 227 end CLEAN_UP; END PROCEDURE CLEAN_UP END PROCEDURE convert_v2_mstb_ ----------------------------------------------------------- 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