COMPILATION LISTING OF SEGMENT rmdb_rq_delete_object Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 12/07/87 1321.0 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 /* format: ^inddcls,^indattr,indnoniterend,^indnoniterdo,indend,tree,^case,insnl,comcol61,dclind5,declareind5,delnl */ 10 11 /*DESCRIPTION 12* This routine is the argument processor for the rmdb delete_attribute and 13* delete_domain requests. After processing the arguments and building the delete 14* structure, it calls rmdb_delete_(domain attribute) to actually do all the work. 15**/ 16 17 /****^ HISTORY COMMENTS: 18* 1) change(85-12-03,Spitzer), approve(85-12-03,MCR7311), 19* audit(86-09-15,Gilcrease), install(86-10-16,MR12.0-1187): 20* written 21* 2) change(87-09-30,Blair), approve(87-11-03,MCR7792), audit(87-11-30,Dupuis), 22* install(87-12-07,MR12.2-1008): 23* Correct the request name placed in the inconsistent_message structure so 24* it will accurately reflect the request being made consistent. 25* END HISTORY COMMENTS */ 26 27 rmdb_rq_delete_object: 28 proc; 29 30 return; /* not an entry point */ 31 32 rmdb_rq_delete_object$domain: 33 entry (Isci_ptr, Iinfo_ptr); 34 35 domain_entry = "1"b; 36 goto COMMON; 37 38 rmdb_rq_delete_object$attribute: 39 entry (Isci_ptr, Iinfo_ptr); 40 41 domain_entry = "0"b; 42 goto COMMON; 43 44 COMMON: 45 sci_ptr = Isci_ptr; 46 rmdb_ctl_ptr = Iinfo_ptr; 47 48 /* Determine if we have an open database. */ 49 if rmdb_ctl.absolute_db_path = "" 50 then call ssu_$abort_line (sci_ptr, error_table_$action_not_performed, 51 "^/There is no currently readied database."); 52 53 call ssu_$arg_count (sci_ptr, nargs); 54 55 /* Count all the non-control arguments (this is the list of names) */ 56 begin; 57 58 dcl arg char (argl) based (argp); 59 dcl argl fixed bin (21); 60 dcl arglengths (nargs) fixed bin (21); 61 dcl argp ptr; 62 dcl argptrs (nargs) ptr; 63 64 delete_object_info_count = 0; 65 do loop = 1 to nargs; 66 call ssu_$arg_ptr (sci_ptr, loop, argp, argl); 67 if index (arg, "-") ^= 1 68 then delete_object_info_count = delete_object_info_count + 1; 69 argptrs (loop) = argp; 70 arglengths (loop) = argl; 71 end; /* do loop */ 72 73 allocate delete_object_info in (my_area) set (delete_object_info_ptr); 74 unspec (delete_object_info) = "0"b; 75 delete_object_info.version = delete_object_info_version_1; 76 77 delete_object_info.count = 0; 78 do loop = 1 to nargs; 79 argp = argptrs (loop); 80 argl = arglengths (loop); 81 if /* case */ index (arg, "-") = 1 82 then if /* case */ arg = "-a" | arg = "-all" 83 then delete_object_info.all = TRUE; 84 else if arg = "-bf" | arg = "-brief" 85 then delete_object_info.long = SHORT; 86 else if arg = "-ck" | arg = "-check" 87 then delete_object_info.check = TRUE; 88 else if arg = "-fc" | arg = "-force" 89 then delete_object_info.force = TRUE; 90 else if arg = "-ihe" | arg = "-inhibit_error" 91 then delete_object_info.inhibit_errors = TRUE; 92 else if arg = "-lg" | arg = "-long" 93 then delete_object_info.long = LONG; 94 else if arg = "-nfc" | arg = "-no_force" 95 then delete_object_info.force = FALSE; 96 else if arg = "-nihe" | arg = "-no_inhibit_error" 97 then delete_object_info.inhibit_errors = FALSE; 98 else if arg = "-unref" | arg = "-unreferenced" 99 then delete_object_info.unreferenced = TRUE; 100 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, "^a", arg); 101 else do; 102 if argl > length (delete_object_info.name (1)) 103 then call ssu_$abort_line (sci_ptr, mrds_error_$rst_name_too_long, "^a", arg); 104 105 if argl < 1 106 then call ssu_$abort_line (sci_ptr, 0, "The ^[domain^;attribute^] name cannot be the null string."); 107 if verify (arg, mrds_data_$valid_rel_and_attr_name_chars) ^= 0 108 then call ssu_$abort_line (sci_ptr, mrds_error_$bad_ident, "^a", arg); 109 if domain_entry 110 then if search (substr (arg, 1, 1), "_-") ^= 0 111 then call ssu_$abort_line (sci_ptr, mrds_error_$inv_domain_name_first_char, "^a", arg); 112 else ; 113 else if search (substr (arg, 1, 1), "_-0123456789") ^= 0 114 then call ssu_$abort_line (sci_ptr, mrds_error_$inv_attr_name_first_char, "^a", arg); 115 116 delete_object_info.count = delete_object_info.count + 1; 117 delete_object_info.name (delete_object_info.count) = arg; 118 end; 119 end; /* do loop */ 120 121 end; /* begin */ 122 123 if (delete_object_info.all | delete_object_info.unreferenced) & delete_object_info.count ^= 0 124 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-all or -unref and a list of ^[domains^;attributes^].", domain_entry); 125 126 if delete_object_info.check & delete_object_info.all 127 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-all and -check"); 128 129 if (delete_object_info.long = LONG) & delete_object_info.all 130 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-all and -long"); 131 132 if (delete_object_info.long = LONG) & delete_object_info.unreferenced 133 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-unref and -long"); 134 135 if delete_object_info.check & delete_object_info.unreferenced 136 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-unreferenced and -check"); 137 138 if (delete_object_info.check & (delete_object_info.long ^= UNSPEC)) 139 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, "-check and -brief or -long"); 140 141 if delete_object_info.long = SHORT 142 then delete_object_info.check = FALSE; 143 144 if delete_object_info.long = LONG 145 then delete_object_info.check = TRUE; 146 147 if ^delete_object_info.all & ^delete_object_info.unreferenced & delete_object_info.count = 0 148 then call ssu_$abort_line (sci_ptr, 0, "No deletion arguments found.^/A list of ^[domain^;attribute^] names, -unreferenced or -all must be given.", 149 domain_entry); 150 151 /* Make sure that we don't need to cleanup from a previous operation. */ 152 if domain_entry 153 then delete_object_info.request_name = "rmdb (delete_domain)"; 154 else delete_object_info.request_name = "rmdb (delete_attribute)"; 155 156 call mdbm_util_$inconsistent_get_info (rmdb_ctl.db_model_ptr, incon_value, incon_name, unused2, undo_request); 157 if incon_value 158 then call rmdb_execute_undo (sci_ptr, rtrim (delete_object_info.request_name), rmdb_ctl.absolute_db_path, rmdb_ctl.db_model_ptr, 159 incon_name, undo_request); 160 161 162 delete_object_info.check_iocb_ptr = iox_$user_output; 163 delete_object_info.query_iocb_ptr = iox_$user_input; 164 165 if domain_entry 166 then call rmdb_delete_domain (rmdb_ctl_ptr, delete_object_info_ptr, error_message, code); 167 else call rmdb_delete_attribute (rmdb_ctl_ptr, delete_object_info_ptr, error_message, code); 168 if code ^= 0 & ^delete_object_info.inhibit_errors 169 then call ssu_$abort_line (sci_ptr, code, "^a", error_message); 170 171 return; 172 1 1 /* BEGIN - mrds_rmdb_ctl.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(82-03-26,Davids), approve(), audit(), install(): 1 7* created 1 8* 2) change(82-05-26,Davids), approve(), audit(), install(): 1 9* added db_model_ptr 1 10* 3) change(82-06-09,Harvey), approve(), audit(), install(): 1 11* deleted ssu_ routines ptr storage 1 12* 4) change(82-08-20,Davids), approve(), audit(), install(): 1 13* added the relmgr like reference and included the rmdb_relmgr_entries 1 14* include file 1 15* 5) change(83-05-24,Davids), approve(), audit(), install(): 1 16* added the saved_res_version_ptr element 1 17* 6) change(84-10-23,Benjamin), approve(), audit(), install(): 1 18* added flags (just database_readied_by_rmdb for now). 1 19* 7) change(85-11-08,Spitzer), approve(85-11-08,MCR7311), 1 20* audit(86-09-02,Blair), install(86-10-16,MR12.0-1187): 1 21* added crossref_file_info. 1 22* END HISTORY COMMENTS */ 1 23 1 24 1 25 dcl 01 rmdb_ctl based (rmdb_ctl_ptr), 1 26 02 version fixed bin, 1 27 02 rmdb_version char (16) varying, 1 28 02 absolute_db_path char (168), 1 29 02 temp_dir_path char (168), 1 30 02 work_area_ptr ptr, 1 31 02 db_model_ptr ptr, 1 32 02 saved_res_version_ptr ptr, 1 33 02 crossref_file_info, 1 34 03 iocb_ptr ptr, 1 35 03 name char (32), 1 36 02 relmgr_entries like rmdb_relmgr_entries, 1 37 02 flags, 1 38 03 database_readied_by_rmdb bit (1) unal, 1 39 03 unused bit (35) unal; 1 40 1 41 dcl RMDB_CTL_VERSION_1 fixed bin init (1) internal static options (constant); 1 42 1 43 dcl rmdb_ctl_ptr ptr; 1 44 1 45 2 1 /* START OF: rmdb_relmgr_entries.incl.pl1 * * * * * * * * * * * * * * * * */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(82-08-20,Davids), approve(), audit(), install(): 2 6* written 2 7* 2) change(86-01-28,Spitzer), approve(86-01-28,MCR7311), 2 8* audit(86-09-15,Gilcrease), install(86-10-16,MR12.0-1187): 2 9* add get_tuples_by_spec, put_tuple, put_tuples, create_cursor entry points. 2 10* 3) change(86-08-21,Blair), approve(86-08-21,MCR7311), 2 11* audit(86-09-15,Gilcrease), install(86-10-16,MR12.0-1187): 2 12* Back out the entries get_tuples_by_spec and put_tuples since they aren't 2 13* sufficiently well tested to be reliable. Replace with get_tuple_id and 2 14* get_tuple_by_id. 2 15* END HISTORY COMMENTS */ 2 16 2 17 2 18 dcl 01 rmdb_relmgr_entries based (rmdb_relmgr_entries_ptr), 2 19 02 create_relation entry (char (*), char (*), ptr, ptr, bit (36) aligned, 2 20 bit (36) aligned, fixed bin (35)), 2 21 02 delete_relation entry (char (*), char (*), fixed bin (35)), 2 22 02 open entry (char (*), char (*), bit (36) aligned, fixed bin (35)), 2 23 02 close entry (bit (36) aligned, fixed bin (35)), 2 24 02 create_index entry (bit (36) aligned, ptr, bit (36) aligned, fixed bin (17), 2 25 bit (36) aligned, fixed bin (35)), 2 26 02 delete_index entry (bit (36) aligned, bit (36) aligned, fixed bin (35)), 2 27 02 put_tuple entry (ptr, ptr, bit (36) aligned, fixed bin (35)), 2 28 02 get_tuple_id entry (ptr, ptr, ptr, ptr, fixed bin (35)), 2 29 02 get_tuple_by_id entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed bin (35)), 2 30 02 create_cursor entry (bit (36) aligned, ptr, ptr, fixed bin (35)); 2 31 2 32 dcl rmdb_relmgr_entries_ptr ptr; 2 33 2 34 /* END OF: rmdb_relmgr_entries.incl.pl1 * * * * * * * * * * * * * * * * */ 1 46 1 47 1 48 1 49 /* END - mrds_rmdb_ctl.incl.pl1 */ 173 3 1 /* START OF: rmdb_delete_object_info.incl.pl1 * * * * * * * * * * * * * * * * */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-12-03,Spitzer), approve(85-12-03,MCR7311), 3 6* audit(86-09-15,Gilcrease), install(86-10-16,MR12.0-1187): 3 7* Contains the list of domains or attributes to delete. If flags.check is on, 3 8* query the user on the switch indicated by check_iocb_ptr. 3 9* END HISTORY COMMENTS */ 3 10 3 11 dcl delete_object_info_count fixed bin (17); 3 12 dcl delete_object_info_ptr ptr; 3 13 dcl delete_object_info_version_1 char (8) int static options (constant) init ("doi 1.0"); 3 14 3 15 dcl 1 delete_object_info based (delete_object_info_ptr), 3 16 2 version char (8), 3 17 2 check_iocb_ptr ptr, /* switch to use for check output */ 3 18 2 query_iocb_ptr ptr, /* switch to use for query input */ 3 19 2 flags aligned, 3 20 3 all bit (1) unaligned, 3 21 3 unreferenced bit (1) unaligned, /* delete only unreferenced object */ 3 22 3 check bit (1) unaligned, /* display actions to take when deleting, don't actually delete */ 3 23 3 long bit (2) unaligned, /* if flags.check, do delete operations */ 3 24 3 force bit (1) unaligned, /* don't query user */ 3 25 3 inhibit_errors bit (1) unaligned, /* don't display errors if an object isn't found */ 3 26 3 pad bit (29) unaligned, 3 27 2 request_name char (32), /* name to use in queries and error messages */ 3 28 2 count fixed bin (17), 3 29 2 name (delete_object_info_count refer (delete_object_info.count)) 3 30 char (32); 3 31 3 32 /* END OF: rmdb_delete_object_info.incl.pl1 * * * * * * * * * * * * * * * * */ 174 175 176 dcl code fixed bin (35); 177 dcl domain_entry bit (1) aligned; 178 dcl empty builtin; 179 dcl error_message char (500); 180 dcl error_table_$action_not_performed fixed bin (35) ext static; 181 dcl error_table_$bad_arg fixed bin (35) ext static; 182 dcl error_table_$inconsistent fixed bin(35) ext static; 183 dcl FALSE bit (1) aligned int static options (constant) init ("0"b); 184 dcl Iinfo_ptr ptr parameter; 185 dcl incon_name char (32); /* name of the request that caused the db to become inconsistent */ 186 dcl incon_value bit (1); /* true ::= the db is inconsistent */ 187 dcl index builtin; 188 dcl iox_$user_input ptr ext static; 189 dcl iox_$user_output ptr ext static; 190 dcl Isci_ptr ptr parameter; 191 dcl length builtin; 192 dcl LONG bit (2) aligned int static options (constant) init ("10"b); 193 dcl loop fixed bin; 194 dcl mdbm_util_$inconsistent_get_info entry options(variable); 195 dcl mrds_data_$valid_rel_and_attr_name_chars char (128) ext static; 196 dcl mrds_error_$bad_ident fixed bin(35) ext static; 197 dcl mrds_error_$inv_attr_name_first_char fixed bin(35) ext static; 198 dcl mrds_error_$inv_domain_name_first_char fixed bin(35) ext static; 199 dcl mrds_error_$rst_name_too_long fixed bin (35) ext static; 200 dcl my_area area; 201 dcl nargs fixed bin; 202 dcl rmdb_delete_attribute entry (ptr, ptr, char (*), fixed bin (35)); 203 dcl rmdb_delete_domain entry (ptr, ptr, char(*), fixed bin(35)); 204 dcl rmdb_execute_undo entry (ptr, char(32), char(168), ptr, char(32), char(100)); 205 dcl rtrim builtin; 206 dcl sci_ptr ptr; 207 dcl search builtin; 208 dcl SHORT bit (2) aligned int static options (constant) init ("01"b); 209 dcl ssu_$abort_line entry () options (variable); 210 dcl ssu_$arg_count entry (ptr, fixed bin); 211 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 212 dcl substr builtin; 213 dcl TRUE bit (1) aligned int static options (constant) init ("1"b); 214 dcl UNSPEC bit (2) aligned int static options (constant) init ("00"b); 215 dcl undo_request char (100); /* rmdb request that will cause the db to become consistent */ 216 dcl unused2 char (200); /* output from mdbm_util_$inconsistent_get_info */ 217 dcl unspec builtin; 218 dcl verify builtin; 219 220 end rmdb_rq_delete_object; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/07/87 1321.0 rmdb_rq_delete_object.pl1 >spec>install>MR12.2-1008>rmdb_rq_delete_object.pl1 173 1 10/17/86 1404.4 mrds_rmdb_ctl.incl.pl1 >ldd>include>mrds_rmdb_ctl.incl.pl1 1-46 2 10/17/86 1404.6 rmdb_relmgr_entries.incl.pl1 >ldd>include>rmdb_relmgr_entries.incl.pl1 174 3 10/17/86 1404.6 rmdb_delete_object_info.incl.pl1 >ldd>include>rmdb_delete_object_info.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. FALSE constant bit(1) initial dcl 183 ref 94 96 141 Iinfo_ptr parameter pointer dcl 184 ref 32 38 46 Isci_ptr parameter pointer dcl 190 ref 32 38 44 LONG constant bit(2) initial dcl 192 ref 92 129 132 144 SHORT constant bit(2) initial dcl 208 ref 84 141 TRUE constant bit(1) initial dcl 213 ref 81 86 88 90 98 144 UNSPEC constant bit(2) initial dcl 214 ref 138 absolute_db_path 6 based char(168) level 2 packed unaligned dcl 1-25 set ref 49 157* all 6 based bit(1) level 3 packed unaligned dcl 3-15 set ref 81* 123 126 129 147 arg based char unaligned dcl 58 set ref 67 81 81 81 84 84 86 86 88 88 90 90 92 92 94 94 96 96 98 98 100* 102* 107 107* 109 109* 113 113* 117 argl 000100 automatic fixed bin(21,0) dcl 59 set ref 66* 67 70 80* 81 81 81 84 84 86 86 88 88 90 90 92 92 94 94 96 96 98 98 100 100 102 102 102 105 107 107 107 109 109 109 113 113 113 117 arglengths 000101 automatic fixed bin(21,0) array dcl 60 set ref 70* 80 argp 000102 automatic pointer dcl 61 set ref 66* 67 69 79* 81 81 81 84 84 86 86 88 88 90 90 92 92 94 94 96 96 98 98 100 102 107 107 109 109 113 113 117 argptrs 000104 automatic pointer array dcl 62 set ref 69* 79 check 6(02) based bit(1) level 3 packed unaligned dcl 3-15 set ref 86* 126 135 138 141* 144* check_iocb_ptr 2 based pointer level 2 dcl 3-15 set ref 162* code 000106 automatic fixed bin(35,0) dcl 176 set ref 165* 167* 168 168* count 17 based fixed bin(17,0) level 2 dcl 3-15 set ref 73* 74 77* 116* 116 117 123 147 db_model_ptr 134 based pointer level 2 dcl 1-25 set ref 156* 157* delete_object_info based structure level 1 unaligned dcl 3-15 set ref 73 74* delete_object_info_count 000102 automatic fixed bin(17,0) dcl 3-11 set ref 64* 67* 67 73 73 delete_object_info_ptr 000104 automatic pointer dcl 3-12 set ref 73* 74 75 77 81 84 86 88 90 92 94 96 98 102 116 116 117 117 123 123 123 126 126 129 129 132 132 135 135 138 138 141 141 144 144 147 147 147 152 154 157 157 162 163 165* 167* 168 delete_object_info_version_1 000000 constant char(8) initial unaligned dcl 3-13 ref 75 domain_entry 000107 automatic bit(1) dcl 177 set ref 35* 41* 109 123* 147* 152 165 empty builtin function dcl 178 ref 200 error_message 000110 automatic char(500) unaligned dcl 179 set ref 165* 167* 168* error_table_$action_not_performed 000010 external static fixed bin(35,0) dcl 180 set ref 49* error_table_$bad_arg 000012 external static fixed bin(35,0) dcl 181 set ref 100* error_table_$inconsistent 000014 external static fixed bin(35,0) dcl 182 set ref 123* 126* 129* 132* 135* 138* flags 6 based structure level 2 dcl 3-15 force 6(05) based bit(1) level 3 packed unaligned dcl 3-15 set ref 88* 94* incon_name 000305 automatic char(32) unaligned dcl 185 set ref 156* 157* incon_value 000315 automatic bit(1) unaligned dcl 186 set ref 156* 157 index builtin function dcl 187 ref 67 81 inhibit_errors 6(06) based bit(1) level 3 packed unaligned dcl 3-15 set ref 90* 96* 168 iox_$user_input 000016 external static pointer dcl 188 ref 163 iox_$user_output 000020 external static pointer dcl 189 ref 162 length builtin function dcl 191 ref 102 long 6(03) based bit(2) level 3 packed unaligned dcl 3-15 set ref 84* 92* 129 132 138 141 144 loop 000316 automatic fixed bin(17,0) dcl 193 set ref 65* 66* 69 70* 78* 79 80* mdbm_util_$inconsistent_get_info 000022 constant entry external dcl 194 ref 156 mrds_data_$valid_rel_and_attr_name_chars 000024 external static char(128) unaligned dcl 195 ref 107 mrds_error_$bad_ident 000026 external static fixed bin(35,0) dcl 196 set ref 107* mrds_error_$inv_attr_name_first_char 000030 external static fixed bin(35,0) dcl 197 set ref 113* mrds_error_$inv_domain_name_first_char 000032 external static fixed bin(35,0) dcl 198 set ref 109* mrds_error_$rst_name_too_long 000034 external static fixed bin(35,0) dcl 199 set ref 102* my_area 000320 automatic area(1024) dcl 200 set ref 73 200* name 20 based char(32) array level 2 packed unaligned dcl 3-15 set ref 102 117* nargs 002320 automatic fixed bin(17,0) dcl 201 set ref 53* 60 62 65 78 query_iocb_ptr 4 based pointer level 2 dcl 3-15 set ref 163* request_name 7 based char(32) level 2 packed unaligned dcl 3-15 set ref 152* 154* 157 157 rmdb_ctl based structure level 1 unaligned dcl 1-25 rmdb_ctl_ptr 000100 automatic pointer dcl 1-43 set ref 46* 49 156 157 157 165* 167* rmdb_delete_attribute 000036 constant entry external dcl 202 ref 167 rmdb_delete_domain 000040 constant entry external dcl 203 ref 165 rmdb_execute_undo 000042 constant entry external dcl 204 ref 157 rmdb_relmgr_entries based structure level 1 unaligned dcl 2-18 rtrim builtin function dcl 205 ref 157 157 sci_ptr 002322 automatic pointer dcl 206 set ref 44* 49* 53* 66* 100* 102* 105* 107* 109* 113* 123* 126* 129* 132* 135* 138* 147* 157* 168* search builtin function dcl 207 ref 109 113 ssu_$abort_line 000044 constant entry external dcl 209 ref 49 100 102 105 107 109 113 123 126 129 132 135 138 147 168 ssu_$arg_count 000046 constant entry external dcl 210 ref 53 ssu_$arg_ptr 000050 constant entry external dcl 211 ref 66 substr builtin function dcl 212 ref 109 113 undo_request 002324 automatic char(100) unaligned dcl 215 set ref 156* 157* unreferenced 6(01) based bit(1) level 3 packed unaligned dcl 3-15 set ref 98* 123 132 135 147 unspec builtin function dcl 217 set ref 74* unused2 002355 automatic char(200) unaligned dcl 216 set ref 156* verify builtin function dcl 218 ref 107 version based char(8) level 2 packed unaligned dcl 3-15 set ref 75* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. RMDB_CTL_VERSION_1 internal static fixed bin(17,0) initial dcl 1-41 rmdb_relmgr_entries_ptr automatic pointer dcl 2-32 NAMES DECLARED BY EXPLICIT CONTEXT. COMMON 000307 constant label dcl 44 ref 36 42 rmdb_rq_delete_object 000251 constant entry external dcl 27 rmdb_rq_delete_object$attribute 000277 constant entry external dcl 38 rmdb_rq_delete_object$domain 000264 constant entry external dcl 32 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2332 2404 2017 2342 Length 2704 2017 52 263 312 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rmdb_rq_delete_object 1383 external procedure is an external procedure. begin block on line 56 122 begin block uses auto adjustable storage. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 56 000100 argl begin block on line 56 000101 arglengths begin block on line 56 000102 argp begin block on line 56 000104 argptrs begin block on line 56 rmdb_rq_delete_object 000100 rmdb_ctl_ptr rmdb_rq_delete_object 000102 delete_object_info_count rmdb_rq_delete_object 000104 delete_object_info_ptr rmdb_rq_delete_object 000106 code rmdb_rq_delete_object 000107 domain_entry rmdb_rq_delete_object 000110 error_message rmdb_rq_delete_object 000305 incon_name rmdb_rq_delete_object 000315 incon_value rmdb_rq_delete_object 000316 loop rmdb_rq_delete_object 000320 my_area rmdb_rq_delete_object 002320 nargs rmdb_rq_delete_object 002322 sci_ptr rmdb_rq_delete_object 002324 undo_request rmdb_rq_delete_object 002355 unused2 rmdb_rq_delete_object THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. enter_begin_block leave_begin_block call_ext_out_desc call_ext_out return_mac alloc_auto_adj ext_entry verify_eis op_alloc_ op_empty_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. mdbm_util_$inconsistent_get_info rmdb_delete_attribute rmdb_delete_domain rmdb_execute_undo ssu_$abort_line ssu_$arg_count ssu_$arg_ptr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$action_not_performed error_table_$bad_arg error_table_$inconsistent iox_$user_input iox_$user_output mrds_data_$valid_rel_and_attr_name_chars mrds_error_$bad_ident mrds_error_$inv_attr_name_first_char mrds_error_$inv_domain_name_first_char mrds_error_$rst_name_too_long LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 200 000243 27 000250 30 000257 32 000260 35 000272 36 000274 38 000275 41 000305 42 000306 44 000307 46 000313 49 000316 53 000346 56 000357 60 000362 62 000367 64 000375 65 000376 66 000406 67 000423 69 000441 70 000446 71 000452 73 000454 74 000467 75 000477 77 000503 78 000504 79 000514 80 000520 81 000524 84 000553 86 000571 88 000605 90 000621 92 000635 94 000653 96 000667 98 000703 100 000717 102 000752 105 001006 107 001037 109 001100 112 001147 113 001150 116 001213 117 001216 119 001226 121 001231 123 001232 126 001270 129 001322 132 001360 135 001416 138 001452 141 001505 144 001515 147 001524 152 001562 154 001572 156 001576 157 001630 162 001672 163 001677 165 001702 167 001731 168 001754 171 002011 ----------------------------------------------------------- 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