// GateConEtherStats.bcpl

// Last modified January 31, 1979  10:08 PM by Boggs

get "Pup0.decl"
get "PupAlEth.decl"

external
[
// outgoing procedure
PrintEtherStats

// incoming procedures
Ws; PutTemplate; Puts; Error

// incoming static
dsp
]

//----------------------------------------------------------------------------
let PrintEtherStats(pbi) be
//----------------------------------------------------------------------------
[
let es = lv pbi>>PBI.pup.words
if es>>EtherStats.statsVersion ne etherStatsVersion then
   [ Error("Incompatible format"); return ]
Ws("*NEthernet Statistics:*N")
PutTemplate(dsp, "Rcv: good $EUD, bad $EUD, off $EUD",
 lv es>>EtherStats.packetsRcvd, lv es>>EtherStats.numBadRcvStatus,
 lv es>>EtherStats.inputOff)
PutTemplate(dsp, "; Xmt: good $EUD, bad $EUD; overrun $EUD",
 lv es>>EtherStats.packetsSent, lv es>>EtherStats.numBadXmtStatus,
 lv es>>EtherStats.numOverRuns)
Ws("*NLds:")
for i = 0 to 15 do
   PutTemplate(dsp, " $EUD", lv es>>EtherStats.loadTable↑i)
PutTemplate(dsp, "; Ovf: $EUD", lv es>>EtherStats.loadTable↑16)
]