COMPILATION LISTING OF SEGMENT value_delete Compiled by: Multics PL/I Compiler, Release 33d, of April 24, 1992 Compiled at: ACTC Technologies Inc. Compiled on: 92-09-24_2237.38_Thu_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1991 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(91-10-25,Schroth), approve(91-11-28,MECR0015), 13* audit(91-11-25,WAAnderson), install(91-11-28,MR12.5-1001): 14* Correct MR12.4 source code corruption. 15* 2) change(92-05-14,Schroth), approve(91-11-25,MCR8251), 16* audit(92-09-22,WAAnderson), install(92-09-24,MR12.5-1016): 17* Replace MECR0015: Correct MR12.4 source code corruption. 18* END HISTORY COMMENTS */ 19 20 21 22 value_delete: vdl: proc; 23 24 /* Written 11/18/80 by S. Herbst */ 25 /* Added -all, -brief, -data, -long 04/04/83 S. Herbst */ 26 /* Fixed to reject name arg along with -match or -exclude 05/08/84 S. Herbst */ 27 1 1 /* BEGIN value_structures.incl.pl1 */ 1 2 1 3 dcl (match_info_ptr, value_list_info_ptr) ptr; 1 4 dcl (alloc_name_count, alloc_pair_count) fixed bin; 1 5 dcl (alloc_max_name_len, alloc_chars_len) fixed bin (21); 1 6 1 7 dcl 1 match_info aligned based (match_info_ptr), 1 8 2 version fixed bin, /* = 1 */ 1 9 2 name_count fixed bin, 1 10 2 max_name_len fixed bin (21), 1 11 2 name_array (alloc_name_count refer (match_info.name_count)), 1 12 3 exclude_sw bit (1) unaligned, /* ON for -exclude, OFF for -match */ 1 13 3 regexp_sw bit (1) unaligned, /* ON for regular exp. without the //, OFF for starname */ 1 14 3 pad bit (34) unaligned, 1 15 3 name char (alloc_max_name_len refer (match_info.max_name_len)) varying; 1 16 1 17 dcl 1 value_list_info aligned based (value_list_info_ptr), 1 18 2 version fixed bin, /* = 1 */ 1 19 2 pair_count fixed bin, 1 20 2 chars_len fixed bin (21), 1 21 2 pairs (alloc_pair_count refer (value_list_info.pair_count)), 1 22 3 type_switches bit (36), /* correspond to the selection switches arg */ 1 23 3 (name_index, name_len) fixed bin (21), 1 24 3 (value_index, value_len) fixed bin (21), 1 25 2 chars char (alloc_chars_len refer (value_list_info.chars_len)); 1 26 1 27 dcl (match_info_version_1, value_list_info_version_1) fixed bin int static options (constant) init (1); 1 28 1 29 /* END OF value_structures.incl.pl1 */ 28 29 30 dcl ME char (32) int static options (constant) init ("value_delete"); 31 dcl (REGULAR init ("0"b), DATA init ("1"b)) bit (1) int static options (constant); 32 33 dcl arg char (arg_len) based (arg_ptr); 34 dcl name char (name_len) based (name_ptr); 35 36 dcl based_area area based (area_ptr); 37 38 dcl (seg_dn, seg_path) char (168); 39 dcl seg_en char (32); 40 41 dcl call_switches bit (36) aligned; 42 dcl (all_sw, brief_sw, data_only_sw, got_name_sw, match_sw, match_arg_sw, path_sw, some_matches) bit (1); 43 dcl (name_ctl_arg_sw, name_nonctl_arg_sw) bit (1); 44 dcl (found_data, found_regular) bit (1); 45 46 dcl (area_ptr, arg_ptr, name_ptr, seg_ptr) ptr; 47 48 dcl (arg_len, name_len) fixed (21); 49 dcl (arg_count, i, name_index) fixed; 50 dcl (code, code1) fixed (35); 51 52 dcl error_table_$badopt fixed (35) ext; 53 dcl error_table_$nomatch fixed (35) ext; 54 dcl error_table_$not_act_fnc fixed (35) ext; 55 dcl error_table_$oldnamerr fixed (35) ext; 56 57 58 dcl active_fnc_err_ entry options (variable); 59 dcl (com_err_, com_err_$suppress_name) entry options (variable); 60 dcl cu_$af_return_arg entry (fixed, ptr, fixed (21), fixed (35)); 61 dcl cu_$arg_ptr entry (fixed, ptr, fixed (21), fixed (35)); 62 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed (35)); 63 dcl get_system_free_area_ entry returns (ptr); 64 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed (1), fixed (2), ptr, fixed (35)); 65 dcl value_$delete entry (ptr, bit (36) aligned, char (*), fixed (35)); 66 dcl value_$delete_data entry (ptr, bit (36) aligned, char (*), fixed (35)); 67 dcl value_$get_path entry (char (*), fixed (35)); 68 dcl value_$list entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed (35)); 69 dcl value_$list_data_names entry (ptr, bit (36) aligned, ptr, ptr, ptr, fixed (35)); 70 71 dcl (index, max, null, rtrim, substr, unspec) builtin; 72 73 call cu_$af_return_arg (arg_count, null, 0, code); 74 if code ^= error_table_$not_act_fnc then do; 75 call active_fnc_err_ (0, ME, "Cannot be called as an active function."); 76 return; 77 end; 78 79 all_sw, brief_sw, data_only_sw, got_name_sw, match_sw, match_arg_sw, path_sw = "0"b; 80 name_ctl_arg_sw, name_nonctl_arg_sw = "0"b; 81 call_switches = "0"b; 82 alloc_name_count, alloc_max_name_len = 0; 83 84 do i = 1 to arg_count; 85 86 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 87 88 if index (arg, "-") = 1 then 89 90 if arg = "-all" | arg = "-a" then do; 91 all_sw = "1"b; 92 data_only_sw = "0"b; 93 end; 94 95 else if arg = "-brief" | arg = "-bf" then brief_sw = "1"b; 96 97 else if arg = "-data" then do; 98 data_only_sw = "1"b; 99 all_sw = "0"b; 100 end; 101 102 else if arg = "-exclude" | arg = "-ex" | arg = "-match" then do; 103 name_ctl_arg_sw = "1"b; 104 if arg = "-match" then match_arg_sw = "1"b; 105 i = i + 1; 106 if i > arg_count then do; 107 NO_CONTROL_VALUE: call com_err_ (0, ME, "No value specified for ^a", arg); 108 return; 109 end; 110 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 111 got_name_sw, match_sw = "1"b; 112 alloc_name_count = alloc_name_count + 1; 113 alloc_max_name_len = max (alloc_max_name_len, arg_len); 114 end; 115 116 else if arg = "-long" | arg = "-lg" then brief_sw = "0"b; 117 118 else if arg = "-name" | arg = "-nm" then do; 119 i = i + 1; 120 if i > arg_count then go to NO_CONTROL_VALUE; 121 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 122 got_name_sw, name_nonctl_arg_sw = "1"b; 123 name_ptr = arg_ptr; 124 name_len = arg_len; 125 end; 126 127 else if arg = "-pathname" | arg = "-pn" then do; 128 i = i + 1; 129 if i > arg_count then go to NO_CONTROL_VALUE; 130 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 131 call expand_pathname_$add_suffix (arg, "value", seg_dn, seg_en, code); 132 if code ^= 0 then do; 133 call com_err_ (code, ME, "^a", arg); 134 return; 135 end; 136 path_sw = "1"b; 137 end; 138 139 else if arg = "-permanent" | arg = "-perm" then substr (call_switches, 2, 1) = "1"b; 140 141 else if arg = "-perprocess" | arg = "-pp" then substr (call_switches, 1, 1) = "1"b; 142 143 else do; 144 call com_err_ (error_table_$badopt, ME, "^a", arg); 145 return; 146 end; 147 148 else if got_name_sw then do; 149 USAGE: call com_err_$suppress_name (0, ME, "Usage: value_delete {name} {-control_args}"); 150 return; 151 end; 152 153 else do; 154 got_name_sw, name_nonctl_arg_sw = "1"b; 155 name_ptr = arg_ptr; 156 name_len = arg_len; 157 end; 158 end; 159 160 if ^got_name_sw then go to USAGE; 161 162 if name_ctl_arg_sw & name_nonctl_arg_sw then do; 163 call com_err_ (0, ME, "Name argument is incompatible with -match and -exclude."); 164 return; 165 end; 166 167 if substr (call_switches, 1, 2) = "00"b then substr (call_switches, 1, 2) = "11"b; /* default is both */ 168 169 if path_sw then do; 170 call hcs_$initiate (seg_dn, seg_en, "", 0, 0, seg_ptr, code); 171 if seg_ptr = null then do; 172 call com_err_ (code, ME, "Value segment ^a^[>^]^a", seg_dn, seg_dn ^= ">", seg_en); 173 return; 174 end; 175 end; 176 else seg_ptr = null; 177 178 /* Do the work */ 179 180 if ^match_sw then do; 181 182 if ^data_only_sw then call delete_one (name, REGULAR, found_regular); 183 else found_regular = "0"b; 184 185 if all_sw | data_only_sw then call delete_one (name, DATA, found_data); 186 else found_data = "0"b; 187 188 if ^found_regular & ^found_data then call com_err_ (error_table_$oldnamerr, ME, "^a", name); 189 end; 190 191 else do; /* -match or -exclude specified */ 192 193 /* if only -exclude's specified, start by matching "**" */ 194 if ^match_arg_sw then alloc_name_count = alloc_name_count + 1; 195 196 /* Allocate and fill the match structure */ 197 198 area_ptr = get_system_free_area_ (); 199 200 allocate match_info in (based_area) set (match_info_ptr); 201 202 unspec (match_info) = "0"b; 203 match_info.version = match_info_version_1; 204 match_info.name_count = alloc_name_count; 205 match_info.max_name_len = alloc_max_name_len; 206 name_index = 0; 207 208 if ^match_arg_sw then do; 209 name_index = 1; 210 match_info.exclude_sw (1), match_info.regexp_sw (1) = "0"b; 211 match_info.name (1) = "**"; 212 end; 213 214 do i = 1 to arg_count; 215 216 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 217 218 if arg = "-exclude" | arg = "-ex" then do; 219 name_index = name_index + 1; 220 match_info.exclude_sw (name_index) = "1"b; 221 MATCH_NAME: i = i + 1; 222 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 223 if substr (arg, 1, 1) = "/" & substr (arg, arg_len, 1) = "/" then do; 224 match_info.regexp_sw (name_index) = "1"b; 225 match_info.name (name_index) = substr (arg, 2, arg_len - 2); 226 end; 227 else do; 228 match_info.regexp_sw (name_index) = "0"b; /* starname */ 229 match_info.name (name_index) = arg; 230 end; 231 end; 232 233 else if arg = "-match" then do; 234 name_index = name_index + 1; 235 match_info.exclude_sw (name_index) = "0"b; 236 go to MATCH_NAME; 237 end; 238 end; 239 240 some_matches = "0"b; 241 242 if data_only_sw then go to DELETE_DATA; 243 244 call value_$list (seg_ptr, call_switches, match_info_ptr, area_ptr, value_list_info_ptr, code); 245 if code ^= 0 then do; 246 if code ^= error_table_$nomatch then do; 247 LIST_ERROR: if seg_ptr = null then call value_$get_path (seg_path, (0)); 248 else if seg_dn = ">" then seg_path = ">" || seg_en; 249 else seg_path = rtrim (seg_dn) || ">" || seg_en; 250 call com_err_ (code, ME, "^a", seg_path); 251 return; 252 end; 253 end; 254 255 else do; 256 some_matches = "1"b; 257 258 do i = 1 to value_list_info.pair_count; 259 260 call delete_one (substr (value_list_info.chars, 261 value_list_info.name_index (i), value_list_info.name_len (i)), REGULAR, "0"b); 262 end; 263 end; 264 DELETE_DATA: 265 if all_sw | data_only_sw then do; 266 267 call value_$list_data_names (seg_ptr, call_switches, match_info_ptr, area_ptr, value_list_info_ptr, code); 268 if code ^= 0 then do; 269 if code ^= error_table_$nomatch then go to LIST_ERROR; 270 end; 271 272 else do; 273 some_matches = "1"b; 274 275 do i = 1 to value_list_info.pair_count; 276 277 call delete_one (substr (value_list_info.chars, 278 value_list_info.name_index (i), value_list_info.name_len (i)), DATA, "0"b); 279 end; 280 end; 281 end; 282 283 if ^some_matches & ^brief_sw then call com_err_ (0, ME, "No matching names."); 284 end; 285 286 RETURN: return; 287 288 289 delete_one: proc (P_name, P_data_sw, P_found_sw); 290 291 dcl P_name char (*); 292 dcl (P_data_sw, P_found_sw) bit (1); 293 294 if P_data_sw then call value_$delete_data (seg_ptr, call_switches, P_name, code); 295 else call value_$delete (seg_ptr, call_switches, P_name, code); 296 297 if code = 0 then P_found_sw = "1"b; 298 else if code = error_table_$oldnamerr then P_found_sw = "0"b; 299 else do; /* a problem with the value seg */ 300 if seg_ptr = null then do; 301 call value_$get_path (seg_path, code1); 302 if code1 ^= 0 then seg_path = ""; 303 call com_err_ (code, ME, "Default value segment ^a", seg_path); 304 end; 305 else call com_err_ (code, ME, "Value segment ^a^[>^]^a", seg_dn, seg_dn ^= ">", seg_en); 306 go to RETURN; 307 end; 308 309 end delete_one; 310 311 end value_delete; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/24/92 2237.3 value_delete.pl1 >spec>inst>1016>value_delete.pl1 28 1 06/24/81 1843.9 value_structures.incl.pl1 >ldd>incl>value_structures.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. DATA 000040 constant bit(1) initial packed unaligned dcl 31 set ref 185* 277* ME 000000 constant char(32) initial packed unaligned dcl 30 set ref 75* 107* 133* 144* 149* 163* 172* 188* 250* 283* 303* 305* P_data_sw parameter bit(1) packed unaligned dcl 292 ref 289 294 P_found_sw parameter bit(1) packed unaligned dcl 292 set ref 289 297* 298* P_name parameter char packed unaligned dcl 291 set ref 289 294* 295* REGULAR 000045 constant bit(1) initial packed unaligned dcl 31 set ref 182* 260* active_fnc_err_ 000020 constant entry external dcl 58 ref 75 all_sw 000243 automatic bit(1) packed unaligned dcl 42 set ref 79* 91* 99* 185 264 alloc_max_name_len 000105 automatic fixed bin(21,0) dcl 1-5 set ref 82* 113* 113 200 200 205 alloc_name_count 000104 automatic fixed bin(17,0) dcl 1-4 set ref 82* 112* 112 194* 194 200 200 204 area_ptr 000260 automatic pointer dcl 46 set ref 198* 200 244* 267* arg based char packed unaligned dcl 33 set ref 88 88 88 95 95 97 102 102 102 104 107* 116 116 118 118 127 127 131* 133* 139 139 141 141 144* 218 218 223 223 225 229 233 arg_count 000272 automatic fixed bin(17,0) dcl 49 set ref 73* 84 106 120 129 214 arg_len 000270 automatic fixed bin(21,0) dcl 48 set ref 86* 88 88 88 95 95 97 102 102 102 104 107 107 110* 113 116 116 118 118 121* 124 127 127 130* 131 131 133 133 139 139 141 141 144 144 156 216* 218 218 222* 223 223 223 225 225 229 233 arg_ptr 000262 automatic pointer dcl 46 set ref 86* 88 88 88 95 95 97 102 102 102 104 107 110* 116 116 118 118 121* 123 127 127 130* 131 133 139 139 141 141 144 155 216* 218 218 222* 223 223 225 229 233 based_area based area(1024) dcl 36 ref 200 brief_sw 000244 automatic bit(1) packed unaligned dcl 42 set ref 79* 95* 116* 283 call_switches 000242 automatic bit(36) dcl 41 set ref 81* 139* 141* 167 167* 244* 267* 294* 295* chars based char level 2 dcl 1-17 ref 260 260 277 277 chars_len 2 based fixed bin(21,0) level 2 dcl 1-17 ref 260 260 277 277 code 000275 automatic fixed bin(35,0) dcl 50 set ref 73* 74 86* 110* 121* 130* 131* 132 133* 170* 172* 216* 222* 244* 245 246 250* 267* 268 269 294* 295* 297 298 303* 305* code1 000276 automatic fixed bin(35,0) dcl 50 set ref 301* 302 com_err_ 000022 constant entry external dcl 59 ref 107 133 144 163 172 188 250 283 303 305 com_err_$suppress_name 000024 constant entry external dcl 59 ref 149 cu_$af_return_arg 000026 constant entry external dcl 60 ref 73 cu_$arg_ptr 000030 constant entry external dcl 61 ref 86 110 121 130 216 222 data_only_sw 000245 automatic bit(1) packed unaligned dcl 42 set ref 79* 92* 98* 182 185 242 264 error_table_$badopt 000010 external static fixed bin(35,0) dcl 52 set ref 144* error_table_$nomatch 000012 external static fixed bin(35,0) dcl 53 ref 246 269 error_table_$not_act_fnc 000014 external static fixed bin(35,0) dcl 54 ref 74 error_table_$oldnamerr 000016 external static fixed bin(35,0) dcl 55 set ref 188* 298 exclude_sw 3 based bit(1) array level 3 packed packed unaligned dcl 1-7 set ref 210* 220* 235* expand_pathname_$add_suffix 000032 constant entry external dcl 62 ref 131 found_data 000255 automatic bit(1) packed unaligned dcl 44 set ref 185* 186* 188 found_regular 000256 automatic bit(1) packed unaligned dcl 44 set ref 182* 183* 188 get_system_free_area_ 000034 constant entry external dcl 63 ref 198 got_name_sw 000246 automatic bit(1) packed unaligned dcl 42 set ref 79* 111* 122* 148 154* 160 hcs_$initiate 000036 constant entry external dcl 64 ref 170 i 000273 automatic fixed bin(17,0) dcl 49 set ref 84* 86* 105* 105 106 110* 119* 119 120 121* 128* 128 129 130* 214* 216* 221* 221 222* 258* 260 260 260 260* 275* 277 277 277 277* index builtin function dcl 71 ref 88 match_arg_sw 000250 automatic bit(1) packed unaligned dcl 42 set ref 79* 104* 194 208 match_info based structure level 1 dcl 1-7 set ref 200 202* match_info_ptr 000100 automatic pointer dcl 1-3 set ref 200* 202 203 204 205 210 210 211 220 224 225 228 229 235 244* 267* match_info_version_1 constant fixed bin(17,0) initial dcl 1-27 ref 203 match_sw 000247 automatic bit(1) packed unaligned dcl 42 set ref 79* 111* 180 max builtin function dcl 71 ref 113 max_name_len 2 based fixed bin(21,0) level 2 dcl 1-7 set ref 200* 202 205* 210 210 210 210 211 211 211 220 220 224 224 225 225 225 228 228 229 229 229 235 235 name 4 based varying char array level 3 in structure "match_info" dcl 1-7 in procedure "vdl" set ref 211* 225* 229* name based char packed unaligned dcl 34 in procedure "vdl" set ref 182* 185* 188* name_array 3 based structure array level 2 dcl 1-7 name_count 1 based fixed bin(17,0) level 2 dcl 1-7 set ref 200* 202 204* name_ctl_arg_sw 000253 automatic bit(1) packed unaligned dcl 43 set ref 80* 103* 162 name_index 4 based fixed bin(21,0) array level 3 in structure "value_list_info" dcl 1-17 in procedure "vdl" ref 260 260 277 277 name_index 000274 automatic fixed bin(17,0) dcl 49 in procedure "vdl" set ref 206* 209* 219* 219 220 224 225 228 229 234* 234 235 name_len 000271 automatic fixed bin(21,0) dcl 48 in procedure "vdl" set ref 124* 156* 182 182 185 185 188 188 name_len 5 based fixed bin(21,0) array level 3 in structure "value_list_info" dcl 1-17 in procedure "vdl" ref 260 260 277 277 name_nonctl_arg_sw 000254 automatic bit(1) packed unaligned dcl 43 set ref 80* 122* 154* 162 name_ptr 000264 automatic pointer dcl 46 set ref 123* 155* 182 185 188 null builtin function dcl 71 ref 73 73 171 176 247 300 pair_count 1 based fixed bin(17,0) level 2 dcl 1-17 ref 258 260 260 275 277 277 pairs 3 based structure array level 2 dcl 1-17 path_sw 000251 automatic bit(1) packed unaligned dcl 42 set ref 79* 136* 169 regexp_sw 3(01) based bit(1) array level 3 packed packed unaligned dcl 1-7 set ref 210* 224* 228* rtrim builtin function dcl 71 ref 249 seg_dn 000106 automatic char(168) packed unaligned dcl 38 set ref 131* 170* 172* 172 248 249 305* 305 seg_en 000232 automatic char(32) packed unaligned dcl 39 set ref 131* 170* 172* 248 249 305* seg_path 000160 automatic char(168) packed unaligned dcl 38 set ref 247* 248* 249* 250* 301* 302* 303* seg_ptr 000266 automatic pointer dcl 46 set ref 170* 171 176* 244* 247 267* 294* 295* 300 some_matches 000252 automatic bit(1) packed unaligned dcl 42 set ref 240* 256* 273* 283 substr builtin function dcl 71 set ref 139* 141* 167 167* 223 223 225 260 260 277 277 unspec builtin function dcl 71 set ref 202* value_$delete 000040 constant entry external dcl 65 ref 295 value_$delete_data 000042 constant entry external dcl 66 ref 294 value_$get_path 000044 constant entry external dcl 67 ref 247 301 value_$list 000046 constant entry external dcl 68 ref 244 value_$list_data_names 000050 constant entry external dcl 69 ref 267 value_list_info based structure level 1 dcl 1-17 value_list_info_ptr 000102 automatic pointer dcl 1-3 set ref 244* 258 260 260 260 260 260 260 267* 275 277 277 277 277 277 277 version based fixed bin(17,0) level 2 dcl 1-7 set ref 203* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. alloc_chars_len automatic fixed bin(21,0) dcl 1-5 alloc_pair_count automatic fixed bin(17,0) dcl 1-4 value_list_info_version_1 internal static fixed bin(17,0) initial dcl 1-27 NAMES DECLARED BY EXPLICIT CONTEXT. DELETE_DATA 002131 constant label dcl 264 ref 242 LIST_ERROR 001711 constant label dcl 247 ref 269 MATCH_NAME 001524 constant label dcl 221 ref 236 NO_CONTROL_VALUE 000427 constant label dcl 107 ref 120 129 RETURN 002300 constant label dcl 286 ref 306 USAGE 001001 constant label dcl 149 ref 160 delete_one 002302 constant entry internal dcl 289 ref 182 185 260 277 value_delete 000206 constant entry external dcl 22 vdl 000177 constant entry external dcl 22 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3010 3062 2562 3020 Length 3304 2562 52 206 225 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME vdl 294 external procedure is an external procedure. delete_one 128 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME vdl 000100 match_info_ptr vdl 000102 value_list_info_ptr vdl 000104 alloc_name_count vdl 000105 alloc_max_name_len vdl 000106 seg_dn vdl 000160 seg_path vdl 000232 seg_en vdl 000242 call_switches vdl 000243 all_sw vdl 000244 brief_sw vdl 000245 data_only_sw vdl 000246 got_name_sw vdl 000247 match_sw vdl 000250 match_arg_sw vdl 000251 path_sw vdl 000252 some_matches vdl 000253 name_ctl_arg_sw vdl 000254 name_nonctl_arg_sw vdl 000255 found_data vdl 000256 found_regular vdl 000260 area_ptr vdl 000262 arg_ptr vdl 000264 name_ptr vdl 000266 seg_ptr vdl 000270 arg_len vdl 000271 name_len vdl 000272 arg_count vdl 000273 i vdl 000274 name_index vdl 000275 code vdl 000276 code1 vdl THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc return_mac tra_ext_1 shorten_stack ext_entry int_entry_desc op_alloc_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ com_err_$suppress_name cu_$af_return_arg cu_$arg_ptr expand_pathname_$add_suffix get_system_free_area_ hcs_$initiate value_$delete value_$delete_data value_$get_path value_$list value_$list_data_names THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$nomatch error_table_$not_act_fnc error_table_$oldnamerr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 000176 73 000213 74 000232 75 000236 76 000262 79 000263 80 000272 81 000274 82 000275 84 000277 86 000307 88 000324 91 000350 92 000352 93 000353 95 000354 97 000367 98 000373 99 000375 100 000376 102 000377 103 000413 104 000415 105 000423 106 000424 107 000427 108 000463 110 000464 111 000501 112 000504 113 000505 114 000512 116 000513 118 000525 119 000535 120 000536 121 000541 122 000556 123 000561 124 000563 125 000565 127 000566 128 000576 129 000577 130 000602 131 000617 132 000655 133 000657 134 000711 136 000712 137 000714 139 000715 141 000730 144 000743 145 000775 146 000776 148 000777 149 001001 150 001026 154 001027 155 001032 156 001033 158 001035 160 001037 162 001041 163 001045 164 001072 167 001073 169 001100 170 001102 171 001145 172 001151 173 001220 175 001221 176 001222 180 001224 182 001226 183 001253 185 001255 186 001304 188 001306 189 001346 194 001347 198 001354 200 001363 202 001401 203 001414 204 001416 205 001420 206 001422 208 001423 209 001425 210 001427 211 001441 214 001451 216 001461 218 001476 219 001510 220 001511 221 001524 222 001525 223 001542 224 001554 225 001566 226 001604 228 001605 229 001617 231 001634 233 001635 234 001641 235 001642 236 001655 238 001656 240 001660 242 001661 244 001663 245 001704 246 001706 247 001711 248 001734 249 001754 250 002014 251 002044 253 002045 256 002046 258 002050 260 002061 262 002126 264 002131 267 002135 268 002156 269 002160 270 002163 273 002164 275 002166 277 002177 279 002244 283 002247 286 002300 289 002301 294 002315 295 002351 297 002376 298 002407 300 002420 301 002424 302 002440 303 002446 304 002501 305 002502 306 002550 309 002553 ----------------------------------------------------------- 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