COMPILATION LISTING OF SEGMENT im_create_subset_index Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1517.5 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 /* format: style2,ind3 */ 7 im_create_subset_index: 8 proc (p_specification_ptr, p_subset_pf_opening_id, p_cursor_ptr, p_id_list_ptr, p_subset_index_id, p_code); 9 10 /* DESCRIPTION: 11* 12* This module creates a subset index from an index. The subset 13* index's keys are derived from keys found in the source index. The subset 14* index keys can have any of the fields in the source index in any order. 15**/ 16 17 /* HISTORY: 18* 19*Written by Lindsey L. Spratt, 08/19/82. 20*Modified: 21*12/13/82 by Lindsey Spratt: Added interval_list_ptr ptr to get_key call. 22**/ 23 24 /* START OF DECLARATIONS */ 25 /* Parameter */ 26 27 dcl p_specification_ptr ptr parameter; 28 dcl p_subset_pf_opening_id bit (36) aligned parameter; 29 dcl p_cursor_ptr ptr parameter; 30 dcl p_id_list_ptr ptr parameter; 31 dcl p_subset_index_id bit (36) aligned parameter; 32 dcl p_code fixed bin (35) parameter; 33 34 /* Automatic */ 35 36 dcl 1 local_area_info like area_info; 37 dcl (typed_vector_array_ptr, subset_typed_vector_array_ptr) 38 ptr; 39 dcl subset_cursor_ptr ptr; 40 41 /* Based */ 42 /* Builtin */ 43 44 dcl (null, hbound, addr) builtin; 45 46 /* Condition */ 47 48 dcl cleanup condition; 49 50 /* Constant */ 51 52 dcl myname init ("im_create_subset_index") char (23) internal static options (constant); 53 54 /* Entry */ 55 56 dcl define_area_ entry (ptr, fixed bin (35)); 57 dcl release_area_ entry (ptr); 58 59 /* External */ 60 61 dcl sys_info$max_seg_size fixed bin (35) ext static; 62 63 /* END OF DECLARATIONS */ 64 65 id_list_ptr = p_id_list_ptr; 66 p_code = 0; 67 68 local_area_info.version = area_info_version_1; 69 local_area_info.control = "0"b; 70 local_area_info.extend = "1"b; 71 local_area_info.owner = myname; 72 local_area_info.size = sys_info$max_seg_size; 73 local_area_info.areap = null; 74 75 on cleanup call finish; 76 77 call define_area_ (addr (local_area_info), p_code); 78 if p_code ^= 0 79 then goto ERROR_RETURN; 80 81 call 82 index_manager_$get_key (p_specification_ptr, id_list_ptr, local_area_info.areap, p_cursor_ptr, 83 typed_vector_array_ptr, null, p_code); 84 if p_code ^= 0 85 then goto ERROR_RETURN; 86 87 call 88 index_manager_$create_index (p_subset_pf_opening_id, subset_typed_vector_array_ptr, hbound (id_list.id, 1), 89 p_subset_index_id, p_code); 90 if p_code ^= 0 91 then goto ERROR_RETURN; 92 93 94 ERROR_RETURN: 95 call finish; 96 return; 97 98 finish: 99 proc; 100 if local_area_info.areap ^= null 101 then call release_area_ (local_area_info.areap); 102 end finish; 103 1 1 /* BEGIN INCLUDE FILE - dm_idxmgr_entry_dcls.incl.pl1 */ 1 2 1 3 /* DESCRIPTION: 1 4* 1 5* This include file has all of the declarations for the index_manager_ 1 6* external interface. It is useful for programs which are making extensive 1 7* use of the index_manager_ to include this include file rather than 1 8* individually declaring each of the entries. 1 9* 1 10**/ 1 11 1 12 /* HISTORY: 1 13* 1 14*Written by Lindsey Spratt, 06/25/82. 1 15*Modified: 1 16*07/28/82 by Lindsey Spratt: Extended the create_collection entry calling 1 17* sequence to include the number_of_duplication_fields. 1 18*08/10/82 by Matthew Pierret: Changed the create_collection entry calling 1 19* sequence to return a "bit (36) aligned" collection id instead of 1 20* "fixed bin (17)". Changed create_cursor calling sequence likewise. 1 21*08/19/82 by Lindsey Spratt: Renamed create_collection to create_index. Added 1 22* the put_key_array entry. Added the id_list_ptr to the get_key 1 23* entry. Added the create_subset_index entry. 1 24*08/23/82 by Lindsey Spratt: Added the position_cursor entry. 1 25*09/27/82 by Lindsey Spratt: Added the get_count and get_duplicate_key_count 1 26* entries. 1 27*11/09/82 by Lindsey Spratt: Added ptr to get_key for the interval_list. 1 28* Changed get_duplicate_key_count to get_key_count_array. 1 29*05/31/83 by Matthew Pierret: Added $destroy_index and $destroy_cursor. 1 30*05/02/84 by Lee Baldwin: Renamed $get_count to $get_key_count_by_spec. 1 31*10/23/84 by Lindsey L. Spratt: Addressed auditing comments - alphabetized 1 32* entries, fixed $create_index to use "fixed bin (17)" instead of 1 33* just "fixed bin", added a description section. 1 34**/ 1 35 1 36 /* format: style2,ind3 */ 1 37 1 38 dcl index_manager_$create_cursor entry (bit (36) aligned, bit (36) aligned, ptr, ptr, fixed bin (35)); 1 39 dcl index_manager_$create_index entry (bit (36) aligned, ptr, fixed bin (17), bit (36) aligned, fixed bin (35)); 1 40 dcl index_manager_$create_subset_index entry (ptr, bit (36) aligned, ptr, ptr, bit (36) aligned, fixed bin (35)); 1 41 dcl index_manager_$delete_key entry (ptr, ptr, ptr, fixed bin (35), fixed bin (35)); 1 42 dcl index_manager_$destroy_cursor entry (ptr, fixed bin (35)); 1 43 dcl index_manager_$destroy_index entry (bit (36) aligned, bit (36) aligned, fixed bin (35)); 1 44 dcl index_manager_$get_key entry (ptr, ptr, ptr, ptr, ptr, ptr, fixed bin (35)); 1 45 dcl index_manager_$get_key_count_array entry (ptr, ptr, ptr, fixed bin (35)); 1 46 dcl index_manager_$get_key_count_by_spec entry (ptr, ptr, fixed bin (35), fixed bin (35)); 1 47 dcl index_manager_$position_cursor entry (ptr, ptr, ptr, fixed bin (35)); 1 48 dcl index_manager_$put_key entry (ptr, ptr, fixed bin (35)); 1 49 dcl index_manager_$put_key_array entry (ptr, ptr, fixed bin (35)); 1 50 1 51 /* END INCLUDE FILE - dm_idxmgr_entry_dcls.incl.pl1 */ 104 105 2 1 /* BEGIN INCLUDE FILE - dm_id_list.incl.pl1 */ 2 2 2 3 /* DESCRIPTION 2 4* The id_list structure is used to identify attributes, fields and 2 5* dimensions by various modules of the Data Management System. 2 6**/ 2 7 2 8 /* HISTORY: 2 9*Written by Matthew Pierret, '82. 2 10*Modified: 2 11*08/17/83 by Matthew Pierret: Made version constant 'internal static options 2 12* (constant)' and to initialize automatic variables. 2 13**/ 2 14 2 15 /* format: style2,ind3 */ 2 16 dcl 1 id_list aligned based (id_list_ptr), 2 17 2 version fixed bin (35), 2 18 2 number_of_ids fixed bin (17), 2 19 2 id (il_number_of_ids refer (id_list.number_of_ids)) fixed bin (17); 2 20 2 21 dcl id_list_ptr ptr init (null); 2 22 dcl il_number_of_ids fixed bin (17) init (-1); 2 23 dcl ID_LIST_VERSION_1 fixed bin (17) init (1) internal static options (constant); 2 24 2 25 /* END INCLUDE FILE - dm_id_list.incl.pl1 */ 106 107 3 1 /* BEGIN INCLUDE FILE area_info.incl.pl1 12/75 */ 3 2 3 3 dcl area_info_version_1 fixed bin static init (1) options (constant); 3 4 3 5 dcl area_infop ptr; 3 6 3 7 dcl 1 area_info aligned based (area_infop), 3 8 2 version fixed bin, /* version number for this structure is 1 */ 3 9 2 control aligned like area_control, /* control bits for the area */ 3 10 2 owner char (32) unal, /* creator of the area */ 3 11 2 n_components fixed bin, /* number of components in the area (returned only) */ 3 12 2 size fixed bin (18), /* size of the area in words */ 3 13 2 version_of_area fixed bin, /* version of area (returned only) */ 3 14 2 areap ptr, /* pointer to the area (first component on multisegment area) */ 3 15 2 allocated_blocks fixed bin, /* number of blocks allocated */ 3 16 2 free_blocks fixed bin, /* number of free blocks not in virgin */ 3 17 2 allocated_words fixed bin (30), /* number of words allocated in the area */ 3 18 2 free_words fixed bin (30); /* number of words free in area not in virgin */ 3 19 3 20 dcl 1 area_control aligned based, 3 21 2 extend bit (1) unal, /* says area is extensible */ 3 22 2 zero_on_alloc bit (1) unal, /* says block gets zerod at allocation time */ 3 23 2 zero_on_free bit (1) unal, /* says block gets zerod at free time */ 3 24 2 dont_free bit (1) unal, /* debugging aid, turns off free requests */ 3 25 2 no_freeing bit (1) unal, /* for allocation method without freeing */ 3 26 2 system bit (1) unal, /* says area is managed by system */ 3 27 2 pad bit (30) unal; 3 28 3 29 /* END INCLUDE FILE area_info.incl.pl1 */ 108 109 end im_create_subset_index; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1146.2 im_create_subset_index.pl1 >spec>temp>famis1>im_create_subset_index.pl1 104 1 01/03/85 1003.4 dm_idxmgr_entry_dcls.incl.pl1 >spec>temp>famis1>dm_idxmgr_entry_dcls.incl.pl1 106 2 10/14/83 1609.1 dm_id_list.incl.pl1 >ldd>include>dm_id_list.incl.pl1 108 3 06/11/76 1043.4 area_info.incl.pl1 >ldd>include>area_info.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. addr builtin function dcl 44 ref 77 77 area_control based structure level 1 dcl 3-20 area_info based structure level 1 dcl 3-7 area_info_version_1 constant fixed bin(17,0) initial dcl 3-3 ref 68 areap 16 000100 automatic pointer level 2 dcl 36 set ref 73* 81* 100 100* cleanup 000130 stack reference condition dcl 48 ref 75 control 1 000100 automatic structure level 2 dcl 36 set ref 69* define_area_ 000010 constant entry external dcl 56 ref 77 extend 1 000100 automatic bit(1) level 3 packed unaligned dcl 36 set ref 70* hbound builtin function dcl 44 ref 87 87 id 2 based fixed bin(17,0) array level 2 dcl 2-16 ref 87 87 id_list based structure level 1 dcl 2-16 id_list_ptr 000136 automatic pointer initial dcl 2-21 set ref 65* 81* 87 87 2-21* il_number_of_ids 000140 automatic fixed bin(17,0) initial dcl 2-22 set ref 2-22* index_manager_$create_index 000016 constant entry external dcl 1-39 ref 87 index_manager_$get_key 000020 constant entry external dcl 1-44 ref 81 local_area_info 000100 automatic structure level 1 unaligned dcl 36 set ref 77 77 myname 000000 constant char(23) initial unaligned dcl 52 ref 71 null builtin function dcl 44 ref 73 81 81 2-21 100 number_of_ids 1 based fixed bin(17,0) level 2 dcl 2-16 ref 87 87 owner 2 000100 automatic char(32) level 2 packed unaligned dcl 36 set ref 71* p_code parameter fixed bin(35,0) dcl 32 set ref 7 66* 77* 78 81* 84 87* 90 p_cursor_ptr parameter pointer dcl 29 set ref 7 81* p_id_list_ptr parameter pointer dcl 30 ref 7 65 p_specification_ptr parameter pointer dcl 27 set ref 7 81* p_subset_index_id parameter bit(36) dcl 31 set ref 7 87* p_subset_pf_opening_id parameter bit(36) dcl 28 set ref 7 87* release_area_ 000012 constant entry external dcl 57 ref 100 size 13 000100 automatic fixed bin(18,0) level 2 dcl 36 set ref 72* subset_typed_vector_array_ptr 000126 automatic pointer dcl 37 set ref 87* sys_info$max_seg_size 000014 external static fixed bin(35,0) dcl 61 ref 72 typed_vector_array_ptr 000124 automatic pointer dcl 37 set ref 81* version 000100 automatic fixed bin(17,0) level 2 dcl 36 set ref 68* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ID_LIST_VERSION_1 internal static fixed bin(17,0) initial dcl 2-23 area_infop automatic pointer dcl 3-5 index_manager_$create_cursor 000000 constant entry external dcl 1-38 index_manager_$create_subset_index 000000 constant entry external dcl 1-40 index_manager_$delete_key 000000 constant entry external dcl 1-41 index_manager_$destroy_cursor 000000 constant entry external dcl 1-42 index_manager_$destroy_index 000000 constant entry external dcl 1-43 index_manager_$get_key_count_array 000000 constant entry external dcl 1-45 index_manager_$get_key_count_by_spec 000000 constant entry external dcl 1-46 index_manager_$position_cursor 000000 constant entry external dcl 1-47 index_manager_$put_key 000000 constant entry external dcl 1-48 index_manager_$put_key_array 000000 constant entry external dcl 1-49 subset_cursor_ptr automatic pointer dcl 39 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR_RETURN 000211 constant label dcl 94 ref 78 84 90 finish 000217 constant entry internal dcl 98 ref 75 94 im_create_subset_index 000024 constant entry external dcl 7 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 360 402 246 370 Length 634 246 22 216 112 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME im_create_subset_index 122 external procedure is an external procedure. on unit on line 75 64 on unit finish 68 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME im_create_subset_index 000100 local_area_info im_create_subset_index 000124 typed_vector_array_ptr im_create_subset_index 000126 subset_typed_vector_array_ptr im_create_subset_index 000136 id_list_ptr im_create_subset_index 000140 il_number_of_ids im_create_subset_index THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out call_int_this call_int_other return enable ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. define_area_ index_manager_$create_index index_manager_$get_key release_area_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. sys_info$max_seg_size CONSTANTS 000240 aa 767777777777 000241 aa 757777777777 000242 aa 737777777777 000243 aa 677777777777 000244 aa 577777777777 000245 aa 377777777777 000000 aa 151 155 137 143 im_c 000001 aa 162 145 141 164 reat 000002 aa 145 137 163 165 e_su 000003 aa 142 163 145 164 bset 000004 aa 137 151 156 144 _ind 000005 aa 145 170 040 000 ex 000006 aa 404000000043 000007 aa 514000000044 000010 aa 464000000000 000012 aa 077777000043 000013 aa 000001000000 000014 aa 143 154 145 141 clea 000015 aa 156 165 160 000 nup BEGIN PROCEDURE im_create_subset_index ENTRY TO im_create_subset_index STATEMENT 1 ON LINE 7 im_create_subset_index: proc (p_specification_ptr, p_subset_pf_opening_id, p_cursor_ptr, p_id_list_ptr, p_subset_index_id, p_code); 000016 at 000006000010 000017 tt 000007000010 000020 tt 000010000007 000021 ta 000006000000 000022 ta 000016000000 000023 da 000073300000 000024 aa 000200 6270 00 eax7 128 000025 aa 7 00034 3521 20 epp2 pr7|28,* 000026 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000027 aa 000014000000 000030 aa 000000000000 STATEMENT 1 ON LINE 21 OF FILE 2 000031 aa 777761 2370 04 ldaq -15,ic 000012 = 077777000043 000001000000 000032 aa 6 00136 7571 00 staq pr6|94 id_list_ptr STATEMENT 1 ON LINE 22 OF FILE 2 000033 aa 000001 3360 07 lcq 1,dl 000034 aa 6 00140 7561 00 stq pr6|96 il_number_of_ids STATEMENT 1 ON LINE 65 id_list_ptr = p_id_list_ptr; 000035 aa 6 00032 3735 20 epp7 pr6|26,* 000036 aa 7 00010 3715 20 epp5 pr7|8,* p_id_list_ptr 000037 aa 5 00000 3715 20 epp5 pr5|0,* p_id_list_ptr 000040 aa 6 00136 6515 00 spri5 pr6|94 id_list_ptr STATEMENT 1 ON LINE 66 p_code = 0; 000041 aa 7 00014 4501 20 stz pr7|12,* p_code STATEMENT 1 ON LINE 68 local_area_info.version = area_info_version_1; 000042 aa 000001 2360 07 ldq 1,dl 000043 aa 6 00100 7561 00 stq pr6|64 local_area_info.version STATEMENT 1 ON LINE 69 local_area_info.control = "0"b; 000044 aa 000201 2350 04 lda 129,ic 000245 = 377777777777 000045 aa 6 00101 3551 00 ansa pr6|65 local_area_info.extend 000046 aa 000176 2350 04 lda 126,ic 000244 = 577777777777 000047 aa 6 00101 3551 00 ansa pr6|65 local_area_info.zero_on_alloc 000050 aa 000173 2350 04 lda 123,ic 000243 = 677777777777 000051 aa 6 00101 3551 00 ansa pr6|65 local_area_info.zero_on_free 000052 aa 000170 2350 04 lda 120,ic 000242 = 737777777777 000053 aa 6 00101 3551 00 ansa pr6|65 local_area_info.dont_free 000054 aa 000165 2350 04 lda 117,ic 000241 = 757777777777 000055 aa 6 00101 3551 00 ansa pr6|65 local_area_info.no_freeing 000056 aa 000162 2350 04 lda 114,ic 000240 = 767777777777 000057 aa 6 00101 3551 00 ansa pr6|65 local_area_info.system 000060 aa 770000 2350 03 lda 258048,du 000061 aa 6 00101 3551 00 ansa pr6|65 local_area_info.pad STATEMENT 1 ON LINE 70 local_area_info.extend = "1"b; 000062 aa 400000 2350 03 lda 131072,du 000063 aa 6 00101 2551 00 orsa pr6|65 local_area_info.extend STATEMENT 1 ON LINE 71 local_area_info.owner = myname; 000064 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000065 aa 777714 00 0027 desc9a -52,23 000000 = 151155137143 000066 aa 6 00102 00 0040 desc9a pr6|66,32 local_area_info.owner STATEMENT 1 ON LINE 72 local_area_info.size = sys_info$max_seg_size; 000067 la 4 00014 2361 20 ldq pr4|12,* sys_info$max_seg_size 000070 aa 6 00113 7561 00 stq pr6|75 local_area_info.size STATEMENT 1 ON LINE 73 local_area_info.areap = null; 000071 aa 777721 2370 04 ldaq -47,ic 000012 = 077777000043 000001000000 000072 aa 6 00116 7571 00 staq pr6|78 local_area_info.areap STATEMENT 1 ON LINE 75 on cleanup call finish; 000073 aa 000007 7260 07 lxl6 7,dl 000074 aa 777720 3520 04 epp2 -48,ic 000014 = 143154145141 000075 aa 0 00717 7001 00 tsx0 pr0|463 enable 000076 aa 000004 7100 04 tra 4,ic 000102 000077 aa 000130000000 000100 aa 000015 7100 04 tra 13,ic 000115 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 75 on cleanup call finish; 000101 da 000101200000 000102 aa 000100 6270 00 eax7 64 000103 aa 7 00034 3521 20 epp2 pr7|28,* 000104 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000105 aa 000000000000 000106 aa 000000000000 000107 aa 000001 7270 07 lxl7 1,dl 000110 aa 6 00056 6211 00 eax1 pr6|46 000111 aa 000000 4310 07 fld 0,dl 000112 aa 000105 3520 04 epp2 69,ic 000217 = 000120627000 000113 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 000114 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 77 call define_area_ (addr (local_area_info), p_code); 000115 aa 6 00100 3735 00 epp7 pr6|64 local_area_info 000116 aa 6 00142 6535 00 spri7 pr6|98 000117 aa 6 00142 3521 00 epp2 pr6|98 000120 aa 6 00146 2521 00 spri2 pr6|102 000121 aa 6 00032 3715 20 epp5 pr6|26,* 000122 aa 5 00014 3521 20 epp2 pr5|12,* p_code 000123 aa 6 00150 2521 00 spri2 pr6|104 000124 aa 6 00144 6211 00 eax1 pr6|100 000125 aa 010000 4310 07 fld 4096,dl 000126 aa 6 00044 3701 20 epp4 pr6|36,* 000127 la 4 00010 3521 20 epp2 pr4|8,* define_area_ 000130 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 78 if p_code ^= 0 then goto ERROR_RETURN; 000131 aa 6 00032 3735 20 epp7 pr6|26,* 000132 aa 7 00014 2361 20 ldq pr7|12,* p_code 000133 aa 000056 6010 04 tnz 46,ic 000211 STATEMENT 1 ON LINE 81 call index_manager_$get_key (p_specification_ptr, id_list_ptr, local_area_info.areap, p_cursor_ptr, typed_vector_array_ptr, null, p_code); 000134 aa 777656 3714 24 epp5 -82,ic* 000135 aa 6 00142 6515 00 spri5 pr6|98 000136 aa 7 00002 3521 20 epp2 pr7|2,* p_specification_ptr 000137 aa 6 00154 2521 00 spri2 pr6|108 000140 aa 6 00136 3521 00 epp2 pr6|94 id_list_ptr 000141 aa 6 00156 2521 00 spri2 pr6|110 000142 aa 6 00116 3521 00 epp2 pr6|78 local_area_info.areap 000143 aa 6 00160 2521 00 spri2 pr6|112 000144 aa 7 00006 3521 20 epp2 pr7|6,* p_cursor_ptr 000145 aa 6 00162 2521 00 spri2 pr6|114 000146 aa 6 00124 3521 00 epp2 pr6|84 typed_vector_array_ptr 000147 aa 6 00164 2521 00 spri2 pr6|116 000150 aa 6 00142 3521 00 epp2 pr6|98 000151 aa 6 00166 2521 00 spri2 pr6|118 000152 aa 7 00014 3521 20 epp2 pr7|12,* p_code 000153 aa 6 00170 2521 00 spri2 pr6|120 000154 aa 6 00152 6211 00 eax1 pr6|106 000155 aa 034000 4310 07 fld 14336,dl 000156 aa 6 00044 3701 20 epp4 pr6|36,* 000157 la 4 00020 3521 20 epp2 pr4|16,* index_manager_$get_key 000160 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 84 if p_code ^= 0 then goto ERROR_RETURN; 000161 aa 6 00032 3735 20 epp7 pr6|26,* 000162 aa 7 00014 2361 20 ldq pr7|12,* p_code 000163 aa 000026 6010 04 tnz 22,ic 000211 STATEMENT 1 ON LINE 87 call index_manager_$create_index (p_subset_pf_opening_id, subset_typed_vector_array_ptr, hbound (id_list.id, 1), p_subset_index_id, p_code); 000164 aa 6 00136 3715 20 epp5 pr6|94,* id_list_ptr 000165 aa 5 00001 2361 00 ldq pr5|1 id_list.number_of_ids 000166 aa 6 00141 7561 00 stq pr6|97 000167 aa 7 00004 3521 20 epp2 pr7|4,* p_subset_pf_opening_id 000170 aa 6 00154 2521 00 spri2 pr6|108 000171 aa 6 00126 3521 00 epp2 pr6|86 subset_typed_vector_array_ptr 000172 aa 6 00156 2521 00 spri2 pr6|110 000173 aa 6 00141 3521 00 epp2 pr6|97 000174 aa 6 00160 2521 00 spri2 pr6|112 000175 aa 7 00012 3521 20 epp2 pr7|10,* p_subset_index_id 000176 aa 6 00162 2521 00 spri2 pr6|114 000177 aa 7 00014 3521 20 epp2 pr7|12,* p_code 000200 aa 6 00164 2521 00 spri2 pr6|116 000201 aa 6 00152 6211 00 eax1 pr6|106 000202 aa 024000 4310 07 fld 10240,dl 000203 aa 6 00044 3701 20 epp4 pr6|36,* 000204 la 4 00016 3521 20 epp2 pr4|14,* index_manager_$create_index 000205 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 90 if p_code ^= 0 then goto ERROR_RETURN; 000206 aa 6 00032 3735 20 epp7 pr6|26,* 000207 aa 7 00014 2361 20 ldq pr7|12,* p_code 000210 aa 000001 6010 04 tnz 1,ic 000211 STATEMENT 1 ON LINE 94 ERROR_RETURN: call finish; 000211 aa 6 00056 6211 00 eax1 pr6|46 000212 aa 000000 4310 07 fld 0,dl 000213 aa 000004 3520 04 epp2 4,ic 000217 = 000120627000 000214 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 96 return; 000215 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 109 end im_create_subset_index; BEGIN PROCEDURE finish ENTRY TO finish STATEMENT 1 ON LINE 98 finish: proc; 000216 da 000106200000 000217 aa 000120 6270 00 eax7 80 000220 aa 7 00034 3521 20 epp2 pr7|28,* 000221 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000222 aa 000000000000 000223 aa 000000000000 STATEMENT 1 ON LINE 100 if local_area_info.areap ^= null then call release_area_ (local_area_info.areap); 000224 aa 6 00040 3735 20 epp7 pr6|32,* 000225 aa 7 00116 2371 00 ldaq pr7|78 local_area_info.areap 000226 aa 777564 6770 04 eraq -140,ic 000012 = 077777000043 000001000000 000227 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000230 aa 000007 6000 04 tze 7,ic 000237 000231 aa 7 00116 3521 00 epp2 pr7|78 local_area_info.areap 000232 aa 6 00102 2521 00 spri2 pr6|66 000233 aa 6 00100 6211 00 eax1 pr6|64 000234 aa 004000 4310 07 fld 2048,dl 000235 la 4 00012 3521 20 epp2 pr4|10,* release_area_ 000236 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 102 end finish; 000237 aa 0 00631 7101 00 tra pr0|409 return END PROCEDURE finish END PROCEDURE im_create_subset_index ----------------------------------------------------------- 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