|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
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.
11: *
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
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
24: *
25: * IOEthernetStats.h - Ethernet MIB statistics definitions.
26: *
27: * HISTORY
28: */
29:
30: #ifndef _IOETHERNETSTATS_H
31: #define _IOETHERNETSTATS_H
32:
33: /*! @header IOEthernetStats.h
34: @discussion Ethernet statistics. */
35:
36: //---------------------------------------------------------------------------
37: // Ethernet-like statistics group.
38:
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).
55: */
56:
57: typedef struct {
58: UInt32 alignmentErrors;
59: UInt32 fcsErrors;
60: UInt32 singleCollisionFrames;
61: UInt32 multipleCollisionFrames;
62: UInt32 sqeTestErrors;
63: UInt32 deferredTransmissions;
64: UInt32 lateCollisions;
65: UInt32 excessiveCollisions;
66: UInt32 internalMacTransmitErrors;
67: UInt32 carrierSenseErrors;
68: UInt32 frameTooLongs;
69: UInt32 internalMacReceiveErrors;
70: UInt32 etherChipSet;
71: UInt32 missedFrames;
72: } IODot3StatsEntry;
73:
74: //---------------------------------------------------------------------------
75: // Ethernet-like collision statistics group (optional).
76:
77: /*! @typedef IODot3CollEntry
78: @discussion Collision statistics structure.
79: @field collFrequencies dot3StatsCollFrequencies. */
80:
81: typedef struct {
82: UInt32 collFrequencies[16];
83: } IODot3CollEntry;
84:
85: //---------------------------------------------------------------------------
86: // Receiver extra statistics group (not defined by RFC 1650).
87:
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.
99: */
100:
101: typedef struct {
102: UInt32 overruns;
103: UInt32 watchdogTimeouts;
104: UInt32 frameTooShorts;
105: UInt32 collisionErrors;
106: UInt32 phyErrors;
107: UInt32 timeouts;
108: UInt32 interrupts;
109: UInt32 resets;
110: UInt32 resourceErrors;
111: UInt32 reserved[4];
112: } IODot3RxExtraEntry;
113:
114: //---------------------------------------------------------------------------
115: // Transmitter extra statistics group (not defined by RFC 1650).
116:
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.
126: */
127:
128: typedef struct {
129: UInt32 underruns;
130: UInt32 jabbers;
131: UInt32 phyErrors;
132: UInt32 timeouts;
133: UInt32 interrupts;
134: UInt32 resets;
135: UInt32 resourceErrors;
136: UInt32 reserved[4];
137: } IODot3TxExtraEntry;
138:
139: //---------------------------------------------------------------------------
140: // Aggregate Ethernet statistics.
141:
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.
148: */
149:
150: typedef struct {
151: IODot3StatsEntry dot3StatsEntry;
152: IODot3CollEntry dot3CollEntry;
153: IODot3RxExtraEntry dot3RxExtraEntry;
154: IODot3TxExtraEntry dot3TxExtraEntry;
155: } IOEthernetStats;
156:
157: /*! @defined kIOEthernetStatsKey
158: @discussion Defines the name of an IONetworkData that contains
159: an IOEthernetStats. */
160:
161: #define kIOEthernetStatsKey "IOEthernetStatsKey"
162:
163: #endif /* !_IOETHERNETSTATS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.