COMPILATION LISTING OF SEGMENT rcm_destroy_collection Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1602.7 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_destroy_collection: 10 proc (p_file_opening_id, p_record_collection_id, p_code); 11 12 /* DESCRIPTION: 13* This routine destroys a record collection by first freeing this 14* process' opening information associated with the collection, then calling 15* collection_manager_$destroy_collection to actually destroy the collection 16* and free the storage it uses. 17**/ 18 19 /* HISTORY: 20*Written by Matthew Pierret, 04/04/83. 21*Modified: 22*07/28/83 by Matthew Pierret: Changed name from rm_destroy_collection to 23* rcm_destroy_collection, and all rm_ prefixes to rcm_. 24*08/08/83 by Matthew Pierret: Changed use of non-existent entry 25* rcm_get_opening_info$free to the correct entry 26* rcm_free_opening_info. 27**/ 28 29 /* START OF DECLARATIONS */ 30 /* Parameter */ 31 32 dcl p_file_opening_id bit (36) aligned; /*Identifier of the open 33* file in which the record 34* collection resides.*/ 35 dcl p_record_collection_id bit (36) aligned; /*Identifier of the record collection to be destroyed*/ 36 dcl p_code fixed bin (35); /*Error code*/ 37 38 /* Automatic */ 39 /* Based */ 40 /* Builtin */ 41 42 dcl null builtin; 43 44 /* Constant */ 45 46 dcl myname init ("rcm_destroy_collection") char (32) varying internal static options (constant); 47 48 /* Entry */ 49 50 dcl collection_manager_$destroy_collection 51 entry (bit (36) aligned, bit (36) aligned, fixed bin (35)); 52 dcl rcm_free_opening_info entry (bit (36) aligned, bit (36) aligned, fixed bin (35)); 53 dcl sub_err_ entry () options (variable); 54 55 /* External */ 56 57 dcl dm_error_$no_opening fixed bin (35) ext; 58 59 /* END OF DECLARATIONS */ 60 61 p_code = 0; 62 63 call rcm_free_opening_info (p_file_opening_id, p_record_collection_id, p_code); 64 if p_code ^= 0 65 then if p_code = dm_error_$no_opening 66 then p_code = 0; 67 else return; 68 69 call collection_manager_$destroy_collection (p_file_opening_id, p_record_collection_id, p_code); 70 71 return; 72 1 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 1 2 /* format: style3 */ 1 3 1 4 /* These constants are to be used for the flags argument of sub_err_ */ 1 5 /* They are just "string (condition_info_header.action_flags)" */ 1 6 1 7 declare ( 1 8 ACTION_CAN_RESTART init (""b), 1 9 ACTION_CANT_RESTART init ("1"b), 1 10 ACTION_DEFAULT_RESTART 1 11 init ("01"b), 1 12 ACTION_QUIET_RESTART 1 13 init ("001"b), 1 14 ACTION_SUPPORT_SIGNAL 1 15 init ("0001"b) 1 16 ) bit (36) aligned internal static options (constant); 1 17 1 18 /* End include file */ 73 74 75 end rcm_destroy_collection; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1147.1 rcm_destroy_collection.pl1 >spec>temp>famis1>rcm_destroy_collection.pl1 73 1 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. collection_manager_$destroy_collection 000010 constant entry external dcl 50 ref 69 dm_error_$no_opening 000014 external static fixed bin(35,0) dcl 57 ref 64 p_code parameter fixed bin(35,0) dcl 36 set ref 9 61* 63* 64 64 64* 69* p_file_opening_id parameter bit(36) dcl 32 set ref 9 63* 69* p_record_collection_id parameter bit(36) dcl 35 set ref 9 63* 69* rcm_free_opening_info 000012 constant entry external dcl 52 ref 63 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CANT_RESTART internal static bit(36) initial dcl 1-7 ACTION_CAN_RESTART internal static bit(36) initial dcl 1-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 1-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 1-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 1-7 myname internal static varying char(32) initial dcl 46 null builtin function dcl 42 sub_err_ 000000 constant entry external dcl 53 NAME DECLARED BY EXPLICIT CONTEXT. rcm_destroy_collection 000006 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 142 160 54 152 Length 350 54 16 154 66 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rcm_destroy_collection 72 external procedure is an external procedure. THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. collection_manager_$destroy_collection rcm_free_opening_info THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. dm_error_$no_opening CONSTANTS 000000 aa 404000000043 000001 aa 514000000044 BEGIN PROCEDURE rcm_destroy_collection ENTRY TO rcm_destroy_collection STATEMENT 1 ON LINE 9 rcm_destroy_collection: proc (p_file_opening_id, p_record_collection_id, p_code); 000002 at 000003000001 000003 tt 000001000000 000004 ta 000002000000 000005 da 000062300000 000006 aa 000120 6270 00 eax7 80 000007 aa 7 00034 3521 20 epp2 pr7|28,* 000010 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000011 aa 000006000000 000012 aa 000000000000 STATEMENT 1 ON LINE 61 p_code = 0; 000013 aa 6 00032 3735 20 epp7 pr6|26,* 000014 aa 7 00006 4501 20 stz pr7|6,* p_code STATEMENT 1 ON LINE 63 call rcm_free_opening_info (p_file_opening_id, p_record_collection_id, p_code); 000015 aa 7 00002 3521 20 epp2 pr7|2,* p_file_opening_id 000016 aa 6 00102 2521 00 spri2 pr6|66 000017 aa 7 00004 3521 20 epp2 pr7|4,* p_record_collection_id 000020 aa 6 00104 2521 00 spri2 pr6|68 000021 aa 7 00006 3521 20 epp2 pr7|6,* p_code 000022 aa 6 00106 2521 00 spri2 pr6|70 000023 aa 6 00100 6211 00 eax1 pr6|64 000024 aa 014000 4310 07 fld 6144,dl 000025 la 4 00012 3521 20 epp2 pr4|10,* rcm_free_opening_info 000026 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 64 if p_code ^= 0 then if p_code = dm_error_$no_opening then p_code = 0; 000027 aa 6 00032 3735 20 epp7 pr6|26,* 000030 aa 7 00006 2361 20 ldq pr7|6,* p_code 000031 aa 000007 6000 04 tze 7,ic 000040 000032 aa 6 00044 3701 20 epp4 pr6|36,* 000033 la 4 00014 1161 20 cmpq pr4|12,* dm_error_$no_opening 000034 aa 000003 6010 04 tnz 3,ic 000037 000035 aa 7 00006 4501 20 stz pr7|6,* p_code 000036 aa 000002 7100 04 tra 2,ic 000040 STATEMENT 1 ON LINE 67 else return; 000037 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 69 call collection_manager_$destroy_collection (p_file_opening_id, p_record_collection_id, p_code); 000040 aa 7 00002 3521 20 epp2 pr7|2,* p_file_opening_id 000041 aa 6 00102 2521 00 spri2 pr6|66 000042 aa 7 00004 3521 20 epp2 pr7|4,* p_record_collection_id 000043 aa 6 00104 2521 00 spri2 pr6|68 000044 aa 7 00006 3521 20 epp2 pr7|6,* p_code 000045 aa 6 00106 2521 00 spri2 pr6|70 000046 aa 6 00100 6211 00 eax1 pr6|64 000047 aa 014000 4310 07 fld 6144,dl 000050 aa 6 00044 3701 20 epp4 pr6|36,* 000051 la 4 00010 3521 20 epp2 pr4|8,* collection_manager_$destroy_collection 000052 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 71 return; 000053 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 75 end rcm_destroy_collection; END PROCEDURE rcm_destroy_collection ----------------------------------------------------------- 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