NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO
#include <ddi/net/ether/etherStat.h>
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
DDI
EtherStat is a structure definition used by the mngt DDI to enable a client of an ethernet driver which exports the management DDI, to retrieve on demand raw I/O statistics since the driver last started.
When using the mngt DDI, the client must check first the class of the driver it is connected to, and then allocate enough memory space to hold the appropriate class-specific stat structure.
The EtherStat structure is defined as follow :
typedef struct EtherStatRx { /* * Mandatory statistics */ uint32_f bytes; /* bytes received */ uint32_f frames; /* frames received OK */ uint32_f errors; /* erroneous frames received */ uint32_f dropped; /* out of receive buffer */ /* * Optional statistics. * If not implemented, counter values are always zero. */ uint32_f mcastBytes; /* multicast bytes */ uint32_f mcastFrames; /* multicast frames */ uint32_f bcastBytes; /* broadcast bytes */ uint32_f bcastFrames; /* broadcast frames */ uint32_f osFrames; /* over size frames (> 1518) */ uint32_f crcErr; /* CRC errors */ uint32_f framingErr; /* CRC + dribbling bit errors */ uint32_f lateCollErr; /* late collision errors */ } EtherStatRx; typedef struct EtherStatTx { /* * Mandatory statistics */ uint32_f bytes; /* bytes sent */ uint32_f frames; /* frames sent */ uint32_f errors; /* frames not sent */ uint32_f collided; /* collided (not sent) frames */ /* * Optional statistics. * If not implemented, counter values are always zero. */ uint32_f deferFrames; /* sent after initially deferred */ uint32_f sCollFrames; /* sent after single collision */ uint32_f mCollFrames; /* sent after multiple collisions */ uint32_f lateCollErr; /* late collision errors */ uint32_f carrierErr; /* carrier lost errors */ uint32_f heartbeatErr; /* Heartbeat check errors */ } EtherStatTx; typedef struct EtherStat { EtherStatRx rx; /* receive statistics */ EtherStatTx tx; /* transmit statistics */ } EtherStat;
It only returns raw I/O statistics; that is, the notion of high level protocol is not considered here.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | ATTRIBUTES | SEE ALSO