COMPILATION LISTING OF SEGMENT rlm_get_cursor_info Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 03/05/85 0928.0 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 7 8 /* DESCRIPTION: 9* 10* This routine is a utility which returns selected information stored 11* in the relation_cursor structure pointed to by p_relation_cursor_ptr. 12* The only error situation occurs when the relation_cursor structure is not 13* a valid relation_cursor (relation_cursor.version is not equal to the 14* correct version). This error is reported via sub_err_. 15* 16* The entry points are: 17* 18* $area_ptr - returns the value of relation_cursor.work_area_ptr 19* 20* $opening_id - returns the value of relation_cursor.file_opening_id. 21**/ 22 23 /* HISTORY: 24* 25*Written by Matthew Pierret, 05/23/84. 26*Modified: 27*11/01/84 by Stanford S. Cox: MAIN: changed nonparm p_ variable prefixes to local_. 28* CHECK_VERSION: Added cv_ prefixes. 29**/ 30 31 /* format: style2,ind3 */ 32 33 rlm_get_cursor_info: 34 proc (); 35 36 return; 37 38 /* START OF DECLARATIONS */ 39 /* Parameter */ 40 41 dcl p_relation_cursor_ptr ptr; /*points to a relation_cursor created by either the 42* create_cursor or copy_cursor operation.*/ 43 44 /* Automatic */ 45 46 dcl local_area_ptr ptr; /*points to the area 47*in which 48*the cursor was allocated.*/ 49 dcl local_rel_opening_id bit (36) aligned; /*is the opening identifier of the*/ 50 /*relation for which the cursor is 51*defined.*/ 52 53 /* Based */ 54 /* Builtin */ 55 56 dcl null builtin; 57 58 /* Constant */ 59 60 dcl myname init ("rlm_get_cursor_info") char (32) varying internal static options (constant); 61 62 /* Entry */ 63 64 dcl sub_err_ entry () options (variable); 65 66 /* External */ 67 68 dcl error_table_$unimplemented_version 69 fixed bin (35) ext; 70 71 /* END OF DECLARATIONS */ 72 73 area_ptr: 74 entry (p_relation_cursor_ptr) returns (ptr); 75 76 relation_cursor_ptr = p_relation_cursor_ptr; 77 78 call CHECK_VERSION (relation_cursor.version, RELATION_CURSOR_VERSION_2, "relation_cursor"); 79 80 local_area_ptr = relation_cursor.work_area_ptr; 81 82 return (local_area_ptr); 83 84 85 opening_id: 86 entry (p_relation_cursor_ptr) returns (bit (36) aligned); 87 88 relation_cursor_ptr = p_relation_cursor_ptr; 89 90 call CHECK_VERSION (relation_cursor.version, RELATION_CURSOR_VERSION_2, "relation_cursor"); 91 92 local_rel_opening_id = relation_cursor.file_opening_id; 93 94 return (local_rel_opening_id); 95 96 97 CHECK_VERSION: 98 proc (cv_p_received_version, cv_p_expected_version, cv_p_structure_name); 99 100 dcl cv_p_received_version char (8) aligned; 101 dcl cv_p_expected_version char (8) aligned; 102 dcl cv_p_structure_name char (*); 103 104 if cv_p_received_version ^= cv_p_expected_version 105 then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 106 "^/Expected version ^a of the ^a structure. 107 Received version ^d instead.", cv_p_expected_version, cv_p_structure_name, cv_p_received_version); 108 109 end CHECK_VERSION; 110 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 */ 111 112 2 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 2 2 /* format: style3 */ 2 3 2 4 /* These constants are to be used for the flags argument of sub_err_ */ 2 5 /* They are just "string (condition_info_header.action_flags)" */ 2 6 2 7 declare ( 2 8 ACTION_CAN_RESTART init (""b), 2 9 ACTION_CANT_RESTART init ("1"b), 2 10 ACTION_DEFAULT_RESTART 2 11 init ("01"b), 2 12 ACTION_QUIET_RESTART 2 13 init ("001"b), 2 14 ACTION_SUPPORT_SIGNAL 2 15 init ("0001"b) 2 16 ) bit (36) aligned internal static options (constant); 2 17 2 18 /* End include file */ 113 114 end rlm_get_cursor_info; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/05/85 0836.8 rlm_get_cursor_info.pl1 >spec>on>7138.pbf>rlm_get_cursor_info.pl1 111 1 03/05/85 0800.2 dm_rlm_cursor.incl.pl1 >spec>on>7138.pbf>dm_rlm_cursor.incl.pl1 113 2 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 2-7 set ref 104* RELATION_CURSOR_VERSION_2 000002 constant char(8) initial dcl 1-43 set ref 78* 90* cv_p_expected_version parameter char(8) dcl 101 set ref 97 104 104* cv_p_received_version parameter char(8) dcl 100 set ref 97 104 104* cv_p_structure_name parameter char unaligned dcl 102 set ref 97 104* error_table_$unimplemented_version 000012 external static fixed bin(35,0) dcl 68 set ref 104* file_opening_id 4 based bit(36) initial level 2 dcl 1-18 ref 92 local_area_ptr 000100 automatic pointer dcl 46 set ref 80* 82 local_rel_opening_id 000102 automatic bit(36) dcl 49 set ref 92* 94 myname 000004 constant varying char(32) initial dcl 60 set ref 104* null builtin function dcl 56 ref 1-42 104 104 p_relation_cursor_ptr parameter pointer dcl 41 ref 73 76 85 88 relation_cursor based structure level 1 dcl 1-18 relation_cursor_ptr 000104 automatic pointer initial dcl 1-42 set ref 76* 78 80 88* 90 92 1-42* sub_err_ 000010 constant entry external dcl 64 ref 104 version based char(8) level 2 dcl 1-18 set ref 78* 90* work_area_ptr 2 based pointer initial level 2 dcl 1-18 ref 80 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 2-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 2-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 2-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 2-7 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 000257 constant entry internal dcl 97 ref 78 90 area_ptr 000120 constant entry external dcl 73 opening_id 000202 constant entry external dcl 85 rlm_get_cursor_info 000072 constant entry external dcl 33 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 446 462 361 456 Length 670 361 14 171 65 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rlm_get_cursor_info 160 external procedure is an external procedure. CHECK_VERSION internal procedure shares stack frame of external procedure rlm_get_cursor_info. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rlm_get_cursor_info 000100 local_area_ptr rlm_get_cursor_info 000102 local_rel_opening_id rlm_get_cursor_info 000104 relation_cursor_ptr rlm_get_cursor_info THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return signal ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 1 42 000065 33 000071 36 000102 73 000114 76 000130 78 000134 80 000157 82 000162 85 000175 88 000211 90 000215 92 000240 94 000243 114 000256 97 000257 104 000270 109 000360 ----------------------------------------------------------- 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