THIS FILE IS DAMAGED z*@y}*@y}*@y}*@y}4*@y}:Carlyle .*@y}D*@y}<L&*@y}DT*@y}Lz*@y}TR &yjHmrzjCarlock yjRQN28 z~2r*@yj*@yjrj2jsc yj&Carlock *@yjz*@yj*@yj*@yj*@yj.*@yj*@yj*@yjz*@yjj&yHm  z{Cepeda yRQN  x2z~2rhp*@yH*@y @&Cepeda 2P*@yHX*@yP`*@yXh.*@y`**@y*x:*@ypz*@y&yRHmzDumouchel yRRQN28 z~2r*@yR*@yR. @Dumouchel *@yRz*@yR*@yR*@yR.*@yR*@yR*@yRz*@yRx&ywHm  zForsyth ywRQNŸz p z~2r`h*@yw H*@yw Forsyth 2P*@ywHX.*@ywP`*@ywX**@yw*p:*@ywhz*@yw&yhHmzxmFudge yhRQN2 z~2r*@yh*@yh2:Fudge *@yhz*@yh*@yh*@yh.*@yh*@yh*@yhz*@yhxx&yrHmzuGClark yrRQN  p*z~2r`h*@yr@*@yr GClark *H*@yr@P*@yrHX*@yrP`.*@yrX"*@yr"p2*@yrhz*@yr&yoHmzxGardner yoRQN  z~2r*@yo*@yo8 Gardner *@yo*@yo.*@yo*@yo*@yo*@yoz*@yox&yHm*z*ecord_cursor_ptr, p_tuple_count, gcot_code); 93 if gcot_code ^= 0 & gcot_code ^= dm_error_$record_not_found 94 then call ERROR_RETURN (gcot_code); 95 96 return; 97 98 end GET_COUNT_OF_TUPLES; 99 100 INITIALIZE: proc; 101 102 call CHECK_VERSION ("relation_cursor", relation_cursor.version, RELATION_CURSOR_VERSION_2); 103 104 if p_specification_ptr ^= null 105 then call sub_err_ (error_table_$null_info_ptr, RLM_GET_COUNT, 106 ACTION_CANT_RESTART, null, 0, 107 "^/A relation_search_specification isn't implemented for relation_manager_$get_count."); 108 109 if relation_cursor.work_area_ptr ^= null 110 then relation_cursor.work_area_ptr = get_dm_free_area_ (); 111 112 record_cursor_ptr = null; 113 114 return; 115 116 end INITIALIZE; 117 118 SET_AND_CHECK_OPENING_INFO: proc; 119 120 dcl sacoi_code fixed bin (35); 121 122 call rlm_opening_info$get (relation_cursor.file_opening_id, relation_opening_info_ptr, sacoi_code); 123 if sacoi_code ^= 0 124 then call ERROR_RETURN (sacoi_code); 125 126 call CHECK_VERSION ("relation_opening_info", relation_opening_info.version, RELATION_OPENING_INFO_VERSION_2); 127 128 relation_header_ptr = relation_opening_info.relation_header_ptr; 129 call CHECK_VERSION ("relation_header", relation_header.version, RELATION_HEADER_VERSION_3); 130 131 return; 132 133 end SET_AND_CHECK_OPENING_INFO; 134 135 TERMINATE: proc; 136 137 dcl t_code fixed bin (35); 138 139 if record_cursor_ptr ^= null 140 then call record_manager_$destroy_cursor (record_cursor_ptr, t_code); 141 142 return; 143 144 end TERMINATE; 145 146 dcl RLM_GET_COUNT char (13) internal static options (constant) init ("rlm_get_count"); 147 dcl cleanup condition; 148 dcl dm_error_$record_not_found fixed bin(35) ext static; 149 dcl error_table_$null_info_ptr fixed bin(35) ext static; 150 dcl error_table_$unimplemented_version fixed bin(35) ext static; 151 dcl get_dm_free_area_ entry() returns(ptr); 152 dcl null builtin; 153 dcl record_cursor_ptr ptr; 154 dcl record_manager_$create_cursor entry (bit (36) aligned, bit (36) aligned, ptr, ptr, fixed bin (35)); 155 dcl record_manager_$destroy_cursor entry (ptr, fixed bin (35)); 156 dcl record_manager_$get_record_count entry (ptr, ptr, fixed bin (35), fixed bin (35)); 157 dcl rlm_opening_info$get entry (bit(36) aligned, ptr, fixed bin(35)); 158 dcl sub_err_ entry() options(variable); 159 1 1 /* BEGIN INCLUDE FILE dm_rlm_cursor.incl.pl1 */ 1 2 1 3 /* HISTORY: 1 4* 1 5*Written by Matthew Pierret, 05/19/83. 1 6*Modified: 1 7*06/24/83 by Lindsey L. Spratt: Changed to version 2. Added the current.flags 1 8* structure, to add the search_index_and_record_collection flag. 1 9* This flag is only meaningful when doing a relative search. It is 1 10* used by rlm_general_search to know what state the 1 11* internal_search_specification was left in (suitable for searching 1 12* the index or suitable for searching the records). 1 13*10/29/84 by Stanford S. Cox: Changed to not init version. 1 14*02/12/85 by S. Cox: Chg and_group_idx to fb17, current.flags.mbz to bit35. 1 15**/ 1 16 1 17 /* format: style2,ind3 */ 1 18 dcl 1 relation_cursor aligned based (relation_cursor_ptr), 1 19 2 version char (8), /* version of this structure */ 1 20 2 work_area_ptr ptr init (null), /* points to area in which cursor is allocated. */ 1 21 2 file_opening_id bit (36) aligned init ("0"b), 1 22 /* opening id of file in which relation resides */ 1 23 2 flags aligned, 1 24 3 current_state_is_consistent 1 25 bit (1) unal init ("0"b), 1 26 /* On if all values in current are insynch */ 1 27 3 mbz bit (35) unal init ("0"b), 1 28 /* must be zero */ 1 29 2 current, /* current position in search */ 1 30 3 and_group_idx fixed bin (17) aligned init (0), 1 31 /* in relation_search_specification */ 1 32 3 flags aligned, 1 33 4 search_index_and_record_collection 1 34 bit (1) unal init ("0"b), 1 35 4 mbz bit (35) unal init ("0"b), 1 36 3 collection_id bit (36) aligned init ("0"b), 1 37 /* that cursor is define over */ 1 38 3 specification_ptr 1 39 ptr init (null), /* points to index or record specification */ 1 40 3 cursor_ptr ptr init (null); /* points to index or record cursor */ 1 41 1 42 dcl relation_cursor_ptr ptr init (null); 1 43 dcl RELATION_CURSOR_VERSION_2 1 44 init ("relcrs02") char (8) aligned internal static options (constant); 1 45 1 46 /* END INCLUDE FILE dm_rlm_cursor.incl.pl1 */ 160 161 2 1 /* BEGIN INCLUDE FILE - dm_rlm_header.incl.pl1 */ 2 2 2 3 /* HISTORY: 2 4*Written by Matthew Pierret, 1982. 2 5*Modified: 2 6*02/25/83 by Matthew Pierret: Added attribute_info_element_id, 2 7* header_info_update_count, RELATION_HEADER_VERSION_2. 2 8*05/29/84 by Matthew Pierret: Added caller_header_element_id, 2 9* RELATION_HEADER_VERSION_3. 2 10*10/29/84 by Stanford S. Cox: Changed to not init version. 2 11**/ 2 12 2 13 /* format: style2,ind3 */ 2 14 2 15 dcl 1 relation_header aligned based (relation_header_ptr), 2 16 2 version char (8), 2 17 2 header_info_update_count 2 18 fixed bin (35) aligned init (0), 2 19 2 record_collection_id 2 20 bit (36) aligned init ("0"b), 2 21 2 cluster_index_id bit (36) aligned init ("0"b), 2 22 2 attribute_info_element_id 2 23 bit (36) aligned init ("0"b), 2 24 2 index_attribute_map_element_id 2 25 bit (36) aligned init ("0"b), 2 26 2 caller_header_element_id 2 27 bit (36) aligned init ("0"b); 2 28 2 29 dcl relation_header_ptr ptr init (null); 2 30 dcl RELATION_HEADER_VERSION_3 2 31 init ("RelHdr 3") char (8) aligned internal static options (constant); 2 32 2 33 /* END INCLUDE FILE - dm_rlm_header.incl.pl1 */ 162 163 3 1 /* BEGIN INCLUDE FILE - dm_rlm_opening_info.incl.pl1 */ 3 2 3 3 /* Written by Matthew Pierret, 09/08/82. 3 4*Modified: 3 5*01/18/83 by Matthew Pierret: Changed version to be char (8). Added 3 6* transaction_id. 3 7*02/25/83 by Matthew Pierret: Changed to relation_opening_info (from 3 8* relation_info). 3 9*10/29/84 by Stanford S. Cox: Changed to not init version. 3 10**/ 3 11 3 12 3 13 /* format: style2,ind3 */ 3 14 3 15 dcl 1 relation_opening_info 3 16 aligned based (relation_opening_info_ptr), 3 17 2 version char (8), 3 18 2 per_process, 3 19 3 current_transaction_id 3 20 bit (36) aligned init ("0"b), 3 21 3 current_rollback_count 3 22 fixed bin (35) init (0), 3 23 3 file_opening_id bit (36) aligned init ("0"b), 3 24 3 number_of_openings 3 25 fixed bin (17) aligned init (0), 3 26 3 lock_advice aligned, 3 27 4 this_process bit (2) unaligned init ("0"b), 3 28 4 other_processes 3 29 bit (2) unaligned init ("0"b), 3 30 4 mbz1 bit (32) unaligned init ("0"b), 3 31 3 record_cursor_ptr 3 32 ptr init (null), 3 33 3 index_cursor_array_ptr 3 34 ptr init (null), 3 35 2 relation_header_ptr 3 36 ptr init (null), 3 37 2 attribute_info_ptr ptr init (null), 3 38 2 index_attribute_map_ptr 3 39 ptr init (null); 3 40 3 41 dcl relation_opening_info_ptr 3 42 ptr; 3 43 dcl RELATION_OPENING_INFO_VERSION_2 3 44 init ("rlmopen2") char (8) aligned internal static options (constant); 3 45 3 46 3 47 /* END INCLUDE FILE - dm_rlm_opening_info.incl.pl1 */ 164 165 4 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 4 2 /* format: style3 */ 4 3 4 4 /* These constants are to be used for the flags argument of sub_err_ */ 4 5 /* They are just "string (condition_info_header.action_flags)" */ 4 6 4 7 declare ( 4 8 ACTION_CAN_RESTART init (""b), 4 9 ACTION_CANT_RESTART init ("1"b), 4 10 ACTION_DEFAULT_RESTART 4 11 init ("01"b), 4 12 ACTION_QUIET_RESTART 4 13 init ("001"b), 4 14 ACTION_SUPPORT_SIGNAL 4 15 init ("0001"b) 4 16 ) bit (36) aligned internal static options (constant); 4 17 4 18 /* End include file */ 166 167 168 end rlm_get_count; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/15/86 1408.7 rlm_get_count.pl1 >spec>install>1186>rlm_get_count.pl1 160 1 03/06/85 1031.5 dm_rlm_cursor.incl.pl1 >ldd>include>dm_rlm_cursor.incl.pl1 162 2 01/07/85 0859.4 dm_rlm_header.incl.pl1 >ldd>include>dm_rlm_header.incl.pl1 164 3 01/07/85 0859.6 dm_rlm_opening_info.incl.pl1 >ldd>include>dm_rlm_opening_info.incl.pl1 166 4 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 4-7 set ref 63* 104* RELATION_CURSOR_VERSION_2 000006 constant char(8) initial dcl 1-43 set ref 102* RELATION_HEADER_VERSION_3 000004 constant char(8) initial dcl 2-30 set ref 129* RELATION_OPENING_INFO_VERSION_2 000002 constant char(8) initial dcl 3-43 set ref 126* RLM_GET_COUNT 000010 constant char(13) initial unaligned dcl 146 set ref 63* 104* cleanup 000100 stack reference condition dcl 147 ref 42 cv_expected_version parameter char(8) dcl 59 set ref 52 63 63* cv_received_version parameter char(8) dcl 60 set ref 52 63 63* cv_structure_name parameter char unaligned dcl 61 set ref 52 63* dm_error_$record_not_found 000010 external static fixed bin(35,0) dcl 148 ref 93 er_code parameter fixed bin(35,0) dcl 74 ref 72 76 error_table_$null_info_ptr 000012 external static fixed bin(35,0) dcl 149 set ref 104* error_table_$unimplemented_version 000014 external static fixed bin(35,0) dcl 150 set ref 63* file_opening_id 4 based bit(36) initial level 2 dcl 1-18 set ref 87* 122* gcot_code 000140 automatic fixed bin(35,0) dcl 85 set ref 87* 89 89* 92* 93 93 93* get_dm_free_area_ 000016 constant entry external dcl 151 ref 109 null builtin function dcl 152 ref 1-42 2-29 63 63 92 92 104 104 104 109 112 139 p_code parameter fixed bin(35,0) dcl 30 set ref 22 38* 76* p_relation_cursor_ptr parameter pointer dcl 31 ref 22 36 p_specification_ptr parameter pointer dcl 32 ref 22 104 p_tuple_count parameter fixed bin(35,0) dcl 33 set ref 22 37* 92* record_collection_id 3 based bit(36) initial level 2 dcl 2-15 set ref 87* record_cursor_ptr 000106 automatic pointer dcl 153 set ref 87* 92* 112* 139 139* record_manager_$create_cursor 000020 constant entry external dcl 154 ref 87 record_manager_$destroy_cursor 000022 constant entry external dcl 155 ref 139 record_manager_$get_record_count 000024 constant entry external dcl 156 ref 92 relation_cursor based structure level 1 dcl 1-18 relation_cursor_ptr 000110 automatic pointer initial dcl 1-42 set ref 36* 1-42* 87 87 102 109 109 122 relation_header based structure level 1 dcl 2-15 relation_header_ptr 000112 automatic pointer initial dcl 2-29 in procedure "rlm_get_count" set ref 2-29* 87 128* 129 relation_header_ptr 14 based pointer initial level 2 in structure "relation_opening_info" dcl 3-15 in procedure "rlm_get_count" ref 128 relation_opening_info based structure level 1 dcl 3-15 relation_opening_info_ptr 000114 automatic pointer dcl 3-41 set ref 122* 126 128 rlm_opening_info$get 000026 constant entry external dcl 157 ref 122 sacoi_code 000156 automatic fixed bin(35,0) dcl 120 set ref 122* 123 123* sub_err_ 000030 constant entry external dcl 158 ref 63 104 t_code 000100 automatic fixed bin(35,0) dcl 137 set ref 139* version based char(8) level 2 in structure "relation_cursor" dcl 1-18 in procedure "rlm_get_count" set ref 102* version based char(8) level 2 in structure "relation_opening_info" dcl 3-15 in procedure "rlm_get_count" set ref 126* version based char(8) level 2 in structure "relation_header" dcl 2-15 in procedure "rlm_get_count" set ref 129* work_area_ptr 2 based pointer initial level 2 dcl 1-18 set ref 87* 109 109* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 4-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 4-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 4-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 4-7 NAMES DECLARED BY EXPLICIT CONTEXT.@ ~2rL  \(@Z&j JSwX&SwX &H f&hHLT a LSite_Support.value hHL3QG`H$ &aI*@FSysAdmin r*@ztSysDaemon b*@ 9Schroth *@L.WAAnderson r*@ .Martinson  n v*@& z *MSiteSA  t&&Hqa]sitesa.personids &H4SG$Da<, *&4.*@&DL*&$<*@&4*@&,*@&&HmTTzL$Green.old RQN#Ÿzx fz~2r*@*@z*@r*@r*@z*@ fzz*@ 2Green 0EInitializer rL&yq/c0 aMcNair yqHM;>udd>FSO>McNair*@&$*@&l&SiteSA.pmf y2GDixon \#SysMaint <*@ -Farley &D.*@<Z*@ XVu D*@j.*@b*@&ylHmzzzr+Ata ylRQN  a~2r.*@yl*@ylP1Rosin HAta *@yl*@ylz*@yl*@yl*@yl*@yl*@ylz*@yl * @ Multics r&y~HmziBSanderson y~RQN  @z~2rv~*@y~V*@y~ *BSanderson @^*@y~Vf*@y~^n*@y~fv.*@y~n8*@y~8H*@y~~z*@y~j&y}HmzBurnham y}RQN 8Tz~2r4<*@y}\*@y}agb y} fBurnham *@y} 2Holmstedt *@ ----------------------------------------------------------- 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