COMPILATION LISTING OF SEGMENT fnp_throughput Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 10/25/89 1050.3 mst Wed 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 /* format: style4,delnl,insnl,^ifthendo */ 12 fnp_throughput: 13 procedure; 14 15 /* Command to report throughput statistics for one FNP or all FNPs */ 16 /* Usage: fnp_throughput {fnp_name | * {-report_reset}} | {-reset} */ 17 18 /* written September 1981 by Robert Coren */ 19 20 /* AUTOMATIC */ 21 22 dcl nargs fixed bin; 23 dcl code fixed bin (35); 24 dcl chan_name char (1); 25 dcl report bit (1); 26 dcl reset bit (1); 27 dcl iarg fixed bin; 28 dcl fnp_no fixed bin; 29 dcl reported bit (1); 30 dcl time_now fixed bin (71); 31 dcl areap ptr; 32 dcl star_name (1) char (1); 33 dcl n_channels fixed bin; 34 dcl orig_chan_meterp ptr; 35 dcl chanx fixed bin; 36 dcl time_from fixed bin (71); 37 dcl time_interval fixed bin (71); 38 dcl cur_input_chars fixed bin (35); 39 dcl cur_output_chars fixed bin (35); 40 41 dcl 1 fnp_stats aligned, 42 2 input_chars fixed bin (35), 43 2 output_chars fixed bin (35); 44 45 dcl argp ptr; 46 dcl argl fixed bin (21); 47 dcl arg char (argl) based (argp); 48 49 50 /* ENTRIES */ 51 52 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 53 dcl com_err_ entry () options (variable); 54 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 55 dcl parse_fnp_name_ entry (char (*), fixed bin); 56 dcl get_system_free_area_ entry () returns (ptr); 57 dcl comm_meters_ entry ((*) char (*), fixed bin, ptr, fixed bin, ptr, fixed bin (35)); 58 dcl comm_meters_$free entry (ptr, ptr, fixed bin (35)); 59 dcl system_info_$timeup entry (fixed bin (71)); 60 dcl ioa_ entry () options (variable); 61 dcl meter_format_$picture entry (fixed bin (35), fixed bin) returns (char (15) var); 62 dcl meter_format_$time entry (fixed bin (71)) returns (char (10)); 63 64 65 /* EXTERNAL STATIC */ 66 67 dcl ( 68 error_table_$wrong_no_of_args, 69 error_table_$badopt, 70 error_table_$noarg, 71 error_table_$inconsistent, 72 error_table_$no_channel_meters 73 ) fixed bin (35) external static; 74 75 76 /* INTERNAL STATIC */ 77 78 dcl CMD_NAME char (14) internal static options (constant) init ("fnp_throughput"); 79 80 dcl first_time bit (1) internal static init ("1"b); 81 dcl earliest_time fixed bin (71) internal static; 82 83 dcl 1 prev_fnp_stats (8) aligned internal static like fnp_stats; 84 85 86 /* BUILTIN FUNCTIONS */ 87 88 dcl (substr, clock, max, divide) builtin; 89 90 call cu_$arg_count (nargs, code); 91 if code ^= 0 92 then do; 93 call com_err_ (code, CMD_NAME); 94 return; 95 end; 96 97 if nargs < 1 | nargs > 2 98 then do; 99 call com_err_ (error_table_$wrong_no_of_args, CMD_NAME, 100 "^/Usage: ^a channel_name {-report_reset} | {-reset}", CMD_NAME); 101 return; 102 end; 103 104 chan_name = " "; 105 report = "1"b; 106 reset = "0"b; 107 do iarg = 1 to nargs; 108 call cu_$arg_ptr (iarg, argp, argl, code); 109 if substr (arg, 1, 1) = "-" 110 then do; 111 if arg = "-reset" | arg = "-rs" 112 then do; 113 report = "0"b; 114 reset = "1"b; 115 end; 116 117 else if arg = "-report_reset" | arg = "-rr" 118 then report, reset = "1"b; 119 120 else do; 121 call com_err_ (error_table_$badopt, CMD_NAME, arg); 122 return; 123 end; 124 end; 125 126 else do; 127 if chan_name ^= " " 128 then do; 129 call com_err_ (0, CMD_NAME, "More than one FNP name specified."); 130 return; 131 end; 132 133 if arg = "*" 134 then ; 135 else do; 136 call parse_fnp_name_ (arg, fnp_no); 137 if fnp_no = -1 138 then do; 139 call com_err_ (0, CMD_NAME, "^a is not a valid FNP name.", arg); 140 return; 141 end; 142 end; 143 144 chan_name = arg; 145 end; 146 end; 147 148 if chan_name = " " 149 then if report 150 then do; /* didn't tell us who to get */ 151 call com_err_ (error_table_$noarg, CMD_NAME, "No FNP name supplied."); 152 return; 153 end; 154 else ; 155 156 else if ^report 157 then do; 158 call com_err_ (error_table_$inconsistent, CMD_NAME, "Cannot specify FNP name and -reset."); 159 return; 160 end; 161 162 /* Arguments all parsed, now do the real work */ 163 164 reported = "0"b; 165 if first_time 166 then do; 167 prev_fnp_stats (*) = 0; 168 call system_info_$timeup (earliest_time); 169 first_time = "0"b; 170 end; 171 172 time_now = clock (); 173 call ioa_ ("Total metering time ^a", meter_format_$time (time_now - earliest_time)); 174 175 if reset 176 then star_name (1) = "*"; /* need statistics on everyone to reset */ 177 else star_name (1) = chan_name; 178 179 areap = get_system_free_area_ (); 180 call comm_meters_ (star_name, CHANNEL_METERS_VERSION_1, areap, n_channels, chan_meterp, code); 181 if code ^= 0 /* comm_meters_ calls sub_err_, so don't sweat it */ 182 then return; 183 184 orig_chan_meterp = chan_meterp; /* we'll need this later for freeing */ 185 do chanx = 1 to n_channels; 186 if channel_meters.multiplexer_type = MCS_MPX /* only ones we're interested in */ 187 then do; 188 call parse_fnp_name_ ((channel_meters.channel_name), fnp_no); 189 /* find out which one this is */ 190 if fnp_no > 0 /* it would be awfully surprising if it weren't */ 191 then do; 192 fnp_meterp = channel_meters.mpx_specific_meterp; 193 fnp_stats.input_chars = channel_meters.cumulative.unconverted_input_chars; 194 fnp_stats.output_chars = channel_meters.cumulative.converted_output_chars; 195 196 if report /* not just -reset */ 197 then if chan_name = "*" /* we want them all */ 198 | chan_name = channel_meters.channel_name 199 /* or anyway we want this one */ 200 then do; 201 if ^reported 202 then do; 203 call ioa_ ("^35tinput^10xoutput"); 204 reported = "1"b; 205 end; 206 207 time_from = max (earliest_time, fnp_meters.from_fnp.time_booted); 208 time_interval = divide (time_now - time_from, 1000000, 71, 0); 209 cur_input_chars = fnp_stats.input_chars - prev_fnp_stats (fnp_no).input_chars; 210 cur_output_chars = fnp_stats.output_chars - prev_fnp_stats (fnp_no).output_chars; 211 212 call ioa_ ("^/FNP ^a -- up ^[for ^a^;time not available^]", 213 channel_meters.channel_name, fnp_meters.from_fnp.time_booted ^= 0, 214 meter_format_$time (time_now - fnp_meters.from_fnp.time_booted)); 215 call ioa_ ("Characters transmitted^29t^a^44t^a", 216 meter_format_$picture (cur_input_chars, 11), 217 meter_format_$picture (cur_output_chars, 11)); 218 call ioa_ ("Characters per second^29t^a^44t^a", 219 meter_format_$picture (divide (cur_input_chars, time_interval, 35, 0), 11), 220 meter_format_$picture (divide (cur_output_chars, time_interval, 35, 0), 11)); 221 end; 222 223 if reset 224 then prev_fnp_stats (fnp_no) = fnp_stats; 225 end; 226 end; 227 228 chan_meterp = channel_meters.next_channelp; /* on to next channel */ 229 end; 230 231 call comm_meters_$free (areap, orig_chan_meterp, code); 232 if code ^= 0 /* unlikely, but we should check */ 233 then call com_err_ (code, CMD_NAME, "From comm_meters_$free"); 234 235 if report & ^reported /* wanted some display and didn't get it */ 236 then call com_err_ (error_table_$no_channel_meters, CMD_NAME, chan_name); 237 238 if reset 239 then earliest_time = time_now; 240 241 return; 242 1 1 /* BEGIN INCLUDE FILE...channel_meters.incl.pl1 */ 1 2 1 3 /* Include file to define meters reported by comm_meters_ for all channels */ 1 4 1 5 /* Created February 1981 by Robert Coren */ 1 6 1 7 dcl chan_meterp pointer; 1 8 1 9 dcl CHANNEL_METERS_VERSION_1 fixed bin int static options (constant) init (1); 1 10 1 11 dcl 1 channel_meters aligned based (chan_meterp), 1 12 2 version fixed bin, 1 13 2 multiplexer_type fixed bin, /* of this channel */ 1 14 2 parent_type fixed bin, /* multiplexer type of parent (or -1 if this is level 1 */ 1 15 2 line_type fixed bin, /* line type of this channel */ 1 16 2 flags, 1 17 3 reserved bit (36) unaligned, 1 18 2 pad1 fixed bin, 1 19 2 channel_name char (32), 1 20 2 mpx_specific_meterp pointer, /* pointer to meters for this channel's multiplexer type */ 1 21 2 parent_meterp pointer, /* pointer to meters kept for channel by its parent */ 1 22 2 next_channelp pointer, /* pointer to structure for next channel in list */ 1 23 2 cumulative, /* meters accumulated since last load of parent */ 1 24 3 unconverted_input_chars fixed bin (35), /* characters input (before conversion) */ 1 25 3 converted_output_chars fixed bin (35), /* characters output (after conversion) */ 1 26 3 read_calls fixed bin, /* calls to channel_manager$read */ 1 27 3 write_calls fixed bin, /* calls to channel_manager$write */ 1 28 3 control_calls fixed bin, /* calls to channel_manager$control */ 1 29 3 software_interrupts fixed bin, /* calls to channel$manager$interrupt on behalf of this channel */ 1 30 3 read_call_time fixed bin (71), /* time accumulated in channel_manager$read */ 1 31 3 write_call_time fixed bin (71), /* time accumulated in channel_manager$write */ 1 32 3 control_call_time fixed bin (71), /* time accumulated in channel_manager$control */ 1 33 3 interrupt_time fixed bin (71), /* time spent handling software interrupts */ 1 34 3 pad (4) fixed bin, 1 35 2 saved like channel_meters.cumulative; /* meters saved when channel last dialed up */ 1 36 1 37 /* END INCLUDE FILE...channel_meters.incl.pl1 */ 243 244 2 1 2 2 /* BEGIN INCLUDE FILE...fnp_meters.incl.pl1 */ 2 3 2 4 /* This include file defines structures used to return meters when 2 5** a get_meters order is issued for a whole FNP. 2 6**/ 2 7 2 8 /* Written December 1980 by Robert Coren */ 2 9 /* Modified February 1981 by Robert Coren to split off fnp_channel_meters */ 2 10 2 11 dcl fnp_meterp pointer; 2 12 2 13 dcl 1 fnp_global_meters based aligned, /* FNP-wide meters */ 2 14 2 channels_dialed_cum fixed bin (35), 2 15 2 channels_dialed_updates fixed bin (35), /* updates to above */ 2 16 2 space_available_cum fixed bin (35), 2 17 2 space_available_updates fixed bin (35), /* updates to above */ 2 18 2 input_mbx_in_use_cum fixed bin (35), 2 19 2 input_mbx_updates fixed bin (35), /* updates to above */ 2 20 2 cur_channels_dialed fixed bin (18) unsigned unaligned, 2 21 2 space_alloc_failures fixed bin (18) unsigned unaligned, 2 22 2 abnormal_dia_status fixed bin (18) unsigned unaligned, 2 23 2 buffer_pool fixed bin (18) unsigned unaligned, 2 24 2 buffer_allocations fixed bin (35), 2 25 2 buffers_preallocated fixed bin (35), 2 26 2 used_preallocated_buffer fixed bin (35), 2 27 2 no_preallocated_available fixed bin (35), 2 28 2 time_booted fixed bin (71), 2 29 2 total_idle_count fixed bin (35), 2 30 2 idle_count_updates fixed bin (35), 2 31 2 max_idle_count fixed bin (35), 2 32 2 min_idle_count fixed bin (35), 2 33 2 memory_parity_errors fixed bin (35); 2 34 2 35 dcl 1 fnp_meters based (fnp_meterp) aligned, /* structure for returning FNP-wide meters kept by FNP and ring 0 */ 2 36 2 version fixed bin, 2 37 2 pad fixed bin, 2 38 2 from_fnp like fnp_global_meters, 2 39 2 n_channels fixed bin, 2 40 2 output_mbx_in_use_cum fixed bin (35), 2 41 2 output_mbx_updates fixed bin (35), 2 42 2 output_mbx_unavailable fixed bin (35), 2 43 2 max_output_mbx_in_use fixed bin, 2 44 2 queue_entries_made fixed bin (35), 2 45 2 input_rejects fixed bin, 2 46 2 processed_from_q fixed bin (35), 2 47 2 fnp_channel_locked fixed bin (35), 2 48 2 input_data_transactions fixed bin (35), 2 49 2 output_data_transactions fixed bin (35), 2 50 2 input_control_transactions fixed bin (35), 2 51 2 output_control_transactions fixed bin (35), 2 52 2 fnp_space_restricted_output fixed bin, 2 53 2 fnp_mem_size fixed bin, 2 54 2 iom_number fixed bin, 2 55 2 iom_chan_no fixed bin; 2 56 2 57 dcl FNP_METERS_VERSION_2 fixed bin int static options (constant) init (2); 2 58 2 59 /* END INCLUDE FILE...fnp_meters.incl.pl1 */ 245 246 3 1 /* Begin include file ..... multiplexer_types.incl.pl1 */ 3 2 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(89-03-20,Parisek), approve(89-06-01,MCR8110), 3 7* audit(89-10-09,Farley), install(89-10-25,MR12.3-1100): 3 8* Add support of protocol mpx. 3 9* END HISTORY COMMENTS */ 3 10 3 11 3 12 /* This include file defines known multiplexer types */ 3 13 /* Prepared August 1978 by Larry Johnson */ 3 14 /* Changed April 1979 to rename the fnp multiplexer mcs */ 3 15 3 16 dcl (TTY_MPX init (0), /* nonmultiplexed channel */ 3 17 MCS_MPX init (1), /* FNP running MCS */ 3 18 USER1_MPX init (2), /* a range of values for user defined multiplexers */ 3 19 USER2_MPX init (3), 3 20 USER3_MPX init (4), 3 21 USER4_MPX init (5), 3 22 USER5_MPX init (6), 3 23 IBM3270_MPX init (7), /* IBM 3270 display terminal controller */ 3 24 VIP7760_MPX init (8), /* Honeywell VIP 7760 terminal controller */ 3 25 STY_MPX init (9), /* Software Terminal Facility */ 3 26 LAP_MPX init (10), /* Link Access Protocol (X.25 level 2) */ 3 27 X25_MPX init (11), /* CCITT X.25 level 3 */ 3 28 HASP_MPX init (12), /* HASP RJE protocol */ 3 29 UNCP_MPX init (13), /* DSA protocol */ 3 30 SYSTEM2_MPX init (14), 3 31 SYSTEM1_MPX init (15), 3 32 PROTOCOL_MPX init (16)) /* TCP/IP network X.25 protocol */ 3 33 int static options (constant); 3 34 3 35 dcl mpx_types (0:16) char (32) int static options (constant) init ( 3 36 "tty", "mcs", "user1", "user2", "user3", "user4", "user5", "ibm3270", 3 37 "vip7760", "sty", "lap", "x25", "hasp", "uncp", "system2", "system1", 3 38 "protocol"); 3 39 3 40 dcl mpx_special_lock (0:16) bit (1) int static options (constant) init ( 3 41 "0"b, "1"b, "0"b, "0"b, "0"b, "0"b, "0"b, "0"b, 3 42 "0"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "0"b); 3 43 3 44 /* End include file ..... multiplexer_types.incl.pl1 */ 247 248 249 end fnp_throughput; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/25/89 1005.1 fnp_throughput.pl1 >special_ldd>install>MR12.3-1100>fnp_throughput.pl1 243 1 06/19/81 2115.0 channel_meters.incl.pl1 >ldd>include>channel_meters.incl.pl1 245 2 03/29/82 1006.8 fnp_meters.incl.pl1 >ldd>include>fnp_meters.incl.pl1 247 3 10/25/89 0959.9 multiplexer_types.incl.pl1 >special_ldd>install>MR12.3-1100>multiplexer_types.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. CHANNEL_METERS_VERSION_1 000034 constant fixed bin(17,0) initial dcl 1-9 set ref 180* CMD_NAME 000000 constant char(14) initial packed unaligned dcl 78 set ref 93* 99* 99* 121* 129* 139* 151* 158* 232* 235* MCS_MPX constant fixed bin(17,0) initial dcl 3-16 ref 186 areap 000112 automatic pointer dcl 31 set ref 179* 180* 231* arg based char packed unaligned dcl 47 set ref 109 111 111 117 117 121* 133 136* 139* 144 argl 000134 automatic fixed bin(21,0) dcl 46 set ref 108* 109 111 111 117 117 121 121 133 136 136 139 139 144 argp 000132 automatic pointer dcl 45 set ref 108* 109 111 111 117 117 121 133 136 139 144 chan_meterp 000136 automatic pointer dcl 1-7 set ref 180* 184 186 188 192 193 194 196 212 228* 228 chan_name 000102 automatic char(1) packed unaligned dcl 24 set ref 104* 127 144* 148 177 196 196 235* channel_meters based structure level 1 dcl 1-11 channel_name 6 based char(32) level 2 dcl 1-11 set ref 188 196 212* chanx 000120 automatic fixed bin(17,0) dcl 35 set ref 185* clock builtin function dcl 88 ref 172 code 000101 automatic fixed bin(35,0) dcl 23 set ref 90* 91 93* 108* 180* 181 231* 232 232* com_err_ 000036 constant entry external dcl 53 ref 93 99 121 129 139 151 158 232 235 comm_meters_ 000046 constant entry external dcl 57 ref 180 comm_meters_$free 000050 constant entry external dcl 58 ref 231 converted_output_chars 25 based fixed bin(35,0) level 3 dcl 1-11 ref 194 cu_$arg_count 000034 constant entry external dcl 52 ref 90 cu_$arg_ptr 000040 constant entry external dcl 54 ref 108 cumulative 24 based structure level 2 dcl 1-11 cur_input_chars 000126 automatic fixed bin(35,0) dcl 38 set ref 209* 215* 218 218 cur_output_chars 000127 automatic fixed bin(35,0) dcl 39 set ref 210* 215* 218 218 divide builtin function dcl 88 ref 208 218 218 218 218 earliest_time 000012 internal static fixed bin(71,0) dcl 81 set ref 168* 173 173 207 238* error_table_$badopt 000064 external static fixed bin(35,0) dcl 67 set ref 121* error_table_$inconsistent 000070 external static fixed bin(35,0) dcl 67 set ref 158* error_table_$no_channel_meters 000072 external static fixed bin(35,0) dcl 67 set ref 235* error_table_$noarg 000066 external static fixed bin(35,0) dcl 67 set ref 151* error_table_$wrong_no_of_args 000062 external static fixed bin(35,0) dcl 67 set ref 99* first_time 000010 internal static bit(1) initial packed unaligned dcl 80 set ref 165 169* fnp_global_meters based structure level 1 dcl 2-13 fnp_meterp 000140 automatic pointer dcl 2-11 set ref 192* 207 212 212 212 fnp_meters based structure level 1 dcl 2-35 fnp_no 000106 automatic fixed bin(17,0) dcl 28 set ref 136* 137 188* 190 209 210 223 fnp_stats 000130 automatic structure level 1 dcl 41 set ref 223 from_fnp 2 based structure level 2 dcl 2-35 get_system_free_area_ 000044 constant entry external dcl 56 ref 179 iarg 000105 automatic fixed bin(17,0) dcl 27 set ref 107* 108* input_chars 000014 internal static fixed bin(35,0) array level 2 in structure "prev_fnp_stats" dcl 83 in procedure "fnp_throughput" set ref 209 input_chars 000130 automatic fixed bin(35,0) level 2 in structure "fnp_stats" dcl 41 in procedure "fnp_throughput" set ref 193* 209 ioa_ 000054 constant entry external dcl 60 ref 173 203 212 215 218 max builtin function dcl 88 ref 207 meter_format_$picture 000056 constant entry external dcl 61 ref 215 215 218 218 meter_format_$time 000060 constant entry external dcl 62 ref 173 173 212 212 mpx_specific_meterp 16 based pointer level 2 dcl 1-11 ref 192 multiplexer_type 1 based fixed bin(17,0) level 2 dcl 1-11 ref 186 n_channels 000115 automatic fixed bin(17,0) dcl 33 set ref 180* 185 nargs 000100 automatic fixed bin(17,0) dcl 22 set ref 90* 97 97 107 next_channelp 22 based pointer level 2 dcl 1-11 ref 228 orig_chan_meterp 000116 automatic pointer dcl 34 set ref 184* 231* output_chars 1 000014 internal static fixed bin(35,0) array level 2 in structure "prev_fnp_stats" dcl 83 in procedure "fnp_throughput" set ref 210 output_chars 1 000130 automatic fixed bin(35,0) level 2 in structure "fnp_stats" dcl 41 in procedure "fnp_throughput" set ref 194* 210 parse_fnp_name_ 000042 constant entry external dcl 55 ref 136 188 prev_fnp_stats 000014 internal static structure array level 1 dcl 83 set ref 167* 223* report 000103 automatic bit(1) packed unaligned dcl 25 set ref 105* 113* 117* 148 156 196 235 reported 000107 automatic bit(1) packed unaligned dcl 29 set ref 164* 201 204* 235 reset 000104 automatic bit(1) packed unaligned dcl 26 set ref 106* 114* 117* 175 223 238 star_name 000114 automatic char(1) array packed unaligned dcl 32 set ref 175* 177* 180* substr builtin function dcl 88 ref 109 system_info_$timeup 000052 constant entry external dcl 59 ref 168 time_booted 16 based fixed bin(71,0) level 3 dcl 2-35 ref 207 212 212 212 time_from 000122 automatic fixed bin(71,0) dcl 36 set ref 207* 208 time_interval 000124 automatic fixed bin(71,0) dcl 37 set ref 208* 218 218 218 218 time_now 000110 automatic fixed bin(71,0) dcl 30 set ref 172* 173 173 208 212 212 238 unconverted_input_chars 24 based fixed bin(35,0) level 3 dcl 1-11 ref 193 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FNP_METERS_VERSION_2 internal static fixed bin(17,0) initial dcl 2-57 HASP_MPX internal static fixed bin(17,0) initial dcl 3-16 IBM3270_MPX internal static fixed bin(17,0) initial dcl 3-16 LAP_MPX internal static fixed bin(17,0) initial dcl 3-16 PROTOCOL_MPX internal static fixed bin(17,0) initial dcl 3-16 STY_MPX internal static fixed bin(17,0) initial dcl 3-16 SYSTEM1_MPX internal static fixed bin(17,0) initial dcl 3-16 SYSTEM2_MPX internal static fixed bin(17,0) initial dcl 3-16 TTY_MPX internal static fixed bin(17,0) initial dcl 3-16 UNCP_MPX internal static fixed bin(17,0) initial dcl 3-16 USER1_MPX internal static fixed bin(17,0) initial dcl 3-16 USER2_MPX internal static fixed bin(17,0) initial dcl 3-16 USER3_MPX internal static fixed bin(17,0) initial dcl 3-16 USER4_MPX internal static fixed bin(17,0) initial dcl 3-16 USER5_MPX internal static fixed bin(17,0) initial dcl 3-16 VIP7760_MPX internal static fixed bin(17,0) initial dcl 3-16 X25_MPX internal static fixed bin(17,0) initial dcl 3-16 mpx_special_lock internal static bit(1) initial array packed unaligned dcl 3-40 mpx_types internal static char(32) initial array packed unaligned dcl 3-35 NAME DECLARED BY EXPLICIT CONTEXT. fnp_throughput 000204 constant entry external dcl 12 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1660 1754 1454 1670 Length 2244 1454 74 253 204 24 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME fnp_throughput 178 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 first_time fnp_throughput 000012 earliest_time fnp_throughput 000014 prev_fnp_stats fnp_throughput STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME fnp_throughput 000100 nargs fnp_throughput 000101 code fnp_throughput 000102 chan_name fnp_throughput 000103 report fnp_throughput 000104 reset fnp_throughput 000105 iarg fnp_throughput 000106 fnp_no fnp_throughput 000107 reported fnp_throughput 000110 time_now fnp_throughput 000112 areap fnp_throughput 000114 star_name fnp_throughput 000115 n_channels fnp_throughput 000116 orig_chan_meterp fnp_throughput 000120 chanx fnp_throughput 000122 time_from fnp_throughput 000124 time_interval fnp_throughput 000126 cur_input_chars fnp_throughput 000127 cur_output_chars fnp_throughput 000130 fnp_stats fnp_throughput 000132 argp fnp_throughput 000134 argl fnp_throughput 000136 chan_meterp fnp_throughput 000140 fnp_meterp fnp_throughput THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as call_ext_out_desc call_ext_out return_mac ext_entry divide_fx2 divide_fx3 clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ comm_meters_ comm_meters_$free cu_$arg_count cu_$arg_ptr get_system_free_area_ ioa_ meter_format_$picture meter_format_$time parse_fnp_name_ system_info_$timeup THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$inconsistent error_table_$no_channel_meters error_table_$noarg error_table_$wrong_no_of_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000203 90 000211 91 000221 93 000223 94 000240 97 000241 99 000246 101 000275 104 000276 105 000300 106 000302 107 000303 108 000311 109 000326 111 000333 113 000344 114 000345 115 000347 117 000350 121 000364 122 000410 124 000411 127 000412 129 000416 130 000443 133 000444 136 000452 137 000471 139 000474 140 000530 144 000531 146 000536 148 000540 151 000546 152 000572 154 000573 156 000574 158 000576 159 000622 164 000623 165 000624 167 000627 168 000643 169 000651 172 000653 173 000655 175 000711 177 000716 179 000720 180 000727 181 000762 184 000764 185 000766 186 000775 188 001001 190 001021 192 001023 193 001026 194 001031 196 001033 201 001045 203 001047 204 001066 207 001070 208 001077 209 001105 210 001116 212 001124 215 001173 218 001250 223 001337 228 001350 229 001353 231 001355 232 001370 235 001416 238 001443 241 001450 ----------------------------------------------------------- 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