THIS FILE IS DAMAGED COMPILATION LISTING OF SEGMENT rlm_destroy_cursor Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 03/05/85 0927.7 mst Tue Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* format: style2,ind3 */ 8 9 rlm_destroy_cursor: 10 proc (p_relation_cursor_ptr, p_work_area_ptr, p_code); 11 12 /* DESCRIPTION: 13* This routine frees the storage occupied by a relation_cursor, 14* destroys the index or record cursor hanging off the relation_cursor 15* by calling index/record_manager_$destroy_cursor and frees the 16* specification structure hanging off the relation_cursor. 17**/ 18 19 /* HISTORY: 20*Written by Matthew Pierret, 04/04/83. 21*Modified: 22*06/24/83 by Lindsey L. Spratt: Changed to use version 2 of the 23* relation_cursor. 24*07/28/83 by Matthew Pierret: Changed name of dm_rm_cursor.incl.pl1 to 25* dm_rcm_cursor.incl.pl1. 26*11/01/84 by Stanford S. Cox: CHECK_VERSION: Changed for new sub_err_ syntax 27**/ 28 29 /* START OF DECLARATIONS */ 30 /* Parameter */ 31 32 dcl p_work_area_ptr ptr; /*The area in which the cursor was 33* created.*/ 34 /*For vfile_relmgr_ compatibility only */ 35 dcl p_relation_cursor_ptr ptr; /*A pointer to a record or index cursor*/ 36 dcl p_code fixed bin (35); /*Status code*/ 37 38 /* Automatic */ 39 /* Based */ 40 41 dcl cursor_work_area area (9999) based; 42 43 /* Builtin */ 44 45 dcl null builtin; 46 47 /* Constant */ 48 49 dcl myname init ("rlm_destroy_cursor") char (32) varying internal static options (constant); 50 51 /* Entry */ 52 53 dcl index_manager_$destroy_cursor 54 entry (ptr, fixed bin (35)); 55 dcl record_manager_$destroy_cursor 56 entry (ptr, fixed bin (35)); 57 dcl sub_err_ entry () options (variable); 58 59 /* External */ 60 61 dcl error_table_$unimplemented_version 62 fixed bin (35) ext; 63 64 /* END OF DECLARATIONS */ 65 66 p_code = 0; 67 relation_cursor_ptr = p_relation_cursor_ptr; 68 call CHECK_VERSION ("relation_cursor", relation_cursor.version, RELATION_CURSOR_VERSION_2); 69 70 if relation_cursor.current.cursor_ptr ^= null 71 then if relation_cursor.current.cursor_ptr -> record_cursor.type = RECORD_CURSOR_TYPE 72 then call record_manager_$destroy_cursor (relation_cursor.current.cursor_ptr, p_code); 73 else if relation_cursor.current.cursor_ptr -> index_cursor.type = INDEX_CURSOR_TYPE 74 then call index_manager_$destroy_cursor (relation_cursor.current.cursor_ptr, p_code); 75 else ; 76 77 if relation_cursor.current.specification_ptr ^= null 78 then if relation_cursor.current.specification_ptr -> specification_head.type = ABSOLUTE_NUMERIC_SPECIFICATION_TYPE 79 | relation_cursor.current.specification_ptr -> specification_head.type 80 = RELATIVE_NUMERIC_SPECIFICATION_TYPE 81 then free relation_cursor.current.specification_ptr 82 -> numeric_specification in (relation_cursorEcP Rpub_08 GQQx AV0063 TȽTjAV?tape_mult_ Qx AV0127 TTX~AVtape_mult_ YrQx AV0220 TtTCAVtape_mult_ 51\Qx AV0163 T|TAVtape_mult_ Q[AV0184 TTӕrAVtape_mult_ )Qf*AV0238 T6TÒAVtape_mult_ ,Q{AV0202 T"hIT" GAVtape_mult_ QAV0226 TT`AVtape_mult_ Q{AV0155 TT&AVtape_mult_ QAAV0092 TķGTķMAV\tape_mult_ !IQAV0136 T8OT8AVtape_mult_ Q;AV0004 TǾTǾ'?AVtape_mult_ &,Q"AV0232 T?<T?kxAVtape_mult_ "Q1:#AV0147 TDUATҜtAVtape_mult_ AQ6CsAV0190 TTTTfAVtape_mult_ Q;RCAV0196 TeBTאAVtape_mult_ Q@U&AV0054 TXfTXlAV6tape_mult_ %QESAV0173 T\TBAVtape_mult_ .QTfAV0021 Ti8<TibAVtape_mult_ QYAV0065 T>TkAVAtape_mult_ Q^%AV0239 ToZToxAVtape_mult_ "QcAV0030 TZ&STZAVtape_mult_ QhѐAV0169 TwERTwrAVtape_mult_ Q}AV0025 T߄چT߄AVtape_mult_ Q&AV0135 T{T0AVtape_mult_ OQ=AV0050 TjtTᒘAV2tape_mult_ Q>MAV0110 T1Te~AVntape_mult_ 'Qa9AV0011 TۨT3AV tape_mult_ QAV0152 et, 04/05/82. 2 5*Modified: 2 6*08/19/82 by Matthew Pierret: Version 2. Changed collection_id to 2 7* bit (36) aligned. 2 8*07/28/83 by Matthew Pierret: Changed name from dm_rm_cursor.incl.pl1 to 2 9* dm_rcm_cursor.incl.pl1. 2 10*04/13/84 by Lee Baldwin: Renamed pf_opening_id to file_opening_id to coincide 2 11* with the naming conventions used in the rcm_XX routines. 2 12**/ 2 13 2 14 /* format: style2,ind3 */ 2 15 dcl 1 record_cursor aligned based (record_cursor_ptr), 2 16 2 type fixed bin (17) unaligned, 2 17 2 version fixed bin (17) unaligned, 2 18 2 flags, 2 19 3 position_is_valid 2 20 bit (1) unal, 2 21 3 pad bit (35) unal, 2 22 2 area_ptr ptr, 2 23 2 file_opening_id bit (36) aligned, 2 24 2 collection_id bit (36) aligned, 2 25 2 record_id bit (36) aligned, 2 26 2 record_check_value bit (36) aligned; 2 27 2 28 dcl record_cursor_ptr ptr; 2 29 dcl RECORD_CURSOR_VERSION_2 2 30 init (2) fixed bin int static options (constant); 2 31 dcl RECORD_CURSOR_TYPE init (1) fixed bin int static options (constant); 2 32 dcl BEGINNING_OF_COLLECTION_RECORD_ID 2 33 init ("0"b) bit (36) aligned int static options (constant); 2 34 2 35 /* END INCLUDE FILE - dm_rcm_cursor.incl.pl1 */ 113 114 3 1 /* BEGIN INCLUDE FILE - dm_im_cursor.incl.pl1 */ 3 2 3 3 /* DESCRIPTION: 3 4* 3 5* This structure specifies a DM file, an index collection in that DM 3 6*file, and a position (key) in that index collection. 3 7* 3 8**/ 3 9 3 10 /* HISTORY: 3 11* 3 12*Written by Lindsey Spratt, 03/29/82 3 13*Modified: 3 14*08/09/82 by Matthew Pierret: Changed collection_id from "fixed bin (17)" to 3 15* "bit (35) aligned". 3 16*08/26/82 by Lindsey Spratt: Changed to version 2. Added the is_valid and 3 17* is_at_end_of_index flags. Changed the key_check_value to fixed 3 18* bin (35). Added the IM_HASH_BIAS, which is used to increment the 3 19* value developed by hash_index_, and IM_HASH_NUMBER_OF_BUCKETS, 3 20* which is a unique number used by hash_index_ to develop the 3 21* key_check_value. 3 22*02/23/83 by Lindsey Spratt: Changed to keep the current key value in the 3 23* cursor. Also, implemented the ability to have the cursor 3 24* positioned before or after the index. 3 25*10/23/84 by Lindsey L. Spratt: Added a description section. 3 26**/ 3 27 3 28 /* format: style2,ind3 */ 3 29 dcl 1 index_cursor based (index_cursor_ptr), 3 30 2 type fixed bin (17) unaligned, 3 31 2 version fixed bin (17) unaligned, 3 32 2 file_opening_id bit (36) aligned, 3 33 2 collection_id bit (36) aligned, 3 34 2 key_id_string bit (36) aligned, /* Is the location of the current key, */ 3 35 /* if flags.current_key_exists is on. Is the location */ 3 36 /* of the end of the index if flags.is_at_end_of_index */ 3 37 /* is on, which is only available via an operation */ 3 38 /* requiring the "previous" key. Is the location of */ 3 39 /* the "next" key, otherwise. */ 3 40 2 area_ptr ptr, /* Area in which the cursor and key_string area allocated. */ 3 41 /* Must be a freeing area. */ 3 42 2 current_key_string_ptr 3 43 ptr, /* Points to the value of the current key. */ 3 44 2 current_key_string_length 3 45 fixed bin (24) unal, /* Is the length of the current key in bits. */ 3 46 2 pad bit (12) unal, 3 47 2 flags aligned, 3 48 3 is_at_@q> rH@=LSD~&H &Pz q>&pLhIzzar,Attendees pRyӕŸzaq>*@pSysDaemon q>*@pDEVM q>NMLPROD q>STDSPPT q>.EngAdmin q>&*@pRing_1_Repair q>Hr&q;A\ a.Proceedings.1 q;HL J**aq>*@q;*@q@TOBSWE q>&q@A\PPaHTransactions q@H222aq>*@pn:*@pv*@p:PLASTICS q>*@pMSGD q>*@pSysMaint q><*@pSchroth q><*@pGuest q>*@pDickson q> *@pNetwork_Server q> Multics q>.*@pMDavis q>*@p.incl.pl1, 5 16* must be included in any program which uses this (the 5 17* dm_specification.incl.pl1) include file. 5 18**/ 5 19 5 20 /* HISTORY: 5 21* 5 22*Written by Lindsey Spratt, 05/19/82. 5 23*Modified: 5 24*08/17/82 by Matthew Pierret: Added all specification type constants. 5 25*09/24/82 by Ronald Harvey: Changed version and added and_groups. 5 26*10/22/82 by Lindsey Spratt: Added the range_size to the numeric_specification. 5 27* Changed the version to 3. 5 28*05/11/83 by Matthew Pierret: Moved specification_head and and type constants 5 29* to dm_specification_head.incl.pl1. Added constraint.value_field_id. 5 30* Moved range type constants into dm_range_constants.incl.pl1. 5 31*05/20/83 by Matthew Pierret: Added constraint.value_field_id for specifying 5 32* intra-key/record compares. 5 33*10/02/84 by Lindsey L. Spratt: Moved a misplaced journalization comment. 5 34* Added a DESCRIPTION comment. 5 35**/ 5 36 5 37 /* format: style2,ind3 */ 5 38 dcl 1 search_specification based (search_specification_ptr), 5 39 2 head like specification_head, 5 40 2 maximum_number_of_constraints 5 41 fixed bin (17) unal, 5 42 2 number_of_and_groups 5 43 fixed bin (17) unal, 5 44 2 range unal, 5 45 3 type fixed bin (17), 5 46 3 size fixed bin (17), 5 47 2 and_group (ss_number_of_and_groups refer (search_specification.number_of_and_groups)), 5 48 3 number_of_constraints 5 49 fixed bin (17) unal, 5 50 3 constraint (ss_maximum_number_of_constraints 5 51 refer (search_specification.maximum_number_of_constraints)), 5 52 4 field_id fixed bin (17) unal, 5 53 4 operator_code fixed bin (17) unal, 5 54 4 value_field_id fixed bin (17) unal, 5 55 4 pad bit (18) unal, 5 56 4 value_ptr ptr unal; 5 57 5 58 dcl search_specification_ptr 5 59 ptr; 5 60 dcl (ss_number_of_and_groups, ss_maximum_number_of_constraints) 5 61 fixed bin (17); 5 62 5 63 dcl 1 numeric_specification 5 64 based (numeric_specification_ptr), 5 65 2 head like specification_head, 5 66 2 range_size fixed bin (35) aligned, 5 67 2 position_number fixed bin (17) unal, 5 68 2 pad bit (18) unal; 5 69 5 70 dcl numeric_specification_ptr 5 71 ptr; 5 72 5 73 /* END INCLUDE FILE - dm_specification.incl.pl1 */ 119 120 6 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 6 2 /* format: style3 */ 6 3 6 4 /* These constants are to be used for the flags argument of sub_err_ */ 6 5 /* They are just "string (condition_info_header.action_flags)" */ 6 6 6 7 declare ( 6 8 ACTION_CAN_RESTART init (""b), 6 9 ACTION_CANT_RESTART init ("1"b), 6 10 ACTION_DEFAULT_RESTART 6 11 init ("01"b), 6 12 ACTION_QUIET_RESTART 6 13 init ("001"b), 6 14 ACTION_SUPPORT_SIGNAL 6 15 init ("0001"b) 6 16 ) bit (36) aligned internal static options (constant); 6 17 6 18 /* End include file */ 121 122 123 end rlm_destroy_cursor; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/05/85 0836.7 rlm_destroy_cursor.pl1 >spec>on>7138.pbf>rlm_destroy_cursor.pl1 111 1 03/05/85 0800.2 dm_rlm_cursor.incl.pl1 >spec>on>7138.pbf>dm_rlm_cursor.incl.pl1 113 2 01/07/85 0859.4 dm_rcm_cursor.incl.pl1 >ldd>include>dm_rcm_cursor.incl.pl1 115 3 01/07/85 0858.9 dm_im_cursor.incl.pl1 y *@y  *@y  *@y z*@y &yHn  * *z "Tofil yRQN. < Pz~2r *@y f*@yL Tofil  P n*@y f v*@y n ~*@y v .*@y ~ H*@y H  X*@y z*@y t "&yHn! z "Zemmin yRQN/2 l z~2r D L 6*@y *@y 66Lackeyc  *@y *@y *@y z*@yHMay  *@y  . *@y Zemmin   D *@yN Lyon  .  *@y T.*@y L \*@y T d*@y \ l *@y dz*@y &yHn" | | a tnew_site_sa.ec yH4LGLB$  a z*y 8 N.*@y  Gsam y t t&yHn# fa  rsa_meeting yRy = ^ fa~2r *@y  %sa_meetings y  meetings y z*@y  *@y *@y  " **@y  8 @*@y fHBatts  " *@y:Coppola  V*@y N ^*@y Vz*@y *Berglund  &yHn$ | fa  tRsite_info yRQN0 ? ^ fa~2r \*@y v *@& | te"si y  tinfo y dg y ~.*@& *@y  |ds & *@y z*@y  **@y   @*@y *@y  "*@y  8.*@yPubs  " N*@y Doc  8 V*@y N ^*@y Vz*@y*@ z*@& n  2*@& f*@&v*@y z*@y0 *@y02*@yw *@y0 .*@y0 *@y0 *@y0 *@y-VNL*@y *@y-  *@y-*@y  z*@y-*@y{  cl 4-10 specification_ptr 12 based pointer initial level 3 dcl 1-18 ref 77 77 77 77 83 83 83 sub_err_ 000014 constant entry external dcl 57 ref 104 type based fixed bin(17,0) level 2 in structure "index_cursor" packed unaligned dcl 3-29 in procedure "rlm_destroy_cursor" ref 73 type based fixed bin(17,0) level 2 in structure "record_cursor" packed unaligned dcl 2-15 in procedure "rlm_destroy_cursor" ref 70 type 1 based fixed bin(17,0) level 2 in structure "specification_head" packed unaligned dcl 4-10 in procedure "rlm_destroy_cursor" ref 77 77 83 83 version based char(8) level 2 dcl 1-18 set ref 68* work_area_ptr 2 based pointer initial level 2 dcl 1-18 ref 77 83 92 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABSOLUTE_RELATION_NUMERIC_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 ABSOLUTE_RELATION_SEARCH_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 ACTION_CAN_RESTART internal static bit(36) initial dcl 6-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 6-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 6-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 6-7 BEGINNING_OF_COLLECTION_RECORD_ID internal static bit(36) initial dcl 2-32 INDEX_CURSOR_VERSION_3 internal static fixed bin(17,0) initial dcl 3-66 NUMERIC_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 RECORD_CURSOR_VERSION_2 internal static fixed bin(17,0) initial dcl 2-29 RELATIVE_RELATION_NUMERIC_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 RELATIVE_RELATION_SEARCH_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 SEARCH_SPECIFICATION_TYPE internal static fixed bin(17,0) initial dcl 4-22 SPECIFICATION_VERSION_4 internal static fixed bin(35,0) initial dcl 4-19 index_cursor_ptr automatic pointer dcl 3-64 numeric_specification_ptr automatic pointer dcl 5-70 record_cursor_ptr automatic pointer dcl 2-28 search_specification_ptr automatic pointer dcl 5-58 specification_head_ptr automatic pointer dcl 4-18 ss_maximum_number_of_constraints automatic fixed bin(17,0) dcl 5-60 ss_number_of_and_groups automatic fixed bin(17,0) dcl 5-60 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION 000235 constant entry internal dcl 97 ref 68 rlm_destroy_cursor 000063 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 432 452 337 442 Length 746 337 20 257 73 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rlm_destroy_cursor 156 external procedure is an external procedure. CHECK_VERSION internal procedure shares stack frame of external procedure rlm_destroy_cursor. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rlm_destroy_cursor 000100 relation_cursor_ptr rlm_destroy_cursor 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. index_manager_$destroy_cursor record_manager_$destroy_cursor 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 9 000057 1 42 000070 66 000072 67 000074 68 000077 70 000122 73 000146 77 000164 83 000204 90 000227 92 000232 95 000234 97 000235 104 000246 109 000336 ----------------------------------------------------------- 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