COMPILATION LISTING OF SEGMENT value_get Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 05/31/88 1406.1 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 value_get: vg: proc; 9 10 /* Written 11/17/80 by S. Herbst */ 11 /* Added -call 07/14/81 S. Herbst */ 12 /* Changed to allow user to set value and restart if no value defined 01/25/82 S. Herbst */ 13 /* Changed -df to -dft as short for -default 05/13/82 S. Herbst */ 14 /* Added -pop 05/23/83 S. Herbst */ 15 16 17 /****^ HISTORY COMMENTS: 18* 1) change(88-01-01,Gilcrease), approve(88-01-27,MCR7832), 19* audit(88-05-25,Hunter), install(88-05-31,MR12.2-1049): 20* Add -data control argument, to extract data-type names. 21* END HISTORY COMMENTS */ 22 23 24 dcl arg char (arg_len) based (arg_ptr); 25 dcl call_string char (call_len) based (call_ptr); 26 dcl return_arg char (return_len) varying based (return_ptr); 27 dcl default_value char (default_value_len) based (default_value_ptr); 28 dcl name char (name_len) based (name_ptr); 29 dcl data char (data_size * 4) based (data_ptr); 30 31 dcl (seg_dn, seg_path) char (168); 32 dcl seg_en char (32); 33 dcl ME char (32) int static options (constant) init ("value_get"); 34 35 dcl call_switches bit (36) aligned; 36 dcl (af_sw, call_sw, got_name_sw, default_sw, path_sw, pop_sw, data_sw) bit (1); 37 38 dcl (arg_ptr, call_ptr, default_value_ptr, name_ptr, return_ptr, seg_ptr, area_ptr, data_ptr) ptr; 39 40 dcl (arg_len, call_len, default_value_len, name_len, return_len) fixed (21); 41 dcl data_size fixed binary (18); 42 dcl (arg_count, i) fixed; 43 dcl (code, code1) fixed (35); 44 45 dcl error_table_$argerr fixed bin(35) ext static; 46 dcl error_table_$badopt fixed (35) ext; 47 dcl error_table_$not_act_fnc fixed (35) ext; 48 dcl error_table_$oldnamerr fixed (35) ext; 49 50 dcl complain entry variable options (variable); 51 52 dcl (active_fnc_err_, active_fnc_err_$suppress_name) entry options (variable); 53 dcl (com_err_, com_err_$suppress_name) entry options (variable); 54 dcl cu_$af_return_arg entry (fixed, ptr, fixed (21), fixed (35)); 55 dcl cu_$arg_ptr entry (fixed, ptr, fixed (21), fixed (35)); 56 dcl cu_$evaluate_active_string entry (ptr, char (*), fixed, char (*) varying, fixed (35)); 57 dcl expand_pathname_$add_suffix entry (char (*), char (*), char (*), char (*), fixed (35)); 58 dcl get_temp_segment_ entry (char (*), ptr, fixed (35)); 59 dcl get_system_free_area_ entry() returns(ptr); 60 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed (1), fixed (2), ptr, fixed (35)); 61 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 62 dcl ioa_ entry options (variable); 63 dcl release_temp_segment_ entry (char (*), ptr, fixed (35)); 64 dcl value_$get entry options (variable); 65 dcl value_$get_path entry (char (*), fixed (35)); 66 dcl value_$pop entry options (variable); 67 dcl value_$set entry options (variable); 68 dcl value_$get_data entry options (variable); 69 70 dcl (index, length, null, substr) builtin; 71 72 dcl cleanup condition; 73 74 call cu_$af_return_arg (arg_count, return_ptr, return_len, code); 75 if code = 0 then do; 76 af_sw = "1"b; 77 complain = active_fnc_err_; 78 end; 79 else if code = error_table_$not_act_fnc then do; 80 af_sw = "0"b; 81 complain = com_err_; 82 code = 0; 83 end; 84 else do; 85 call com_err_ (code, ME); 86 return; 87 end; 88 89 call_sw, default_sw, got_name_sw, path_sw, pop_sw, data_sw = "0"b; 90 call_switches = "0"b; 91 area_ptr, data_ptr = null (); 92 93 do i = 1 to arg_count; 94 95 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 96 97 if index (arg, "-") = 1 then 98 if arg = "-call" then do; 99 i = i + 1; 100 if i > arg_count then do; 101 NO_CONTROL_VALUE: 102 call complain (0, ME, "No value specified for ^a", arg); 103 return; 104 end; 105 call_sw = "1"b; 106 call cu_$arg_ptr (i, call_ptr, call_len, code); 107 end; 108 109 else if arg = "-default" | arg = "-dft" | arg = "-df" then do; 110 i = i + 1; 111 if i > arg_count then go to NO_CONTROL_VALUE; 112 default_sw = "1"b; 113 call cu_$arg_ptr (i, default_value_ptr, default_value_len, code); 114 end; 115 116 else if arg = "-name" | arg = "-nm" then do; 117 i = i + 1; 118 if i > arg_count then go to NO_CONTROL_VALUE; 119 got_name_sw = "1"b; 120 call cu_$arg_ptr (i, name_ptr, name_len, code); 121 end; 122 123 else if arg = "-pathname" | arg = "-pn" then do; 124 i = i + 1; 125 if i > arg_count then go to NO_CONTROL_VALUE; 126 call cu_$arg_ptr (i, arg_ptr, arg_len, code); 127 /* How about a utility someday to find the dn>en */ 128 /* Maybe search rules, at least naming conventions */ 129 call expand_pathname_$add_suffix (arg, "value", seg_dn, seg_en, code); 130 if code ^= 0 then do; 131 call complain (code, ME, "^a", arg); 132 return; 133 end; 134 path_sw = "1"b; 135 end; 136 137 else if arg = "-permanent" | arg = "-perm" then substr (call_switches, 2, 1) = "1"b; 138 139 else if arg = "-perprocess" | arg = "-pp" then substr (call_switches, 1, 1) = "1"b; 140 141 else if arg = "-pop" then pop_sw = "1"b; 142 143 else if arg = "-data" then data_sw = "1"b; 144 145 else do; 146 call complain (error_table_$badopt, ME, "^a", arg); 147 return; 148 end; 149 150 else if got_name_sw then do; 151 USAGE: 152 if af_sw then 153 call active_fnc_err_$suppress_name (0, ME, "Usage: [value_get name {-control_args}]"); 154 else call com_err_$suppress_name (0, ME, "Usage: value_get name {-control_args}"); 155 return; 156 end; 157 158 else do; 159 got_name_sw = "1"b; 160 name_ptr = arg_ptr; 161 name_len = arg_len; 162 end; 163 end; 164 165 if ^got_name_sw then go to USAGE; 166 167 if data_sw & (pop_sw | call_sw | default_sw | substr (call_switches, 1, 1)) = "1"b then do; 168 call complain (error_table_$argerr, ME, " 169 The -data argument is incompatible with -default, -perprocess, -pop or -call."); 170 return; 171 end; 172 173 if substr (call_switches, 1, 2) = "00"b then substr (call_switches, 1, 2) = "11"b; 174 /* default is both */ 175 176 if call_sw & default_sw then do; 177 call complain (0, ME, "-call incompatible with -default."); 178 return; 179 end; 180 181 seg_ptr = null; /* default: user's default seg if -perm */ 182 183 on cleanup 184 begin; 185 if ^af_sw then call release_temp_segment_ ("value_get", return_ptr, code); 186 187 if seg_ptr ^= null then call hcs_$terminate_noname (seg_ptr, 0); 188 end; 189 190 if path_sw then do; 191 call hcs_$initiate (seg_dn, seg_en, "", 0, 0, seg_ptr, code); 192 if seg_ptr = null then do; 193 call complain (code, ME, "Value segment ^a^[>^]^a", seg_dn, seg_dn ^= ">", seg_en); 194 return; 195 end; 196 end; 197 198 /* Do the work */ 199 200 if ^af_sw then do; 201 call get_temp_segment_ ("value_get", return_ptr, code); 202 return_len = WORDS_PER_SEGMENT; 203 end; 204 205 GET: 206 if pop_sw then call value_$pop (seg_ptr, call_switches, name, return_arg, code); 207 208 else if ^data_sw then call value_$get (seg_ptr, call_switches, name, return_arg, code); 209 210 else do; 211 area_ptr = get_system_free_area_ (); 212 call value_$get_data (seg_ptr, call_switches, name, area_ptr, data_ptr, data_size, code); 213 end; 214 215 if code ^= 0 then 216 if call_sw then do; 217 call cu_$evaluate_active_string (null, call_string, NORMAL_ACTIVE_STRING, return_arg, code); 218 if code ^= 0 then do; 219 call complain (code, ME, "Evaluating -call"); 220 go to RETURN; 221 end; 222 223 call value_$set (seg_ptr, call_switches, name, substr (return_arg, 1, length (return_arg)), "", code); 224 if code ^= 0 then call complain (code, ME, "Setting value with -call"); 225 end; 226 else if default_sw then return_arg = default_value; 227 else do; 228 if code = error_table_$oldnamerr then do; 229 call complain (code, ME, "^a", name); 230 if af_sw then go to GET; /* in case user set a value while interrupted */ 231 end; 232 else if seg_ptr = null then do; 233 call value_$get_path (seg_path, code1); 234 if code1 ^= 0 then seg_path = ""; 235 call complain (code, ME, "Default value segment ^a", seg_path); 236 end; 237 else call complain (code, ME, "Value segment ^a^[>^]^a", seg_dn, seg_dn ^= ">", seg_en); 238 go to RETURN; 239 end; 240 241 if data_sw then return_arg = data; 242 if ^af_sw then call ioa_ ("^a", return_arg); 243 244 RETURN: 245 if ^af_sw then call release_temp_segment_ ("value_get", return_ptr, code); 246 247 if seg_ptr ^= null then call hcs_$terminate_noname (seg_ptr, 0); 248 249 return; 250 1 1 /* BEGIN INCLUDE FILE ... cp_active_string_types.incl.pl1 */ 1 2 /* Created: 5 May 1980 by G. Palter */ 1 3 1 4 /* Types of active strings recognized by active string evaluation entries of the Multics command processor */ 1 5 1 6 dcl (DEFAULT_ACTIVE_STRING initial (0), /* default type: same as NORMAL_ACTIVE_STRING */ 1 7 NORMAL_ACTIVE_STRING initial (1), /* normal active string: [...] */ 1 8 TOKENS_ONLY_ACTIVE_STRING initial (2), /* rescan active string for whitespace and quotes: |[...] */ 1 9 ATOMIC_ACTIVE_STRING initial (3)) /* do not rescan anything in value: ||[...] */ 1 10 fixed binary static options (constant); 1 11 1 12 /* END INCLUDE FILE ... cp_active_string_types.incl.pl1 */ 251 252 2 1 /* BEGIN INCLUDE FILE ... system_constants.incl.pl1 */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-11-12,GWMay), approve(86-11-12,MCR7445), audit(86-11-19,GDixon), 2 5* install(86-11-21,MR12.0-1223): 2 6* created. 2 7* END HISTORY COMMENTS */ 2 8 2 9 /* format: off */ 2 10 2 11 /* ************************************************************************ */ 2 12 /* */ 2 13 /* Function: Provides constants for commonly used Multics system values. */ 2 14 /* */ 2 15 /* Usage: These values are available for use in place of "magic" numbers */ 2 16 /* (unexplained numbers) in programming applications. */ 2 17 /* */ 2 18 /* Definitions: */ 2 19 /* */ 2 20 /* PER bit character/byte word page segment */ 2 21 /* */ 2 22 /* bits 1 9 36 36864 9400320 */ 2 23 /* characters/bytes 1 4 4096 1044480 */ 2 24 /* words 1 1024 261120 */ 2 25 /* pages 1 255 */ 2 26 /* segments 1 */ 2 27 /* */ 2 28 /* The base values for a bit, char, word and page are determined by the */ 2 29 /* Multics hardware implementation. The other values are calculated from */ 2 30 /* their relation to one another as shown in the matrix above. */ 2 31 /* */ 2 32 /* BITS_PER_CHAR = 9 (defined by the hardware) */ 2 33 /* BITS_PER_WORD = BITS_PER_CHAR * CHARS_PER_WORD */ 2 34 /* = 9 * 4 */ 2 35 /* = 36 */ 2 36 /* BITS_PER_PAGE = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE */ 2 37 /* = 9 * 4 * 1024 */ 2 38 /* = 36864 */ 2 39 /* BITS_PER_SEGMENT = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE * */ 2 40 /* PAGES_PER_SEGMENT */ 2 41 /* = 9 * 4 * 1024 * 255 */ 2 42 /* = 9400320 */ 2 43 /* */ 2 44 /* CHARS_PER_WORD = 4 (defined by the hardware) */ 2 45 /* CHARS_PER_PAGE = CHARS_PER_WORD * WORDS_PER_PAGE */ 2 46 /* = 4 * 1024 */ 2 47 /* = 4096 */ 2 48 /* CHARS_PER_SEGMENT = CHARS_PER_WORD * WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 2 49 /* = 4 * 1024 * 255 */ 2 50 /* = 1044480 */ 2 51 /* */ 2 52 /* WORDS_PER_PAGE = 1024 (defined by the hardware) */ 2 53 /* WORDS_PER_SEGMENT = WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 2 54 /* = 1024 * 255 */ 2 55 /* = 261120 */ 2 56 /* */ 2 57 /* PAGES_PER_SEGMENT = 255 (defined by system standard) */ 2 58 /* */ 2 59 /* ************************************************************************ */ 2 60 2 61 declare BITS_PER_CHAR fixed bin (4) internal static 2 62 options (constant) initial (9); 2 63 2 64 declare BITS_PER_WORD fixed bin (6) internal static 2 65 options (constant) initial (36); 2 66 2 67 declare BITS_PER_PAGE fixed bin (16) internal static 2 68 options (constant) initial (36864); 2 69 2 70 declare BITS_PER_SEGMENT fixed bin (24) internal static 2 71 options (constant) initial (9400320); 2 72 2 73 declare CHARS_PER_WORD fixed bin (3) internal static 2 74 options (constant) initial (4); 2 75 2 76 declare CHARS_PER_PAGE fixed bin (13) internal static 2 77 options (constant) initial (4096); 2 78 2 79 declare CHARS_PER_SEGMENT fixed bin (21) internal static 2 80 options (constant) initial (1044480); 2 81 2 82 /* Note: WORDS_PER_PAGE should be equal to sys_info$max_page_size */ 2 83 2 84 declare WORDS_PER_PAGE fixed bin (11) internal static 2 85 options (constant) initial (1024); 2 86 2 87 /* Note: WORDS_PER_SEGMENT should be equal to sys_info$max_seg_size */ 2 88 2 89 declare WORDS_PER_SEGMENT fixed bin (21) internal static 2 90 options (constant) initial (261120); 2 91 2 92 declare PAGES_PER_SEGMENT fixed bin (8) internal static 2 93 options (constant) initial (255); 2 94 2 95 /* END INCLUDE FILE ... system_constants.incl.pl1 */ 2 96 253 254 end value_get; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/31/88 1406.1 value_get.pl1 >spec>install>1049>value_get.pl1 251 1 09/22/80 1256.7 cp_active_string_types.incl.pl1 >ldd>include>cp_active_string_types.incl.pl1 253 2 11/24/86 1243.9 system_constants.incl.pl1 >ldd>include>system_constants.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. ME 000000 constant char(32) initial packed unaligned dcl 33 set ref 85* 101* 131* 146* 151* 154* 168* 177* 193* 219* 224* 229* 235* 237* NORMAL_ACTIVE_STRING 000047 constant fixed bin(17,0) initial dcl 1-6 set ref 217* WORDS_PER_SEGMENT constant fixed bin(21,0) initial dcl 2-89 ref 202 active_fnc_err_ 000020 constant entry external dcl 52 ref 77 active_fnc_err_$suppress_name 000022 constant entry external dcl 52 ref 151 af_sw 000235 automatic bit(1) packed unaligned dcl 36 set ref 76* 80* 151 185 200 230 242 244 area_ptr 000260 automatic pointer dcl 38 set ref 91* 211* 212* arg based char packed unaligned dcl 24 set ref 97 97 101* 109 109 109 116 116 123 123 129* 131* 137 137 139 139 141 143 146* arg_count 000272 automatic fixed bin(17,0) dcl 42 set ref 74* 93 100 111 118 125 arg_len 000264 automatic fixed bin(21,0) dcl 40 set ref 95* 97 97 101 101 109 109 109 116 116 123 123 126* 129 129 131 131 137 137 139 139 141 143 146 146 161 arg_ptr 000244 automatic pointer dcl 38 set ref 95* 97 97 101 109 109 109 116 116 123 123 126* 129 131 137 137 139 139 141 143 146 160 call_len 000265 automatic fixed bin(21,0) dcl 40 set ref 106* 217 217 call_ptr 000246 automatic pointer dcl 38 set ref 106* 217 call_string based char packed unaligned dcl 25 set ref 217* call_sw 000236 automatic bit(1) packed unaligned dcl 36 set ref 89* 105* 167 176 215 call_switches 000234 automatic bit(36) dcl 35 set ref 90* 137* 139* 167 173 173* 205* 208* 212* 223* cleanup 000302 stack reference condition dcl 72 ref 183 code 000274 automatic fixed bin(35,0) dcl 43 set ref 74* 75 79 82* 85* 95* 106* 113* 120* 126* 129* 130 131* 185* 191* 193* 201* 205* 208* 212* 215 217* 218 219* 223* 224 224* 228 229* 235* 237* 244* code1 000275 automatic fixed bin(35,0) dcl 43 set ref 233* 234 com_err_ 000024 constant entry external dcl 53 ref 81 85 com_err_$suppress_name 000026 constant entry external dcl 53 ref 154 complain 000276 automatic entry variable dcl 50 set ref 77* 81* 101 131 146 168 177 193 219 224 229 235 237 cu_$af_return_arg 000030 constant entry external dcl 54 ref 74 cu_$arg_ptr 000032 constant entry external dcl 55 ref 95 106 113 120 126 cu_$evaluate_active_string 000034 constant entry external dcl 56 ref 217 data based char packed unaligned dcl 29 ref 241 data_ptr 000262 automatic pointer dcl 38 set ref 91* 212* 241 data_size 000271 automatic fixed bin(18,0) dcl 41 set ref 212* 241 data_sw 000243 automatic bit(1) packed unaligned dcl 36 set ref 89* 143* 167 208 241 default_sw 000240 automatic bit(1) packed unaligned dcl 36 set ref 89* 112* 167 176 226 default_value based char packed unaligned dcl 27 ref 226 default_value_len 000266 automatic fixed bin(21,0) dcl 40 set ref 113* 226 default_value_ptr 000250 automatic pointer dcl 38 set ref 113* 226 error_table_$argerr 000010 external static fixed bin(35,0) dcl 45 set ref 168* error_table_$badopt 000012 external static fixed bin(35,0) dcl 46 set ref 146* error_table_$not_act_fnc 000014 external static fixed bin(35,0) dcl 47 ref 79 error_table_$oldnamerr 000016 external static fixed bin(35,0) dcl 48 ref 228 expand_pathname_$add_suffix 000036 constant entry external dcl 57 ref 129 get_system_free_area_ 000042 constant entry external dcl 59 ref 211 get_temp_segment_ 000040 constant entry external dcl 58 ref 201 got_name_sw 000237 automatic bit(1) packed unaligned dcl 36 set ref 89* 119* 150 159* 165 hcs_$initiate 000044 constant entry external dcl 60 ref 191 hcs_$terminate_noname 000046 constant entry external dcl 61 ref 187 247 i 000273 automatic fixed bin(17,0) dcl 42 set ref 93* 95* 99* 99 100 106* 110* 110 111 113* 117* 117 118 120* 124* 124 125 126* index builtin function dcl 70 ref 97 ioa_ 000050 constant entry external dcl 62 ref 242 length builtin function dcl 70 ref 223 223 name based char packed unaligned dcl 28 set ref 205* 208* 212* 223* 229* name_len 000267 automatic fixed bin(21,0) dcl 40 set ref 120* 161* 205 205 208 208 212 212 223 223 229 229 name_ptr 000252 automatic pointer dcl 38 set ref 120* 160* 205 208 212 223 229 null builtin function dcl 70 ref 91 181 187 192 217 217 232 247 path_sw 000241 automatic bit(1) packed unaligned dcl 36 set ref 89* 134* 190 pop_sw 000242 automatic bit(1) packed unaligned dcl 36 set ref 89* 141* 167 205 release_temp_segment_ 000052 constant entry external dcl 63 ref 185 244 return_arg based varying char dcl 26 set ref 205* 208* 217* 223 223 223 223 226* 241* 242* return_len 000270 automatic fixed bin(21,0) dcl 40 set ref 74* 202* 205 208 217 226 241 242 return_ptr 000254 automatic pointer dcl 38 set ref 74* 185* 201* 205 208 217 223 223 223 223 226 241 242 244* seg_dn 000100 automatic char(168) packed unaligned dcl 31 set ref 129* 191* 193* 193 237* 237 seg_en 000224 automatic char(32) packed unaligned dcl 32 set ref 129* 191* 193* 237* seg_path 000152 automatic char(168) packed unaligned dcl 31 set ref 233* 234* 235* seg_ptr 000256 automatic pointer dcl 38 set ref 181* 187 187* 191* 192 205* 208* 212* 223* 232 247 247* substr builtin function dcl 70 set ref 137* 139* 167 173 173* 223 223 value_$get 000054 constant entry external dcl 64 ref 208 value_$get_data 000064 constant entry external dcl 68 ref 212 value_$get_path 000056 constant entry external dcl 65 ref 233 value_$pop 000060 constant entry external dcl 66 ref 205 value_$set 000062 constant entry external dcl 67 ref 223 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ATOMIC_ACTIVE_STRING internal static fixed bin(17,0) initial dcl 1-6 BITS_PER_CHAR internal static fixed bin(4,0) initial dcl 2-61 BITS_PER_PAGE internal static fixed bin(16,0) initial dcl 2-67 BITS_PER_SEGMENT internal static fixed bin(24,0) initial dcl 2-70 BITS_PER_WORD internal static fixed bin(6,0) initial dcl 2-64 CHARS_PER_PAGE internal static fixed bin(13,0) initial dcl 2-76 CHARS_PER_SEGMENT internal static fixed bin(21,0) initial dcl 2-79 CHARS_PER_WORD internal static fixed bin(3,0) initial dcl 2-73 DEFAULT_ACTIVE_STRING internal static fixed bin(17,0) initial dcl 1-6 PAGES_PER_SEGMENT internal static fixed bin(8,0) initial dcl 2-92 TOKENS_ONLY_ACTIVE_STRING internal static fixed bin(17,0) initial dcl 1-6 WORDS_PER_PAGE internal static fixed bin(11,0) initial dcl 2-84 NAMES DECLARED BY EXPLICIT CONTEXT. GET 001421 constant label dcl 205 ref 230 NO_CONTROL_VALUE 000376 constant label dcl 101 ref 111 118 125 RETURN 002244 constant label dcl 244 ref 220 238 USAGE 000776 constant label dcl 151 ref 165 value_get 000232 constant entry external dcl 8 vg 000223 constant entry external dcl 8 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2606 2674 2315 2616 Length 3142 2315 66 232 271 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME vg 288 external procedure is an external procedure. on unit on line 183 82 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME vg 000100 seg_dn vg 000152 seg_path vg 000224 seg_en vg 000234 call_switches vg 000235 af_sw vg 000236 call_sw vg 000237 got_name_sw vg 000240 default_sw vg 000241 path_sw vg 000242 pop_sw vg 000243 data_sw vg 000244 arg_ptr vg 000246 call_ptr vg 000250 default_value_ptr vg 000252 name_ptr vg 000254 return_ptr vg 000256 seg_ptr vg 000260 area_ptr vg 000262 data_ptr vg 000264 arg_len vg 000265 call_len vg 000266 default_value_len vg 000267 name_len vg 000270 return_len vg 000271 data_size vg 000272 arg_count vg 000273 i vg 000274 code vg 000275 code1 vg 000276 complain vg THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_char_temp call_ent_var_desc call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ active_fnc_err_$suppress_name com_err_ com_err_$suppress_name cu_$af_return_arg cu_$arg_ptr cu_$evaluate_active_string expand_pathname_$add_suffix get_system_free_area_ get_temp_segment_ hcs_$initiate hcs_$terminate_noname ioa_ release_temp_segment_ value_$get value_$get_data value_$get_path value_$pop value_$set THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$argerr error_table_$badopt error_table_$not_act_fnc error_table_$oldnamerr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 8 000222 74 000237 75 000253 76 000255 77 000257 78 000264 79 000265 80 000270 81 000271 82 000275 83 000276 85 000277 86 000313 89 000314 90 000322 91 000323 93 000326 95 000335 97 000352 99 000372 100 000373 101 000376 103 000431 105 000432 106 000434 107 000451 109 000452 110 000466 111 000467 112 000472 113 000474 114 000511 116 000512 117 000522 118 000523 119 000526 120 000530 121 000545 123 000546 124 000556 125 000557 126 000562 129 000577 130 000635 131 000637 132 000670 134 000671 135 000673 137 000674 139 000707 141 000722 143 000731 146 000740 147 000772 148 000773 150 000774 151 000776 154 001026 155 001053 159 001054 160 001056 161 001057 163 001061 165 001063 167 001065 168 001100 170 001124 173 001125 176 001132 177 001136 178 001162 181 001163 183 001165 185 001201 187 001230 188 001247 190 001250 191 001252 192 001315 193 001321 194 001367 200 001370 201 001372 202 001417 205 001421 208 001464 211 001527 212 001536 215 001600 217 001604 218 001646 219 001650 220 001674 223 001675 224 001745 225 001776 226 001777 228 002014 229 002017 230 002050 231 002052 232 002053 233 002057 234 002073 235 002100 236 002132 237 002133 238 002201 241 002202 242 002217 244 002244 247 002273 249 002311 ----------------------------------------------------------- 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