• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
PutSZ(tiCHAR *,tiCHAR *)81         tiUINT32    PutSZ(tiCHAR* /*lpszName*/, tiCHAR* /* lpszValue*/) {return TRUE;}
PutDW(tiCHAR *,tiUINT32)82         tiUINT32	PutDW(tiCHAR* /*lpszName*/, tiUINT32   /* dwValue*/)   {return TRUE;}
83 
84 };
85 
86 class CTI_WLAN_AdapterAPI;
87 
88 struct _AdapterItem
89 {
_AdapterItem_AdapterItem90         _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 
AddRef_AdapterItem106         tiUINT32                        AddRef()    {return ++m_uRef;}
DecRef_AdapterItem107         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