COMPILATION LISTING OF SEGMENT rmdb_rq_create_domain Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 10/16/86 1337.0 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 7 /* format: ^inddcls,^indattr,indnoniterend,^indnoniterdo,indend,tree,^case,insnl,comcol61,dclind5,declareind5,delnl */ 8 9 /* BEGIN_DESCRIPTION 10* 11* This routine parses command arguments for the create_domain rmdb 12* request. 13* 14* END_DESCRIPTION */ 15 16 /****^ HISTORY COMMENTS: 17* 1) change(85-12-03,Spitzer), approve(85-12-03,MCR7311), 18* audit(86-09-02,Blair), install(86-10-16,MR12.0-1187): 19* written 20* END HISTORY COMMENTS */ 21 22 rmdb_rq_create_domain: 23 proc (I_sci_ptr, I_rmdb_ctl_ptr); 24 25 sci_ptr = I_sci_ptr; 26 rmdb_ctl_ptr = I_rmdb_ctl_ptr; 27 28 /* Determine the number of arguments. There must be an even number. */ 29 30 call ssu_$arg_count (sci_ptr, nargs); 31 if (nargs = 0) | (mod (nargs, 2) ^= 0) 32 then call ssu_$abort_line (sci_ptr, error_table_$wrong_no_of_args, 33 "^/Usage:^/^-^a domain_name data_type {-control_args}", myname); 34 35 /* Check to see if we have an open database. */ 36 37 if rmdb_ctl.absolute_db_path = "" 38 then call ssu_$abort_line (sci_ptr, error_table_$action_not_performed, 39 "^/There is no currently readied database."); 40 41 /* Check to see if the database is consistent. If not, we must make it 42*consistent before we can create new attributes. Note that if for some reason 43*the database is not made consistent rmdb_execute_undo will not return. It 44*will either cause a request line or subsystem abort. */ 45 46 call mdbm_util_$inconsistent_get_info (rmdb_ctl.db_model_ptr, incon_value, incon_name, unused2, undo_request); 47 if incon_value 48 then call rmdb_execute_undo (sci_ptr, myname, rmdb_ctl.absolute_db_path, rmdb_ctl.db_model_ptr, incon_name, 49 undo_request); 50 51 /* Create the structure that contains the info about the domain. */ 52 53 create_domain_info_count = 1; 54 allocate create_domain_info in (my_area) set (create_domain_info_ptr); 55 56 /* Fill in our structure. */ 57 58 create_domain_info.version = create_domain_info_version_1; 59 create_domain_info.domain (1).check_proc_path, create_domain_info.domain (1).decode_proc_path, 60 create_domain_info.domain (1).encode_proc_path = " "; 61 62 /* The first arg must be the domain name. */ 63 64 call ssu_$arg_ptr (sci_ptr, 1, argp, argl); 65 if argl > 32 66 then call ssu_$abort_line (sci_ptr, mrds_error_$long_ident, "^a", arg); 67 if argl < 1 68 then call ssu_$abort_line (sci_ptr, error_table_$noarg, "The domain name cannot be a null value. ^a", arg); 69 if verify (arg, mrds_data_$valid_id_chars) ^= 0 70 then call ssu_$abort_line (sci_ptr, mrds_error_$bad_ident, "^a", arg); 71 if search (substr (arg, 1, 1), "-_") ^= 0 72 then call ssu_$abort_line (sci_ptr, mrds_error_$inv_domain_name_first_char, "^a", arg); 73 create_domain_info.domain (1).name = arg; 74 75 /* The second arg must be the domain type */ 76 77 call ssu_$arg_ptr (sci_ptr, 2, argp, argl); 78 if argl < 1 79 then call ssu_$abort_line (sci_ptr, error_table_$noarg, "The domain type cannot be a null value. ^a", arg); 80 81 /* Establish a cleanup handler. */ 82 83 Pseg = null; 84 on cleanup call tidy_up; 85 86 call translator_temp_$get_segment ((myname), Pseg, code); 87 if code ^= 0 88 then call ssu_$abort_line (sci_ptr, error_table_$action_not_performed, 89 "Unable to allocate space in the process for a descriptor."); 90 91 the_descriptor = "0"b; 92 call rmdb_create_descriptor (arg, Pseg, addr (the_descriptor), code); 93 if code ^= 0 94 then call ssu_$abort_line (sci_ptr, code, 95 "A valid descriptor could not be produced from the supplied data type declaration. ^a", arg); 96 97 create_domain_info.domain (1).descriptor, create_domain_info.domain (1).decode_declare_data_descriptor = 98 the_descriptor; 99 100 /* Initialize for the control argument loop */ 101 102 args_used = 2; 103 check_proc_exists, decode_dcl_exists, decode_proc_exists, encode_proc_exists = "0"b; 104 105 /* Now get the control arguments if there are any. */ 106 107 do while (args_used < nargs); 108 109 call ssu_$arg_ptr (sci_ptr, args_used + 1, argp, argl); 110 if /* case */ index (arg, "-") = 1 111 then if (arg = "-check_procedure") | (arg = "-check_proc") 112 then do; 113 call common_to_all_args (check_proc_exists, "check_proc"); 114 create_domain_info.domain (1).check_proc_path = pathname_ (I_dirname, I_entryname); 115 end; 116 else if (arg = "-encode_procedure") | (arg = "-encode_proc") 117 then do; 118 call common_to_all_args (encode_proc_exists, "encode_proc"); 119 create_domain_info.domain (1).encode_proc_path = pathname_ (I_dirname, I_entryname); 120 end; 121 else if arg = "-decode_procedure" | arg = "-decode_proc" 122 then do; 123 call common_to_all_args (decode_proc_exists, "decode_proc"); 124 create_domain_info.domain (1).decode_proc_path = pathname_ (I_dirname, I_entryname); 125 end; 126 else if (arg = "-decode_dcl") | (arg = "-decode_declare") 127 then do; 128 call common_to_all_args (decode_dcl_exists, "decode_dcl"); 129 call rmdb_create_descriptor (arg, Pseg, addr (the_descriptor), code); 130 if code ^= 0 131 then call ssu_$abort_line (sci_ptr, code, 132 "^/A valid descriptor could not be produced from the supplied data type. ^a", arg); 133 134 create_domain_info.domain (1).decode_declare_data_descriptor = the_descriptor; 135 end; 136 137 else call ssu_$abort_line (sci_ptr, error_table_$badopt, "^a", arg); 138 /* invalid control arg */ 139 140 else call ssu_$abort_line (sci_ptr, error_table_$bad_arg, "^a", arg); 141 /* not a control arg */ 142 end; /* args_used = nargs */ 143 144 /* Now we have all the args, so check for completeness and consistency */ 145 146 if (decode_proc_exists & ^decode_dcl_exists) 147 then create_domain_info.domain (1).decode_declare_data_descriptor = create_domain_info.domain (1).descriptor; 148 149 if (decode_dcl_exists & ^decode_proc_exists) 150 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 151 "^/A -decode_declare type has been specified, but there was no decode_procedure specified."); 152 153 call rmdb_create_domain (rmdb_ctl_ptr, create_domain_info_ptr, error_message, code); 154 if code ^= 0 155 then call ssu_$abort_line (sci_ptr, code, "^a", error_message); 156 157 call tidy_up; 158 return; 159 160 161 /* * * * * * * * * * * * * tidy_up * * * * * * * * * * * * * * * * * * * * * */ 162 163 tidy_up: 164 proc; 165 166 if Pseg ^= null 167 then call translator_temp_$release_all_segments (Pseg, code); 168 end tidy_up; 169 170 171 /* * * * * * * * * * * * * common_to_all_args * * * * * * * * * * * * * * * */ 172 173 common_to_all_args: 174 proc (already_exists, which_arg); 175 176 dcl already_exists bit (1) aligned; 177 dcl which_arg char (*) parameter; 178 179 if already_exists 180 then call ssu_$abort_line (sci_ptr, error_table_$inconsistent, 181 "^/The ^a control argument was previously specified.", which_arg); 182 183 args_used = args_used + 1; 184 if args_used = nargs 185 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 186 "^/A ^a argument is required following the -^a control argument.", which_arg, which_arg); 187 188 call ssu_$arg_ptr (sci_ptr, args_used + 1, argp, argl); 189 args_used = args_used + 1; 190 if (argl < 1) | (index (arg, "-") = 1) 191 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 192 "^/A ^a argument is required following the -^a control argument.", which_arg, which_arg); 193 if (arg ^= "-decode_dcl") | (arg ^= "-decode_declare") 194 then do; 195 call expand_pathname_ (arg, I_dirname, I_entryname, code); 196 if code ^= 0 197 then call ssu_$abort_line (sci_ptr, code, "^a", arg); 198 if (length (rtrim (I_entryname)) > 32) & (index (I_entryname, "$") = 0) 199 then call ssu_$abort_line (sci_ptr, error_table_$entlong, "^a", arg); 200 end; 201 202 already_exists = "1"b; 203 return; 204 end common_to_all_args; 205 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 */ 206 3 1 /* START OF: rmdb_create_domain_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-02,Blair), install(86-10-16,MR12.0-1187): 3 7* Contains the list of domains to be created. 3 8* END HISTORY COMMENTS */ 3 9 3 10 dcl create_domain_info_count fixed bin (17); 3 11 dcl create_domain_info_ptr ptr; 3 12 dcl create_domain_info_version_1 char (8) int static options (constant) init ("cdi 1.0"); 3 13 3 14 dcl 1 create_domain_info based (create_domain_info_ptr), 3 15 2 version char (8), 3 16 2 count fixed bin (17), 3 17 2 domain (create_domain_info_count refer (create_domain_info.count)), 3 18 3 name char (32), 3 19 3 descriptor bit (36), 3 20 3 decode_declare_data_descriptor bit (36), 3 21 3 check_proc_path char (168), 3 22 3 decode_proc_path char (168), 3 23 3 encode_proc_path char (168); 3 24 3 25 /* END OF: rmdb_create_domain_info.incl.pl1 * * * * * * * * * * * * * * * * */ 207 208 209 dcl addr builtin; 210 dcl arg char (argl) based (argp); 211 dcl argl fixed bin (21); 212 dcl argp ptr; 213 dcl args_used fixed bin; 214 dcl check_proc_exists bit (1) aligned; 215 dcl cleanup condition; 216 dcl code fixed bin (35); 217 dcl decode_dcl_exists bit (1) aligned; 218 dcl decode_proc_exists bit (1) aligned; 219 dcl empty builtin; 220 dcl encode_proc_exists bit (1) aligned; 221 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 222 dcl error_message char (500); 223 dcl error_table_$action_not_performed fixed bin (35) ext static; 224 dcl error_table_$bad_arg fixed bin(35) ext static; 225 dcl error_table_$badopt fixed bin (35) ext static; 226 dcl error_table_$entlong fixed bin (35) ext static; 227 dcl error_table_$inconsistent fixed bin (35) ext static; 228 dcl error_table_$noarg fixed bin (35) ext static; 229 dcl error_table_$wrong_no_of_args fixed bin (35) ext static; 230 dcl incon_name char (32); /* name of the request that caused the db to become inconsistent */ 231 dcl incon_value bit (1); /* true ::= the db is inconsistent */ 232 dcl I_dirname char (168); 233 dcl I_entryname char (65); 234 dcl I_rmdb_ctl_ptr ptr; 235 dcl I_sci_ptr ptr; 236 dcl index builtin; 237 dcl length builtin; 238 dcl mdbm_util_$inconsistent_get_info entry (ptr, bit (1), char (*), char (*), char (*)); 239 dcl mod builtin; 240 dcl mrds_data_$valid_id_chars char (128) varying ext static; 241 dcl mrds_error_$bad_ident fixed bin (35) ext static; 242 dcl mrds_error_$long_ident fixed bin (35) ext static; 243 dcl mrds_error_$inv_domain_name_first_char fixed bin (35) ext static; 244 dcl my_area area; 245 dcl myname char (32) int static options (constant) init ("create_domain"); 246 dcl nargs fixed bin; 247 dcl null builtin; 248 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 249 dcl Pseg ptr; 250 dcl rtrim builtin; 251 dcl rmdb_create_descriptor entry (char (*), ptr, ptr, fixed bin (35)); 252 dcl rmdb_create_domain entry (ptr, ptr, char (*), fixed bin (35)); 253 dcl rmdb_execute_undo entry (ptr, char (32), char (168), ptr, char (32), char (100)); 254 dcl sci_ptr ptr; 255 dcl search builtin; 256 dcl ssu_$abort_line entry () options (variable); 257 dcl ssu_$arg_count entry (ptr, fixed bin); 258 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 259 dcl substr builtin; 260 dcl the_descriptor bit (36) aligned; 261 dcl translator_temp_$get_segment entry (char (*) aligned, ptr, fixed bin (35)); 262 dcl translator_temp_$release_all_segments entry (ptr, fixed bin (35)); 263 dcl undo_request char (100); /* rmdb request that will cause the db to become consistent */ 264 dcl unused2 char (200); /* output from mdbm_util_$inconsistent_get_info */ 265 dcl verify builtin; 266 267 end rmdb_rq_create_domain; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/16/86 1143.7 rmdb_rq_create_domain.pl1 >special_ldd>install>MR12.0-1187>rmdb_rq_create_domain.pl1 206 1 10/16/86 1139.6 mrds_rmdb_ctl.incl.pl1 >special_ldd>install>MR12.0-1187>mrds_rmdb_ctl.incl.pl1 1-46 2 10/16/86 1140.2 rmdb_relmgr_entries.incl.pl1 >special_ldd>install>MR12.0-1187>rmdb_relmgr_entries.incl.pl1 207 3 10/16/86 1139.5 rmdb_create_domain_info.incl.pl1 >special_ldd>install>MR12.0-1187>rmdb_create_domain_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. I_dirname 000334 automatic char(168) unaligned dcl 232 set ref 114* 119* 124* 195* I_entryname 000406 automatic char(65) unaligned dcl 233 set ref 114* 119* 124* 195* 198 198 I_rmdb_ctl_ptr parameter pointer dcl 234 ref 22 26 I_sci_ptr parameter pointer dcl 235 ref 22 25 Pseg 002432 automatic pointer dcl 249 set ref 83* 86* 92* 129* 166 166* absolute_db_path 6 based char(168) level 2 packed unaligned dcl 1-25 set ref 37 47* addr builtin function dcl 209 ref 92 92 129 129 already_exists parameter bit(1) dcl 176 set ref 173 179 202* arg based char unaligned dcl 210 set ref 65* 67* 69 69* 71 71* 73 78* 92* 93* 110 110 110 116 116 121 121 126 126 129* 130* 137* 140* 190 193 193 195* 196* 198* argl 000106 automatic fixed bin(21,0) dcl 211 set ref 64* 65 65 65 67 67 67 69 69 69 71 71 71 73 77* 78 78 78 92 92 93 93 109* 110 110 110 116 116 121 121 126 126 129 129 130 130 137 137 140 140 188* 190 190 193 193 195 195 196 196 198 198 argp 000110 automatic pointer dcl 212 set ref 64* 65 67 69 69 71 71 73 77* 78 92 93 109* 110 110 110 116 116 121 121 126 126 129 130 137 140 188* 190 193 193 195 196 198 args_used 000112 automatic fixed bin(17,0) dcl 213 set ref 102* 107 109 183* 183 184 188 189* 189 check_proc_exists 000113 automatic bit(1) dcl 214 set ref 103* 113* check_proc_path 15 based char(168) array level 3 packed unaligned dcl 3-14 set ref 59* 114* cleanup 000114 stack reference condition dcl 215 ref 84 code 000122 automatic fixed bin(35,0) dcl 216 set ref 86* 87 92* 93 93* 129* 130 130* 153* 154 154* 166* 195* 196 196* count 2 based fixed bin(17,0) level 2 dcl 3-14 set ref 54* create_domain_info based structure level 1 unaligned dcl 3-14 set ref 54 create_domain_info_count 000102 automatic fixed bin(17,0) dcl 3-10 set ref 53* 54 54 create_domain_info_ptr 000104 automatic pointer dcl 3-11 set ref 54* 58 59 59 59 73 97 97 114 119 124 134 146 146 153* create_domain_info_version_1 000010 constant char(8) initial unaligned dcl 3-12 ref 58 db_model_ptr 134 based pointer level 2 dcl 1-25 set ref 46* 47* decode_dcl_exists 000123 automatic bit(1) dcl 217 set ref 103* 128* 146 149 decode_declare_data_descriptor 14 based bit(36) array level 3 packed unaligned dcl 3-14 set ref 97* 134* 146* decode_proc_exists 000124 automatic bit(1) dcl 218 set ref 103* 123* 146 149 decode_proc_path 67 based char(168) array level 3 packed unaligned dcl 3-14 set ref 59* 124* descriptor 13 based bit(36) array level 3 packed unaligned dcl 3-14 set ref 97* 146 domain 3 based structure array level 2 packed unaligned dcl 3-14 empty builtin function dcl 219 ref 244 encode_proc_exists 000125 automatic bit(1) dcl 220 set ref 103* 118* encode_proc_path 141 based char(168) array level 3 packed unaligned dcl 3-14 set ref 59* 119* error_message 000126 automatic char(500) unaligned dcl 222 set ref 153* 154* error_table_$action_not_performed 000012 external static fixed bin(35,0) dcl 223 set ref 37* 87* error_table_$bad_arg 000014 external static fixed bin(35,0) dcl 224 set ref 140* error_table_$badopt 000016 external static fixed bin(35,0) dcl 225 set ref 137* error_table_$entlong 000020 external static fixed bin(35,0) dcl 226 set ref 198* error_table_$inconsistent 000022 external static fixed bin(35,0) dcl 227 set ref 179* error_table_$noarg 000024 external static fixed bin(35,0) dcl 228 set ref 67* 78* 149* 184* 190* error_table_$wrong_no_of_args 000026 external static fixed bin(35,0) dcl 229 set ref 31* expand_pathname_ 000010 constant entry external dcl 221 ref 195 incon_name 000323 automatic char(32) unaligned dcl 230 set ref 46* 47* incon_value 000333 automatic bit(1) unaligned dcl 231 set ref 46* 47 index builtin function dcl 236 ref 110 190 198 length builtin function dcl 237 ref 198 mdbm_util_$inconsistent_get_info 000030 constant entry external dcl 238 ref 46 mod builtin function dcl 239 ref 31 mrds_data_$valid_id_chars 000032 external static varying char(128) dcl 240 ref 69 mrds_error_$bad_ident 000034 external static fixed bin(35,0) dcl 241 set ref 69* mrds_error_$inv_domain_name_first_char 000040 external static fixed bin(35,0) dcl 243 set ref 71* mrds_error_$long_ident 000036 external static fixed bin(35,0) dcl 242 set ref 65* my_area 000430 automatic area(1024) dcl 244 set ref 54 244* myname 000000 constant char(32) initial unaligned dcl 245 set ref 31* 47* 86 name 3 based char(32) array level 3 packed unaligned dcl 3-14 set ref 73* nargs 002430 automatic fixed bin(17,0) dcl 246 set ref 30* 31 31 107 184 null builtin function dcl 247 ref 83 166 pathname_ 000042 constant entry external dcl 248 ref 114 119 124 rmdb_create_descriptor 000044 constant entry external dcl 251 ref 92 129 rmdb_create_domain 000046 constant entry external dcl 252 ref 153 rmdb_ctl based structure level 1 unaligned dcl 1-25 rmdb_ctl_ptr 000100 automatic pointer dcl 1-43 set ref 26* 37 46 47 47 153* rmdb_execute_undo 000050 constant entry external dcl 253 ref 47 rmdb_relmgr_entries based structure level 1 unaligned dcl 2-18 rtrim builtin function dcl 250 ref 198 sci_ptr 002434 automatic pointer dcl 254 set ref 25* 30* 31* 37* 47* 64* 65* 67* 69* 71* 77* 78* 87* 93* 109* 130* 137* 140* 149* 154* 179* 184* 188* 190* 196* 198* search builtin function dcl 255 ref 71 ssu_$abort_line 000052 constant entry external dcl 256 ref 31 37 65 67 69 71 78 87 93 130 137 140 149 154 179 184 190 196 198 ssu_$arg_count 000054 constant entry external dcl 257 ref 30 ssu_$arg_ptr 000056 constant entry external dcl 258 ref 64 77 109 188 substr builtin function dcl 259 ref 71 the_descriptor 002436 automatic bit(36) dcl 260 set ref 91* 92 92 97 129 129 134 translator_temp_$get_segment 000060 constant entry external dcl 261 ref 86 translator_temp_$release_all_segments 000062 constant entry external dcl 262 ref 166 undo_request 002437 automatic char(100) unaligned dcl 263 set ref 46* 47* unused2 002470 automatic char(200) unaligned dcl 264 set ref 46* verify builtin function dcl 265 ref 69 version based char(8) level 2 packed unaligned dcl 3-14 set ref 58* which_arg parameter char unaligned dcl 177 set ref 173 179* 184* 184* 190* 190* 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_to_all_args 002044 constant entry internal dcl 173 ref 113 118 123 128 rmdb_rq_create_domain 000351 constant entry external dcl 22 tidy_up 002021 constant entry internal dcl 163 ref 84 157 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3024 3110 2504 3034 Length 3444 2504 64 317 317 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rmdb_rq_create_domain 1535 external procedure is an external procedure. on unit on line 84 64 on unit tidy_up 70 internal procedure is called by several nonquick procedures. common_to_all_args internal procedure shares stack frame of external procedure rmdb_rq_create_domain. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rmdb_rq_create_domain 000100 rmdb_ctl_ptr rmdb_rq_create_domain 000102 create_domain_info_count rmdb_rq_create_domain 000104 create_domain_info_ptr rmdb_rq_create_domain 000106 argl rmdb_rq_create_domain 000110 argp rmdb_rq_create_domain 000112 args_used rmdb_rq_create_domain 000113 check_proc_exists rmdb_rq_create_domain 000122 code rmdb_rq_create_domain 000123 decode_dcl_exists rmdb_rq_create_domain 000124 decode_proc_exists rmdb_rq_create_domain 000125 encode_proc_exists rmdb_rq_create_domain 000126 error_message rmdb_rq_create_domain 000323 incon_name rmdb_rq_create_domain 000333 incon_value rmdb_rq_create_domain 000334 I_dirname rmdb_rq_create_domain 000406 I_entryname rmdb_rq_create_domain 000430 my_area rmdb_rq_create_domain 002430 nargs rmdb_rq_create_domain 002432 Pseg rmdb_rq_create_domain 002434 sci_ptr rmdb_rq_create_domain 002436 the_descriptor rmdb_rq_create_domain 002437 undo_request rmdb_rq_create_domain 002470 unused2 rmdb_rq_create_domain THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this call_int_other return_mac mdfx1 enable_op ext_entry int_entry verify_eis op_alloc_ op_empty_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. expand_pathname_ mdbm_util_$inconsistent_get_info pathname_ rmdb_create_descriptor rmdb_create_domain rmdb_execute_undo ssu_$abort_line ssu_$arg_count ssu_$arg_ptr translator_temp_$get_segment translator_temp_$release_all_segments THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$action_not_performed error_table_$bad_arg error_table_$badopt error_table_$entlong error_table_$inconsistent error_table_$noarg error_table_$wrong_no_of_args mrds_data_$valid_id_chars mrds_error_$bad_ident mrds_error_$inv_domain_name_first_char mrds_error_$long_ident LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 000345 244 000356 25 000361 26 000365 30 000370 31 000401 37 000436 46 000467 47 000521 53 000546 54 000550 58 000561 59 000564 64 000575 65 000614 67 000650 69 000705 71 000746 73 001011 77 001017 78 001036 83 001073 84 001075 86 001117 87 001143 91 001171 92 001172 93 001223 97 001260 102 001264 103 001266 107 001272 109 001275 110 001314 113 001340 114 001347 115 001370 116 001371 118 001401 119 001411 120 001432 121 001433 123 001443 124 001452 125 001473 126 001474 128 001504 129 001513 130 001544 134 001601 135 001604 137 001605 140 001640 142 001672 146 001673 149 001704 153 001736 154 001762 157 002013 158 002017 163 002020 166 002026 168 002043 173 002044 179 002055 183 002112 184 002113 188 002154 189 002174 190 002175 193 002251 195 002263 196 002313 198 002347 202 002425 203 002430 ----------------------------------------------------------- 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