COMPILATION LISTING OF SEGMENT ibm3270_meters_ 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.6 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 /* format: style4,delnl,insnl,^ifthendo */ 7 ibm3270_meters_: 8 procedure; 9 10 /* This subroutine contains entries for allocating, freeing, and displaying 11* meters for an IBM3270-type multiplexer. Only the _mpx entries are provided, 12* since the ibm3270 multiplexer does not maintain meters on behalf of its 13* subchannels. 14**/ 15 16 /* Written June 1981 by Robert Coren */ 17 18 /* PARAMETERS */ 19 20 dcl a_area_ptr ptr; 21 dcl a_meterp ptr; 22 dcl a_code fixed bin (35); 23 dcl a_chan_name char (*); 24 dcl a_iocbp ptr; 25 dcl a_chan_meterp ptr; 26 dcl a_flags bit (36) aligned; 27 dcl a_since_boot bit (1); 28 dcl a_summary_ptr ptr; 29 30 31 /* AUTOMATIC */ 32 33 dcl areap ptr; 34 dcl code fixed bin (35); 35 dcl iocbp ptr; 36 dcl flags bit (36) aligned; 37 dcl brief bit (1); 38 dcl error bit (1); 39 dcl since_boot bit (1); 40 dcl parent_fnp bit (1); 41 dcl ibm3270_meterp ptr; 42 dcl current_meterp ptr; 43 dcl saved_meterp ptr; 44 dcl current_fnp_meterp ptr; 45 dcl saved_fnp_meterp ptr; 46 47 dcl poll_failed fixed bin (35); 48 dcl select_failed fixed bin (35); 49 dcl bad_output fixed bin (35); 50 dcl bad_input fixed bin (35); 51 dcl bad_device fixed bin (35); 52 dcl write_format_error fixed bin (35); 53 dcl input_naks fixed bin (35); 54 dcl output_naks fixed bin (35); 55 dcl timeouts fixed bin (35); 56 dcl wack_received fixed bin (35); 57 dcl sent_too_many_naks fixed bin (35); 58 dcl recd_too_many_naks fixed bin (35); 59 dcl eot_no_resp fixed bin (35); 60 61 dcl total_poll_failed fixed bin (35); 62 dcl total_select_failed fixed bin (35); 63 dcl total_bad_output fixed bin (35); 64 dcl total_bad_input fixed bin (35); 65 dcl total_bad_device fixed bin (35); 66 dcl total_write_format_error fixed bin (35); 67 dcl total_input_naks fixed bin (35); 68 dcl total_output_naks fixed bin (35); 69 dcl total_timeouts fixed bin (35); 70 dcl total_wack_received fixed bin (35); 71 dcl total_sent_too_many_naks fixed bin (35); 72 dcl total_recd_too_many_naks fixed bin (35); 73 dcl total_eot_no_resp fixed bin (35); 74 75 76 /* BASED */ 77 78 dcl m_area area (100) based (areap); 79 80 81 /* EXTERNAL STATIC */ 82 83 dcl error_table_$noalloc external static fixed bin (35); 84 dcl iox_$user_output external static ptr; 85 86 87 /* ENTRIES */ 88 89 dcl ioa_$ioa_switch entry options (variable); 90 dcl meter_format_$picture entry (fixed bin (35), fixed bin) returns (char (15) varying); 91 92 93 /* CONDITIONS & BUILTINS */ 94 95 dcl area condition; 96 dcl (addr, null) builtin; 97 98 allocate_mpx: 99 entry (a_area_ptr, a_meterp, a_code); 100 101 areap = a_area_ptr; 102 a_code = 0; 103 104 on area 105 begin; 106 a_code = error_table_$noalloc; 107 go to exit; 108 end; 109 110 allocate ibm3270_meter_struc in (m_area) set (a_meterp); 111 a_meterp -> ibm3270_meter_struc.version = IBM3270_METERS_VERSION_1; 112 exit: 113 return; 114 115 116 free_mpx: 117 entry (a_meterp, a_code); 118 119 free a_meterp -> ibm3270_meter_struc; 120 a_code = 0; 121 return; 122 123 display_mpx: 124 entry (a_chan_name, a_iocbp, a_chan_meterp, a_flags, a_code); 125 126 iocbp = a_iocbp; 127 if iocbp = null () 128 then iocbp = iox_$user_output; 129 130 chan_meterp = a_chan_meterp; 131 flags = a_flags; 132 a_code = 0; 133 134 if flags & DISPLAY_MPX_SUMMARY /* we don't handle this */ 135 then return; 136 137 if flags & DISPLAY_MPX_BRIEF 138 then brief = "1"b; 139 else brief = "0"b; 140 141 if flags & DISPLAY_MPX_ERROR 142 then error = "1"b; 143 if flags & DISPLAY_MPX_SINCE_BOOT 144 then since_boot = "1"b; 145 else since_boot = "0"b; 146 147 if brief 148 then return; /* no "brief" meters from this multiplexer */ 149 150 call set_values; 151 152 call ioa_$ioa_switch (iocbp, "^/Poll failures^32t^a", meter_format_$picture (poll_failed, 7)); 153 call ioa_$ioa_switch (iocbp, "Select failures^32t^a", meter_format_$picture (select_failed, 7)); 154 155 if parent_fnp 156 then do; 157 call ioa_$ioa_switch (iocbp, "Invalid input messages^28t^a", meter_format_$picture (input_naks, 11)); 158 call ioa_$ioa_switch (iocbp, "NAK for output messages^28t^a", meter_format_$picture (output_naks, 11)); 159 call ioa_$ioa_switch (iocbp, "FNP rejected output^28t^a", meter_format_$picture (bad_output, 11)); 160 call ioa_$ioa_switch (iocbp, "Response timeouts^28t^a", meter_format_$picture (timeouts, 11)); 161 call ioa_$ioa_switch (iocbp, "WACKs received^28t^a", meter_format_$picture (wack_received, 11)); 162 call ioa_$ioa_switch (iocbp, "Invalid input limit exceeded^32t^a", 163 meter_format_$picture (sent_too_many_naks, 7)); 164 call ioa_$ioa_switch (iocbp, "Received NAK limit exceeded^32t^a", 165 meter_format_$picture (recd_too_many_naks, 7)); 166 call ioa_$ioa_switch (iocbp, "FNP sent EOT^32t^a", meter_format_$picture (eot_no_resp, 7)); 167 end; 168 169 call ioa_$ioa_switch (iocbp, "Incorrect output format^32t^a", meter_format_$picture (write_format_error, 7)); 170 call ioa_$ioa_switch (iocbp, "Unrecognized input^32t^a", meter_format_$picture (bad_input, 7)); 171 call ioa_$ioa_switch (iocbp, "Unrecognized device^32t^a", meter_format_$picture (bad_device, 7)); 172 173 return; 174 175 mpx_summary: 176 entry (a_chan_meterp, a_since_boot, a_summary_ptr, a_code); 177 178 /* entry to fill in values used by channel_comm_meters -summary */ 179 180 a_code = 0; 181 chan_meterp = a_chan_meterp; 182 summary_ptr = a_summary_ptr; 183 since_boot = a_since_boot; 184 call set_values; 185 186 channel_summary.error_count = poll_failed + select_failed + bad_input + bad_device; 187 if parent_fnp 188 then channel_summary.error_count = channel_summary.error_count + input_naks + output_naks + eot_no_resp; 189 190 return; 191 192 set_values: 193 procedure; 194 195 /* internal procedure to set metering values (either cumulative or since load */ 196 197 ibm3270_meterp = channel_meters.mpx_specific_meterp; 198 if channel_meters.parent_type = MCS_MPX /* if parent is an FNP */ 199 then do; /* then we know something about the next level of metering */ 200 fnp_chan_meterp = channel_meters.parent_meterp; 201 current_fnp_meterp = addr (fnp_chan_meter_struc.current_meters); 202 saved_fnp_meterp = addr (fnp_chan_meter_struc.saved_meters); 203 parent_fnp = "1"b; 204 end; 205 206 else parent_fnp = "0"b; 207 208 current_meterp = addr (ibm3270_meterp -> ibm3270_meter_struc.current_meters); 209 saved_meterp = addr (ibm3270_meterp -> ibm3270_meter_struc.saved_meters); 210 211 total_poll_failed = current_meterp -> ibm3270_meters.poll_failed; 212 total_bad_output = current_meterp -> ibm3270_meters.bad_output; 213 total_select_failed = current_meterp -> ibm3270_meters.select_failed; 214 total_write_format_error = current_meterp -> ibm3270_meters.write_format_error; 215 total_bad_input = current_meterp -> ibm3270_meters.bad_input; 216 total_bad_device = current_meterp -> ibm3270_meters.bad_device; 217 218 if parent_fnp 219 then do; 220 total_input_naks = current_fnp_meterp -> fnp_sync_meters.counters (1); 221 total_output_naks = current_fnp_meterp -> fnp_sync_meters.counters (2); 222 total_timeouts = current_fnp_meterp -> fnp_sync_meters.counters (3); 223 total_sent_too_many_naks = current_fnp_meterp -> fnp_sync_meters.counters (4); 224 total_wack_received = current_fnp_meterp -> fnp_sync_meters.counters (5); 225 total_recd_too_many_naks = current_fnp_meterp -> fnp_sync_meters.counters (6); 226 total_eot_no_resp = current_fnp_meterp -> fnp_sync_meters.counters (7); 227 end; 228 229 if since_boot 230 then do; 231 poll_failed = total_poll_failed; 232 bad_output = total_bad_output; 233 select_failed = total_select_failed; 234 write_format_error = total_write_format_error; 235 bad_input = total_bad_input; 236 bad_device = total_bad_device; 237 238 if parent_fnp 239 then do; 240 input_naks = total_input_naks; 241 output_naks = total_output_naks; 242 timeouts = total_timeouts; 243 sent_too_many_naks = total_sent_too_many_naks; 244 wack_received = total_wack_received; 245 recd_too_many_naks = total_recd_too_many_naks; 246 eot_no_resp = total_eot_no_resp; 247 end; 248 end; 249 250 else do; 251 poll_failed = total_poll_failed - saved_meterp -> ibm3270_meters.poll_failed; 252 bad_output = total_bad_output - saved_meterp -> ibm3270_meters.bad_output; 253 select_failed = total_select_failed - saved_meterp -> ibm3270_meters.select_failed; 254 write_format_error = total_write_format_error - saved_meterp -> ibm3270_meters.write_format_error; 255 bad_input = total_bad_input - saved_meterp -> ibm3270_meters.bad_input; 256 bad_device = total_bad_device - saved_meterp -> ibm3270_meters.bad_device; 257 258 if parent_fnp 259 then do; 260 input_naks = total_input_naks - saved_fnp_meterp -> fnp_sync_meters.counters (1); 261 output_naks = total_output_naks - saved_fnp_meterp -> fnp_sync_meters.counters (2); 262 timeouts = total_timeouts - saved_fnp_meterp -> fnp_sync_meters.counters (3); 263 sent_too_many_naks = total_sent_too_many_naks - saved_fnp_meterp -> fnp_sync_meters.counters (4); 264 wack_received = total_wack_received - saved_fnp_meterp -> fnp_sync_meters.counters (5); 265 recd_too_many_naks = total_recd_too_many_naks - saved_fnp_meterp -> fnp_sync_meters.counters (6); 266 eot_no_resp = total_eot_no_resp - saved_fnp_meterp -> fnp_sync_meters.counters (7); 267 end; 268 end; 269 end set_values; 270 1 1 /* Begin include file ..... multiplexer_types.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(89-03-20,Parisek), approve(89-06-01,MCR8110), 1 7* audit(89-10-09,Farley), install(89-10-25,MR12.3-1100): 1 8* Add support of protocol mpx. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 /* This include file defines known multiplexer types */ 1 13 /* Prepared August 1978 by Larry Johnson */ 1 14 /* Changed April 1979 to rename the fnp multiplexer mcs */ 1 15 1 16 dcl (TTY_MPX init (0), /* nonmultiplexed channel */ 1 17 MCS_MPX init (1), /* FNP running MCS */ 1 18 USER1_MPX init (2), /* a range of values for user defined multiplexers */ 1 19 USER2_MPX init (3), 1 20 USER3_MPX init (4), 1 21 USER4_MPX init (5), 1 22 USER5_MPX init (6), 1 23 IBM3270_MPX init (7), /* IBM 3270 display terminal controller */ 1 24 VIP7760_MPX init (8), /* Honeywell VIP 7760 terminal controller */ 1 25 STY_MPX init (9), /* Software Terminal Facility */ 1 26 LAP_MPX init (10), /* Link Access Protocol (X.25 level 2) */ 1 27 X25_MPX init (11), /* CCITT X.25 level 3 */ 1 28 HASP_MPX init (12), /* HASP RJE protocol */ 1 29 UNCP_MPX init (13), /* DSA protocol */ 1 30 SYSTEM2_MPX init (14), 1 31 SYSTEM1_MPX init (15), 1 32 PROTOCOL_MPX init (16)) /* TCP/IP network X.25 protocol */ 1 33 int static options (constant); 1 34 1 35 dcl mpx_types (0:16) char (32) int static options (constant) init ( 1 36 "tty", "mcs", "user1", "user2", "user3", "user4", "user5", "ibm3270", 1 37 "vip7760", "sty", "lap", "x25", "hasp", "uncp", "system2", "system1", 1 38 "protocol"); 1 39 1 40 dcl mpx_special_lock (0:16) bit (1) int static options (constant) init ( 1 41 "0"b, "1"b, "0"b, "0"b, "0"b, "0"b, "0"b, "0"b, 1 42 "0"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "0"b); 1 43 1 44 /* End include file ..... multiplexer_types.incl.pl1 */ 271 272 2 1 /* BEGIN INCLUDE FILE ... ibm3270_meters.incl.pl1 */ 2 2 2 3 /* defines metering structures used for ibm3270 multiplexer channel */ 2 4 2 5 /* Written June 1981 by Robert Coren */ 2 6 2 7 dcl 1 ibm3270_meter_struc aligned based, 2 8 2 version fixed bin, 2 9 2 pad bit (36), 2 10 2 current_meters like ibm3270_meters, 2 11 2 saved_meters like ibm3270_meters; 2 12 2 13 dcl 1 ibm3270_meters aligned based (meter_ptr), 2 14 2 poll_failed fixed bin (35), /* No response to poll */ 2 15 2 bad_output fixed bin (35), /* Bsc control tables rejected output */ 2 16 2 write_eot fixed bin (35), /* Got eot in responseto write */ 2 17 2 write_abort fixed bin (35), /* FNP send eot because of nothing to write */ 2 18 2 select_failed fixed bin (35), /* No response to select */ 2 19 2 wack_select fixed bin (35), /* Wack in respnse to select */ 2 20 2 nak_output fixed bin (35), /* Our output got nakked */ 2 21 2 input_reject fixed bin (35), /* Count of input reject interrupts */ 2 22 2 needs_space fixed bin (35), /* Count of times space available interrupt req */ 2 23 2 space_available fixed bin (35), /* Count of space available interrupts */ 2 24 2 write_format_error fixed bin (35), /* Count of bad calls to write entry */ 2 25 2 bad_input fixed bin (35), /* Count of ill-formatted input messages */ 2 26 2 bad_device fixed bin (35); /* Count of unrecognized device identifications */ 2 27 2 28 dcl meter_ptr ptr; 2 29 2 30 dcl IBM3270_METERS_VERSION_1 internal static options (constant) init (1); 2 31 2 32 /* END INCLUDE FILE ... ibm3270_meters.incl.pl1 */ 273 274 3 1 /* BEGIN INCLUDE FILE ... comm_meters_disp_flags.incl.pl1 */ 3 2 3 3 3 4 /* This include file defines named values for the bits in the flags argument passed 3 5* to the various MPX_meters_$display entries. 3 6**/ 3 7 3 8 /* Created April 1981 by Robert Coren */ 3 9 3 10 dcl DISPLAY_MPX_BRIEF bit (36) internal static options (constant) init ("1"b); 3 11 dcl DISPLAY_MPX_ERROR bit (36) internal static options (constant) init ("01"b); 3 12 dcl DISPLAY_MPX_SUMMARY bit (36) internal static options (constant) init ("001"b); 3 13 dcl DISPLAY_MPX_SINCE_BOOT bit (36) internal static options (constant) init ("0001"b); 3 14 3 15 /* END INCLUDE FILE ... comm_meters_disp_flags.incl.pl1 */ 275 276 4 1 /* BEGIN INCLUDE FILE...channel_meters.incl.pl1 */ 4 2 4 3 /* Include file to define meters reported by comm_meters_ for all channels */ 4 4 4 5 /* Created February 1981 by Robert Coren */ 4 6 4 7 dcl chan_meterp pointer; 4 8 4 9 dcl CHANNEL_METERS_VERSION_1 fixed bin int static options (constant) init (1); 4 10 4 11 dcl 1 channel_meters aligned based (chan_meterp), 4 12 2 version fixed bin, 4 13 2 multiplexer_type fixed bin, /* of this channel */ 4 14 2 parent_type fixed bin, /* multiplexer type of parent (or -1 if this is level 1 */ 4 15 2 line_type fixed bin, /* line type of this channel */ 4 16 2 flags, 4 17 3 reserved bit (36) unaligned, 4 18 2 pad1 fixed bin, 4 19 2 channel_name char (32), 4 20 2 mpx_specific_meterp pointer, /* pointer to meters for this channel's multiplexer type */ 4 21 2 parent_meterp pointer, /* pointer to meters kept for channel by its parent */ 4 22 2 next_channelp pointer, /* pointer to structure for next channel in list */ 4 23 2 cumulative, /* meters accumulated since last load of parent */ 4 24 3 unconverted_input_chars fixed bin (35), /* characters input (before conversion) */ 4 25 3 converted_output_chars fixed bin (35), /* characters output (after conversion) */ 4 26 3 read_calls fixed bin, /* calls to channel_manager$read */ 4 27 3 write_calls fixed bin, /* calls to channel_manager$write */ 4 28 3 control_calls fixed bin, /* calls to channel_manager$control */ 4 29 3 software_interrupts fixed bin, /* calls to channel$manager$interrupt on behalf of this channel */ 4 30 3 read_call_time fixed bin (71), /* time accumulated in channel_manager$read */ 4 31 3 write_call_time fixed bin (71), /* time accumulated in channel_manager$write */ 4 32 3 control_call_time fixed bin (71), /* time accumulated in channel_manager$control */ 4 33 3 interrupt_time fixed bin (71), /* time spent handling software interrupts */ 4 34 3 pad (4) fixed bin, 4 35 2 saved like channel_meters.cumulative; /* meters saved when channel last dialed up */ 4 36 4 37 /* END INCLUDE FILE...channel_meters.incl.pl1 */ 277 278 5 1 /* BEGIN INCLUDE FILE...fnp_channel_meters.incl.pl1 */ 5 2 5 3 /* This include file defines meters returned for subchannels of an FNP. */ 5 4 5 5 /* Created February 1981 by Robert Coren from fnp_meters.incl.pl1. */ 5 6 5 7 dcl fnp_chan_meterp pointer; 5 8 dcl FNP_CHANNEL_METERS_VERSION_1 fixed bin int static options (constant) init (1); 5 9 5 10 dcl 1 fnp_chan_meter_struc based (fnp_chan_meterp) aligned, 5 11 2 version fixed bin, 5 12 2 flags, 5 13 3 synchronous bit (1) unaligned, 5 14 3 reserved bit (35) unaligned, 5 15 2 current_meters like fnp_channel_meters, 5 16 2 saved_meters like fnp_channel_meters; 5 17 5 18 dcl 1 fnp_channel_meters based aligned, 5 19 2 header, 5 20 3 dia_request_q_len fixed bin (35), /* cumulative */ 5 21 3 dia_rql_updates fixed bin (35), /* updates to above */ 5 22 3 pending_status fixed bin (35), /* cumulative */ 5 23 3 pending_status_updates fixed bin (35), /* updates to above */ 5 24 3 output_overlaps fixed bin (18) unsigned unaligned, /* output chained to already-existing chain */ 5 25 3 parity_errors fixed bin (18) unsigned unaligned, /* parity on the channel */ 5 26 3 software_status_overflows fixed bin (18) unsigned unaligned, 5 27 3 hardware_status_overflows fixed bin (18) unsigned unaligned, 5 28 3 input_alloc_failures fixed bin (18) unsigned unaligned, 5 29 3 dia_current_q_len fixed bin (18) unsigned unaligned, /* current length of dia request queue */ 5 30 3 exhaust fixed bin (35), 5 31 3 software_xte fixed bin (18) unsigned unaligned, 5 32 3 pad bit (18) unaligned, 5 33 2 sync_or_async (17) fixed bin; /* placeholder for meters for sync or async channels */ 5 34 5 35 dcl 1 fnp_sync_meters based aligned, 5 36 2 header like fnp_channel_meters.header, 5 37 2 input, 5 38 3 message_count fixed bin (35), /* total number of messages */ 5 39 3 cum_length fixed bin (35), /* total cumulative length in characters */ 5 40 3 min_length fixed bin (18) unsigned unaligned, /* length of shortest message */ 5 41 3 max_length fixed bin (18) unsigned unaligned, /* length of longest message */ 5 42 2 output like fnp_sync_meters.input, 5 43 2 counters (8) fixed bin (35), 5 44 2 pad (3) fixed bin; 5 45 5 46 dcl 1 fnp_async_meters based aligned, 5 47 2 header like fnp_channel_meters.header, 5 48 2 pre_exhaust fixed bin (35), 5 49 2 echo_buf_overflow fixed bin (35), /* number of times echo buffer has overflowed */ 5 50 2 bell_quits fixed bin (18) unsigned unaligned, 5 51 2 padb bit (18) unaligned, 5 52 2 pad (14) fixed bin; 5 53 5 54 /* END INCLUDE FILE...fnp_channel_meters.incl.pl1 */ 279 280 6 1 /* BEGIN INCLUDE FILE ... channel_summary.incl.pl1 */ 6 2 6 3 /* Include file describing structure filled in by mpx_summary and subchan_summary 6 4* entries of multiplexer-specific metering subroutines for use by comm_channel_meters -summary 6 5**/ 6 6 6 7 /* Created April 1981 by Robert Coren */ 6 8 6 9 dcl summary_ptr ptr; 6 10 dcl CHANNEL_SUMMARY_VERSION_1 fixed bin internal static options (constant) init (1); 6 11 6 12 dcl 1 channel_summary based (summary_ptr) aligned, 6 13 2 version fixed bin, 6 14 2 baud_rate fixed bin, 6 15 2 time_since_dial fixed bin (71), 6 16 2 flags, 6 17 3 invalid_input bit (1) unal, 6 18 3 output_re_xmit bit (1) unal, 6 19 3 timeout bit (1) unal, 6 20 3 pre_exhaust bit (1) unal, 6 21 3 exhaust bit (1) unal, 6 22 3 xte bit (1) unal, 6 23 3 bell_quit bit (1) unal, 6 24 3 echo_overflow bit (1) unal, 6 25 3 parity bit (1) unal, 6 26 3 ssqo bit (1) unal, 6 27 3 hsqo bit (1) unal, 6 28 3 alloc_failure bit (1) unal, 6 29 3 synchronous bit (1) unal, 6 30 3 breakall bit (1) unal, 6 31 3 echoplex bit (1) unal, 6 32 3 padb bit (21) unal, 6 33 2 error_count fixed bin, 6 34 2 user_process bit (36); 6 35 6 36 /* END INCLUDE FILE ... channel_summary.incl.pl1 */ 281 282 283 end ibm3270_meters_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/25/89 1005.2 ibm3270_meters_.pl1 >special_ldd>install>MR12.3-1100>ibm3270_meters_.pl1 271 1 10/25/89 0959.9 multiplexer_types.incl.pl1 >special_ldd>install>MR12.3-1100>multiplexer_types.incl.pl1 273 2 03/27/82 0430.3 ibm3270_meters.incl.pl1 >ldd>include>ibm3270_meters.incl.pl1 275 3 06/19/81 2115.0 comm_meters_disp_flags.incl.pl1 >ldd>include>comm_meters_disp_flags.incl.pl1 277 4 06/19/81 2115.0 channel_meters.incl.pl1 >ldd>include>channel_meters.incl.pl1 279 5 08/10/81 1843.6 fnp_channel_meters.incl.pl1 >ldd>include>fnp_channel_meters.incl.pl1 281 6 06/19/81 2115.0 channel_summary.incl.pl1 >ldd>include>channel_summary.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. DISPLAY_MPX_BRIEF constant bit(36) initial packed unaligned dcl 3-10 ref 137 DISPLAY_MPX_ERROR constant bit(36) initial packed unaligned dcl 3-11 ref 141 DISPLAY_MPX_SINCE_BOOT constant bit(36) initial packed unaligned dcl 3-13 ref 143 DISPLAY_MPX_SUMMARY constant bit(36) initial packed unaligned dcl 3-12 ref 134 IBM3270_METERS_VERSION_1 constant fixed bin(17,0) initial dcl 2-30 ref 111 MCS_MPX constant fixed bin(17,0) initial dcl 1-16 ref 198 a_area_ptr parameter pointer dcl 20 ref 98 101 a_chan_meterp parameter pointer dcl 25 ref 123 130 175 181 a_chan_name parameter char packed unaligned dcl 23 ref 123 a_code parameter fixed bin(35,0) dcl 22 set ref 98 102* 106* 116 120* 123 132* 175 180* a_flags parameter bit(36) dcl 26 ref 123 131 a_iocbp parameter pointer dcl 24 ref 123 126 a_meterp parameter pointer dcl 21 set ref 98 110* 111 116 119 a_since_boot parameter bit(1) packed unaligned dcl 27 ref 175 183 a_summary_ptr parameter pointer dcl 28 ref 175 182 addr builtin function dcl 96 ref 201 202 208 209 area 000156 stack reference condition dcl 95 ref 104 areap 000100 automatic pointer dcl 33 set ref 101* 110 bad_device 000130 automatic fixed bin(35,0) dcl 51 in procedure "ibm3270_meters_" set ref 171* 186 236* 256* bad_device 14 based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 216 256 bad_input 13 based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 215 255 bad_input 000127 automatic fixed bin(35,0) dcl 50 in procedure "ibm3270_meters_" set ref 170* 186 235* 255* bad_output 1 based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 212 252 bad_output 000126 automatic fixed bin(35,0) dcl 49 in procedure "ibm3270_meters_" set ref 159* 232* 252* brief 000105 automatic bit(1) packed unaligned dcl 37 set ref 137* 139* 147 chan_meterp 000164 automatic pointer dcl 4-7 set ref 130* 181* 197 198 200 channel_meters based structure level 1 dcl 4-11 channel_summary based structure level 1 dcl 6-12 counters 17 based fixed bin(35,0) array level 2 dcl 5-35 ref 220 221 222 223 224 225 226 260 261 262 263 264 265 266 cumulative 24 based structure level 2 dcl 4-11 current_fnp_meterp 000120 automatic pointer dcl 44 set ref 201* 220 221 222 223 224 225 226 current_meterp 000114 automatic pointer dcl 42 set ref 208* 211 212 213 214 215 216 current_meters 2 based structure level 2 in structure "fnp_chan_meter_struc" dcl 5-10 in procedure "ibm3270_meters_" set ref 201 current_meters 2 based structure level 2 in structure "ibm3270_meter_struc" dcl 2-7 in procedure "ibm3270_meters_" set ref 208 eot_no_resp 000140 automatic fixed bin(35,0) dcl 59 set ref 166* 187 246* 266* error 000106 automatic bit(1) packed unaligned dcl 38 set ref 141* error_count 5 based fixed bin(17,0) level 2 dcl 6-12 set ref 186* 187* 187 error_table_$noalloc 000010 external static fixed bin(35,0) dcl 83 ref 106 flags 000104 automatic bit(36) dcl 36 set ref 131* 134 137 141 143 fnp_chan_meter_struc based structure level 1 dcl 5-10 fnp_chan_meterp 000166 automatic pointer dcl 5-7 set ref 200* 201 202 fnp_channel_meters based structure level 1 dcl 5-18 fnp_sync_meters based structure level 1 dcl 5-35 header based structure level 2 in structure "fnp_channel_meters" dcl 5-18 in procedure "ibm3270_meters_" header 2 based structure level 3 in structure "fnp_chan_meter_struc" dcl 5-10 in procedure "ibm3270_meters_" header 34 based structure level 3 in structure "fnp_chan_meter_struc" dcl 5-10 in procedure "ibm3270_meters_" ibm3270_meter_struc based structure level 1 dcl 2-7 set ref 110 119 ibm3270_meterp 000112 automatic pointer dcl 41 set ref 197* 208 209 ibm3270_meters based structure level 1 dcl 2-13 input 11 based structure level 2 dcl 5-35 input_naks 000132 automatic fixed bin(35,0) dcl 53 set ref 157* 187 240* 260* ioa_$ioa_switch 000014 constant entry external dcl 89 ref 152 153 157 158 159 160 161 162 164 166 169 170 171 iocbp 000102 automatic pointer dcl 35 set ref 126* 127 127* 152* 153* 157* 158* 159* 160* 161* 162* 164* 166* 169* 170* 171* iox_$user_output 000012 external static pointer dcl 84 ref 127 m_area based area(100) dcl 78 ref 110 meter_format_$picture 000016 constant entry external dcl 90 ref 152 153 157 158 159 160 161 162 164 166 169 170 171 mpx_specific_meterp 16 based pointer level 2 dcl 4-11 ref 197 null builtin function dcl 96 ref 127 output_naks 000133 automatic fixed bin(35,0) dcl 54 set ref 158* 187 241* 261* parent_fnp 000110 automatic bit(1) packed unaligned dcl 40 set ref 155 187 203* 206* 218 238 258 parent_meterp 20 based pointer level 2 dcl 4-11 ref 200 parent_type 2 based fixed bin(17,0) level 2 dcl 4-11 ref 198 poll_failed 000124 automatic fixed bin(35,0) dcl 47 in procedure "ibm3270_meters_" set ref 152* 186 231* 251* poll_failed based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 211 251 recd_too_many_naks 000137 automatic fixed bin(35,0) dcl 58 set ref 164* 245* 265* saved_fnp_meterp 000122 automatic pointer dcl 45 set ref 202* 260 261 262 263 264 265 266 saved_meterp 000116 automatic pointer dcl 43 set ref 209* 251 252 253 254 255 256 saved_meters 17 based structure level 2 in structure "ibm3270_meter_struc" dcl 2-7 in procedure "ibm3270_meters_" set ref 209 saved_meters 34 based structure level 2 in structure "fnp_chan_meter_struc" dcl 5-10 in procedure "ibm3270_meters_" set ref 202 select_failed 4 based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 213 253 select_failed 000125 automatic fixed bin(35,0) dcl 48 in procedure "ibm3270_meters_" set ref 153* 186 233* 253* sent_too_many_naks 000136 automatic fixed bin(35,0) dcl 57 set ref 162* 243* 263* since_boot 000107 automatic bit(1) packed unaligned dcl 39 set ref 143* 145* 183* 229 summary_ptr 000170 automatic pointer dcl 6-9 set ref 182* 186 187 187 timeouts 000134 automatic fixed bin(35,0) dcl 55 set ref 160* 242* 262* total_bad_device 000145 automatic fixed bin(35,0) dcl 65 set ref 216* 236 256 total_bad_input 000144 automatic fixed bin(35,0) dcl 64 set ref 215* 235 255 total_bad_output 000143 automatic fixed bin(35,0) dcl 63 set ref 212* 232 252 total_eot_no_resp 000155 automatic fixed bin(35,0) dcl 73 set ref 226* 246 266 total_input_naks 000147 automatic fixed bin(35,0) dcl 67 set ref 220* 240 260 total_output_naks 000150 automatic fixed bin(35,0) dcl 68 set ref 221* 241 261 total_poll_failed 000141 automatic fixed bin(35,0) dcl 61 set ref 211* 231 251 total_recd_too_many_naks 000154 automatic fixed bin(35,0) dcl 72 set ref 225* 245 265 total_select_failed 000142 automatic fixed bin(35,0) dcl 62 set ref 213* 233 253 total_sent_too_many_naks 000153 automatic fixed bin(35,0) dcl 71 set ref 223* 243 263 total_timeouts 000151 automatic fixed bin(35,0) dcl 69 set ref 222* 242 262 total_wack_received 000152 automatic fixed bin(35,0) dcl 70 set ref 224* 244 264 total_write_format_error 000146 automatic fixed bin(35,0) dcl 66 set ref 214* 234 254 version based fixed bin(17,0) level 2 dcl 2-7 set ref 111* wack_received 000135 automatic fixed bin(35,0) dcl 56 set ref 161* 244* 264* write_format_error 000131 automatic fixed bin(35,0) dcl 52 in procedure "ibm3270_meters_" set ref 169* 234* 254* write_format_error 12 based fixed bin(35,0) level 2 in structure "ibm3270_meters" dcl 2-13 in procedure "ibm3270_meters_" ref 214 254 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CHANNEL_METERS_VERSION_1 internal static fixed bin(17,0) initial dcl 4-9 CHANNEL_SUMMARY_VERSION_1 internal static fixed bin(17,0) initial dcl 6-10 FNP_CHANNEL_METERS_VERSION_1 internal static fixed bin(17,0) initial dcl 5-8 HASP_MPX internal static fixed bin(17,0) initial dcl 1-16 IBM3270_MPX internal static fixed bin(17,0) initial dcl 1-16 LAP_MPX internal static fixed bin(17,0) initial dcl 1-16 PROTOCOL_MPX internal static fixed bin(17,0) initial dcl 1-16 STY_MPX internal static fixed bin(17,0) initial dcl 1-16 SYSTEM1_MPX internal static fixed bin(17,0) initial dcl 1-16 SYSTEM2_MPX internal static fixed bin(17,0) initial dcl 1-16 TTY_MPX internal static fixed bin(17,0) initial dcl 1-16 UNCP_MPX internal static fixed bin(17,0) initial dcl 1-16 USER1_MPX internal static fixed bin(17,0) initial dcl 1-16 USER2_MPX internal static fixed bin(17,0) initial dcl 1-16 USER3_MPX internal static fixed bin(17,0) initial dcl 1-16 USER4_MPX internal static fixed bin(17,0) initial dcl 1-16 USER5_MPX internal static fixed bin(17,0) initial dcl 1-16 VIP7760_MPX internal static fixed bin(17,0) initial dcl 1-16 X25_MPX internal static fixed bin(17,0) initial dcl 1-16 code automatic fixed bin(35,0) dcl 34 fnp_async_meters based structure level 1 dcl 5-46 meter_ptr automatic pointer dcl 2-28 mpx_special_lock internal static bit(1) initial array packed unaligned dcl 1-40 mpx_types internal static char(32) initial array packed unaligned dcl 1-35 NAMES DECLARED BY EXPLICIT CONTEXT. allocate_mpx 000170 constant entry external dcl 98 display_mpx 000270 constant entry external dcl 123 exit 000240 constant label dcl 112 ref 107 free_mpx 000245 constant entry external dcl 116 ibm3270_meters_ 000156 constant entry external dcl 7 mpx_summary 001265 constant entry external dcl 175 set_values 001335 constant entry internal dcl 192 ref 150 184 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1730 1750 1603 1740 Length 2302 1603 20 315 125 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME ibm3270_meters_ 184 external procedure is an external procedure. on unit on line 104 64 on unit set_values internal procedure shares stack frame of external procedure ibm3270_meters_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME ibm3270_meters_ 000100 areap ibm3270_meters_ 000102 iocbp ibm3270_meters_ 000104 flags ibm3270_meters_ 000105 brief ibm3270_meters_ 000106 error ibm3270_meters_ 000107 since_boot ibm3270_meters_ 000110 parent_fnp ibm3270_meters_ 000112 ibm3270_meterp ibm3270_meters_ 000114 current_meterp ibm3270_meters_ 000116 saved_meterp ibm3270_meters_ 000120 current_fnp_meterp ibm3270_meters_ 000122 saved_fnp_meterp ibm3270_meters_ 000124 poll_failed ibm3270_meters_ 000125 select_failed ibm3270_meters_ 000126 bad_output ibm3270_meters_ 000127 bad_input ibm3270_meters_ 000130 bad_device ibm3270_meters_ 000131 write_format_error ibm3270_meters_ 000132 input_naks ibm3270_meters_ 000133 output_naks ibm3270_meters_ 000134 timeouts ibm3270_meters_ 000135 wack_received ibm3270_meters_ 000136 sent_too_many_naks ibm3270_meters_ 000137 recd_too_many_naks ibm3270_meters_ 000140 eot_no_resp ibm3270_meters_ 000141 total_poll_failed ibm3270_meters_ 000142 total_select_failed ibm3270_meters_ 000143 total_bad_output ibm3270_meters_ 000144 total_bad_input ibm3270_meters_ 000145 total_bad_device ibm3270_meters_ 000146 total_write_format_error ibm3270_meters_ 000147 total_input_naks ibm3270_meters_ 000150 total_output_naks ibm3270_meters_ 000151 total_timeouts ibm3270_meters_ 000152 total_wack_received ibm3270_meters_ 000153 total_sent_too_many_naks ibm3270_meters_ 000154 total_recd_too_many_naks ibm3270_meters_ 000155 total_eot_no_resp ibm3270_meters_ 000164 chan_meterp ibm3270_meters_ 000166 fnp_chan_meterp ibm3270_meters_ 000170 summary_ptr ibm3270_meters_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac tra_ext_1 enable_op ext_entry ext_entry_desc int_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_$ioa_switch meter_format_$picture THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noalloc iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 7 000155 98 000163 101 000202 102 000206 104 000207 106 000223 107 000226 110 000231 111 000236 112 000240 116 000241 119 000257 120 000261 121 000262 123 000263 126 000310 127 000314 130 000324 131 000327 132 000331 134 000332 137 000334 139 000341 141 000342 143 000347 145 000355 147 000356 150 000360 152 000361 153 000425 155 000471 157 000473 158 000534 159 000575 160 000636 161 000702 162 000743 164 001004 166 001045 169 001111 170 001152 171 001216 173 001257 175 001260 180 001277 181 001300 182 001303 183 001307 184 001314 186 001315 187 001324 190 001334 192 001335 197 001336 198 001341 200 001345 201 001347 202 001351 203 001353 204 001355 206 001356 208 001357 209 001362 211 001365 212 001367 213 001371 214 001373 215 001375 216 001377 218 001401 220 001403 221 001406 222 001410 223 001412 224 001414 225 001416 226 001420 229 001422 231 001424 232 001426 233 001430 234 001432 235 001434 236 001436 238 001440 240 001442 241 001444 242 001446 243 001450 244 001452 245 001454 246 001456 248 001460 251 001461 252 001467 253 001475 254 001503 255 001511 256 001517 258 001525 260 001527 261 001536 262 001544 263 001552 264 001560 265 001566 266 001574 269 001602 ----------------------------------------------------------- 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