COMPILATION LISTING OF SEGMENT rmdb_rq_delete_relation Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 10/16/86 1342.0 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(86-07-24,Blair), approve(86-07-24,MCR7311), 12* audit(86-09-15,Gilcrease), install(86-10-16,MR12.0-1187): 13* Allow a null undo_request as an argument for rmdb_execute_undo. 14* END HISTORY COMMENTS */ 15 16 17 rmdb_rq_delete_relation: proc (I_sci_ptr, I_rmdb_ctl_ptr); 18 19 /* . BEGIN_DESCRIPTION 20* 21* This procedure is called from the rmdb ssu_ routine 22* 23* Its purpose is to process the delete_relation rmdb request arguments 24* 25* Syntax for this request is : 26* . delete_relation rel_name {-brief} {-long} 27* 28* . END_DESCRIPTION 29**/ 30 /* HISTORY 31* 82-04-30 Written by Roger Lackey 32* 33* 82-06-25 Roger Lackey : changed force to brief and remove -no_force 34* 35* 82-07-01 Roger Lackey : Modified the calls to mu_db_inconsistent to use 36* mdbm_util_$inconsistent_* for binding. 37**/ 38 39 40 /* rmdb_rq_delete_relation: proc (I_sci_ptr, I_rmdb_ctl_ptr); */ 41 42 /* Parameters */ 43 44 dcl I_sci_ptr ptr parameter; /* Pointer to ssu info */ 45 dcl I_rmdb_ctl_ptr ptr parameter; /* Pointer to restructuring control */ 46 47 sci_ptr = I_sci_ptr; 48 rmdb_ctl_ptr = I_rmdb_ctl_ptr; 49 rmdb_delete_rel_info_ptr = null; 50 51 if rmdb_ctl.version ^= RMDB_CTL_VERSION_1 then 52 call error (error_table_$unimplemented_version, "rmdb_create_rel_info.incl.pl1"); 53 54 on cleanup call tidy_up; /* Establish a cleanup handler for this procedure */ 55 56 if rmdb_ctl.absolute_db_path = " " then 57 call error (error_table_$action_not_performed, 58 "^/There is no currently readied data base."); 59 60 call ssu_$arg_count (sci_ptr, nargs); /* Get number of arguments supplied to me */ 61 62 if nargs < 1 then call error (error_table_$wrong_no_of_args, 63 "^/Usage: delete_relation rel_name {-brief} {-long}"); 64 65 call ssu_$arg_ptr (sci_ptr, 1, arg_ptr, arg_len); /* First arg must be rel_name */ 66 67 if arg_len > 30 /* Relation names can only be 30 chars long 68* because the relation model name must have a ".m" suffix */ 69 then call error (mrds_error_$rel_name_too_long, arg); 70 if arg_len < 1 then call error (mrds_error_$no_rel_name, "^/Relation name was expected for first argument."); 71 72 n = verify (arg, mrds_data_$valid_rel_and_attr_name_chars); 73 if n ^= 0 then call error (mrds_error_$bad_rel_name, arg || 74 "^/First bad character is: " || substr (arg, n, 1)); 75 76 77 if substr (arg, 1, 1) = "_" then 78 call error (mrds_error_$bad_rel_name, arg || 79 "^/Relation names cannot begin with an underscore."); 80 81 allocate rmdb_delete_rel_info in (wa) set (rmdb_delete_rel_info_ptr); 82 83 rmdb_delete_rel_info.version = RMDB_DELETE_REL_INFO_VERSION_1; 84 rmdb_delete_rel_info.absolute_db_path = rmdb_ctl.absolute_db_path; 85 rmdb_delete_rel_info.db_model_ptr = rmdb_ctl.db_model_ptr; 86 rmdb_delete_rel_info.relation_name = arg; 87 rmdb_delete_rel_info.brief = "0"b; 88 89 /* Process rest of arguments */ 90 91 do i = 2 to nargs; 92 93 call ssu_$arg_ptr (sci_ptr, i, arg_ptr, arg_len); /* Get next arg */ 94 95 if substr (arg, 1, 1) = "-" then do; /* Look for control args */ 96 97 if arg = "-brief" | arg = "-bf" | arg = "-brief." then 98 rmdb_delete_rel_info.brief = "1"b; 99 100 else if arg = "-lg" | arg = "-long" then 101 rmdb_delete_rel_info.brief = "0"b; 102 103 else call error (error_table_$badopt, arg); /* Bad control arg */ 104 end; 105 106 else call error (error_table_$bad_arg, arg); 107 108 end; /* END nargs > 1 */ 109 110 call mdbm_util_$inconsistent_get_info (rmdb_ctl.db_model_ptr, /* See if db is inconsistent */ 111 incon_flag, incon_name, unused, undo_request); 112 113 if incon_flag then do; /* DB is inconsisten */ 114 if undo_request = "" 115 then call rmdb_execute_undo (sci_ptr, "delete_relation", 116 rmdb_ctl.absolute_db_path, rmdb_ctl.db_model_ptr, incon_name, undo_request); 117 else do; 118 undo_rq_name = before (undo_request, BLANK); 119 rest = after (undo_request, undo_rq_name); 120 i = verify (rest, BLANK); 121 rest = substr (rest, i); /* Remove leading blanks */ 122 undo_rel_name = before (rest, BLANK); 123 124 if ^(undo_rq_name = "delete_relation" & /* If not delete_rel with same relation name then */ 125 undo_rel_name = rmdb_delete_rel_info.relation_name) then 126 call rmdb_execute_undo (sci_ptr, 127 "delete_relation", rmdb_ctl.absolute_db_path, 128 rmdb_ctl.db_model_ptr, incon_name, undo_request); 129 end; 130 end; 131 132 133 call rmdb_delete_relation (rmdb_ctl_ptr, rmdb_delete_rel_info_ptr, err_msg, code); 134 if code ^= 0 then call error (code, err_msg); 135 136 exit: return; 137 138 /* * * * * * * * * * * * * error * * * * * * * * * * * * * */ 139 140 error: proc (err_code, err_message); /* Error procedure for rmdb_create_relation.pl1 */ 141 142 dcl err_code fixed bin (35); 143 dcl err_message char (*); 144 dcl ssu_$abort_line entry () options (variable); 145 146 call tidy_up; 147 148 call ssu_$abort_line (sci_ptr, err_code, err_message); 149 150 end error; 151 152 153 154 155 156 157 158 159 160 161 162 /* * * * * * * * * * * * * tidy_up * * * * * * * * * * * * * */ 163 164 tidy_up: proc; 165 166 if rmdb_delete_rel_info_ptr ^= null 167 then free rmdb_delete_rel_info; 168 169 end tidy_up; 170 171 dcl after builtin; 172 dcl arg char (arg_len) based (arg_ptr); 173 dcl arg_len fixed bin (21); 174 dcl arg_ptr ptr; 175 dcl before builtin; 176 dcl BLANK char (1) int static options (constant) init (" "); 177 dcl cleanup condition; 178 dcl code fixed bin (35); 179 dcl error_table_$action_not_performed fixed bin (35) ext static; 180 dcl error_table_$badopt fixed bin (35) ext static; 181 dcl error_table_$bad_arg fixed bin (35) ext static; 182 dcl error_table_$unimplemented_version fixed bin (35) ext static; 183 dcl error_table_$wrong_no_of_args fixed bin (35) ext static; 184 dcl err_msg char (256); 185 dcl i fixed bin; 186 dcl incon_flag bit (1); 187 dcl incon_name char (32); 188 dcl mrds_data_$valid_rel_and_attr_name_chars char (128) varying ext; 189 dcl mrds_error_$bad_rel_name fixed bin (35) ext static; 190 dcl mrds_error_$no_rel_name fixed bin (35) ext static; 191 dcl mrds_error_$rel_name_too_long fixed bin (35) ext static; 192 dcl mdbm_util_$inconsistent_get_info entry (ptr, bit (1), char (*), char (*), char (*)); 193 dcl n fixed bin; 194 dcl nargs fixed bin; 195 dcl null builtin; 196 dcl rest char (100) varying; 197 dcl rmdb_delete_relation entry (ptr, ptr, char (*), fixed bin (35)); 198 dcl rmdb_execute_undo entry (ptr, char (32), char (168), ptr, char (32), char (100)); 199 dcl sci_ptr ptr; 200 dcl ssu_$arg_count entry (ptr, fixed bin); 201 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 202 dcl substr builtin; 203 dcl sys_info$max_seg_size fixed bin (35) ext static; 204 dcl undo_rel_name char (32); 205 dcl undo_request char (100); 206 dcl undo_rq_name char (32) varying; 207 dcl unused char (32); 208 dcl verify builtin; 209 dcl wa area (sys_info$max_seg_size) based (rmdb_ctl.work_area_ptr); 210 211 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 */ 212 213 3 1 /* BEGIN INCLUDE rmdb_delete_rel_info.incl.pl1 */ 3 2 3 3 /* Contains name of relation to be deleted 3 4* dtabase_pathname 3 5* and arugment flags like -force 3 6**/ 3 7 3 8 /* HISTORY 3 9* 82-04-30 Created by Roger Lackey 3 10* 3 11* 82-06-25 Roger Lackey: Changed force bit to brief 3 12**/ 3 13 3 14 3 15 dcl 1 rmdb_delete_rel_info aligned based (rmdb_delete_rel_info_ptr), 3 16 2 version fixed bin, 3 17 2 absolute_db_path char (168), /* Absolute database pathname */ 3 18 2 db_model_ptr ptr, /* Pointer to db_model */ 3 19 2 relation_name char (32), /* Name of relation to be deleted */ 3 20 2 brief bit (1) unal, /* On => Brief option */ 3 21 2 mbz bit (35) unal init ("0"b); /* For future use */ 3 22 3 23 dcl rmdb_delete_rel_info_ptr ptr; 3 24 dcl RMDB_DELETE_REL_INFO_VERSION_1 fixed bin int static options (constant) init (1); 3 25 3 26 /* END INCLUDE rmdb_delete_rel_info.incl.pl1 */ 214 215 216 end rmdb_rq_delete_relation; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/16/86 1143.3 rmdb_rq_delete_relation.pl1 >special_ldd>install>MR12.0-1187>rmdb_rq_delete_relation.pl1 212 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 214 3 10/14/83 1609.0 rmdb_delete_rel_info.incl.pl1 >ldd>include>rmdb_delete_rel_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. BLANK constant char(1) initial unaligned dcl 176 ref 118 120 122 I_rmdb_ctl_ptr parameter pointer dcl 45 ref 17 48 I_sci_ptr parameter pointer dcl 44 ref 17 47 RMDB_CTL_VERSION_1 constant fixed bin(17,0) initial dcl 1-41 ref 51 RMDB_DELETE_REL_INFO_VERSION_1 constant fixed bin(17,0) initial dcl 3-24 ref 83 absolute_db_path 1 based char(168) level 2 in structure "rmdb_delete_rel_info" dcl 3-15 in procedure "rmdb_rq_delete_relation" set ref 84* absolute_db_path 6 based char(168) level 2 in structure "rmdb_ctl" packed unaligned dcl 1-25 in procedure "rmdb_rq_delete_relation" set ref 56 84 114* 124* after builtin function dcl 171 ref 119 arg based char unaligned dcl 172 set ref 67* 72 73 73 77 77 86 95 97 97 97 100 100 103* 106* arg_len 000100 automatic fixed bin(21,0) dcl 173 set ref 65* 67 67 67 70 72 73 73 77 77 86 93* 95 97 97 97 100 100 103 103 106 106 arg_ptr 000102 automatic pointer dcl 174 set ref 65* 67 72 73 73 77 77 86 93* 95 97 97 97 100 100 103 106 before builtin function dcl 175 ref 118 122 brief 66 based bit(1) level 2 packed unaligned dcl 3-15 set ref 87* 97* 100* cleanup 000104 stack reference condition dcl 177 ref 54 code 000112 automatic fixed bin(35,0) dcl 178 set ref 133* 134 134* db_model_ptr 54 based pointer level 2 in structure "rmdb_delete_rel_info" dcl 3-15 in procedure "rmdb_rq_delete_relation" set ref 85* db_model_ptr 134 based pointer level 2 in structure "rmdb_ctl" dcl 1-25 in procedure "rmdb_rq_delete_relation" set ref 85 110* 114* 124* err_code parameter fixed bin(35,0) dcl 142 set ref 140 148* err_message parameter char unaligned dcl 143 set ref 140 148* err_msg 000113 automatic char(256) unaligned dcl 184 set ref 133* 134* error_table_$action_not_performed 000010 external static fixed bin(35,0) dcl 179 set ref 56* error_table_$bad_arg 000014 external static fixed bin(35,0) dcl 181 set ref 106* error_table_$badopt 000012 external static fixed bin(35,0) dcl 180 set ref 103* error_table_$unimplemented_version 000016 external static fixed bin(35,0) dcl 182 set ref 51* error_table_$wrong_no_of_args 000020 external static fixed bin(35,0) dcl 183 set ref 62* i 000213 automatic fixed bin(17,0) dcl 185 set ref 91* 93* 120* 121 incon_flag 000214 automatic bit(1) unaligned dcl 186 set ref 110* 113 incon_name 000215 automatic char(32) unaligned dcl 187 set ref 110* 114* 124* mbz 66(01) based bit(35) initial level 2 packed unaligned dcl 3-15 set ref 81* mdbm_util_$inconsistent_get_info 000032 constant entry external dcl 192 ref 110 mrds_data_$valid_rel_and_attr_name_chars 000022 external static varying char(128) dcl 188 ref 72 mrds_error_$bad_rel_name 000024 external static fixed bin(35,0) dcl 189 set ref 73* 77* mrds_error_$no_rel_name 000026 external static fixed bin(35,0) dcl 190 set ref 70* mrds_error_$rel_name_too_long 000030 external static fixed bin(35,0) dcl 191 set ref 67* n 000225 automatic fixed bin(17,0) dcl 193 set ref 72* 73 73 nargs 000226 automatic fixed bin(17,0) dcl 194 set ref 60* 62 91 null builtin function dcl 195 ref 49 166 relation_name 56 based char(32) level 2 dcl 3-15 set ref 86* 124 rest 000227 automatic varying char(100) dcl 196 set ref 119* 120 121* 121 122 rmdb_ctl based structure level 1 unaligned dcl 1-25 rmdb_ctl_ptr 000346 automatic pointer dcl 1-43 set ref 48* 51 56 81 84 85 110 114 114 124 124 133* rmdb_delete_rel_info based structure level 1 dcl 3-15 set ref 81 166 rmdb_delete_rel_info_ptr 000350 automatic pointer dcl 3-23 set ref 49* 81* 83 84 85 86 87 97 100 124 133* 166 166 rmdb_delete_relation 000034 constant entry external dcl 197 ref 133 rmdb_execute_undo 000036 constant entry external dcl 198 ref 114 124 rmdb_relmgr_entries based structure level 1 unaligned dcl 2-18 sci_ptr 000262 automatic pointer dcl 199 set ref 47* 60* 65* 93* 114* 124* 148* ssu_$abort_line 000044 constant entry external dcl 144 ref 148 ssu_$arg_count 000040 constant entry external dcl 200 ref 60 ssu_$arg_ptr 000042 constant entry external dcl 201 ref 65 93 substr builtin function dcl 202 ref 73 77 95 121 undo_rel_name 000264 automatic char(32) unaligned dcl 204 set ref 122* 124 undo_request 000274 automatic char(100) unaligned dcl 205 set ref 110* 114 114* 118 119 124* undo_rq_name 000325 automatic varying char(32) dcl 206 set ref 118* 119 124 unused 000336 automatic char(32) unaligned dcl 207 set ref 110* verify builtin function dcl 208 ref 72 120 version based fixed bin(17,0) level 2 in structure "rmdb_delete_rel_info" dcl 3-15 in procedure "rmdb_rq_delete_relation" set ref 83* version based fixed bin(17,0) level 2 in structure "rmdb_ctl" dcl 1-25 in procedure "rmdb_rq_delete_relation" ref 51 wa based area dcl 209 ref 81 work_area_ptr 132 based pointer level 2 dcl 1-25 ref 81 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. rmdb_relmgr_entries_ptr automatic pointer dcl 2-32 sys_info$max_seg_size external static fixed bin(35,0) dcl 203 NAMES DECLARED BY EXPLICIT CONTEXT. error 001155 constant entry internal dcl 140 ref 51 56 62 67 70 73 77 103 106 134 exit 001153 constant label dcl 136 rmdb_rq_delete_relation 000142 constant entry external dcl 17 tidy_up 001223 constant entry internal dcl 164 ref 54 146 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1512 1560 1244 1522 Length 2052 1244 46 255 245 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rmdb_rq_delete_relation 308 external procedure is an external procedure. on unit on line 54 64 on unit error 80 internal procedure is called during a stack extension. tidy_up 64 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rmdb_rq_delete_relation 000100 arg_len rmdb_rq_delete_relation 000102 arg_ptr rmdb_rq_delete_relation 000112 code rmdb_rq_delete_relation 000113 err_msg rmdb_rq_delete_relation 000213 i rmdb_rq_delete_relation 000214 incon_flag rmdb_rq_delete_relation 000215 incon_name rmdb_rq_delete_relation 000225 n rmdb_rq_delete_relation 000226 nargs rmdb_rq_delete_relation 000227 rest rmdb_rq_delete_relation 000262 sci_ptr rmdb_rq_delete_relation 000264 undo_rel_name rmdb_rq_delete_relation 000274 undo_request rmdb_rq_delete_relation 000325 undo_rq_name rmdb_rq_delete_relation 000336 unused rmdb_rq_delete_relation 000346 rmdb_ctl_ptr rmdb_rq_delete_relation 000350 rmdb_delete_rel_info_ptr rmdb_rq_delete_relation THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc call_int_other return_mac enable_op shorten_stack ext_entry int_entry int_entry_desc set_chars_eis verify_eis op_alloc_ op_freen_ index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. mdbm_util_$inconsistent_get_info rmdb_delete_relation 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_$badopt error_table_$unimplemented_version error_table_$wrong_no_of_args mrds_data_$valid_rel_and_attr_name_chars mrds_error_$bad_rel_name mrds_error_$no_rel_name mrds_error_$rel_name_too_long LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000136 47 000147 48 000153 49 000156 51 000160 54 000202 56 000224 60 000251 62 000262 65 000305 67 000324 70 000346 72 000371 73 000401 77 000445 81 000505 83 000516 84 000520 85 000524 86 000526 87 000533 91 000535 93 000545 95 000562 97 000567 100 000610 103 000624 104 000644 106 000645 108 000665 110 000667 113 000720 114 000723 118 000755 119 000771 120 001012 121 001025 122 001041 124 001052 133 001111 134 001135 136 001153 140 001154 146 001170 148 001175 150 001221 164 001222 166 001230 169 001237 ----------------------------------------------------------- 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