wlan_plat/wlan_hal_api/inc/wha_types.h
changeset 0 c40eb8fe8501
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlan_plat/wlan_hal_api/inc/wha_types.h	Tue Feb 02 02:03:13 2010 +0200
@@ -0,0 +1,778 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Part of WLAN HAL API
+*
+*/
+
+/*
+* %version: 28 %
+*/
+
+#ifndef WHA_TYPES_H
+#define WHA_TYPES_H
+
+#include <whanamespace.h>
+
+NAMESPACE_BEGIN_WHA
+
+typedef TUint16 TMib;
+const TMib KMibDot11StationId                   = 0x1001;
+const TMib KMibDot11MaxReceiveLifetime          = 0x1002;
+const TMib KMibDot11SlotTime                    = 0x1003;
+const TMib KMibDot11GroupAddressesTable         = 0x1004;
+const TMib KMibDot11WepDefaultKeyId             = 0x1005;
+const TMib KMibDot11CurrentTxPowerLevel         = 0x1006;
+const TMib KMibDot11RTSThreshold                = 0x1007;
+const TMib KMibCtsToSelf                        = 0x1101;
+const TMib KMibArpIpAddressTable                = 0x1102;
+const TMib KMibTemplateFrame                    = 0x1103;
+const TMib KMibRxFilter                         = 0x1104;
+const TMib KMibBeaconFilterIeTable              = 0x1105;
+const TMib KMibBeaconFilterEnable               = 0x1106;
+const TMib KMibSleepMode                        = 0x1107;
+const TMib KMibWlanWakeUpInterval               = 0x1108;
+const TMib KMibBeaconLostCount                  = 0x1109;
+const TMib KMibRcpiThreshold                    = 0x110A;
+const TMib KMibStatisticsTable                  = 0x110B;
+const TMib KMibIbssPsConfig                     = 0x110C; /** deprecated */
+const TMib KMibTxRatePolicy                     = 0x110D;
+const TMib KMibCountersTable                    = 0x110E;
+const TMib KMibDot11Preamble                    = 0x110F;
+const TMib KMibEtherTypeFilter                  = 0x1110;
+const TMib KMibBroadcastUdpFilter               = 0x1111;
+
+const TMib KMibHtCapabilities                   = 0x2000;
+const TMib KMibHtBssOperation                   = 0x2001;
+const TMib KMibHtSecondaryBeacon                = 0x2002;
+const TMib KMibHtBlockAckConfigure              = 0x2003;
+const TMib KMibTxAutoRatePolicy                 = 0x2004;
+
+
+typedef TInt32  TPowerLevel; 
+typedef TUint8  TRcpi;
+typedef TUint8  TBand;
+typedef TUint32 TChannelNumber;
+typedef TUint32 TPltType;
+typedef TUint32 TRate; 
+typedef TUint32 TPacketId;
+
+typedef TUint8  TPsMode;
+typedef TUint32 TIbssPsMode; /** deprecated */
+typedef TUint8  TPrivacyKeyId;
+typedef TUint32 TTemplateType;
+typedef TUint32 TSleepMode;
+typedef TUint8  TWlanWakeUpInterval;
+typedef TUint32 TIpv4Address;
+typedef TUint32 TStatus;
+typedef TUint8  TSlotTime;
+
+typedef TUint8  THtSecChannelOffset;
+typedef TUint8  THtChannelWidth;
+typedef TUint8  THtPcoPhase;
+
+const   TUint8  KHtMcsSetLength = 10;
+typedef TUint8  THtMcsSet[KHtMcsSetLength];
+
+typedef TUint8  THtProtection;
+typedef TUint8  THtPpduFormat;
+typedef TUint8  THtRxStbc;
+typedef TUint8  THtMaxAmsdu;
+typedef TUint8  THtMaxAmpdu;
+typedef TUint8  THtAmpduSpacing;
+typedef TUint8  THtPcoTransTime;
+typedef TUint8  THtSecBeacon;
+typedef TUint8  THtMcsFeedback;
+typedef TUint8  TPreambleType;
+typedef TUint32 THtCapabilities;
+typedef TUint8  TFilterMode;
+
+const TBand KBand2dot4GHzMask   = ( 1 << 0 );
+const TBand KBand4dot9GHzMask   = ( 1 << 1 );
+const TBand KBand5GHzMask       = ( 1 << 2 );
+
+/**
+* 802.11 WEP key ID values
+*/
+const TPrivacyKeyId KPrivacyKeyId0      = 0;
+const TPrivacyKeyId KPrivacyKeyId1      = 1;
+const TPrivacyKeyId KPrivacyKeyId2      = 2;
+const TPrivacyKeyId KPrivacyKeyId3      = 3;    
+const TPrivacyKeyId KPrivacyKeyIdMax    = 4; // defined as an upper bound
+
+enum TQueueId
+    {
+    ELegacy,
+    EBackGround,
+    EVideo,
+    EVoice,
+    EHcca,          /** deprecated */
+    EQueueIdMax     // defined as upper bound
+    };
+
+const TUint32 KSlotTime20  = 20;
+const TUint32 KSlotTime9   = 9;
+
+
+const TUint KBeaconStorageSize = 256;
+const TUint KProbeRequestStorageSize = KBeaconStorageSize;
+const TUint KProbeResponseStorageSize = KBeaconStorageSize;
+
+const TTemplateType KBeaconTemplate         = 0;
+const TTemplateType KProbeRequestTemplate   = 1;
+const TTemplateType KNullDataTemplate       = 2;
+const TTemplateType KProbeResponseTemplate  = 3;
+const TTemplateType KQosNullDataTemplate    = 4;
+const TTemplateType KPSPollTemplate         = 5;
+
+const TSleepMode KAwakeMode     = 0;
+const TSleepMode KPowerDownMode = 1;
+const TSleepMode KLowPowerMode  = 2;
+
+const TWlanWakeUpInterval KWakeUpIntervalAllBeacons     = 0;
+const TWlanWakeUpInterval KWakeUpIntervalAllDtims       = 1;
+const TWlanWakeUpInterval KWakeUpIntervalEveryNthBeacon = 2;
+const TWlanWakeUpInterval KWakeUpIntervalEveryNthDtim   = 3;
+
+const TIbssPsMode KIbssStandardPsMode = 0; /** deprecated */
+const TIbssPsMode KIbssEnhancedPsMode = 1; /** deprecated */
+
+const THtSecChannelOffset KNoSecCh          = 0;
+const THtSecChannelOffset KSecChAbovePrimCh = 1;
+const THtSecChannelOffset KSecChBelowPrimCh = 3;
+
+const THtChannelWidth KHtChWidthOnly20MHz  = 0;
+const THtChannelWidth KHtChWidth40And20MHz = 1;
+
+const THtPcoPhase KHtPcoPhase20MHz = 0;
+const THtPcoPhase KHtPcoPhase40MHz = 1;
+
+const THtProtection KHtOperationMode0 = 0;
+const THtProtection KHtOperationMode1 = 1;
+const THtProtection KHtOperationMode2 = 2;
+const THtProtection KHtOperationMode3 = 3;
+
+const THtPpduFormat KHtPpduFormatNonHt      = 0;
+const THtPpduFormat KHtPpduFormatMixed      = 1;
+const THtPpduFormat KHtPpduFormatGreenfield = 2;
+
+const THtRxStbc KHtRxStbcNotSupported        = 0;
+const THtRxStbc KHtRxStbcFor1Stream          = 1;
+const THtRxStbc KHtRxStbcFor1And2Streams     = 2;
+const THtRxStbc KHtRxStbcFor1And2And3Streams = 3;
+
+const THtMaxAmsdu KHtMaxAmsdu3839Octets = 0;
+const THtMaxAmsdu KHtMaxAmsdu7935Octets = 1;
+
+const THtMaxAmpdu KHtMaxAmpdu8191Octets  = 0;
+const THtMaxAmpdu KHtMaxAmpdu16383Octets = 1;
+const THtMaxAmpdu KHtMaxAmpdu32767Octets = 2;
+const THtMaxAmpdu KHtMaxAmpdu65535Octets = 3;
+
+const THtAmpduSpacing KHtAmpduSpacingNoRestriction  = 0;
+const THtAmpduSpacing KHtAmpduSpacingQuarter_us     = 1;
+const THtAmpduSpacing KHtAmpduSpacingHalf_us        = 2;
+const THtAmpduSpacing KHtAmpduSpacingOne_us         = 3;
+const THtAmpduSpacing KHtAmpduSpacingTwo_us         = 4;
+const THtAmpduSpacing KHtAmpduSpacingFour_us        = 5;
+const THtAmpduSpacing KHtAmpduSpacingEight_us       = 6;
+const THtAmpduSpacing KHtAmpduSpacingSixteen_us     = 7;
+
+const THtPcoTransTime KHtPcoTransTimeNone  = 0;
+const THtPcoTransTime KHtPcoTransTime400us = 1;
+const THtPcoTransTime KHtPcoTransTime1_5ms = 2;
+const THtPcoTransTime KHtPcoTransTime5ms   = 3;
+
+const THtSecBeacon KHtSecBeaconRxPrimaryOnly   = 0;
+const THtSecBeacon KHtSecBeaconRxEither        = 1;
+const THtSecBeacon KHtSecBeaconRxSecondaryOnly = 2;
+
+const THtMcsFeedback KHtMcsFeedbackNone                    = 0;
+const THtMcsFeedback KHtMcsFeedbackUnsolicitedOnly         = 2;
+const THtMcsFeedback KHtMcsFeedbackUnsolicitedAndSolicited = 3;
+
+const TPreambleType KLongPreamble  = 0;
+const TPreambleType KShortPreamble = 1;
+
+const THtCapabilities KLdpcRx               = ( 1 <<  0 );
+const THtCapabilities K40MhzChannel         = ( 1 <<  1 );
+const THtCapabilities KGreenfieldFormat     = ( 1 <<  2 );
+const THtCapabilities KShortGiFor20Mhz      = ( 1 <<  3 );
+const THtCapabilities KShortGiFor40Mhz      = ( 1 <<  4 );
+const THtCapabilities KStbcTx               = ( 1 <<  5 );
+const THtCapabilities KDelayedBlockAck      = ( 1 <<  6 );
+const THtCapabilities KDsssCckIn40Mhz       = ( 1 <<  7 );
+const THtCapabilities KPsmp                 = ( 1 <<  8 );
+const THtCapabilities KLsigTxopProtection   = ( 1 <<  9 );
+const THtCapabilities KPco                  = ( 1 << 10 );
+const THtCapabilities KHtcField             = ( 1 << 11 );
+const THtCapabilities KReverseDirectionResp = ( 1 << 12 );
+
+const TFilterMode KFilteringDisabled = 0;
+const TFilterMode KFilterIn          = 1;
+const TFilterMode KFilterOut         = 2;
+
+typedef TIpv4Address TIpV4Addr;  /** deprecated */
+
+const TIpv4Address KZeroIpV4Addr = 0x00000000;
+
+/**
+* rate definition masks
+*/
+const TRate KRate1Mbits       = 0x00000001;
+const TRate KRate2Mbits       = 0x00000002;
+const TRate KRate5_5Mbits     = 0x00000004;
+const TRate KRate6Mbits       = 0x00000008;
+const TRate KRate9Mbits       = 0x00000010;
+const TRate KRate11Mbits      = 0x00000020;
+const TRate KRate12Mbits      = 0x00000040;
+const TRate KRate18Mbits      = 0x00000080;
+const TRate KRate22Mbits      = 0x00000100;
+const TRate KRate24Mbits      = 0x00000200;
+const TRate KRate33Mbits      = 0x00000400;
+const TRate KRate36Mbits      = 0x00000800;
+const TRate KRate48Mbits      = 0x00001000;
+const TRate KRate54Mbits      = 0x00002000;
+
+const TRate KDot11gRates      =
+    KRate1Mbits | KRate2Mbits | KRate5_5Mbits | KRate6Mbits | KRate9Mbits |
+    KRate11Mbits | KRate12Mbits | KRate18Mbits | KRate22Mbits | KRate24Mbits |
+    KRate33Mbits | KRate36Mbits | KRate48Mbits | KRate54Mbits;
+
+const TRate KDot11bRates  =
+    KRate1Mbits | KRate2Mbits | KRate5_5Mbits | KRate11Mbits;
+
+const TRate KMaxDot11bRate = KRate11Mbits;
+
+/**
+* bitmasks for ReceivePacket aFlags member
+*/
+const TUint32 KEncryptNone      = 0;
+const TUint32 KEncryptWapi      = (1 << 15);
+const TUint32 KEncryptWep       = (1 << 16);
+const TUint32 KEncryptTkip      = (1 << 17);
+const TUint32 KEncryptAes       = (3 << 16);
+const TUint32 KMoreFrames       = (1 << 18);
+const TUint32 KDuringMeasure    = (1 << 19); /** deprecated */
+const TUint32 KHtPacket         = (1 << 20);
+const TUint32 KPartOfAmpdu      = (1 << 21);
+const TUint32 KStbc             = (1 << 22);
+
+struct STxPowerRange
+    {
+    TPowerLevel     iMinPowerLevel;
+    TPowerLevel     iMaxPowerLevel;
+    TUint32         iStepping;
+    };
+
+struct SHtCapabilities
+    {
+    THtCapabilities iHTCapabilitiesBitMask;
+    TUint16         iRxMaxDataRate;
+    THtChannelWidth iChannelWidth;
+    THtRxStbc       iRxStbc;
+    THtMaxAmsdu     iMaxAmsdu;
+    THtMaxAmpdu     iMaxAmpdu;
+    THtAmpduSpacing iAmpduSpacing;
+    THtMcsSet       iRxMcs;
+    THtMcsSet       iTxMcs;
+    THtPcoTransTime iPcoTransTime;
+    THtMcsFeedback  iMcsFeedback;
+    };
+
+struct SSettings
+    {
+    static const TUint KNumOfBandsSupported = 3;
+
+    TUint8      iNumOfSSIDs;    
+    TUint8      iRxBufAlignment; /** deprecated */
+    TUint16     iNumOfBytesForSsid;
+    TRate       iRates;
+    TBand       iBand;
+    TUint8      iRxoffset;
+    TUint8      iNumOfGroupTableEntrys;
+    TUint8      iNumOfTxRateClasses;
+    TUint8      iTxFrameTrailerSpace;
+    TUint8      iTxFrameHeaderSpace;
+    TUint16     iFlagsMask; /** deprecated */
+    STxPowerRange iTxPowerRange[KNumOfBandsSupported];
+
+    enum { KMaxReceiveLifeTime  = ( 1 << 0 ) };
+    enum { KIbssPsConfig        = ( 1 << 1 ) }; /** deprecated */
+    enum { KTruncate            = ( 1 << 2 ) };
+    enum { KPreambleOverride    = ( 1 << 3 ) };
+    enum { KPowerLevelParam     = ( 1 << 4 ) };
+    enum { KExpiryTimeParam     = ( 1 << 5 ) };
+    enum { KProbe4Join          = ( 1 << 6 ) };
+    enum { KMaxLifeTime         = ( 1 << 7 ) };
+    enum { KTxNoAckPolicy       = ( 1 << 8 ) };
+    enum { KBlockAckPolicy      = ( 1 << 9 ) }; /** deprecated */
+    enum { KDot11SlotTime       = ( 1 << 10 ) };
+    enum { KWmmSa               = ( 1 << 11 ) }; /** deprecated */
+    enum { KSapsd               = ( 1 << 12 ) }; /** deprecated */
+    enum { KRadioMeasurements   = ( 1 << 13 ) }; /** deprecated */
+    enum { KLegacyPsPoll        = ( 1 << 14 ) }; /** deprecated */
+    enum { KWep16ByteKey        = ( 1 << 15 ) }; /** deprecated */
+    enum { KMoreDataAck         = ( 1 << 16 ) };
+    enum { KScanChannelTimes    = ( 1 << 17 ) };
+    enum { KAutonomousRateAdapt = ( 1 << 18 ) };
+    enum { KNoSecHdrAndTrailer  = ( 1 << 19 ) };
+    enum { KHtOperation         = ( 1 << 20 ) };
+    enum { KWapi                = ( 1 << 21 ) };
+    enum { KDsParamSetIeInProbe = ( 1 << 22 ) };
+    enum { KEtherTypeFilter     = ( 1 << 23 ) };
+    enum { KBroadcastUdpFilter  = ( 1 << 24 ) };
+    enum { KMultipleRxBuffers   = ( 1 << 25 ) };
+
+    TUint32         iCapability;
+    SHtCapabilities iHtCapabilities;
+    };
+
+struct SConfigureDataBase
+    {   
+    // currently this is the only one defined
+    TUint32 iDot11MaxTransmitMsduLifeTime;     
+    };
+
+// frequencies for 2.4 GHz band in units of KHz
+const TUint32 K2dot4ChannelFrequencies[] = 
+    {
+    2412000, // Channel 1
+    2417000, // Channel 2
+    2422000, // Channel 3
+    2427000, // Channel 4
+    2432000, // Channel 5
+    2437000, // Channel 6
+    2442000, // Channel 7
+    2447000, // Channel 8
+    2452000, // Channel 9
+    2457000, // Channel 10
+    2462000, // Channel 11
+    2467000, // Channel 12
+    2472000, // Channel 13
+    2484000  // Channel 14
+    };
+    
+struct SChannelLoadParams /** deprecated */
+    {
+    };
+
+struct SNoiseHistogramParams /** deprecated */
+    {
+    };
+
+struct SBeaconParams /** deprecated */
+    {
+    enum { KPassive         = 0 };
+    enum { KPassivePilot    = 1 };
+    enum { KActive          = 2 };
+    enum { KStaSelected     = 3 };
+    enum { KBeaconTable     = 4 };
+
+    TUint32                  iScanMode;
+    };
+
+union UMeasurementSpecific /** deprecated */
+    {
+    SBeaconParams           iBeaconParams;
+    SChannelLoadParams      iChannelLoadParams;
+    SNoiseHistogramParams   iNoiseHistogramParams;
+    };
+
+struct SParameterSet /** deprecated */
+    {
+    enum { KMeasTypeBasic           = 0 };
+    enum { KMeasTypeChannelLoad     = 1 };
+    enum { KMeasTypeNoiseHistogram  = 2 };
+    enum { KMeasTypeBeacon          = 3 };
+    enum { KMeasTypeFrame           = 4 };
+
+    TUint32                 iType; 
+    TUint32                 iDuration;
+    TUint32                 iReserved;
+    UMeasurementSpecific    iMeasurementSpecific;
+    };
+
+struct SChannels
+    {
+    TChannelNumber  iChannel;
+    TUint32         iMinChannelTime;
+    TUint32         iMaxChannelTime;
+    TPowerLevel     iTxPowerLevel;
+    };
+
+struct SSSID
+    {
+    enum { KMaxSSIDLength = 32 };
+
+    TUint32 iSSIDLength;
+    TUint8  iSSID[KMaxSSIDLength];
+    };
+
+enum TScanType
+    {
+    EFgScan,
+    EBgScan,
+    EForcedBgScan
+    };
+
+enum TOperationMode
+    {
+    EIBSS,
+    EBSS
+    };
+
+#pragma pack(1)
+struct TMacAddress
+    {
+    enum { KMacAddressLength = 6 };
+
+    /** the MAC address */
+    TUint8 iMacAddress[KMacAddressLength];
+    }; // 6 bytes
+#pragma pack()    
+
+/**
+* Broadcast MAC Address.
+*/
+const TMacAddress KBroadcastMacAddr = 
+    {
+        { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
+    };
+
+/**
+* MAC address that is all zeros
+*/
+const TMacAddress KZeroMacAddr = 
+    {
+        { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }
+    };
+
+struct SWepPairwiseKey
+    {    
+    enum { KHeaderSize = sizeof( TMacAddress ) + ( 2 * sizeof( TUint8 ) ) };
+
+    TMacAddress     iMacAddr;
+    TUint8          iReserved;
+    TUint8          iKeyLengthInBytes;
+    TUint8          iKey[1];
+    };
+
+struct SWepGroupKey
+    {
+    enum { KHeaderSize = sizeof( TPrivacyKeyId ) + ( 3 * sizeof( TUint8 ) ) };
+    
+    TPrivacyKeyId   iKeyId;
+    TUint8          iKeyLengthInBytes;
+    TUint8          iReserved[2];
+    TUint8          iKey[1];
+    };
+
+/**
+* Length of TKIP key in bytes;
+*/
+const TUint32 KTKIPKeyLength = 16;
+/**
+* Length of MIC in BYTEs
+*/
+const TUint32 KMicLength = 8;
+
+struct STkipPairwiseKey
+    {
+    TMacAddress     iMacAddr;
+    TUint8          iReserved[2];
+    TUint8          iTkipKey[KTKIPKeyLength];
+    TUint8          iRxMicKey[KMicLength];
+    TUint8          iTxMicKey[KMicLength];
+    TPrivacyKeyId   iKeyId;
+    TUint8          iReserved2[3];
+    };
+
+/**
+* Length of receive sequence counter in bytes
+*/
+const TUint32 KRxSequenceCounterLength = 8;
+
+struct STkipGroupKey
+    {
+    TUint8          iTkipKey[KTKIPKeyLength];
+    TUint8          iRxMicKey[KMicLength];
+    TPrivacyKeyId   iKeyId;
+    TUint8          iReserved[3];
+    TUint8          iRxSequenceCounter[KRxSequenceCounterLength];
+    };
+
+/**
+* Length of AES key in bytes;
+*/
+const TUint32 KAesKeyLength = 16;
+
+struct SAesPairwiseKey
+    {
+    TMacAddress     iMacAddr;
+    TUint8          iReserved[2];
+    TUint8          iAesKey[KAesKeyLength];
+    };
+
+struct SAesGroupKey
+    {
+    TUint8          iAesKey[KAesKeyLength];
+    TPrivacyKeyId   iKeyId;
+    TUint8          iReserved[3];
+    TUint8          iRxSequenceCounter[KRxSequenceCounterLength];
+    };
+
+/**
+* Length of WAPI encryption key in bytes;
+*/
+const TUint32 KWapiKeyLength = 16;
+/**
+* Length of WAPI MIC key in bytes
+*/
+const TUint32 KWapiMicKeyLength = 16;
+
+struct SWapiPairwiseKey
+    {
+    TMacAddress     iMacAddr;
+    TPrivacyKeyId   iKeyId;
+    TUint8          iReserved[1];
+    TUint8          iWapiKey[KWapiKeyLength];
+    TUint8          iMicKey[KWapiMicKeyLength];
+    };
+
+struct SWapiGroupKey
+    {
+    TUint8          iWapiKey[KWapiKeyLength];
+    TUint8          iMicKey[KWapiMicKeyLength];
+    TPrivacyKeyId   iKeyId;
+    TUint8          iReserved[3];
+    };
+
+enum TPreamble
+    {
+    ELongPreamble,
+    EShortPreamble
+    };
+
+const TPsMode KPsDisable = 0;
+const TPsMode KPsEnable = 1;
+
+
+enum TParameterSet
+    {
+    EParameterSetPlaceHolder
+    };
+
+enum TKeyType
+    {
+    EWepGroupKey,
+    EWepPairWiseKey,
+    ETkipGroupKey,    
+    ETkipPairWiseKey,      
+    EAesGroupKey,    
+    EAesPairWiseKey,      
+    EWapiGroupKey,
+    EWapiPairWiseKey,
+    EKeyNone        // defined as an empty type
+    };
+
+enum TPsScheme
+    {
+    ERegularPs,
+    EUapsd,
+    ELegacyPs, /** deprecated */
+    ESapsd     /** deprecated */
+    };
+
+struct SSAPSDConfig /** deprecated */
+    {
+    TUint32 iServiceStartTime;  // Lower order of TSF
+    TUint32 iServiceInterval;   // In microseconds
+    };
+
+enum TAckPolicy
+    {
+    ENormal,
+    ENoaAck,
+    EBlockAck /** deprecated */
+    };
+
+const TStatus KSuccess                  = 0;
+const TStatus KFailed                   = 1;
+const TStatus KDecryptFailure           = 2;
+const TStatus KMicFailure               = 3;
+const TStatus KSuccessXfer              = 4;
+const TStatus KPending                  = 5;
+const TStatus KQueueFull                = 6;
+const TStatus KErrorRetryExceeded       = 7;
+const TStatus KErrorLifetimeExceeded    = 8;
+const TStatus KErrorNoLink              = 9;
+const TStatus KErrorMacNotResponding    = 10;
+const TStatus KSuccessQueueFull         = 11;
+
+
+enum TCommandId
+    {
+    EInitializeResponse,
+    EConfigureResponse,
+    EReleaseResponse,
+    EPLtResponse,
+    EResetResponse,
+    EMeasureCommandResponse,   /** deprecated */
+    EStopMeasureResponse,      /** deprecated */
+    EScanCommandResponse,
+    EStopScanResponse,
+    EJoinResponse,
+    ESetPsModeCommandResponse,
+    ESetBssParametersResponse,
+    EReadMIBResponse,
+    EWriteMIBResponse,
+    EAddKeyResponse,
+    ERemoveKeyResponse,
+    EConfigureQueueResponse,
+    EConfigureACResponse,
+    };
+
+enum TCompleteCommandId
+    {
+    EMeasureComplete, /** deprecated */
+    EScanComplete,
+    ESetPsModeComplete
+    };
+
+struct SJoinResponse
+    {
+    TPowerLevel iMinPowerLevel;
+    TPowerLevel iMaxPowerLevel;
+    };
+
+struct SReadMibResponse
+    {
+    TMib        iMib;
+    TUint16     iLength;
+    const void* iData;
+    };
+
+union UCommandResponseParams
+    {
+    SJoinResponse           iJoinResponse;
+    SReadMibResponse        iReadMibResponse;
+    };
+
+struct SChannelLoadResult /** deprecated */
+    {
+    TUint32 iCCABusyFraction;  
+    };
+
+struct SNoiseHistogramResult /** deprecated */
+    {
+    enum { KResultSize = 8 };
+
+    TUint8 iRPIDensity[KResultSize];
+    };
+
+struct SFrameReport /** deprecated */
+    {
+    TMacAddress iTransmitAddress;
+    TUint8      iReserved1[2];
+    TMacAddress iBssId;
+    TUint8      iReserved2[2];
+    TPowerLevel iRxSignalPower;
+    TUint32     iNumOfFrames;
+    };
+
+struct SFrameResultReport /** deprecated */
+    {
+    TUint32         iNumberOfResults;
+    SFrameReport    iFrameReport[1];
+    };
+
+union UMeasurementSpecificResult /** deprecated */
+    {
+    SChannelLoadResult      iChannelLoadResult;
+    SNoiseHistogramResult   iNoiseHistogramResult;
+    SFrameResultReport      iFrameResultReport;
+    };
+
+struct SResultSet /** deprecated */
+    {
+    TUint32 iType;
+    TStatus iStatus;
+
+    UMeasurementSpecificResult  iMeasurementSpecificResult;
+    };
+
+struct SMeasureComplete /** deprecated */
+    {
+    TPsMode     iDot11PowerManagementMode;
+    TUint8      iNumberOfMeasurementTypes;
+    TUint8      iReserved[2];
+    SResultSet  iResultSet[1];
+    };
+
+struct SScanComplete
+    {
+    TPsMode iDot11PowerManagementMode;
+    TUint8  iReserved[3];
+    };
+
+struct SSetPsModeComplete
+    {
+    TPsMode iDot11PowerManagementMode;
+    TUint8  iReserved[3];
+    };
+
+union UCommandCompletionParams
+    {
+    SMeasureComplete        iMeasureComplete;
+    SScanComplete           iScanComplete;
+    SSetPsModeComplete      iSetPsModeComplete;
+    };
+
+enum TIndicationId
+    {
+    EError,
+    EBssLost,
+    EBSSRegained,
+    ERadar, /** deprecated */
+    ERcpi,
+    EPsModeError
+    };
+
+struct SError
+    {
+    TStatus iStatus;
+    };
+
+enum TMicKeyType
+    {
+    EPairWise,
+    EGroup
+    };
+
+struct SRcpi
+    {
+    TRcpi   iRcpi;
+    TUint8  iReserved[3];
+    };
+
+union UIndicationParams
+    {
+    SError          iError;
+    SRcpi           iRcpi;
+    };
+
+NAMESPACE_END_WHA
+
+#endif // WHA_TYPES_H
+