Annotation of XNU/iokit/IOKit/network/IOEthernetStats.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.