|
|
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.