2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
23 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
25 * IOEthernetStats.h - Ethernet MIB statistics definitions.
30 #ifndef _IOETHERNETSTATS_H
31 #define _IOETHERNETSTATS_H
33 /*! @header IOEthernetStats.h
34 @discussion Ethernet statistics. */
36 //---------------------------------------------------------------------------
37 // Ethernet-like statistics group.
39 /*! @typedef IODot3StatsEntry
40 @discussion Ethernet MIB statistics structure.
41 @field alignmentErrors dot3StatsAlignmentErrors.
42 @field fcsErrors dot3StatsFCSErrors.
43 @field singleCollisionFrames dot3StatsSingleCollisionFrames.
44 @field multipleCollisionFrames dot3StatsMultipleCollisionFrames.
45 @field sqeTestErrors dot3StatsSQETestErrors.
46 @field deferredTransmissions dot3StatsDeferredTransmissions.
47 @field lateCollisions dot3StatsLateCollisions.
48 @field excessiveCollisions dot3StatsExcessiveCollisions.
49 @field internalMacTransmitErrors dot3StatsInternalMacTransmitErrors.
50 @field carrierSenseErrors dot3StatsCarrierSenseErrors.
51 @field frameTooLongs dot3StatsFrameTooLongs.
52 @field internalMacReceiveErrors dot3StatsInternalMacReceiveErrors.
53 @field etherChipSet dot3StatsEtherChipSet.
54 @field missedFrames dot3StatsMissedFrames (not in RFC1650).
58 UInt32 alignmentErrors
;
60 UInt32 singleCollisionFrames
;
61 UInt32 multipleCollisionFrames
;
63 UInt32 deferredTransmissions
;
64 UInt32 lateCollisions
;
65 UInt32 excessiveCollisions
;
66 UInt32 internalMacTransmitErrors
;
67 UInt32 carrierSenseErrors
;
69 UInt32 internalMacReceiveErrors
;
74 //---------------------------------------------------------------------------
75 // Ethernet-like collision statistics group (optional).
77 /*! @typedef IODot3CollEntry
78 @discussion Collision statistics structure.
79 @field collFrequencies dot3StatsCollFrequencies. */
82 UInt32 collFrequencies
[16];
85 //---------------------------------------------------------------------------
86 // Receiver extra statistics group (not defined by RFC 1650).
88 /*! @typedef IODot3RxExtraEntry
89 @discussion Extra receiver statistics not defined by RFC1650.
90 @field overruns receiver overruns.
91 @field watchdogTimeouts watchdog timer expirations.
92 @field frameTooShorts runt frames.
93 @field collisionErrors frames damages by late collision.
94 @field phyErrors PHY receive errors.
95 @field timeouts receiver timeouts.
96 @field interrupts receiver interrupts.
97 @field resets receiver resets.
98 @field resourceErrors receiver resource shortages.
103 UInt32 watchdogTimeouts
;
104 UInt32 frameTooShorts
;
105 UInt32 collisionErrors
;
110 UInt32 resourceErrors
;
112 } IODot3RxExtraEntry
;
114 //---------------------------------------------------------------------------
115 // Transmitter extra statistics group (not defined by RFC 1650).
117 /*! @typedef IODot3TxExtraEntry
118 @discussion Extra transmitter statistics not defined by RFC1650.
119 @field underruns transmit underruns.
120 @field jabbers jabber events.
121 @field phyErrors PHY transmit errors.
122 @field timeouts transmitter timeouts.
123 @field interrupts transmitter interrupts.
124 @field resets transmitter resets.
125 @field resourceErrors transmitter resource shortages.
135 UInt32 resourceErrors
;
137 } IODot3TxExtraEntry
;
139 //---------------------------------------------------------------------------
140 // Aggregate Ethernet statistics.
142 /*! @typedef IOEthernetStats
143 @discussion Aggregate Ethernet statistics structure.
144 @field dot3StatsEntry IODot3StatsEntry statistics group.
145 @field dot3CollEntry IODot3CollEntry statistics group.
146 @field dot3RxExtraEntry IODot3RxExtraEntry statistics group.
147 @field dot3TxExtraEntry IODot3TxExtraEntry statistics group.
151 IODot3StatsEntry dot3StatsEntry
;
152 IODot3CollEntry dot3CollEntry
;
153 IODot3RxExtraEntry dot3RxExtraEntry
;
154 IODot3TxExtraEntry dot3TxExtraEntry
;
157 /*! @defined kIOEthernetStatsKey
158 @discussion Defines the name of an IONetworkData that contains
159 an IOEthernetStats. */
161 #define kIOEthernetStatsKey "IOEthernetStatsKey"
163 #endif /* !_IOETHERNETSTATS_H */