mirror of
https://github.com/darlinghq/darling-IONetworkingFamily.git
synced 2024-10-07 01:33:21 +00:00
162 lines
5.7 KiB
C
162 lines
5.7 KiB
C
|
/*
|
||
|
* Copyright (c) 1998-2008 Apple Inc. All rights reserved.
|
||
|
*
|
||
|
* @APPLE_LICENSE_HEADER_START@
|
||
|
*
|
||
|
* The contents of this file constitute Original Code as defined in and
|
||
|
* are subject to the Apple Public Source License Version 1.1 (the
|
||
|
* "License"). You may not use this file except in compliance with the
|
||
|
* License. Please obtain a copy of the License at
|
||
|
* http://www.apple.com/publicsource and read it before using this file.
|
||
|
*
|
||
|
* This Original Code and all software distributed under the License are
|
||
|
* distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||
|
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||
|
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
|
||
|
* FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
|
||
|
* License for the specific language governing rights and limitations
|
||
|
* under the License.
|
||
|
*
|
||
|
* @APPLE_LICENSE_HEADER_END@
|
||
|
*/
|
||
|
/*
|
||
|
* IOEthernetStats.h - Ethernet MIB statistics definitions.
|
||
|
*
|
||
|
* HISTORY
|
||
|
*/
|
||
|
|
||
|
#ifndef _IOETHERNETSTATS_H
|
||
|
#define _IOETHERNETSTATS_H
|
||
|
|
||
|
/*! @header IOEthernetStats.h
|
||
|
@discussion Ethernet statistics. */
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Ethernet-like statistics group.
|
||
|
|
||
|
/*! @typedef IODot3StatsEntry
|
||
|
@discussion Ethernet MIB statistics structure.
|
||
|
@field alignmentErrors dot3StatsAlignmentErrors.
|
||
|
@field fcsErrors dot3StatsFCSErrors.
|
||
|
@field singleCollisionFrames dot3StatsSingleCollisionFrames.
|
||
|
@field multipleCollisionFrames dot3StatsMultipleCollisionFrames.
|
||
|
@field sqeTestErrors dot3StatsSQETestErrors.
|
||
|
@field deferredTransmissions dot3StatsDeferredTransmissions.
|
||
|
@field lateCollisions dot3StatsLateCollisions.
|
||
|
@field excessiveCollisions dot3StatsExcessiveCollisions.
|
||
|
@field internalMacTransmitErrors dot3StatsInternalMacTransmitErrors.
|
||
|
@field carrierSenseErrors dot3StatsCarrierSenseErrors.
|
||
|
@field frameTooLongs dot3StatsFrameTooLongs.
|
||
|
@field internalMacReceiveErrors dot3StatsInternalMacReceiveErrors.
|
||
|
@field etherChipSet dot3StatsEtherChipSet.
|
||
|
@field missedFrames dot3StatsMissedFrames (not in RFC1650).
|
||
|
*/
|
||
|
|
||
|
typedef struct {
|
||
|
UInt32 alignmentErrors;
|
||
|
UInt32 fcsErrors;
|
||
|
UInt32 singleCollisionFrames;
|
||
|
UInt32 multipleCollisionFrames;
|
||
|
UInt32 sqeTestErrors;
|
||
|
UInt32 deferredTransmissions;
|
||
|
UInt32 lateCollisions;
|
||
|
UInt32 excessiveCollisions;
|
||
|
UInt32 internalMacTransmitErrors;
|
||
|
UInt32 carrierSenseErrors;
|
||
|
UInt32 frameTooLongs;
|
||
|
UInt32 internalMacReceiveErrors;
|
||
|
UInt32 etherChipSet;
|
||
|
UInt32 missedFrames;
|
||
|
} IODot3StatsEntry;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Ethernet-like collision statistics group (optional).
|
||
|
|
||
|
/*! @typedef IODot3CollEntry
|
||
|
@discussion Collision statistics structure.
|
||
|
@field collFrequencies dot3StatsCollFrequencies. */
|
||
|
|
||
|
typedef struct {
|
||
|
UInt32 collFrequencies[16];
|
||
|
} IODot3CollEntry;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Receiver extra statistics group (not defined by RFC 1650).
|
||
|
|
||
|
/*! @typedef IODot3RxExtraEntry
|
||
|
@discussion Extra receiver statistics not defined by RFC1650.
|
||
|
@field overruns receiver overruns.
|
||
|
@field watchdogTimeouts watchdog timer expirations.
|
||
|
@field frameTooShorts runt frames.
|
||
|
@field collisionErrors frames damages by late collision.
|
||
|
@field phyErrors PHY receive errors.
|
||
|
@field timeouts receiver timeouts.
|
||
|
@field interrupts receiver interrupts.
|
||
|
@field resets receiver resets.
|
||
|
@field resourceErrors receiver resource shortages.
|
||
|
*/
|
||
|
|
||
|
typedef struct {
|
||
|
UInt32 overruns;
|
||
|
UInt32 watchdogTimeouts;
|
||
|
UInt32 frameTooShorts;
|
||
|
UInt32 collisionErrors;
|
||
|
UInt32 phyErrors;
|
||
|
UInt32 timeouts;
|
||
|
UInt32 interrupts;
|
||
|
UInt32 resets;
|
||
|
UInt32 resourceErrors;
|
||
|
UInt32 reserved[4];
|
||
|
} IODot3RxExtraEntry;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Transmitter extra statistics group (not defined by RFC 1650).
|
||
|
|
||
|
/*! @typedef IODot3TxExtraEntry
|
||
|
@discussion Extra transmitter statistics not defined by RFC1650.
|
||
|
@field underruns transmit underruns.
|
||
|
@field jabbers jabber events.
|
||
|
@field phyErrors PHY transmit errors.
|
||
|
@field timeouts transmitter timeouts.
|
||
|
@field interrupts transmitter interrupts.
|
||
|
@field resets transmitter resets.
|
||
|
@field resourceErrors transmitter resource shortages.
|
||
|
*/
|
||
|
|
||
|
typedef struct {
|
||
|
UInt32 underruns;
|
||
|
UInt32 jabbers;
|
||
|
UInt32 phyErrors;
|
||
|
UInt32 timeouts;
|
||
|
UInt32 interrupts;
|
||
|
UInt32 resets;
|
||
|
UInt32 resourceErrors;
|
||
|
UInt32 reserved[4];
|
||
|
} IODot3TxExtraEntry;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Aggregate Ethernet statistics.
|
||
|
|
||
|
/*! @typedef IOEthernetStats
|
||
|
@discussion Aggregate Ethernet statistics structure.
|
||
|
@field dot3StatsEntry IODot3StatsEntry statistics group.
|
||
|
@field dot3CollEntry IODot3CollEntry statistics group.
|
||
|
@field dot3RxExtraEntry IODot3RxExtraEntry statistics group.
|
||
|
@field dot3TxExtraEntry IODot3TxExtraEntry statistics group.
|
||
|
*/
|
||
|
|
||
|
typedef struct {
|
||
|
IODot3StatsEntry dot3StatsEntry;
|
||
|
IODot3CollEntry dot3CollEntry;
|
||
|
IODot3RxExtraEntry dot3RxExtraEntry;
|
||
|
IODot3TxExtraEntry dot3TxExtraEntry;
|
||
|
} IOEthernetStats;
|
||
|
|
||
|
/*! @defined kIOEthernetStatsKey
|
||
|
@discussion Defines the name of an IONetworkData that contains
|
||
|
an IOEthernetStats. */
|
||
|
|
||
|
#define kIOEthernetStatsKey "IOEthernetStatsKey"
|
||
|
|
||
|
#endif /* !_IOETHERNETSTATS_H */
|