wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/inc/EtherCardIoc.h
changeset 0 c40eb8fe8501
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/inc/EtherCardIoc.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,197 @@
+/*
+* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:   This header provides the IO Control and Event codes.
+*
+*/
+
+/*
+* %version: 6 %
+*/
+
+#if !defined(__ETHERIOC_H__)
+#define __ETHERIOC_H__
+
+/**
+IOControl options. 
+*/
+const TUint8 KIoControlNullCommand=0x00; //Test use only
+const TUint8 KIoControlResetCard=0x01;
+const TUint8 KIoControlPowerUpCard=0x02;
+const TUint8 KIoControlPowerDownCard=0x03;
+const TUint8 KIoControlGetStats=0x04;
+const TUint8 KIoControlResetStats=0x05;
+const TUint8 KIoControlGetStatus=0x06;
+const TUint8 KIoControlSetParameters=0x07;
+const TUint8 KIoControlSetMACAddress=0x08;
+
+/**
+GetEvent options. 
+*/
+
+const TUint8 KEventNull=0x00; //Test use only
+const TUint8 KEventEmergencyPowerDown=0x01;
+const TUint8 KEventNormalPowerDown=0x02;
+const TUint8 KEventPCCardReady=0x04;
+const TUint8 KEventMediaOpen=0x08;
+
+// Card configuration - speed settings.
+const TUint8 KEthSpeedUnknown=0x00;
+const TUint8 KEthSpeedAuto=0x01;
+const TUint8 KEthSpeed10BaseT=0x02;
+const TUint8 KEthSpeed100BaseTX=0x03;
+const TUint8 KEthSpeedDefault=KEthSpeedAuto;
+
+// Card configuration - duplex settings.
+const TUint8 KEthDuplexUnknown=0x00;
+const TUint8 KEthDuplexAuto=0x01;
+const TUint8 KEthDuplexFull=0x02;
+const TUint8 KEthDuplexHalf=0x03;
+const TUint8 KEthDuplexDefault=KEthDuplexAuto;
+
+// Card configuration - rx mode settings.
+const TUint8 KEthRxModeUnknown=0x00;
+const TUint8 KEthRxModeStation=0x01;
+const TUint8 KEthRxModeBroadcast=0x02;
+const TUint8 KEthRxModeMulticast=0x03;
+const TUint8 KEthRxModePromisuous=0x04;
+const TUint8 KEthRxModeDefault=KEthRxModeMulticast;
+
+// Card parameter - general no change indicator.
+const TUint8 KEthNoChange=0x00;
+const TUint8 KEthNoSetting=0x00;
+const TUint8 KEthModeOn=0x01;
+const TUint8 KEthModeOff=0x02;
+
+/**
+Default Ethernet Address. 
+*/
+const TUint8 KDefEtherAddByte0=0x31; // MSB
+const TUint8 KDefEtherAddByte1=0x32;
+const TUint8 KDefEtherAddByte2=0x33;
+const TUint8 KDefEtherAddByte3=0x34;
+const TUint8 KDefEtherAddByte4=0x35;
+const TUint8 KDefEtherAddByte5=0x36; // LSB
+
+const TUint KEthernetAddressLength=6;
+
+// Card configuration - status alternatives.
+const TUint8 KEthCardReady=0x00;
+const TUint8 KEthCardNotReady=0xFF;
+
+// Card configuration - precise status alternatives.
+const TUint8 KIoControlCardNotPresent=0x01;
+const TUint8 KIoControlCardNotReady=0x02;
+const TUint8 KIoControlCardBad=0x03;
+const TUint8 KIoControlCardReady=0x04;
+
+/**
+ *  Ethernet card statistics class.
+ *
+ *  @since S60 v3.1
+ */
+class TPddPcCardStatistics
+	{
+
+public:
+	inline TPddPcCardStatistics() { Init(); }
+	inline void Init()
+		{
+		iTxErrReclaim = iTxErrStatusOverflow = iTxErrMaxCollisions = 0;
+		iTxErrUnderrun = iTxErrJabber = 0;
+		iRxErrOverflow = iRxErrLength = iRxErrFrame = 0;
+		iRxErrCrc = iRxErrPacketDropped = 0;
+		iBadSSD = iUpperBytesOK = iCarrierLost = 0;
+		iSqeErrors = iMultiCollFrames = iSingleCollFrames = iLateCollisions = 0;
+		iRxOverruns = iFramesXmittedOK = iFramesRcvdOK = iFramesDeferred = 0;
+		iUpperFramesOK = iBytesRcvdOK = iBytesXmittedOK = 0;
+		iBadSSD = iUpperBytesOK = 0;
+		iNumRxPackets = iNumTxPackets = iNumRxBytes = iNumTxBytes = 0; 
+		}
+public:
+	// Driver statistics 
+	TUint iTxErrReclaim;
+	TUint iTxErrStatusOverflow;
+	TUint iTxErrMaxCollisions;
+	TUint iTxErrUnderrun;
+	TUint iTxErrJabber;
+	TUint iRxErrOverflow;
+	TUint iRxErrLength;
+	TUint iRxErrFrame;
+	TUint iRxErrCrc;
+	TUint iRxErrPacketDropped;
+
+	// Adapter statistics 
+	TUint iCarrierLost;
+	TUint iSqeErrors;
+	TUint iMultiCollFrames;
+	TUint iSingleCollFrames;
+	TUint iLateCollisions;
+	TUint iRxOverruns;
+	TUint iFramesXmittedOK;
+	TUint iFramesRcvdOK;
+	TUint iFramesDeferred;
+	TUint iUpperFramesOK;
+	TUint iBytesRcvdOK;
+	TUint iBytesXmittedOK;
+	TUint iBadSSD;
+	TUint iUpperBytesOK;
+
+	// Derived adapter statistics 
+	TUint iNumRxPackets;
+	TUint iNumTxPackets;
+	TUint iNumRxBytes;
+	TUint iNumTxBytes;
+	};
+
+/**
+ *  Ethernet card configuration class.
+ *
+ *  @since S60 v3.1
+ */
+class TEtherConfig
+	{
+
+public:
+	TUint8 iStatus;
+	TUint8 iEthSpeed;
+	TUint8 iEthDuplex;
+	TUint8 iEthAddress[KEthernetAddressLength];
+	};
+
+/**
+ *  Ethernet parameters class.
+ *
+ *  @since S60 v3.1
+ */
+class TEtherParams
+	{
+
+public:
+	inline TEtherParams()
+		:	iEthSpeed(KEthNoChange), iEthDuplex(KEthNoChange), iRxMode(KEthNoChange),
+			iSwFullDuplexMode(KEthNoChange), iIntLoopbackMode(KEthNoChange),
+			iIntAppendCRCMode(KEthNoChange), iPadFramesMode(KEthNoChange)
+		{}
+public:
+	TUint8 iCommand;
+	TUint8 iEthSpeed;
+	TUint8 iEthDuplex;
+	TUint8 iRxMode;
+	TUint8 iSwFullDuplexMode;
+	TUint8 iIntLoopbackMode;
+	TUint8 iIntAppendCRCMode;
+	TUint8 iPadFramesMode;
+	};
+
+#endif