Chameleon

Chameleon Svn Source Tree

Root/branches/ErmaC/Enoch_Modules/i386/include/IOKit/network/IOEthernetStats.h

1/*
2 * Copyright (c) 1998-2008 Apple 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 * IOEthernetStats.h - Ethernet MIB statistics definitions.
24 *
25 * HISTORY
26 */
27
28#ifndef _IOETHERNETSTATS_H
29#define _IOETHERNETSTATS_H
30
31/*! @header IOEthernetStats.h
32 @discussion Ethernet statistics. */
33
34//---------------------------------------------------------------------------
35// Ethernet-like statistics group.
36
37/*! @typedef IODot3StatsEntry
38 @discussion Ethernet MIB statistics structure.
39 @field alignmentErrors dot3StatsAlignmentErrors.
40 @field fcsErrors dot3StatsFCSErrors.
41 @field singleCollisionFrames dot3StatsSingleCollisionFrames.
42 @field multipleCollisionFrames dot3StatsMultipleCollisionFrames.
43 @field sqeTestErrors dot3StatsSQETestErrors.
44 @field deferredTransmissions dot3StatsDeferredTransmissions.
45 @field lateCollisions dot3StatsLateCollisions.
46 @field excessiveCollisions dot3StatsExcessiveCollisions.
47 @field internalMacTransmitErrors dot3StatsInternalMacTransmitErrors.
48 @field carrierSenseErrors dot3StatsCarrierSenseErrors.
49 @field frameTooLongs dot3StatsFrameTooLongs.
50 @field internalMacReceiveErrors dot3StatsInternalMacReceiveErrors.
51 @field etherChipSet dot3StatsEtherChipSet.
52 @field missedFrames dot3StatsMissedFrames (not in RFC1650).
53 */
54
55typedef struct {
56 UInt32 alignmentErrors;
57 UInt32 fcsErrors;
58 UInt32 singleCollisionFrames;
59 UInt32 multipleCollisionFrames;
60 UInt32 sqeTestErrors;
61 UInt32 deferredTransmissions;
62 UInt32 lateCollisions;
63 UInt32 excessiveCollisions;
64 UInt32 internalMacTransmitErrors;
65 UInt32 carrierSenseErrors;
66 UInt32 frameTooLongs;
67 UInt32 internalMacReceiveErrors;
68 UInt32 etherChipSet;
69 UInt32 missedFrames;
70} IODot3StatsEntry;
71
72//---------------------------------------------------------------------------
73// Ethernet-like collision statistics group (optional).
74
75/*! @typedef IODot3CollEntry
76 @discussion Collision statistics structure.
77 @field collFrequencies dot3StatsCollFrequencies. */
78
79typedef struct {
80 UInt32 collFrequencies[16];
81} IODot3CollEntry;
82
83//---------------------------------------------------------------------------
84// Receiver extra statistics group (not defined by RFC 1650).
85
86/*! @typedef IODot3RxExtraEntry
87 @discussion Extra receiver statistics not defined by RFC1650.
88 @field overruns receiver overruns.
89 @field watchdogTimeouts watchdog timer expirations.
90 @field frameTooShorts runt frames.
91 @field collisionErrors frames damages by late collision.
92 @field phyErrors PHY receive errors.
93 @field timeouts receiver timeouts.
94 @field interrupts receiver interrupts.
95 @field resets receiver resets.
96 @field resourceErrors receiver resource shortages.
97 */
98
99typedef struct {
100 UInt32 overruns;
101 UInt32 watchdogTimeouts;
102 UInt32 frameTooShorts;
103 UInt32 collisionErrors;
104 UInt32 phyErrors;
105 UInt32 timeouts;
106 UInt32 interrupts;
107 UInt32 resets;
108 UInt32 resourceErrors;
109 UInt32 reserved[4];
110} IODot3RxExtraEntry;
111
112//---------------------------------------------------------------------------
113// Transmitter extra statistics group (not defined by RFC 1650).
114
115/*! @typedef IODot3TxExtraEntry
116 @discussion Extra transmitter statistics not defined by RFC1650.
117 @field underruns transmit underruns.
118 @field jabbers jabber events.
119 @field phyErrors PHY transmit errors.
120 @field timeouts transmitter timeouts.
121 @field interrupts transmitter interrupts.
122 @field resets transmitter resets.
123 @field resourceErrors transmitter resource shortages.
124 */
125
126typedef struct {
127 UInt32 underruns;
128 UInt32 jabbers;
129 UInt32 phyErrors;
130 UInt32 timeouts;
131 UInt32 interrupts;
132 UInt32 resets;
133 UInt32 resourceErrors;
134 UInt32 reserved[4];
135} IODot3TxExtraEntry;
136
137//---------------------------------------------------------------------------
138// Aggregate Ethernet statistics.
139
140/*! @typedef IOEthernetStats
141 @discussion Aggregate Ethernet statistics structure.
142 @field dot3StatsEntry IODot3StatsEntry statistics group.
143 @field dot3CollEntry IODot3CollEntry statistics group.
144 @field dot3RxExtraEntry IODot3RxExtraEntry statistics group.
145 @field dot3TxExtraEntry IODot3TxExtraEntry statistics group.
146 */
147
148typedef struct {
149 IODot3StatsEntry dot3StatsEntry;
150 IODot3CollEntry dot3CollEntry;
151 IODot3RxExtraEntry dot3RxExtraEntry;
152 IODot3TxExtraEntry dot3TxExtraEntry;
153} IOEthernetStats;
154
155/*! @defined kIOEthernetStatsKey
156 @discussion Defines the name of an IONetworkData that contains
157 an IOEthernetStats. */
158
159#define kIOEthernetStatsKey "IOEthernetStatsKey"
160
161#endif /* !_IOETHERNETSTATS_H */
162

Archive Download this file

Revision: 2238