COMPILATION LISTING OF SEGMENT rcm_free_opening_info Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1603.6 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: style2,ind3 */ 8 9 rcm_free_opening_info: 10 proc (p_file_opening_id, p_record_collection_id, p_code); 11 12 /* DESCRIPTION: 13* This routine frees the opening information held for this record 14* collection. 15**/ 16 17 /* HISTORY: 18*Written by Matthew Pierret, 04/04/83. 19*Modified: 20*07/28/83 by Matthew Pierret: Changed name from rm_free_opening_info to 21* rcm_free_opening_info, and all rm_ prefixes to rcm_. 22*05/04/84 by Matthew Pierret: Changed to FIELD_TABLE_VERSION_3. 23**/ 24 25 /* START OF DECLARATIONS */ 26 /* Parameter */ 27 28 dcl p_file_opening_id bit (36) aligned; /*is the opening identifier of a 29* file*/ 30 dcl p_record_collection_id bit (36) aligned; /*is the identifier of a record 31* collection*/ 32 dcl p_code fixed bin (35); /*is a standard system error code*/ 33 34 /* Automatic */ 35 36 dcl opening_table_ptr ptr; 37 38 /* Based */ 39 40 dcl dm_area area (sys_info$max_seg_size) based (dm_area_ptr); 41 42 /* Builtin */ 43 44 dcl null builtin; 45 46 /* Constant */ 47 48 dcl myname init ("rcm_free_opening_info") char (32) varying internal static options (constant); 49 50 /* Entry */ 51 52 dcl get_dm_free_area_ entry () returns (ptr); 53 dcl rcm_get_opening_info$opening_table_ptr 54 entry () returns (ptr); 55 dcl opening_manager_$get_opening 56 entry (ptr, bit (72) aligned, ptr, fixed bin (35)); 57 dcl opening_manager_$free_opening 58 entry (ptr, bit (72) aligned, fixed bin (35)); 59 dcl sub_err_ entry () options (variable); 60 61 /* External */ 62 63 dcl ( 64 dm_error_$programming_error, 65 dm_error_$no_opening, 66 sys_info$max_seg_size 67 ) fixed bin (35) ext; 68 69 /* Static */ 70 71 dcl dm_area_ptr ptr internal static init (null); 72 73 /* END OF DECLARATIONS */ 74 75 p_code = 0; 76 77 opening_table_ptr = rcm_get_opening_info$opening_table_ptr (); 78 if opening_table_ptr = null 79 then return; /* Nothing to free */ 80 81 call 82 opening_manager_$get_opening (opening_table_ptr, (p_file_opening_id || p_record_collection_id), 83 record_collection_opening_info_ptr, p_code); 84 if p_code ^= 0 85 then 86 do; 87 if p_code = dm_error_$no_opening 88 then p_code = 0; 89 return; 90 end; 91 92 if record_collection_opening_info.version ^= RECORD_COLLECTION_OPENING_INFO_VERSION_1 93 then call 94 sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, 95 "^/Expected version ^8a of the record_collection_opening_info structure.^/Received version ^8a.", 96 RECORD_COLLECTION_OPENING_INFO_VERSION_1, record_collection_opening_info.version); 97 98 field_table_ptr = record_collection_opening_info.field_table_ptr; 99 if field_table.version ^= FIELD_TABLE_VERSION_3 100 then call 101 sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, 102 "^/Expected version ^d of the record_collection_opening_info structure.^/Received version ^d.", 103 FIELD_TABLE_VERSION_3, field_table.version); 104 105 call opening_manager_$free_opening (opening_table_ptr, (p_file_opening_id || p_record_collection_id), p_code); 106 if p_code ^= 0 107 then return; 108 109 if dm_area_ptr = null 110 then dm_area_ptr = get_dm_free_area_ (); 111 112 free record_collection_opening_info in (dm_area); 113 free field_table in (dm_area); 114 115 return; 116 1 1 /* BEGIN INCLUDE FILE dm_rcm_opening_info.incl.pl1 */ 1 2 1 3 /* HISTORY: 1 4*Written by Matthew Pierret, 03/15/83. 1 5*Modified: 1 6*07/28/83 by Matthew Pierret: Changed name from dm_rm_opening_info.incl.pl1 to 1 7* dm_rcm_opening_info.incl.pl1. 1 8**/ 1 9 1 10 /* format: style2,ind3 */ 1 11 dcl 1 record_collection_opening_info 1 12 aligned based (record_collection_opening_info_ptr), 1 13 2 version char (8) aligned init (RECORD_COLLECTION_OPENING_INFO_VERSION_1), 1 14 2 current_transaction_id 1 15 bit (36) aligned init ("0"b), 1 16 2 current_rollback_count 1 17 fixed bin (35) init (0), 1 18 2 file_opening_id bit (36) aligned init ("0"b), 1 19 2 collection_id bit (36) aligned init ("0"b), 1 20 2 field_table_ptr ptr init (null); 1 21 1 22 dcl record_collection_opening_info_ptr 1 23 ptr init (null); 1 24 dcl RECORD_COLLECTION_OPENING_INFO_VERSION_1 1 25 char (8) aligned init ("rc_open1") internal static options (constant); 1 26 1 27 /* BEGIN INCLUDE FILE dm_rcm_opening_info.incl.pl1 */ 117 118 2 1 /* ********** BEGIN INCLUDE FILE dm_field_table.incl.pl1 ********** */ 2 2 2 3 /* DESCRIPTION: 2 4* 2 5* The field_table describes the layout of a set of fields in a 2 6* formatted data string. Such a string is the stored representation of a 2 7* record or a key. Fields are placed side-by-side in the string in the 2 8* order they appear in the field_table.field array. The string is divided 2 9* into the fixed portion and the varying portion. In the fixed portion 2 10* appear fixed-length fields and fixed-size length-fields for 2 11* varying-length fields. In the varying portion appear varying length 2 12* fields. The length-field for a varying-length field contains the length 2 13* of the field values either in bits or in characters, depending on the 2 14* data type of the field. 2 15**/ 2 16 2 17 /* HISTORY: 2 18*Written by Matthew Pierret, 04/01/82. 2 19*Modified: 2 20*04/20/82 by Matthew Pierret: Added length_is_in_characters, meaning, if on, 2 21* that if the field is varying, its length is expressed in 2 22* bytes/characters. 2 23*03/22/83 by Lindsey Spratt: Changed lofvf to have a precision of 35 instead 2 24* of 17, changed version to 2, changed version field to char(8) from 2 25* fixed bin (17). 2 26*05/01/84 by Matthew Pierret: Changed version to 3. Removed field.name and 2 27* put field names in one string (field_names) at the end of the 2 28* structure. Added field.location_of_name and field.length_of_name 2 29* for locating the field name in field_names. Aligned all "fixed bin" 2 30* structure elements. Changed maximum_field_name_length to 2 31* length_of_field_names. 2 32**/ 2 33 2 34 /* format: style2 */ 2 35 2 36 dcl 1 field_table aligned based (field_table_ptr), 2 37 2 version char (8) aligned init (FIELD_TABLE_VERSION_3), 2 38 2 number_of_fields fixed bin (17), 2 39 2 length_of_field_names 2 40 fixed bin (17), /* length of field_names in characters */ 2 41 2 location_of_first_varying_field 2 42 fixed bin (35), /* location of first bit in the varying portion of the formatted string */ 2 43 2 field (ft_number_of_fields refer (field_table.number_of_fields)), 2 44 3 flags aligned, 2 45 4 descriptor_is_varying 2 46 bit (1) unal, /* if on, the descriptor is not limited to the standard 36 bits */ 2 47 /* and is stored in a stand-alone fashion, with field.descriptor */ 2 48 /* containing the id of the element in which the descriptor is stored. */ 2 49 4 length_is_in_characters 2 50 bit (1) unal, /* if field is varying, the length field describes its length */ 2 51 /* in characters instead of in bits */ 2 52 4 must_be_zero bit (34) unal, 2 53 3 descriptor bit (36) aligned, 2 54 3 location fixed bin (35), /* location of first bit of field in formatted string */ 2 55 3 length_in_bits fixed bin (35), /* length of field in bits */ 2 56 3 location_of_name fixed bin (17), /* location of first character of field name in field_names */ 2 57 3 length_of_name fixed bin (17), /* length of name in characters */ 2 58 2 varying_field_map (ft_number_of_fields refer (field_table.number_of_fields)), 2 59 3 field_id fixed bin (17), /* field_id of Nth varying field */ 2 60 3 varying_field_index 2 61 fixed bin (17), /* ordinality among varying fields of field N */ 2 62 2 field_names char (ft_length_of_field_names refer (field_table.length_of_field_names)); 2 63 2 64 2 65 dcl field_table_ptr ptr; 2 66 dcl ft_length_of_field_names 2 67 fixed bin; 2 68 dcl ft_number_of_fields fixed bin; 2 69 dcl FIELD_TABLE_VERSION_3 char (8) aligned init ("FldTbl 3") internal static options (constant); 2 70 2 71 dcl field_name char (field_name_length) based (field_name_ptr); 2 72 2 73 dcl field_name_length fixed bin; 2 74 dcl field_name_ptr ptr; 2 75 2 76 /* END INCLUDE FILE dm_field_table.incl.pl1 */ 119 120 3 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 3 2 /* format: style3 */ 3 3 3 4 /* These constants are to be used for the flags argument of sub_err_ */ 3 5 /* They are just "string (condition_info_header.action_flags)" */ 3 6 3 7 declare ( 3 8 ACTION_CAN_RESTART init (""b), 3 9 ACTION_CANT_RESTART init ("1"b), 3 10 ACTION_DEFAULT_RESTART 3 11 init ("01"b), 3 12 ACTION_QUIET_RESTART 3 13 init ("001"b), 3 14 ACTION_SUPPORT_SIGNAL 3 15 init ("0001"b) 3 16 ) bit (36) aligned internal static options (constant); 3 17 3 18 /* End include file */ 121 122 end rcm_free_opening_info; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1147.2 rcm_free_opening_info.pl1 >spec>temp>famis1>rcm_free_opening_info.pl1 117 1 01/03/85 1004.3 dm_rcm_opening_info.incl.pl1 >spec>temp>famis1>dm_rcm_opening_info.incl.pl1 119 2 01/03/85 1003.3 dm_field_table.incl.pl1 >spec>temp>famis1>dm_field_table.incl.pl1 121 3 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 3-7 set ref 92* 99* FIELD_TABLE_VERSION_3 000002 constant char(8) initial dcl 2-69 set ref 99 99* RECORD_COLLECTION_OPENING_INFO_VERSION_1 000004 constant char(8) initial dcl 1-24 set ref 92 92* dm_area based area dcl 40 ref 112 113 dm_area_ptr 000010 internal static pointer initial dcl 71 set ref 109 109* 112 113 dm_error_$no_opening 000026 external static fixed bin(35,0) dcl 63 ref 87 dm_error_$programming_error 000024 external static fixed bin(35,0) dcl 63 set ref 92* 99* field_table based structure level 1 dcl 2-36 set ref 113 field_table_ptr 6 based pointer initial level 2 in structure "record_collection_opening_info" dcl 1-11 in procedure "rcm_free_opening_info" ref 98 field_table_ptr 000104 automatic pointer dcl 2-65 in procedure "rcm_free_opening_info" set ref 98* 99 99 113 get_dm_free_area_ 000012 constant entry external dcl 52 ref 109 length_of_field_names 3 based fixed bin(17,0) level 2 dcl 2-36 ref 113 myname 000006 constant varying char(32) initial dcl 48 set ref 92* 99* null builtin function dcl 44 ref 78 92 92 99 99 109 1-22 number_of_fields 2 based fixed bin(17,0) level 2 dcl 2-36 ref 113 113 opening_manager_$free_opening 000020 constant entry external dcl 57 ref 105 opening_manager_$get_opening 000016 constant entry external dcl 55 ref 81 opening_table_ptr 000100 automatic pointer dcl 36 set ref 77* 78 81* 105* p_code parameter fixed bin(35,0) dcl 32 set ref 9 75* 81* 84 87 87* 105* 106 p_file_opening_id parameter bit(36) dcl 28 ref 9 81 105 p_record_collection_id parameter bit(36) dcl 30 ref 9 81 105 rcm_get_opening_info$opening_table_ptr 000014 constant entry external dcl 53 ref 77 record_collection_opening_info based structure level 1 dcl 1-11 set ref 112 record_collection_opening_info_ptr 000102 automatic pointer initial dcl 1-22 set ref 81* 92 92 98 112 1-22* sub_err_ 000022 constant entry external dcl 59 ref 92 99 version based char(8) initial level 2 in structure "record_collection_opening_info" dcl 1-11 in procedure "rcm_free_opening_info" set ref 92 92* version based char(8) initial level 2 in structure "field_table" dcl 2-36 in procedure "rcm_free_opening_info" set ref 99 99* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 3-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 3-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 3-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 3-7 field_name based char unaligned dcl 2-71 field_name_length automatic fixed bin(17,0) dcl 2-73 field_name_ptr automatic pointer dcl 2-74 ft_length_of_field_names automatic fixed bin(17,0) dcl 2-66 ft_number_of_fields automatic fixed bin(17,0) dcl 2-68 sys_info$max_seg_size external static fixed bin(35,0) dcl 63 NAME DECLARED BY EXPLICIT CONTEXT. rcm_free_opening_info 000115 constant entry external dcl 9 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 536 566 410 546 Length 1026 410 30 223 126 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rcm_free_opening_info 146 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 dm_area_ptr rcm_free_opening_info STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rcm_free_opening_info 000100 opening_table_ptr rcm_free_opening_info 000102 record_collection_opening_info_ptr rcm_free_opening_info 000104 field_table_ptr rcm_free_opening_info THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_dm_free_area_ opening_manager_$free_opening opening_manager_$get_opening rcm_get_opening_info$opening_table_ptr sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$no_opening dm_error_$programming_error CONSTANTS 000000 aa 400000000000 000002 aa 106 154 144 124 FldT 000003 aa 142 154 040 063 bl 3 000004 aa 162 143 137 157 rc_o 000005 aa 160 145 156 061 pen1 000006 aa 000000000025 000007 aa 162 143 155 137 rcm_ 000010 aa 146 162 145 145 free 000011 aa 137 157 160 145 _ope 000012 aa 156 151 156 147 ning 000013 aa 137 151 156 146 _inf 000014 aa 157 040 040 040 o 000015 aa 040 040 040 040 000016 aa 040 040 040 040 000017 aa 524000000134 000020 aa 524000000010 000021 aa 524000000136 000022 aa 404000000005 000023 aa 530000000040 000024 aa 464000000000 000025 aa 404000000043 000026 aa 514000000044 000030 aa 077777000043 000031 aa 000001000000 000032 aa 136 057 105 170 ^/Ex 000033 aa 160 145 143 164 pect 000034 aa 145 144 040 166 ed v 000035 aa 145 162 163 151 ersi 000036 aa 157 156 040 136 on ^ 000037 aa 144 040 157 146 d of 000040 aa 040 164 150 145 the 000041 aa 040 162 145 143 rec 000042 aa 157 162 144 137 ord_ 000043 aa 143 157 154 154 coll 000044 aa 145 143 164 151 ecti 000045 aa 157 156 137 157 on_o 000046 aa 160 145 156 151 peni 000047 aa 156 147 137 151 ng_i 000050 aa 156 146 157 040 nfo 000051 aa 163 164 162 165 stru 000052 aa 143 164 165 162 ctur 000053 aa 145 056 136 057 e.^/ 000054 aa 122 145 143 145 Rece 000055 aa 151 166 145 144 ived 000056 aa 040 166 145 162 ver 000057 aa 163 151 157 156 sion 000060 aa 040 136 144 056 ^d. 000061 aa 136 057 105 170 ^/Ex 000062 aa 160 145 143 164 pect 000063 aa 145 144 040 166 ed v 000064 aa 145 162 163 151 ersi 000065 aa 157 156 040 136 on ^ 000066 aa 070 141 040 157 8a o 000067 aa 146 040 164 150 f th 000070 aa 145 040 162 145 e re 000071 aa 143 157 162 144 cord 000072 aa 137 143 157 154 _col 000073 aa 154 145 143 164 lect 000074 aa 151 157 156 137 ion_ 000075 aa 157 160 145 156 open 000076 aa 151 156 147 137 ing_ 000077 aa 151 156 146 157 info 000100 aa 040 163 164 162 str 000101 aa 165 143 164 165 uctu 000102 aa 162 145 056 136 re.^ 000103 aa 057 122 145 143 /Rec 000104 aa 145 151 166 145 eive 000105 aa 144 040 166 145 d ve 000106 aa 162 163 151 157 rsio 000107 aa 156 040 136 070 n ^8 000110 aa 141 056 000 000 a. BEGIN PROCEDURE rcm_free_opening_info ENTRY TO rcm_free_opening_info STATEMENT 1 ON LINE 9 rcm_free_opening_info: proc (p_file_opening_id, p_record_collection_id, p_code); 000111 at 000003000026 000112 tt 000026000025 000113 ta 000111000000 000114 da 000122300000 000115 aa 000240 6270 00 eax7 160 000116 aa 7 00034 3521 20 epp2 pr7|28,* 000117 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000120 aa 000006000000 000121 aa 000000000000 STATEMENT 1 ON LINE 22 OF FILE 1 000122 aa 777706 2370 04 ldaq -58,ic 000030 = 077777000043 000001000000 000123 aa 6 00102 7571 00 staq pr6|66 record_collection_opening_info_ptr STATEMENT 1 ON LINE 75 p_code = 0; 000124 aa 6 00032 3735 20 epp7 pr6|26,* 000125 aa 7 00006 4501 20 stz pr7|6,* p_code STATEMENT 1 ON LINE 77 opening_table_ptr = rcm_get_opening_info$opening_table_ptr (); 000126 aa 6 00100 3521 00 epp2 pr6|64 opening_table_ptr 000127 aa 6 00110 2521 00 spri2 pr6|72 000130 aa 6 00106 6211 00 eax1 pr6|70 000131 aa 004000 4310 07 fld 2048,dl 000132 la 4 00014 3521 20 epp2 pr4|12,* rcm_get_opening_info$opening_table_ptr 000133 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 78 if opening_table_ptr = null then return; 000134 aa 6 00100 2371 00 ldaq pr6|64 opening_table_ptr 000135 aa 777673 6770 04 eraq -69,ic 000030 = 077777000043 000001000000 000136 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000137 aa 0 00631 6001 00 tze pr0|409 return STATEMENT 1 ON LINE 81 call opening_manager_$get_opening (opening_table_ptr, (p_file_opening_id || p_record_collection_id), record_collection_opening_info_ptr, p_code); 000140 aa 6 00032 3735 20 epp7 pr6|26,* 000141 aa 7 00002 2351 20 lda pr7|2,* p_file_opening_id 000142 aa 7 00004 2361 20 ldq pr7|4,* p_record_collection_id 000143 aa 6 00112 7571 00 staq pr6|74 000144 aa 6 00100 3521 00 epp2 pr6|64 opening_table_ptr 000145 aa 6 00116 2521 00 spri2 pr6|78 000146 aa 6 00112 3521 00 epp2 pr6|74 000147 aa 6 00120 2521 00 spri2 pr6|80 000150 aa 6 00102 3521 00 epp2 pr6|66 record_collection_opening_info_ptr 000151 aa 6 00122 2521 00 spri2 pr6|82 000152 aa 7 00006 3521 20 epp2 pr7|6,* p_code 000153 aa 6 00124 2521 00 spri2 pr6|84 000154 aa 6 00114 6211 00 eax1 pr6|76 000155 aa 020000 4310 07 fld 8192,dl 000156 aa 6 00044 3701 20 epp4 pr6|36,* 000157 la 4 00016 3521 20 epp2 pr4|14,* opening_manager_$get_opening 000160 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 84 if p_code ^= 0 then do; 000161 aa 6 00032 3735 20 epp7 pr6|26,* 000162 aa 7 00006 2361 20 ldq pr7|6,* p_code 000163 aa 000006 6000 04 tze 6,ic 000171 STATEMENT 1 ON LINE 87 if p_code = dm_error_$no_opening then p_code = 0; 000164 aa 6 00044 3701 20 epp4 pr6|36,* 000165 la 4 00026 1161 20 cmpq pr4|22,* dm_error_$no_opening 000166 aa 000002 6010 04 tnz 2,ic 000170 000167 aa 7 00006 4501 20 stz pr7|6,* p_code STATEMENT 1 ON LINE 89 return; 000170 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 90 end; STATEMENT 1 ON LINE 92 if record_collection_opening_info.version ^= RECORD_COLLECTION_OPENING_INFO_VERSION_1 then call sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^8a of the record_collection_opening_info structure.^/Received version ^8a.", RECORD_COLLECTION_OPENING_INFO_VERSION_1, record_collection_opening_info.version); 000171 aa 6 00102 3715 20 epp5 pr6|66,* record_collection_opening_info_ptr 000172 aa 5 00000 2351 00 lda pr5|0 record_collection_opening_info.version 000173 aa 5 00001 2361 00 ldq pr5|1 record_collection_opening_info.version 000174 aa 777610 1170 04 cmpaq -120,ic 000004 = 162143137157 160145156061 000175 aa 000053 6000 04 tze 43,ic 000250 000176 aa 777632 3534 24 epp3 -102,ic* 000177 aa 6 00112 2535 00 spri3 pr6|74 000200 aa 6 00126 4501 00 stz pr6|86 000201 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000202 aa 777660 00 0140 desc9a -80,96 000061 = 136057105170 000203 aa 6 00130 00 0140 desc9a pr6|88,96 000204 aa 6 00044 3701 20 epp4 pr6|36,* 000205 la 4 00024 3521 20 epp2 pr4|20,* dm_error_$programming_error 000206 aa 6 00162 2521 00 spri2 pr6|114 000207 aa 777600 3520 04 epp2 -128,ic 000007 = 162143155137 000210 aa 6 00164 2521 00 spri2 pr6|116 000211 aa 777567 3520 04 epp2 -137,ic 000000 = 400000000000 000212 aa 6 00166 2521 00 spri2 pr6|118 000213 aa 6 00112 3521 00 epp2 pr6|74 000214 aa 6 00170 2521 00 spri2 pr6|120 000215 aa 6 00126 3521 00 epp2 pr6|86 000216 aa 6 00172 2521 00 spri2 pr6|122 000217 aa 6 00130 3521 00 epp2 pr6|88 000220 aa 6 00174 2521 00 spri2 pr6|124 000221 aa 777563 3520 04 epp2 -141,ic 000004 = 162143137157 000222 aa 6 00176 2521 00 spri2 pr6|126 000223 aa 5 00000 3521 00 epp2 pr5|0 record_collection_opening_info.version 000224 aa 6 00200 2521 00 spri2 pr6|128 000225 aa 777600 3520 04 epp2 -128,ic 000025 = 404000000043 000226 aa 6 00202 2521 00 spri2 pr6|130 000227 aa 777574 3520 04 epp2 -132,ic 000023 = 530000000040 000230 aa 6 00204 2521 00 spri2 pr6|132 000231 aa 777575 3520 04 epp2 -131,ic 000026 = 514000000044 000232 aa 6 00206 2521 00 spri2 pr6|134 000233 aa 777571 3520 04 epp2 -135,ic 000024 = 464000000000 000234 aa 6 00210 2521 00 spri2 pr6|136 000235 aa 777565 3520 04 epp2 -139,ic 000022 = 404000000005 000236 aa 6 00212 2521 00 spri2 pr6|138 000237 aa 777562 3520 04 epp2 -142,ic 000021 = 524000000136 000240 aa 6 00214 2521 00 spri2 pr6|140 000241 aa 777557 3520 04 epp2 -145,ic 000020 = 524000000010 000242 aa 6 00216 2521 00 spri2 pr6|142 000243 aa 6 00220 2521 00 spri2 pr6|144 000244 aa 6 00160 6211 00 eax1 pr6|112 000245 aa 040000 4310 07 fld 16384,dl 000246 la 4 00022 3521 20 epp2 pr4|18,* sub_err_ 000247 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 98 field_table_ptr = record_collection_opening_info.field_table_ptr; 000250 aa 6 00102 3735 20 epp7 pr6|66,* record_collection_opening_info_ptr 000251 aa 7 00006 3735 20 epp7 pr7|6,* record_collection_opening_info.field_table_ptr 000252 aa 6 00104 6535 00 spri7 pr6|68 field_table_ptr STATEMENT 1 ON LINE 99 if field_table.version ^= FIELD_TABLE_VERSION_3 then call sub_err_ (dm_error_$programming_error, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^d of the record_collection_opening_info structure.^/Received version ^d.", FIELD_TABLE_VERSION_3, field_table.version); 000253 aa 7 00000 2351 00 lda pr7|0 field_table.version 000254 aa 7 00001 2361 00 ldq pr7|1 field_table.version 000255 aa 777525 1170 04 cmpaq -171,ic 000002 = 106154144124 142154040063 000256 aa 000053 6000 04 tze 43,ic 000331 000257 aa 777551 3714 24 epp5 -151,ic* 000260 aa 6 00112 6515 00 spri5 pr6|74 000261 aa 6 00126 4501 00 stz pr6|86 000262 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000263 aa 777550 00 0134 desc9a -152,92 000032 = 136057105170 000264 aa 6 00130 00 0134 desc9a pr6|88,92 000265 aa 6 00044 3701 20 epp4 pr6|36,* 000266 la 4 00024 3521 20 epp2 pr4|20,* dm_error_$programming_error 000267 aa 6 00162 2521 00 spri2 pr6|114 000270 aa 777517 3520 04 epp2 -177,ic 000007 = 162143155137 000271 aa 6 00164 2521 00 spri2 pr6|116 000272 aa 777506 3520 04 epp2 -186,ic 000000 = 400000000000 000273 aa 6 00166 2521 00 spri2 pr6|118 000274 aa 6 00112 3521 00 epp2 pr6|74 000275 aa 6 00170 2521 00 spri2 pr6|120 000276 aa 6 00126 3521 00 epp2 pr6|86 000277 aa 6 00172 2521 00 spri2 pr6|122 000300 aa 6 00130 3521 00 epp2 pr6|88 000301 aa 6 00174 2521 00 spri2 pr6|124 000302 aa 777500 3520 04 epp2 -192,ic 000002 = 106154144124 000303 aa 6 00176 2521 00 spri2 pr6|126 000304 aa 7 00000 3521 00 epp2 pr7|0 field_table.version 000305 aa 6 00200 2521 00 spri2 pr6|128 000306 aa 777517 3520 04 epp2 -177,ic 000025 = 404000000043 000307 aa 6 00202 2521 00 spri2 pr6|130 000310 aa 777513 3520 04 epp2 -181,ic 000023 = 530000000040 000311 aa 6 00204 2521 00 spri2 pr6|132 000312 aa 777514 3520 04 epp2 -180,ic 000026 = 514000000044 000313 aa 6 00206 2521 00 spri2 pr6|134 000314 aa 777510 3520 04 epp2 -184,ic 000024 = 464000000000 000315 aa 6 00210 2521 00 spri2 pr6|136 000316 aa 777504 3520 04 epp2 -188,ic 000022 = 404000000005 000317 aa 6 00212 2521 00 spri2 pr6|138 000320 aa 777477 3520 04 epp2 -193,ic 000017 = 524000000134 000321 aa 6 00214 2521 00 spri2 pr6|140 000322 aa 777476 3520 04 epp2 -194,ic 000020 = 524000000010 000323 aa 6 00216 2521 00 spri2 pr6|142 000324 aa 6 00220 2521 00 spri2 pr6|144 000325 aa 6 00160 6211 00 eax1 pr6|112 000326 aa 040000 4310 07 fld 16384,dl 000327 la 4 00022 3521 20 epp2 pr4|18,* sub_err_ 000330 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 105 call opening_manager_$free_opening (opening_table_ptr, (p_file_opening_id || p_record_collection_id), p_code); 000331 aa 6 00032 3735 20 epp7 pr6|26,* 000332 aa 7 00002 2351 20 lda pr7|2,* p_file_opening_id 000333 aa 7 00004 2361 20 ldq pr7|4,* p_record_collection_id 000334 aa 6 00112 7571 00 staq pr6|74 000335 aa 6 00100 3521 00 epp2 pr6|64 opening_table_ptr 000336 aa 6 00116 2521 00 spri2 pr6|78 000337 aa 6 00112 3521 00 epp2 pr6|74 000340 aa 6 00120 2521 00 spri2 pr6|80 000341 aa 7 00006 3521 20 epp2 pr7|6,* p_code 000342 aa 6 00122 2521 00 spri2 pr6|82 000343 aa 6 00114 6211 00 eax1 pr6|76 000344 aa 014000 4310 07 fld 6144,dl 000345 aa 6 00044 3701 20 epp4 pr6|36,* 000346 la 4 00020 3521 20 epp2 pr4|16,* opening_manager_$free_opening 000347 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 106 if p_code ^= 0 then return; 000350 aa 6 00032 3735 20 epp7 pr6|26,* 000351 aa 7 00006 2361 20 ldq pr7|6,* p_code 000352 aa 0 00631 6011 00 tnz pr0|409 return STATEMENT 1 ON LINE 109 if dm_area_ptr = null then dm_area_ptr = get_dm_free_area_ (); 000353 aa 6 00044 3701 20 epp4 pr6|36,* 000354 ia 4 00010 2371 00 ldaq pr4|8 dm_area_ptr 000355 aa 777453 6770 04 eraq -213,ic 000030 = 077777000043 000001000000 000356 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000357 aa 000007 6010 04 tnz 7,ic 000366 000360 ia 4 00010 3521 00 epp2 pr4|8 dm_area_ptr 000361 aa 6 00110 2521 00 spri2 pr6|72 000362 aa 6 00106 6211 00 eax1 pr6|70 000363 aa 004000 4310 07 fld 2048,dl 000364 la 4 00012 3521 20 epp2 pr4|10,* get_dm_free_area_ 000365 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 112 free record_collection_opening_info in (dm_area); 000366 aa 6 00102 3715 00 epp5 pr6|66 record_collection_opening_info_ptr 000367 aa 0 01404 7001 00 tsx0 pr0|772 free_based STATEMENT 1 ON LINE 113 free field_table in (dm_area); 000370 aa 6 00104 3735 20 epp7 pr6|68,* field_table_ptr 000371 aa 7 00003 2361 00 ldq pr7|3 field_table.length_of_field_names 000372 aa 000003 0760 07 adq 3,dl 000373 aa 000002 7320 00 qrs 2 000374 aa 6 00126 7561 00 stq pr6|86 000375 aa 7 00002 2361 00 ldq pr7|2 field_table.number_of_fields 000376 aa 000001 7360 00 qls 1 000377 aa 6 00127 7561 00 stq pr6|87 000400 aa 7 00002 2361 00 ldq pr7|2 field_table.number_of_fields 000401 aa 000006 4020 07 mpy 6,dl 000402 aa 000005 0760 07 adq 5,dl 000403 aa 6 00127 0761 00 adq pr6|87 000404 aa 6 00126 0761 00 adq pr6|86 000405 aa 6 00104 3715 00 epp5 pr6|68 field_table_ptr 000406 aa 0 01404 7001 00 tsx0 pr0|772 free_based STATEMENT 1 ON LINE 115 return; 000407 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 122 end rcm_free_opening_info; END PROCEDURE rcm_free_opening_info ----------------------------------------------------------- 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