Home | History | Annotate | Download | only in UtilityAdapter
      1 /*******************************************************************************
      2 **+--------------------------------------------------------------------------+**
      3 **|                                                                          |**
      4 **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/         |**
      5 **|                                                                          |**
      6 **| Licensed under the Apache License, Version 2.0 (the "License");          |**
      7 **| you may not use this file except in compliance with the License.         |**
      8 **| You may obtain a copy of the License at                                  |**
      9 **|                                                                          |**
     10 **|     http://www.apache.org/licenses/LICENSE-2.0                           |**
     11 **|                                                                          |**
     12 **| Unless required by applicable law or agreed to in writing, software      |**
     13 **| distributed under the License is distributed on an "AS IS" BASIS,        |**
     14 **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
     15 **| See the License for the specific language governing permissions and      |**
     16 **| limitations under the License.                                           |**
     17 **|                                                                          |**
     18 **+--------------------------------------------------------------------------+**
     19 *******************************************************************************/
     20 
     21 /*--------------------------------------------------------------------------*/
     22 /* Module:		CTI_Adapter.h*/
     23 /**/
     24 /* Purpose:		interface for the ITI_WLAN_Adapter class.*/
     25 /**/
     26 /*--------------------------------------------------------------------------*/
     27 
     28 #if !defined(AFX_CTI_WLAN_ADAPTER_H__3B4F299B_AF52_40DE_BE67_A032DA1FB441__INCLUDED_)
     29 #define AFX_CTI_WLAN_ADAPTER_H__3B4F299B_AF52_40DE_BE67_A032DA1FB441__INCLUDED_
     30 
     31 #include "tiwlnif.h"
     32 
     33 #if _MSC_VER > 1000
     34 #pragma once
     35 #endif /* _MSC_VER > 1000*/
     36 
     37 #define TIWLNAPI_READ       0
     38 #define TIWLNAPI_WRITE      1
     39 #define TIWLNAPI_READWRITE  2
     40 
     41 #define MAX_SSID_LENGTH     32
     42 
     43 #ifndef _T
     44 #define _T(x)	x
     45 #endif
     46 
     47 
     48 
     49 
     50 #ifdef EXC_MODULE_INCLUDED
     51     #define EXC_EXPANSION           CASE_EXC_SUPPORT
     52     #define EXC_MODULE_SUPPORT_H    ADAPTER_EXC_SUPPORT_H
     53 #else
     54     #define EXC_EXPANSION
     55     #define EXC_MODULE_SUPPORT_H
     56 #endif /*EXC_MODULE_INCLUDED */
     57 
     58 #ifdef _WINDOWS
     59 #else
     60 
     61 class TI_IPC
     62 {
     63 	TI_HANDLE m_hDevice;
     64     public:
     65         TI_IPC();
     66        ~TI_IPC();
     67         tiINT32    IPC_DeviceIoControl  (   tiUINT32    dwIoControlCode,
     68                                         tiVOID* lpInBuffer, tiUINT32 nInBufferSize,
     69                                         tiVOID* lpOutBuffer, tiUINT32 nOutBufferSize,
     70                                         tiUINT32* lpBytesReturned);
     71         TI_HANDLE   IPC_DeviceOpen      ( tiCHAR* pAdapterName);
     72         tiVOID      IPC_DeviceClose     ();
     73         tiINT32     IPC_RegisterEvent   ( IPC_EVENT_PARAMS* pEventParams );
     74         tiINT32     IPC_UnRegisterEvent ( IPC_EVENT_PARAMS* pEventParams );
     75 };
     76 #endif /* _WINDOWS */
     77 
     78 class TI_OSRegistry
     79 {
     80     public:
     81         tiUINT32    PutSZ(tiCHAR* /*lpszName*/, tiCHAR* /* lpszValue*/) {return TRUE;}
     82         tiUINT32	PutDW(tiCHAR* /*lpszName*/, tiUINT32   /* dwValue*/)   {return TRUE;}
     83 
     84 };
     85 
     86 class CTI_WLAN_AdapterAPI;
     87 
     88 struct _AdapterItem
     89 {
     90         _AdapterItem()
     91         {
     92             m_dwAdapterID   = NULL;
     93             m_pAdapterName  = NULL;
     94             m_pNextItem     = NULL;
     95             m_pPrevItem     = NULL;
     96             m_uRef          = 1;
     97         }
     98 
     99         CTI_WLAN_AdapterAPI*            m_dwAdapterID;
    100         tiCHAR*                         m_pAdapterName;
    101         tiUINT32                        m_uRef;
    102 
    103         _AdapterItem*                   m_pNextItem;
    104         _AdapterItem*                   m_pPrevItem;
    105 
    106         tiUINT32                        AddRef()    {return ++m_uRef;}
    107         tiUINT32                        DecRef()    {return --m_uRef;}
    108 };
    109 
    110 class CTI_WLAN_AdapterAPI : public TI_WLAN_AdapterAPI
    111 {
    112     protected:
    113 
    114         static  _AdapterItem*           m_pAdaptersList;
    115 
    116 	                                    CTI_WLAN_AdapterAPI     ( tiCHAR* lpszAdapterName );
    117 	    virtual                        ~CTI_WLAN_AdapterAPI     ();
    118                 tiINT32                 PLT_RxTXCal(void* pTestCmdData, tiUINT32 Length, TestCmdID_e TestCmdID);
    119                 tiCHAR*                 m_pszAdapterName;
    120                 tiINT32                 PLT_RxCalStatus(TI_STATUS* pStatus);
    121 
    122     private:
    123 #ifdef _WINDOWS
    124 #else
    125                 TI_IPC*                 m_pIPCmod;
    126 #endif
    127 #ifdef TI_EMBEDDED_SUPPLICANT
    128     			TI_IPC_Supplicant* m_pSupplicant;
    129 #endif /* ifdef TI_EMBEDDED_SUPPLICANT */
    130                 TI_OSRegistry*          m_pRegistry;
    131                 TI_OAL*                 m_pOSLib;
    132 #ifdef TI_EMBEDDED_SUPPLICANT
    133                 tiBOOL                  m_bSupplicantInUse;
    134 #endif /* ifdef TI_EMBEDDED_SUPPLICANT */
    135 
    136                 tiINT32                 tiIoCtrl                (tiUINT32 dwIoCtrl, tiVOID* pInBuffer, tiUINT32 dwInBufferSize,
    137                                                                  tiVOID* pOutBuffer = NULL, tiUINT32 dwOutBufferSize = 0, tiUINT32* dwBytesReturned = NULL);
    138                 tiINT32                 tiMiniportSetInformation(tiUINT32 dwInfoCode,tiVOID* lpInfoBuffer,
    139                                                                  tiUINT32* lpdwCbInfoBuffer);
    140                 tiINT32                 tiMiniportQueryInformation(tiUINT32 dwInfoCode, tiVOID* lpInfoBuffer,
    141                                                                  tiUINT32* lpdwCbInfoBuffer);
    142     public:
    143 	    static  CTI_WLAN_AdapterAPI*    GetTIWLANAdapter        (tiCHAR* lpszAdapterName, tiBOOL bForce);
    144         static  tiINT32                 FreeTIWLANAdapter       ( CTI_WLAN_AdapterAPI* pAdapter, tiBOOL bForce);
    145                 tiINT32                 CheckObjectMemory       (tiVOID* pObj, tiUINT32 uSizeObj);
    146 
    147         virtual tiINT32                 GetApiVersion           ( tiUINT32* pdwApiVersion );
    148 
    149 	    virtual tiINT32                 GetBSSID                ( OS_802_11_MAC_ADDRESS* pAddrBSSID );
    150 	    virtual tiINT32                 SetBSSID                ( OS_802_11_MAC_ADDRESS* pAddrBSSID );
    151 
    152         virtual tiINT32                 GetBSSIDList            ( OS_802_11_BSSID_LIST_EX** ppBSSIDlist);
    153         virtual tiINT32                 GetFullBSSIDList        ( OS_802_11_BSSID_LIST_EX** ppBSSIDlist);
    154 
    155         virtual tiINT32                 GetCurrentAddress       ( OS_802_11_MAC_ADDRESS*    pCurrentAddr);
    156 
    157         virtual tiINT32                 SetDesiredChannel       ( tiUINT32  uDesiredChannel  );
    158         virtual tiINT32                 GetDesiredChannel       ( tiUINT32* puDesiredChannel );
    159         virtual tiINT32                 GetCurrentChannel       ( tiUINT32* puCurrentChannel );
    160 
    161         virtual tiINT32                 GetDesiredRate          ( tiUINT32* puDesiredRates );
    162         virtual tiINT32                 GetCurrentRate          ( tiUINT32* puCurrentRates );
    163 
    164         virtual tiINT32                 SetFragmentThreshold    ( tiUINT32  uFragmentThreshold  );
    165         virtual tiINT32                 GetFragmentThreshold    ( tiUINT32* puFragmentThreshold );
    166 
    167         virtual tiINT32                 SetBSSType              ( OS_802_11_NETWORK_MODE  uBSSType );
    168         virtual tiINT32                 GetBSSType              ( OS_802_11_NETWORK_MODE* puBSSType);
    169 
    170         virtual tiINT32                 SetLongRetry            ( tiUINT32  uLongRetry  );
    171         virtual tiINT32                 GetLongRetry            ( tiUINT32* puLongRetry );
    172 
    173         virtual tiINT32                 SetRTSThreshold         ( tiUINT32  uRTSThreshold   );
    174         virtual tiINT32                 GetRTSThreshold         ( tiUINT32* puRTSThreshold  );
    175 
    176         virtual tiINT32                 SetShortPreamble        ( tiUINT32  uShortPreamble  );
    177         virtual tiINT32                 GetShortPreamble        ( tiUINT32* puShortPreamble );
    178 
    179         virtual tiINT32                 SetShortRetry           ( tiUINT32  uShortRetry     );
    180         virtual tiINT32                 GetShortRetry           ( tiUINT32* puShortRetry    );
    181 
    182         virtual tiINT32                 SetSSID                 ( tiUINT8*   pSSIDname );
    183         virtual tiINT32                 GetDesiredSSID          ( OS_802_11_SSID*   pSSID );
    184         virtual tiINT32                 GetCurrentSSID          ( OS_802_11_SSID*   pSSID );
    185 
    186         virtual tiINT32                 GetStatistics           (TIWLN_STATISTICS* tiStatistics);
    187         virtual tiINT32                 GetTxStatistics         (TIWLN_TX_STATISTICS* tiTxStatistics, UINT32 clearStatsFlag);
    188 
    189 
    190         virtual tiINT32                 EnableDisableRxDataFilters( tiBOOL enabled );
    191         virtual tiINT32                 GetRxDataFiltersStatistics( TIWLAN_DATA_FILTER_STATISTICS * pStatistics );
    192         virtual tiINT32                 AddRxDataFilter         ( TIWLAN_DATA_FILTER_REQUEST * pRequest );
    193         virtual tiINT32                 RemoveRxDataFilter      ( TIWLAN_DATA_FILTER_REQUEST * pRequest );
    194 
    195         virtual tiINT32                 SetSupportedRates       ( tiUINT8* pSupportedRatesLst, tiUINT32  uBufLength);
    196         virtual tiINT32                 GetSupportedRates       ( tiUINT8* pSupportedRatesLst, tiUINT32  uBufLength);
    197 
    198         virtual tiINT32                 GetDriverVersion        ( TIWLN_VERSION_EX* pdrvVersion );
    199 
    200         virtual tiINT32                 SetIBSSProtection       ( tiUINT32  uProtection    );
    201         virtual tiINT32                 GetIBSSProtection       ( tiUINT32* puProtection   );
    202 
    203         virtual tiINT32                 GetDriverState          ( driverState_e* puDriverState );
    204 
    205         virtual tiINT32                 SetShortSlot            ( tiUINT32  dwShortSlot );
    206         virtual tiINT32                 GetShortSlot            ( tiUINT32* pdwShortSlot);
    207 
    208         virtual tiINT32                 SetTxPowerDbm	        ( tiUINT8  uTxPower   );
    209         virtual tiINT32                 GetTxPowerLevel         ( tiCHAR* puTxPower  );
    210         virtual tiINT32                 GetTxPowerDbm           ( tiCHAR* puTxPower  );
    211 
    212         virtual tiINT32                 GetSupportedNetworkTypes( OS_802_11_NETWORK_TYPE* pNetTypeLst, tiUINT32 uMaxNetTypes    );
    213         virtual tiINT32                 SetNetworkTypeInUse     ( OS_802_11_NETWORK_TYPE  uNetType                              );
    214         virtual tiINT32                 GetNetworkTypeInUse     ( OS_802_11_NETWORK_TYPE* pdwNetType                            );
    215 
    216         virtual tiINT32                 GetNumberOfAntennas     ( tiUINT32* puNumberOfAntennas    );
    217         virtual tiINT32                 SetAntennaDiversityParams( PTIWLAN_ANT_DIVERSITY pAntennaDiversityOptions );
    218 
    219         virtual tiINT32                 Start                   ( );
    220         virtual tiINT32                 Stop                    ( );
    221         virtual tiINT32                 Suspend                 ( );
    222         virtual tiINT32                 StartSM                 ( );
    223         virtual tiINT32                 StopSM                  ( );
    224 
    225         virtual tiINT32                 EnableDisable_802_11d   ( tiUINT8  enableDisable_802_11d );
    226         virtual tiINT32                 EnableDisable_802_11h   ( tiUINT8  enableDisable_802_11h );
    227         virtual tiINT32                 Get_802_11d             ( tiUINT8*  enableDisable_802_11d );
    228         virtual tiINT32                 Get_802_11h             ( tiUINT8*  enableDisable_802_11h );
    229         virtual tiINT32                 Set_countryIeFor2_4_Ghz ( country_t countryIe);
    230         virtual tiINT32                 Get_countryIeFor2_4_Ghz ( tiUINT8 **countryString);
    231         virtual tiINT32                 Set_countryIeFor5_Ghz    ( country_t countryIe);
    232         virtual tiINT32                 Get_countryIeFor5_Ghz   ( tiUINT8 **countryString);
    233         virtual tiINT32                 Set_minMaxDfsChannels   ( DFS_ChannelRange_t DFS_ChannelRange);
    234         virtual tiINT32                 Get_minMaxDfsChannels   ( DFS_ChannelRange_t *DFS_ChannelRange);
    235 
    236         virtual tiINT32                 GetRSSI                     ( tiINT32* pRssi );
    237 		virtual tiINT32                 GetSNR                      ( tiUINT32* pSnr );
    238 
    239         virtual tiINT32                 Disassociate            ( );
    240 
    241         virtual tiINT32                 SetAuthenticationMode   ( OS_802_11_AUTHENTICATION_MODE  uAuthenticationMode  );
    242         virtual tiINT32                 GetAuthenticationMode   ( OS_802_11_AUTHENTICATION_MODE* puAuthenticationMode );
    243 
    244         virtual tiINT32                 SetEAPType              ( OS_802_11_EAP_TYPES  uEAPType );
    245         virtual tiINT32                 SetEAPTypeDriver        ( OS_802_11_EAP_TYPES  uEAPType );
    246         virtual tiINT32                 GetEAPType              ( OS_802_11_EAP_TYPES* puEAPType);
    247 
    248         virtual tiINT32                 SetEncryptionType       ( OS_802_11_ENCRYPTION_TYPES  uEncryptType  );
    249         virtual tiINT32                 GetEncryptionType       ( OS_802_11_ENCRYPTION_TYPES* puEncryptType );
    250 
    251         virtual tiINT32                 SetCredentials          ( tiCHAR* pszUserName, tiCHAR* pszPassword );
    252 
    253         virtual tiINT32                 SetPSK                  ( tiCHAR* pszPSK );
    254         virtual tiINT32                 SetKeyType              ( OS_802_11_KEY_TYPES uKeyType );
    255      /*   virtual tiINT32                 SetUserID               ( tiCHAR* pszUserID ); */
    256         virtual tiINT32                 SetMixedMode            ( tiBOOL bStatus );
    257         virtual tiINT32                 GetMixedMode            ( tiBOOL* pbStatus );
    258 
    259         virtual tiINT32                 SetCertParamsSHA1       ( TI_SHA1_HASH* pSha1Hash, tiBOOL bValidateServerCert );
    260         virtual tiINT32                 SetCertParamsFileName   ( tiCHAR* pszFileName,     tiBOOL bValidateServerCert );
    261 
    262         virtual tiINT32                 AddWEPKey               ( OS_802_11_WEP*   pWEP             );
    263         virtual tiINT32                 RemoveWEPKey            ( tiUINT32         uKeyIndex        );
    264         virtual tiINT32                 GetDefaultWepKey        (tiUINT32* puKeyIndex );
    265 
    266         virtual tiINT32                 AddKey                  ( OS_802_11_KEY*   pKey             );
    267         virtual tiINT32                 RemoveKey               ( OS_802_11_REMOVE_KEY* pRemoveKey  );
    268 
    269         virtual tiINT32                 SetPMKIDmap             ( OS_802_11_PMKID*          pPMKIDMap   );
    270 
    271 		virtual tiINT32                 ConfigPowerManagement   ( OS_802_11_POWER_PROFILE thePowerMgrProfile );
    272 
    273         virtual tiINT32                 GetAssociationInfo      ( OS_802_11_ASSOCIATION_INFORMATION** ppInfo );
    274 
    275         virtual tiINT32                 RegisterEvent           ( IPC_EVENT_PARAMS*  pEventParams );
    276         virtual tiINT32                 UnRegisterEvent         ( IPC_EVENT_PARAMS* pEventParams );
    277         /*virtual tiINT32                 UnRegisterEvent         ( tiINT32 iRegisterID );*/
    278 
    279         virtual tiINT32                 StartScan               ( scan_Params_t *pScanParams );
    280         virtual tiINT32                 StopScan                ( );
    281         virtual tiINT32                 SetScanPolicy           ( UINT8* buffer, UINT16 bufferLength );
    282         virtual tiINT32                 GetScanBssList          ( bssList_t* bssList );
    283 
    284         virtual tiINT32	                PollApPackets           ( );
    285         virtual tiINT32	                PollApPacketsFromAC         ( tiUINT32 AC );
    286 
    287         virtual tiINT32	                SetDTagToAcMappingTable ( acTrfcType_e* pDtagToAcTable );
    288         virtual tiINT32	                SetVAD ( txDataVadTimerParams_t* pVadTimer );
    289         virtual tiINT32	                GetVAD ( txDataVadTimerParams_t* pVadTimer );
    290 
    291         virtual tiINT32	                SetQosParameters        ( OS_802_11_QOS_PARAMS* pQosParams );
    292 		virtual tiINT32	                SetRxTimeOut	        ( OS_802_11_QOS_RX_TIMEOUT_PARAMS* pRxTimeOut );
    293 
    294 
    295 		virtual tiINT32					GetAPQosParameters			( OS_802_11_AC_QOS_PARAMS* pACQosParams);
    296         virtual tiINT32					GetAPQosCapabilitesParameters ( OS_802_11_AP_QOS_CAPABILITIES_PARAMS* pAPQosCapabiltiesParams);
    297 		virtual	tiINT32					AddTspec					( OS_802_11_QOS_TSPEC_PARAMS* pTspecParams);
    298 		virtual	tiINT32					GetTspecParameters			( OS_802_11_QOS_TSPEC_PARAMS* pTspecParams);
    299 		virtual	tiINT32					DeleteTspec					( OS_802_11_QOS_DELETE_TSPEC_PARAMS* pDelTspecParams);
    300 		virtual	tiINT32					GetCurrentACStatus        	( OS_802_11_AC_UPSD_STATUS_PARAMS *pAcStatusParams);
    301 		virtual	tiINT32					SetMediumUsageThreshold		( OS_802_11_THRESHOLD_CROSS_PARAMS* pThresholdCrossParams);
    302 		virtual	tiINT32					SetPhyRateThreshold			( OS_802_11_THRESHOLD_CROSS_PARAMS* pThresholdCrossParams);
    303         virtual	tiINT32					GetMediumUsageThreshold		( OS_802_11_THRESHOLD_CROSS_PARAMS* pThresholdCrossParams);
    304 		virtual	tiINT32					GetPhyRateThreshold			( OS_802_11_THRESHOLD_CROSS_PARAMS* pThresholdCrossParams);
    305 		virtual	tiINT32					GetDesiredPsMode			( OS_802_11_QOS_DESIRED_PS_MODE* pDesiredPsMode);
    306 
    307         virtual tiINT32                 GetUserPriorityOfStream     ( STREAM_TRAFFIC_PROPERTIES* streamProperties);
    308 
    309         virtual tiINT32                 ConfigTxClassifier      ( tiUINT32 inParamsBuffLen, tiUINT8  *pInParamsBuff);
    310         virtual tiINT32	                RemoveClassifierEntry   ( clsfr_tableEntry_t *pClsfrEntry );
    311         virtual tiINT32                 GetClsfrType            ( clsfrTypeAndSupport *currClsfrType );
    312 
    313 		virtual tiINT32     			GetDriverCapabilities   ( OS_802_11_DRIVER_CAPABILITIES* pDriverCapabilities );
    314         virtual tiINT32	                GetSelectedBSSIDInfo    ( OS_802_11_BSSID_EX  *pSelectedBSSIDInfo);
    315         virtual tiINT32	                GetPrimaryBSSIDInfo     ( OS_802_11_BSSID_EX  *pSelectedBSSIDInfo);
    316 
    317         virtual	tiINT32					SetTrafficIntensityThresholds ( OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS* pTrafficThresholds);
    318         virtual	tiINT32					GetTrafficIntensityThresholds ( OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS* pTrafficThresholds);
    319         virtual tiINT32                 ToggleTrafficIntensityEvents ( tiUINT32 NewStatus );
    320 
    321         virtual tiINT32                 Set4XState              ( tiBOOL    bStatus     );
    322         virtual tiINT32                 Get4XState              ( tiBOOL*   lpbStatus   );
    323 
    324         virtual tiINT32                 SetRSSITrigger          ( tiBOOL    bRSSItr                 );
    325         virtual tiINT32                 GetRSSITrigger          ( tiBOOL*   pbRSSItr                );
    326 
    327         virtual tiINT32                 SetWEPStatus            ( tiUINT32  dwWEPStatus     );
    328         virtual tiINT32                 GetWEPStatus            ( tiUINT32* pdwWEPStatus    );
    329 
    330         virtual tiINT32                 SetConfiguration        ( OS_802_11_CONFIGURATION*   pConfiguration );
    331         virtual tiINT32                 GetConfiguration        ( OS_802_11_CONFIGURATION*   pConfiguration );
    332 
    333         virtual tiINT32                 SetPrivacyFilter        ( tiUINT32  dwPrivacyFilter  );
    334         virtual tiINT32                 GetPrivacyFilter        ( tiUINT32* pdwPrivacyFilter );
    335 
    336         virtual tiINT32                 SetExtRatesIE           ( tiUINT32  dwExtRatesIE    );
    337         virtual tiINT32                 GetExtRatesIE           ( tiUINT32* pdwExtRatesIE   );
    338 
    339         virtual tiINT32                 SetEarlyWakeupMode      ( tiUINT8  dwEarlyWakeup);
    340         virtual tiINT32                 GetEarlyWakeupMode      ( tiUINT8* dwEarlyWakeup);
    341 
    342         virtual tiINT32                 hwReadRegister          ( tiUINT32  dwRegisterAddr, tiUINT32* pdwValue );
    343         virtual tiINT32                 hwWriteRegister         ( tiUINT32  dwRegisterAddr, tiUINT32  dwValue  );
    344 
    345         virtual tiINT32                 ReloadDefaults          ( );
    346         virtual tiINT32                 IsDriverLoaded          ( );
    347 
    348 		virtual tiINT32                 SetBtCoeEnable          ( tiUINT32 uModeEnable);
    349 		virtual tiINT32                 SetBtCoeRate            ( tiUINT8 *pRate);
    350 		virtual tiINT32                 SetBtCoeConfig          ( tiUINT32 *pConfig);
    351 		virtual tiINT32                 SetBtCoeGetStatus       ( tiUINT32 *pStatus);
    352 
    353 #ifdef TI_DBG
    354         virtual tiINT32                 GetDebugBuffer          ( tiUINT8*  pBuffer, tiUINT32  dwLenght  );
    355 
    356         virtual tiINT32                 SetReportModule         ( tiUINT8* pData );
    357         virtual tiINT32                 GetReportModule         ( tiUINT8* pData );
    358 
    359         virtual tiINT32                 SetReportSeverity       ( tiUINT8* pData );
    360         virtual tiINT32                 GetReportSeverity       ( tiUINT8* pData );
    361 
    362         virtual tiINT32                 SetOsDbgState           ( tiUINT32 uData );
    363         virtual tiINT32                 GetOsDbgState           ( tiUINT32* puData );
    364 
    365 		virtual tiINT32                 SetReportPPMode        ( tiUINT32  uData );
    366 
    367         virtual tiINT32                 DisplayStats            ( tiUINT8*  puDbgBuffer, tiUINT32 uBuffSize);
    368 
    369 #ifdef DRIVER_PROFILING
    370 		virtual tiINT32					ProfileReport  		 	();
    371 		virtual tiINT32					CpuEstimatorCommand	 	(tiUINT8 uType, tiUINT32 uData);
    372 #endif
    373 
    374 
    375 #endif
    376         virtual tiINT32                 SetWPAOptions           ( tiUINT32      fWPA_options);
    377         virtual tiINT32                 GetWPAOptions( tiUINT32 * fWPA_options);
    378 
    379         virtual tiINT32                 GetRegDomainTable       ( TIWLN_REGDOMAINS*     pRegDomainTable );
    380         virtual tiINT32                 GetMediumUsage          ( TIWLN_MEDIUM_USAGE*   pMediumUsage    );
    381 
    382         virtual tiINT32                 SetPowerMode                ( OS_802_11_POWER_PROFILE  uPower              );
    383         virtual tiINT32                 GetPowerMode                ( OS_802_11_POWER_PROFILE* puPower             );
    384 
    385 	    virtual tiINT32                 SetPowerLevelPS             (OS_802_11_POWER_LEVELS  uPower);
    386 	    virtual tiINT32                 GetPowerLevelPS             (OS_802_11_POWER_LEVELS* puPower);
    387 
    388 	    virtual tiINT32                 SetPowerLevelDefault        (OS_802_11_POWER_LEVELS  uPower);
    389 	    virtual tiINT32                 GetPowerLevelDefault        (OS_802_11_POWER_LEVELS* puPower);
    390 
    391 	    virtual tiINT32                 SetPowerLevelDozeMode       (OS_802_11_POWER_PROFILE  uPower);
    392 	    virtual tiINT32                 GetPowerLevelDozeMode       (OS_802_11_POWER_PROFILE* puPower);
    393 
    394 
    395 	    virtual tiINT32                 SetBeaconFilterDesiredState ( OS_802_11_BEACON_FILTER_MODE   uBeaconFilterMode);
    396 	    virtual tiINT32                 GetBeaconFilterDesiredState ( tiUINT8*   pBeaconFilterMode);
    397 
    398 
    399         virtual tiINT32                 IsDriverRun                 ( tiBOOL* pbStatus );
    400 		virtual tiINT32                 GWSICommand                 ( tiUINT32* pbStatus );
    401 		virtual tiINT32                 GWSIInitialize              ( tiUINT32* pbStatus );
    402 		virtual tiINT32                 GWSIConfig                  ( tiUINT32* pbStatus );
    403 		virtual tiINT32                 GWSIRelease                 ( tiUINT32* pbStatus );
    404 
    405 		virtual tiINT32					GWSIGetInitTable	        ( tiUINT32* pGWSICommand );
    406 
    407         virtual tiINT32                 Open_EAPOL_Interface        ( );
    408         virtual tiINT32                 Close_EAPOL_Interface       ( );
    409         virtual tiINT32                 Send_EAPOL_Packet           ( tiVOID* pData, tiUINT32 uSize );
    410 
    411 		tiINT32                 		GetVariableLengthOID        ( tiUINT32  uOID, tiVOID** pp, tiUINT32* pnSize, tiUINT32 nNextAllocation = 0);
    412 
    413 		virtual tiINT32                 Set_RoamingConfParams       ( UINT8* buffer, UINT16 bufferLength);
    414 		virtual tiINT32                 Get_RoamingConfParams       ( UINT8* buffer, UINT16 bufferLength);
    415 
    416         virtual tiINT32                 GetPowerConsumptionStatistics(PowerConsumptionTimeStat_t * pStatistics);
    417 
    418 		/*PLT                                                       */
    419 		virtual tiINT32					PLT_ReadRegister		    ( UINT32 uRegisterAddr, PUINT32 uRegisterData );
    420 		virtual tiINT32					PLT_WriteRegister		    ( UINT32 uRegisterAddr, UINT32 uRegisterData );
    421 		virtual tiINT32					PLT_RxPerStart			    ();
    422 		virtual tiINT32					PLT_RxPerStop			    ();
    423 		virtual tiINT32					PLT_RxPerClear			    ();
    424 		virtual tiINT32					PLT_RxPerGetResults		    ( PltRxPer_t* pPltRxPer );
    425 		virtual tiINT32					PLT_TxCW				    ( TestCmdChannelBand_t* pPltTxCW);
    426 		virtual tiINT32					PLT_TxContiues			    ( PltTxContinues_t* pPltTxContinues);
    427 		virtual tiINT32					PLT_TxStop  			    ();
    428 		virtual tiINT32					PLT_ReadMIB				    ( PLT_MIB_t* pMib );
    429 		virtual tiINT32					PLT_WriteMIB			    ( PLT_MIB_t* pMib );
    430 	    virtual tiINT32		            PLT_TxCalGainGet		    (PltGainGet_t* pPLTGainGet);
    431 	    virtual tiINT32		            PLT_TxCalGainAdjust	        (tiINT32   uTxGainChange);
    432 		virtual tiINT32		            PLT_TxCalStart	            (PltTxCalibrationRequest_t* pPLTTxCal);
    433         virtual tiINT32		            PLT_TxCalStop 	            ();
    434 	    virtual tiINT32		            PLT_RxTxCalNVSUpdateBuffer  (PltNvsResultsBuffer_t* pPLT_NVSUpdateBuffer);
    435 	    virtual tiINT32		            PLT_RxCal                   (PltRxCalibrationRequest_t* pPltRxCalibration_t);
    436         virtual tiINT32                 PLT_RadioTune               (TestCmdChannelBand_t* pChannelBand);
    437 #ifdef _WINDOWS
    438 #endif /* ifdef _WINDOWS */
    439         EXC_MODULE_SUPPORT_H
    440 };
    441 #endif /* !defined(AFX_CTI_WLAN_ADAPTER_H__3B4F299B_AF52_40DE_BE67_A032DA1FB441__INCLUDED_)*/
    442