COMPILATION LISTING OF SEGMENT vrmu_delete_indexes Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/21/84 1437.6 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ****************************************************** 10* * * 11* * * 12* * Copyright (c) 1972 by Massachusetts Institute of * 13* * Technology and Honeywell Information Systems, Inc. * 14* * * 15* * * 16* ****************************************************** */ 17 18 vrmu_delete_indexes: proc (iocb_ptr, key_list_ptr, tuple_id, code); 19 20 /* NOTES: 21* 22* This procedure deletes all keys in the list pointed to by key_list_ptr from the tuple 23* designated by tuple_id. 24**/ 25 26 /* HISTORY: 27* 28* Initially written by JA Weeldreyer -- January, 1979. 29* Modified by R. Harvey September 1982 for vfile_relmgr_ 30* 31**/ 32 33 /* vrmu_delete_indexes: proc (iocb_ptr, key_list_ptr, tuple_id, code); */ 34 35 /* Parameters */ 36 37 dcl iocb_ptr ptr; /* vfile iocb */ 38 39 /* dcl key_list_ptr ptr; /* key values to be deleted */ 40 dcl tuple_id bit (36) aligned; /* record keys were associated with */ 41 dcl code fixed bin (35); /* output error code */ 42 43 44 do i = 1 to key_list.number_of_keys; /* delete each key in list */ 45 46 key_list.key_info.vf_info.input_key (i), /* set up info for vfile */ 47 key_list.key_info.vf_info.input_desc (i) = "1"b; 48 addr (key_list.key_info.vf_info.vf_desc (i)) -> b36 = tuple_id; 49 50 call iox_$control (iocb_ptr, "delete_key", addr (key_list.key_info.vf_info (i)), icode); /* let vfile do work */ 51 if icode ^= 0 then call error (icode); 52 53 end; /* deleting keys */ 54 55 code = 0; 56 57 exit: 58 return; 59 60 error: proc (cd); 61 62 /* Error procedure */ 63 64 dcl cd fixed bin (35); 65 66 code = cd; 67 go to exit; 68 69 end error; 70 1 1 /* BEGIN vrm_key_list.incl.pl1 -- jaw, 1/17/79 */ 1 2 1 3 dcl 1 key_list aligned based (key_list_ptr), /* list of keys for add_key or delete_key */ 1 4 2 number_of_keys fixed bin, /* no. keys in list */ 1 5 2 key_info (kl_number_of_keys refer (key_list.number_of_keys)), 1 6 3 item_index fixed bin, /* attr. index or plink index */ 1 7 3 cand_key bit (1) unal, /* on if key is for candidate key */ 1 8 3 unique_val bit (1) unal, /* on if value must be unique */ 1 9 3 pad bit (34) unal, 1 10 3 vf_info, /* info for vfile control orders */ 1 11 4 input_key bit (1) unal, /* if key val supplied */ 1 12 4 input_desc bit (1) unal, /* if desc. supplied */ 1 13 4 reserved bit (34) unal, 1 14 4 vf_desc, /* vfile_ descriptor */ 1 15 5 comp_no fixed bin (17) unal, 1 16 5 offset bit (18) unal, 1 17 4 key char (256) var; 1 18 1 19 dcl key_list_ptr ptr; 1 20 dcl kl_number_of_keys fixed bin; 1 21 1 22 /* END vrm_key_list.incl.pl1 */ 71 72 73 74 dcl i fixed bin; /* internal index */ 75 dcl b36 bit (36) based; /* template */ 76 77 dcl icode fixed bin (35); /* internal status code */ 78 79 dcl addr builtin; 80 81 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 82 83 84 85 end vrmu_delete_indexes; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/21/84 0934.1 vrmu_delete_indexes.pl1 >special_ldd>online>mrds_install>vrmu_delete_indexes.pl1 71 1 10/14/83 1609.1 vrm_key_list.incl.pl1 >ldd>include>vrm_key_list.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 79 ref 48 50 50 b36 based bit(36) unaligned dcl 75 set ref 48* cd parameter fixed bin(35,0) dcl 64 ref 60 66 code parameter fixed bin(35,0) dcl 41 set ref 18 55* 66* i 000100 automatic fixed bin(17,0) dcl 74 set ref 44* 46 46 48 50 50* icode 000101 automatic fixed bin(35,0) dcl 77 set ref 50* 51 51* input_desc 3(01) based bit(1) array level 4 packed unaligned dcl 1-3 set ref 46* input_key 3 based bit(1) array level 4 packed unaligned dcl 1-3 set ref 46* iocb_ptr parameter pointer dcl 37 set ref 18 50* iox_$control 000010 constant entry external dcl 81 ref 50 key_info 1 based structure array level 2 dcl 1-3 key_list based structure level 1 dcl 1-3 key_list_ptr parameter pointer dcl 1-19 ref 18 44 46 46 48 50 50 number_of_keys based fixed bin(17,0) level 2 dcl 1-3 ref 44 tuple_id parameter bit(36) dcl 40 ref 18 48 vf_desc 4 based structure array level 4 dcl 1-3 set ref 48 vf_info 3 based structure array level 3 dcl 1-3 set ref 50 50 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. kl_number_of_keys automatic fixed bin(17,0) dcl 1-20 NAMES DECLARED BY EXPLICIT CONTEXT. error 000112 constant entry internal dcl 60 ref 51 exit 000111 constant label dcl 57 ref 67 vrmu_delete_indexes 000014 constant entry external dcl 18 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 162 174 124 172 Length 362 124 12 151 35 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME vrmu_delete_indexes 98 external procedure is an external procedure. error internal procedure shares stack frame of external procedure vrmu_delete_indexes. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME vrmu_delete_indexes 000100 i vrmu_delete_indexes 000101 icode vrmu_delete_indexes THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. iox_$control NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 18 000007 44 000021 46 000033 48 000043 50 000045 51 000101 53 000105 55 000107 57 000111 60 000112 66 000114 67 000117 ----------------------------------------------------------- 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