COMPILATION LISTING OF SEGMENT print_tuning_parameters Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1744.9 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 print_tuning_parameters: 12 print_tuning_parameter: 13 ptp: 14 procedure () options (variable); 15 16 /* Completely rewritten, for hc_tune, 27 June 1981, W. Olin Sibert */ 17 /* Modified September 1981 by J. Bongiovanni for linkage_error condition */ 18 19 dcl argno fixed bin; 20 dcl nargs fixed bin; 21 dcl al fixed bin (21); 22 dcl ap pointer; 23 dcl arg char (al) based (ap); 24 dcl code fixed bin (35); 25 dcl idx fixed bin; 26 27 dcl tp_type fixed bin; 28 dcl tp_value bit (36) aligned; 29 dcl tp_ptr pointer; 30 dcl tp_name char (32); 31 dcl tp_short_name char (32); 32 33 dcl special_sw bit (1) aligned; 34 dcl long_sw bit (1) aligned; 35 dcl have_names bit (1) aligned; 36 37 dcl 1 tp_list (tp_list_size) aligned like tp_info based (tp_list_ptr); 38 dcl tp_list_ptr pointer; 39 dcl tp_list_size fixed bin; 40 dcl tp_list_area_ptr pointer; 41 42 dcl com_err_ entry options (variable); 43 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 44 dcl cu_$arg_ptr entry (fixed bin, pointer, fixed bin (21), fixed bin (35)); 45 dcl get_system_free_area_ entry () returns (pointer); 46 dcl ioa_ entry options (variable); 47 dcl metering_gate_$get_tuning_parameter entry 48 (char (*), fixed bin, bit (36) aligned, pointer, char (*), char (*), fixed bin (35)); 49 dcl metering_gate_$list_tuning_parameters entry 50 (pointer, bit (1) aligned, fixed bin, pointer); 51 52 dcl error_table_$badopt fixed bin (35) external static; 53 54 dcl WHOAMI char (32) internal static options (constant) init ("print_tuning_parameters"); 55 56 dcl (cleanup, linkage_error) condition; 57 58 dcl (addr, char, null) builtin; 59 60 /* */ 61 62 call cu_$arg_count (nargs, code); 63 if code ^= 0 then do; 64 call com_err_ (code, WHOAMI); 65 return; 66 end; 67 68 special_sw = "0"b; /* Initialize flags */ 69 long_sw = "0"b; 70 have_names = "0"b; 71 tp_list_ptr = null (); 72 73 do argno = 1 to nargs; 74 call cu_$arg_ptr (argno, ap, al, (0)); 75 76 if (arg = "-short") | (arg = "-sh") then long_sw = "0"b; 77 if (arg = "-long") | (arg = "-lg") then long_sw = "1"b; 78 else if (arg = "-special") | (arg = "-all") | (arg = "-a") then special_sw = "1"b; 79 else if (char (arg, 1) = "-") then do; 80 call com_err_ (error_table_$badopt, WHOAMI, "^a", arg); 81 return; 82 end; 83 else have_names = "1"b; 84 end; 85 86 on condition (cleanup) begin; 87 if tp_list_ptr ^= null () then free tp_list; 88 end; 89 90 on condition (linkage_error) begin; 91 call com_err_ (0, WHOAMI, "This routine requires access to metering_gate_"); 92 goto main_return; 93 end; 94 95 96 /* */ 97 98 if ^have_names then do; /* Must list them all */ 99 tp_list_area_ptr = get_system_free_area_ (); 100 call metering_gate_$list_tuning_parameters (tp_list_area_ptr, special_sw, tp_list_size, tp_list_ptr); 101 102 call ioa_ ("Current system tuning parameters:^/"); 103 104 do idx = 1 to tp_list_size; 105 tp_name = tp_list (idx).long_name; 106 tp_short_name = tp_list (idx).short_name; 107 tp_value = tp_list (idx).value; 108 tp_ptr = tp_list (idx).ptr; 109 tp_type = tp_list (idx).type; 110 111 call print (); /* Print this one */ 112 end; 113 114 call ioa_ (""); 115 end; 116 117 else do; /* List individual values */ 118 do argno = 1 to nargs; 119 call cu_$arg_ptr (argno, ap, al, (0)); 120 if (char (arg, 1) ^= "-") then do; 121 tp_name = arg; 122 call metering_gate_$get_tuning_parameter 123 (tp_name, tp_type, tp_value, tp_ptr, tp_name, tp_short_name, code); 124 if code = 0 then 125 call print (); 126 else call com_err_ (code, WHOAMI, "^a", tp_name); 127 end; 128 end; 129 end; 130 131 main_return: 132 if tp_list_ptr ^= null () then free tp_list; 133 134 return; 135 136 /* */ 137 138 print: proc (); 139 140 /* This procedure prints the value for a single tuning parameter. */ 141 142 dcl char_value char (4) aligned; 143 dcl scaled_value fixed bin (35, 18); 144 dcl binary_value fixed bin (35); 145 dcl float_value float bin (27); 146 147 unspec (char_value) = tp_value; 148 unspec (scaled_value) = tp_value; 149 unspec (binary_value) = tp_value; 150 unspec (float_value) = tp_value; 151 152 if ^long_sw then do; 153 if tp_type = TP_CHAR then 154 call ioa_ ("^a^28t""^a""", tp_name, char_value); 155 156 else if tp_type = TP_INTEGER then 157 call ioa_ ("^a^28t^d", tp_name, binary_value); 158 159 else if tp_type = TP_SCALED_INTEGER then 160 call ioa_ ("^a^28t^f", tp_name, round (decimal (scaled_value), 4)); 161 162 else if tp_type = TP_MICROSECONDS then 163 call ioa_ ("^a^28t^f seconds", tp_name, (float (binary_value) / 1.0e6)); 164 165 else if tp_type = TP_ON_OFF then 166 call ioa_ ("^a^28t^[on^;off^]", tp_name, (binary_value ^= 0)); 167 168 else if tp_type = TP_FLOAT then 169 call ioa_ ("^a^28t^f", tp_name, float_value); 170 171 else call ioa_ ("^a^28t^w", tp_name, tp_value); 172 end; 173 174 else do; 175 if tp_type = TP_CHAR then 176 call ioa_ ("^a^28t^a^40t""^a""^52t(^p)", 177 tp_name, tp_short_name, char_value, tp_ptr); 178 179 else if tp_type = TP_INTEGER then 180 call ioa_ ("^a^28t^a^40t^d^52t(^p)", 181 tp_name, tp_short_name, binary_value, tp_ptr); 182 183 else if tp_type = TP_SCALED_INTEGER then 184 call ioa_ ("^a^28t^a^40t^f^52t(^p)", 185 tp_name, tp_short_name, round (decimal (scaled_value), 4), tp_ptr); 186 187 else if tp_type = TP_MICROSECONDS then 188 call ioa_ ("^a^28t^a^40t^f seconds^52t(^p)", 189 tp_name, tp_short_name, (float (binary_value) / 1.0e6), tp_ptr); 190 191 else if tp_type = TP_ON_OFF then 192 call ioa_ ("^a^28t^a^40t^[on^;off^]^52t(^p)", 193 tp_name, tp_short_name, (binary_value ^= 0), tp_ptr); 194 195 else if tp_type = TP_FLOAT then 196 call ioa_ ("^a^28t^a^40t^f^52t(^p)", 197 tp_name, tp_short_name, float_value, tp_ptr); 198 199 200 else call ioa_ ("^a^28t^a^40t^w^52t(^p)", 201 tp_name, tp_short_name, tp_value, tp_ptr); 202 end; 203 204 return; 205 end print; 206 207 /* BEGIN INCLUDE FILE ... tuning_parameter_info.incl.pl1 ... 04/21/81 ... WOS */ 1 2 1 3 dcl tp_info_ptr pointer; 1 4 1 5 dcl 1 tp_info aligned based (tp_info_ptr), 1 6 2 ptr pointer unaligned, /* Location of the value */ 1 7 2 value bit (36) aligned, /* Current value */ 1 8 2 type fixed bin, /* See types, below */ 1 9 2 special bit (1) aligned, /* Whether this one is "special" */ 1 10 2 long_name char (32) unaligned, /* Long and short names */ 1 11 2 short_name char (16) unaligned; 1 12 1 13 dcl (TP_ON_OFF init (1), /* bit (1) aligned -- also "on" and "off" to the command */ 1 14 TP_INTEGER init (2), /* fixed bin (35) */ 1 15 TP_MICROSECONDS init (3), /* fixed bin (35) microseconds, scaled by command */ 1 16 TP_SCALED_INTEGER init (4), /* fixed bin (35, 18) */ 1 17 TP_CHAR init (5), /* char (4) aligned */ 1 18 TP_FLOAT init (6) /* float bin (27) aligned */ 1 19 ) fixed binary internal static options (constant); 1 20 1 21 /* END INCLUDE FILE ... tuning_parameter_info.incl.pl1 */ 207 208 209 end print_tuning_parameters; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1453.7 print_tuning_parameters.pl1 >dumps>old>recomp>print_tuning_parameters.pl1 207 1 03/29/82 1006.9 tuning_parameter_info.incl.pl1 >ldd>include>tuning_parameter_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. TP_CHAR constant fixed bin(17,0) initial dcl 1-13 ref 153 175 TP_FLOAT constant fixed bin(17,0) initial dcl 1-13 ref 168 195 TP_INTEGER constant fixed bin(17,0) initial dcl 1-13 ref 156 179 TP_MICROSECONDS constant fixed bin(17,0) initial dcl 1-13 ref 162 187 TP_ON_OFF constant fixed bin(17,0) initial dcl 1-13 ref 165 191 TP_SCALED_INTEGER constant fixed bin(17,0) initial dcl 1-13 ref 159 183 WHOAMI 000000 constant char(32) initial unaligned dcl 54 set ref 64* 80* 91* 126* al 000102 automatic fixed bin(21,0) dcl 21 set ref 74* 76 76 77 77 78 78 78 79 80 80 119* 120 121 ap 000104 automatic pointer dcl 22 set ref 74* 76 76 77 77 78 78 78 79 80 119* 120 121 arg based char unaligned dcl 23 set ref 76 76 77 77 78 78 78 79 80* 120 121 argno 000100 automatic fixed bin(17,0) dcl 19 set ref 73* 74* 118* 119* binary_value 000176 automatic fixed bin(35,0) dcl 144 set ref 149* 156* 162 165 179* 187 191 char builtin function dcl 58 ref 79 120 char_value 000174 automatic char(4) dcl 142 set ref 147* 153* 175* cleanup 000146 stack reference condition dcl 56 ref 86 code 000106 automatic fixed bin(35,0) dcl 24 set ref 62* 63 64* 122* 124 126* com_err_ 000010 constant entry external dcl 42 ref 64 80 91 126 cu_$arg_count 000012 constant entry external dcl 43 ref 62 cu_$arg_ptr 000014 constant entry external dcl 44 ref 74 119 error_table_$badopt 000026 external static fixed bin(35,0) dcl 52 set ref 80* float_value 000177 automatic float bin(27) dcl 145 set ref 150* 168* 195* get_system_free_area_ 000016 constant entry external dcl 45 ref 99 have_names 000136 automatic bit(1) dcl 35 set ref 70* 83* 98 idx 000107 automatic fixed bin(17,0) dcl 25 set ref 104* 105 106 107 108 109* ioa_ 000020 constant entry external dcl 46 ref 102 114 153 156 159 162 165 168 171 175 179 183 187 191 195 200 linkage_error 000154 stack reference condition dcl 56 ref 90 long_name 4 based char(32) array level 2 packed unaligned dcl 37 ref 105 long_sw 000135 automatic bit(1) dcl 34 set ref 69* 76* 77* 152 metering_gate_$get_tuning_parameter 000022 constant entry external dcl 47 ref 122 metering_gate_$list_tuning_parameters 000024 constant entry external dcl 49 ref 100 nargs 000101 automatic fixed bin(17,0) dcl 20 set ref 62* 73 118 null builtin function dcl 58 ref 71 87 131 ptr based pointer array level 2 packed unaligned dcl 37 ref 108 scaled_value 000175 automatic fixed bin(35,18) dcl 143 set ref 148* 159 159 183 183 short_name 14 based char(16) array level 2 packed unaligned dcl 37 ref 106 special_sw 000134 automatic bit(1) dcl 33 set ref 68* 78* 100* tp_info based structure level 1 dcl 1-5 tp_list based structure array level 1 dcl 37 ref 87 131 tp_list_area_ptr 000144 automatic pointer dcl 40 set ref 99* 100* tp_list_ptr 000140 automatic pointer dcl 38 set ref 71* 87 87 100* 105 106 107 108 109 131 131 tp_list_size 000142 automatic fixed bin(17,0) dcl 39 set ref 87 100* 104 131 tp_name 000114 automatic char(32) unaligned dcl 30 set ref 105* 121* 122* 122* 126* 153* 156* 159* 162* 165* 168* 171* 175* 179* 183* 187* 191* 195* 200* tp_ptr 000112 automatic pointer dcl 29 set ref 108* 122* 175* 179* 183* 187* 191* 195* 200* tp_short_name 000124 automatic char(32) unaligned dcl 31 set ref 106* 122* 175* 179* 183* 187* 191* 195* 200* tp_type 000110 automatic fixed bin(17,0) dcl 27 set ref 109* 122* 153 156 159 162 165 168 175 179 183 187 191 195 tp_value 000111 automatic bit(36) dcl 28 set ref 107* 122* 147 148 149 150 171* 200* type 2 based fixed bin(17,0) array level 2 dcl 37 ref 109 value 1 based bit(36) array level 2 dcl 37 ref 107 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addr builtin function dcl 58 tp_info_ptr automatic pointer dcl 1-3 NAMES DECLARED BY EXPLICIT CONTEXT. main_return 000760 constant label dcl 131 ref 92 print 000771 constant entry internal dcl 138 ref 111 124 print_tuning_parameter 000211 constant entry external dcl 11 print_tuning_parameters 000220 constant entry external dcl 11 ptp 000202 constant entry external dcl 11 NAMES DECLARED BY CONTEXT OR IMPLICATION. decimal builtin function ref 159 159 183 183 float builtin function ref 162 187 round builtin function ref 159 159 183 183 unspec builtin function set ref 147 148* 149* 150* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2040 2070 1657 2050 Length 2312 1657 30 206 160 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME ptp 270 external procedure is an external procedure. on unit on line 86 64 on unit on unit on line 90 92 on unit print internal procedure shares stack frame of external procedure ptp. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ptp 000100 argno ptp 000101 nargs ptp 000102 al ptp 000104 ap ptp 000106 code ptp 000107 idx ptp 000110 tp_type ptp 000111 tp_value ptp 000112 tp_ptr ptp 000114 tp_name ptp 000124 tp_short_name ptp 000134 special_sw ptp 000135 long_sw ptp 000136 have_names ptp 000140 tp_list_ptr ptp 000142 tp_list_size ptp 000144 tp_list_area_ptr ptp 000174 char_value print 000175 scaled_value print 000176 binary_value print 000177 float_value print THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 r_ne_as call_ext_out_desc call_ext_out return tra_ext enable ext_entry int_entry real_to_real_tr free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr get_system_free_area_ ioa_ metering_gate_$get_tuning_parameter metering_gate_$list_tuning_parameters THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000201 62 000225 63 000235 64 000237 65 000254 68 000255 69 000256 70 000257 71 000260 73 000262 74 000271 76 000307 77 000322 78 000335 79 000354 80 000363 81 000415 83 000416 84 000420 86 000422 87 000436 88 000447 90 000450 91 000464 92 000510 98 000513 99 000515 100 000524 102 000541 104 000555 105 000564 106 000572 107 000577 108 000602 109 000604 111 000606 112 000607 114 000611 115 000622 118 000623 119 000632 120 000650 121 000661 122 000665 124 000724 126 000730 128 000756 131 000760 134 000770 138 000771 147 000772 148 000774 149 000775 150 000776 152 000777 153 001001 156 001032 159 001060 162 001122 165 001162 168 001214 171 001242 172 001265 175 001266 179 001330 183 001371 187 001446 191 001512 195 001553 200 001614 204 001652 ----------------------------------------------------------- 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