164064216a8433360745f69edddce19a606659163The Android Open Source Project/****************************************************************************
264064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
364064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
564064216a8433360745f69edddce19a606659163The Android Open Source Project**| All rights reserved.                                                  |**
664064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
764064216a8433360745f69edddce19a606659163The Android Open Source Project**| Redistribution and use in source and binary forms, with or without    |**
864064216a8433360745f69edddce19a606659163The Android Open Source Project**| modification, are permitted provided that the following conditions    |**
964064216a8433360745f69edddce19a606659163The Android Open Source Project**| are met:                                                              |**
1064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
1164064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions of source code must retain the above copyright     |**
1264064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer.      |**
1364064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Redistributions in binary form must reproduce the above copyright  |**
1464064216a8433360745f69edddce19a606659163The Android Open Source Project**|    notice, this list of conditions and the following disclaimer in    |**
1564064216a8433360745f69edddce19a606659163The Android Open Source Project**|    the documentation and/or other materials provided with the         |**
1664064216a8433360745f69edddce19a606659163The Android Open Source Project**|    distribution.                                                      |**
1764064216a8433360745f69edddce19a606659163The Android Open Source Project**|  * Neither the name Texas Instruments nor the names of its            |**
1864064216a8433360745f69edddce19a606659163The Android Open Source Project**|    contributors may be used to endorse or promote products derived    |**
1964064216a8433360745f69edddce19a606659163The Android Open Source Project**|    from this software without specific prior written permission.      |**
2064064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
2164064216a8433360745f69edddce19a606659163The Android Open Source Project**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
2264064216a8433360745f69edddce19a606659163The Android Open Source Project**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
2364064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
2464064216a8433360745f69edddce19a606659163The Android Open Source Project**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
2564064216a8433360745f69edddce19a606659163The Android Open Source Project**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
2664064216a8433360745f69edddce19a606659163The Android Open Source Project**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
2764064216a8433360745f69edddce19a606659163The Android Open Source Project**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
2864064216a8433360745f69edddce19a606659163The Android Open Source Project**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
2964064216a8433360745f69edddce19a606659163The Android Open Source Project**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
3064064216a8433360745f69edddce19a606659163The Android Open Source Project**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
3164064216a8433360745f69edddce19a606659163The Android Open Source Project**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
3264064216a8433360745f69edddce19a606659163The Android Open Source Project**|                                                                       |**
3364064216a8433360745f69edddce19a606659163The Android Open Source Project**+-----------------------------------------------------------------------+**
3464064216a8433360745f69edddce19a606659163The Android Open Source Project****************************************************************************/
3564064216a8433360745f69edddce19a606659163The Android Open Source Project
3664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS    /*nick*/
3764064216a8433360745f69edddce19a606659163The Android Open Source Project#elif defined(__ARMCC__)
3864064216a8433360745f69edddce19a606659163The Android Open Source Project#include "string.h"
3964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
4064064216a8433360745f69edddce19a606659163The Android Open Source Project
4164064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osAdapter.h"
4264064216a8433360745f69edddce19a606659163The Android Open Source Project#include "srcApi.h"
4364064216a8433360745f69edddce19a606659163The Android Open Source Project#include "tiwlnif.h"
4464064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osDot11.h"
4564064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osUtil.h"
4664064216a8433360745f69edddce19a606659163The Android Open Source Project#include "paramOut.h"
4764064216a8433360745f69edddce19a606659163The Android Open Source Project#include "wspVer.h"
4864064216a8433360745f69edddce19a606659163The Android Open Source Project#include "osClsfr.h"
4964064216a8433360745f69edddce19a606659163The Android Open Source Project#include "whalHwMboxCmdBit.h"
5064064216a8433360745f69edddce19a606659163The Android Open Source Project
5164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic TI_STATUS
5264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_setCountryIE(
5364064216a8433360745f69edddce19a606659163The Android Open Source Project								 PTIWLN_ADAPTER_T pAdapter,
5464064216a8433360745f69edddce19a606659163The Android Open Source Project								 externalParam_e ParamType,
5564064216a8433360745f69edddce19a606659163The Android Open Source Project								 PUCHAR pData,
5664064216a8433360745f69edddce19a606659163The Android Open Source Project								 ULONG Length
5764064216a8433360745f69edddce19a606659163The Android Open Source Project								 );
5864064216a8433360745f69edddce19a606659163The Android Open Source Project
5964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TIWLN_WINCE30
6064064216a8433360745f69edddce19a606659163The Android Open Source Project
6164064216a8433360745f69edddce19a606659163The Android Open Source Projectgprintf(const char *format ,... )
6264064216a8433360745f69edddce19a606659163The Android Open Source Project{
6364064216a8433360745f69edddce19a606659163The Android Open Source Project#if 1
6464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef DEBUG_PB
6564064216a8433360745f69edddce19a606659163The Android Open Source Project	wchar_t Buf[500];
6664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
6764064216a8433360745f69edddce19a606659163The Android Open Source Project
6864064216a8433360745f69edddce19a606659163The Android Open Source Project	FILE *Fpn;
6964064216a8433360745f69edddce19a606659163The Android Open Source Project
7064064216a8433360745f69edddce19a606659163The Android Open Source Project	Fpn = fopen("TILog.txt","a");
7164064216a8433360745f69edddce19a606659163The Android Open Source Project
7264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Fpn)
7364064216a8433360745f69edddce19a606659163The Android Open Source Project	{
7464064216a8433360745f69edddce19a606659163The Android Open Source Project		char Msg[500];
7564064216a8433360745f69edddce19a606659163The Android Open Source Project		va_list ap;
7664064216a8433360745f69edddce19a606659163The Android Open Source Project		va_start(ap,format);
7764064216a8433360745f69edddce19a606659163The Android Open Source Project		_vsnprintf(Msg,500,format,ap);
7864064216a8433360745f69edddce19a606659163The Android Open Source Project		fprintf(Fpn,"%s", Msg);
7964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef DEBUG_PB
8064064216a8433360745f69edddce19a606659163The Android Open Source Project		mbstowcs(Buf,Msg,strlen(Msg)+1);
8164064216a8433360745f69edddce19a606659163The Android Open Source Project		DEBUGMSG(1,(Buf));
8264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8364064216a8433360745f69edddce19a606659163The Android Open Source Project
8464064216a8433360745f69edddce19a606659163The Android Open Source Project		fclose(Fpn);
8564064216a8433360745f69edddce19a606659163The Android Open Source Project
8664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
8764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
8864064216a8433360745f69edddce19a606659163The Android Open Source Project}
8964064216a8433360745f69edddce19a606659163The Android Open Source Project
9064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
9164064216a8433360745f69edddce19a606659163The Android Open Source Project
9264064216a8433360745f69edddce19a606659163The Android Open Source Project
9364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
9464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetParam
9564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
9664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
9764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
9864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
9964064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS
10064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetParam(
10164064216a8433360745f69edddce19a606659163The Android Open Source Project			PTIWLN_ADAPTER_T pAdapter,
10264064216a8433360745f69edddce19a606659163The Android Open Source Project			externalParam_e ParamType,
10364064216a8433360745f69edddce19a606659163The Android Open Source Project			PUCHAR pData,
10464064216a8433360745f69edddce19a606659163The Android Open Source Project			ULONG Length
10564064216a8433360745f69edddce19a606659163The Android Open Source Project			)
10664064216a8433360745f69edddce19a606659163The Android Open Source Project{
10764064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
10864064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
10964064216a8433360745f69edddce19a606659163The Android Open Source Project
11064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
11164064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Length > sizeof(Param.content))
11264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
11364064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_VERY_LOUD, (" UtilSetParam: Buffer for parameter 0x%X is bigger(%d) then Param size(%d)\n", ParamType, (int)Length, sizeof(Param.content)));
11464064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramLength = sizeof(Param.content);
11564064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&Param.content, pData, sizeof(Param.content));
11664064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
11764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
11864064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramLength = Length;
11964064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&Param.content, pData, Length);
12064064216a8433360745f69edddce19a606659163The Android Open Source Project	}
12164064216a8433360745f69edddce19a606659163The Android Open Source Project
12264064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
12364064216a8433360745f69edddce19a606659163The Android Open Source Project
12464064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
12564064216a8433360745f69edddce19a606659163The Android Open Source Project}
12664064216a8433360745f69edddce19a606659163The Android Open Source Project
12764064216a8433360745f69edddce19a606659163The Android Open Source Project
12864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
12964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetParam
13064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
13164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
13264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
13364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
13464064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS
13564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetParam(
13664064216a8433360745f69edddce19a606659163The Android Open Source Project			PTIWLN_ADAPTER_T pAdapter,
13764064216a8433360745f69edddce19a606659163The Android Open Source Project			externalParam_e ParamType,
13864064216a8433360745f69edddce19a606659163The Android Open Source Project			PUCHAR pData,
13964064216a8433360745f69edddce19a606659163The Android Open Source Project			ULONG Length
14064064216a8433360745f69edddce19a606659163The Android Open Source Project			)
14164064216a8433360745f69edddce19a606659163The Android Open Source Project{
14264064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
14364064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
14464064216a8433360745f69edddce19a606659163The Android Open Source Project
14564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
14664064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
14764064216a8433360745f69edddce19a606659163The Android Open Source Project
14864064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
14964064216a8433360745f69edddce19a606659163The Android Open Source Project
15064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Status == NOK)
15164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
15264064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_VERY_LOUD, (" UtilGetParam: ERROR on return from get param, status=%d, param=%d\n",
15364064216a8433360745f69edddce19a606659163The Android Open Source Project										 Status, ParamType));
15464064216a8433360745f69edddce19a606659163The Android Open Source Project	} else if ( Status != NOK )
15564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
15664064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_LOUD, (" UtilGetParam: WARNING on return from get param, status=%d, param=%d\n",
15764064216a8433360745f69edddce19a606659163The Android Open Source Project									Status, ParamType));
15864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
15964064216a8433360745f69edddce19a606659163The Android Open Source Project
16064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Length > sizeof(Param.content))
16164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
16264064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_VERY_LOUD, (" UtilGetParam: Buffer for parameter 0x%X is bigger then Param size\n", ParamType));
16364064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(pData, &Param.content, sizeof(Param.content));
16464064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
16564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
16664064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(pData, &Param.content, Length);
16764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
16864064216a8433360745f69edddce19a606659163The Android Open Source Project
16964064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
17064064216a8433360745f69edddce19a606659163The Android Open Source Project}
17164064216a8433360745f69edddce19a606659163The Android Open Source Project
17264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
17364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetGetParam
17464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
17564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
17664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
17764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
17864064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_STATUS
17964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetGetParam(
18064064216a8433360745f69edddce19a606659163The Android Open Source Project			   PTIWLN_ADAPTER_T pAdapter,
18164064216a8433360745f69edddce19a606659163The Android Open Source Project			   externalParam_e ParamType,
18264064216a8433360745f69edddce19a606659163The Android Open Source Project			   PUCHAR pData,
18364064216a8433360745f69edddce19a606659163The Android Open Source Project			   ULONG Length
18464064216a8433360745f69edddce19a606659163The Android Open Source Project			   )
18564064216a8433360745f69edddce19a606659163The Android Open Source Project{
18664064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
18764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
18864064216a8433360745f69edddce19a606659163The Android Open Source Project
18964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
19064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Length > sizeof(Param.content))
19164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
19264064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_VERY_LOUD, (" UtilSetParam: Buffer for parameter 0x%X is bigger(%d) then Param size(%d)\n", ParamType, (int)Length, sizeof(Param.content)));
19364064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramLength = sizeof(Param.content);
19464064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&Param.content, pData, sizeof(Param.content));
19564064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
19664064216a8433360745f69edddce19a606659163The Android Open Source Project	{
19764064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramLength = Length;
19864064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&Param.content, pData, Length);
19964064216a8433360745f69edddce19a606659163The Android Open Source Project	}
20064064216a8433360745f69edddce19a606659163The Android Open Source Project
20164064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
20264064216a8433360745f69edddce19a606659163The Android Open Source Project
20364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Length > sizeof(Param.content))
20464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
20564064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_VERY_LOUD, (" UtilGetParam: Buffer for parameter 0x%X is bigger then Param size\n", ParamType));
20664064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(pData, &Param.content, sizeof(Param.content));
20764064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
20864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
20964064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(pData, &Param.content, Length);
21064064216a8433360745f69edddce19a606659163The Android Open Source Project	}
21164064216a8433360745f69edddce19a606659163The Android Open Source Project
21264064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
21364064216a8433360745f69edddce19a606659163The Android Open Source Project}
21464064216a8433360745f69edddce19a606659163The Android Open Source Project
21564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
21664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetTxPowerValue
21764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
21864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
21964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
22064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
22164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
22264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetTxPowerValue(
22364064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
22464064216a8433360745f69edddce19a606659163The Android Open Source Project				   externalParam_e ParamType,
22564064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
22664064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG Length
22764064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
22864064216a8433360745f69edddce19a606659163The Android Open Source Project{
22964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
23064064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
23164064216a8433360745f69edddce19a606659163The Android Open Source Project
23264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
23364064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
23464064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
23564064216a8433360745f69edddce19a606659163The Android Open Source Project
23664064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG)Param.content.regulatoryDomainParam.txPower;
23764064216a8433360745f69edddce19a606659163The Android Open Source Project
23864064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
23964064216a8433360745f69edddce19a606659163The Android Open Source Project}
24064064216a8433360745f69edddce19a606659163The Android Open Source Project
24164064216a8433360745f69edddce19a606659163The Android Open Source Project
24264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
24364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilSetTxPowerDbm
24464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
24564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
24664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
24764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
24864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetTxPowerDbm(PTIWLN_ADAPTER_T pAdapter,
24964064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
25064064216a8433360745f69edddce19a606659163The Android Open Source Project						  ULONG Length)
25164064216a8433360745f69edddce19a606659163The Android Open Source Project{
25264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
25364064216a8433360745f69edddce19a606659163The Android Open Source Project
25464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM, pData, sizeof(UINT8));
25564064216a8433360745f69edddce19a606659163The Android Open Source Project
25664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
25764064216a8433360745f69edddce19a606659163The Android Open Source Project}
25864064216a8433360745f69edddce19a606659163The Android Open Source Project
25964064216a8433360745f69edddce19a606659163The Android Open Source Project
26064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
26164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetTxPowerLevel
26264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
26364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
26464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
26564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
26664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetTxPowerLevel(PTIWLN_ADAPTER_T pAdapter,
26764064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
26864064216a8433360745f69edddce19a606659163The Android Open Source Project						  PULONG Length)
26964064216a8433360745f69edddce19a606659163The Android Open Source Project{
27064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
27164064216a8433360745f69edddce19a606659163The Android Open Source Project
27264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_TX_POWER_LEVEL_TABLE_PARAM, pData, sizeof(TIWLAN_POWER_LEVEL_TABLE));
27364064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length=sizeof(TIWLAN_POWER_LEVEL_TABLE);
27464064216a8433360745f69edddce19a606659163The Android Open Source Project
27564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
27664064216a8433360745f69edddce19a606659163The Android Open Source Project}
27764064216a8433360745f69edddce19a606659163The Android Open Source Project
27864064216a8433360745f69edddce19a606659163The Android Open Source Project
27964064216a8433360745f69edddce19a606659163The Android Open Source Project
28064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
28164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilEnableDisableRxDataFilters
28264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
28364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
28464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
28564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
28664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilEnableDisableRxDataFilters(PTIWLN_ADAPTER_T pAdapter,
28764064216a8433360745f69edddce19a606659163The Android Open Source Project                                     PUCHAR pData,
28864064216a8433360745f69edddce19a606659163The Android Open Source Project                                     ULONG Length)
28964064216a8433360745f69edddce19a606659163The Android Open Source Project{
29064064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG retValue;
29164064216a8433360745f69edddce19a606659163The Android Open Source Project
29264064216a8433360745f69edddce19a606659163The Android Open Source Project    retValue = UtilSetParam(pAdapter, RX_DATA_ENABLE_DISABLE_RX_DATA_FILTERS, pData, Length);
29364064216a8433360745f69edddce19a606659163The Android Open Source Project
29464064216a8433360745f69edddce19a606659163The Android Open Source Project    return retValue;
29564064216a8433360745f69edddce19a606659163The Android Open Source Project}
29664064216a8433360745f69edddce19a606659163The Android Open Source Project
29764064216a8433360745f69edddce19a606659163The Android Open Source Project
29864064216a8433360745f69edddce19a606659163The Android Open Source Project
29964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
30064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetRxDataFiltersStatisticsCB
30164064216a8433360745f69edddce19a606659163The Android Open Source Project
30264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when Rx Data Filter statistics
30364064216a8433360745f69edddce19a606659163The Android Open Source Project					 are returned by the FW.
30464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
30564064216a8433360745f69edddce19a606659163The Android Open Source Project
30664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
30764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
30864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic VOID UtilGetRxDataFiltersStatisticsCB(TI_HANDLE hAdapter, TI_STATUS status, PUINT8 pReadBuff)
30964064216a8433360745f69edddce19a606659163The Android Open Source Project{
31064064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T) hAdapter;
31164064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXDataFilteringStatistics_t * pStatistics = (ACXDataFilteringStatistics_t *) pReadBuff;
31264064216a8433360745f69edddce19a606659163The Android Open Source Project    TIWLAN_DATA_FILTER_STATISTICS * pResult = (TIWLAN_DATA_FILTER_STATISTICS *) &(pAdapter->pIoBuffer[0]);
31364064216a8433360745f69edddce19a606659163The Android Open Source Project    int i;
31464064216a8433360745f69edddce19a606659163The Android Open Source Project
31564064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->UnmatchedPacketsCount = pStatistics->unmatchedPacketsCount;
31664064216a8433360745f69edddce19a606659163The Android Open Source Project
31764064216a8433360745f69edddce19a606659163The Android Open Source Project    for (i = 0; i < MAX_DATA_FILTERS; ++i)
31864064216a8433360745f69edddce19a606659163The Android Open Source Project    {
31964064216a8433360745f69edddce19a606659163The Android Open Source Project        pResult->MatchedPacketsCount[i] = pStatistics->matchedPacketsCount[i];
32064064216a8433360745f69edddce19a606659163The Android Open Source Project    }
32164064216a8433360745f69edddce19a606659163The Android Open Source Project
32264064216a8433360745f69edddce19a606659163The Android Open Source Project    *(pAdapter->pIoCompleteBuffSize) = sizeof(TIWLAN_DATA_FILTER_STATISTICS);
32364064216a8433360745f69edddce19a606659163The Android Open Source Project
32464064216a8433360745f69edddce19a606659163The Android Open Source Project    /* indicate that the buffer is ready */
32564064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
32664064216a8433360745f69edddce19a606659163The Android Open Source Project}
32764064216a8433360745f69edddce19a606659163The Android Open Source Project
32864064216a8433360745f69edddce19a606659163The Android Open Source Project
32964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
33064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilEnableDisableRxDataFilters
33164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
33264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
33364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
33464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
33564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetRxDataFiltersStatistics(PTIWLN_ADAPTER_T pAdapter,
33664064216a8433360745f69edddce19a606659163The Android Open Source Project                                     PUCHAR pData,
33764064216a8433360745f69edddce19a606659163The Android Open Source Project                                     PULONG Length)
33864064216a8433360745f69edddce19a606659163The Android Open Source Project{
33964064216a8433360745f69edddce19a606659163The Android Open Source Project    paramInfo_t Param;
34064064216a8433360745f69edddce19a606659163The Android Open Source Project
34164064216a8433360745f69edddce19a606659163The Android Open Source Project    memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE);
34264064216a8433360745f69edddce19a606659163The Android Open Source Project
34364064216a8433360745f69edddce19a606659163The Android Open Source Project    pAdapter->pIoBuffer = pData;
34464064216a8433360745f69edddce19a606659163The Android Open Source Project    pAdapter->pIoCompleteBuffSize = Length;
34564064216a8433360745f69edddce19a606659163The Android Open Source Project
34664064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramType = RX_DATA_GET_RX_DATA_FILTERS_STATISTICS;
34764064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramLength = sizeof(TIWLAN_DATA_FILTER_STATISTICS);
34864064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_handle = (TI_HANDLE) pAdapter;
34964064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_Func = (PVOID) UtilGetRxDataFiltersStatisticsCB;
35064064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_buf = &(pAdapter->IoCompleteBuff[0]) ;
35164064216a8433360745f69edddce19a606659163The Android Open Source Project
35264064216a8433360745f69edddce19a606659163The Android Open Source Project    return configMgr_getParam(pAdapter->CoreHalCtx, &Param);
35364064216a8433360745f69edddce19a606659163The Android Open Source Project}
35464064216a8433360745f69edddce19a606659163The Android Open Source Project
35564064216a8433360745f69edddce19a606659163The Android Open Source Project
35664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
35764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetPowerConsumptionStatisticsCB
35864064216a8433360745f69edddce19a606659163The Android Open Source Project
35964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when Power consumption statistics
36064064216a8433360745f69edddce19a606659163The Android Open Source Project					 are returned by the FW.
36164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
36264064216a8433360745f69edddce19a606659163The Android Open Source Project
36364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
36464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
36564064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic VOID UtilGetPowerConsumptionStatisticsCB(TI_HANDLE hAdapter, TI_STATUS status, PUINT8 pReadBuff)
36664064216a8433360745f69edddce19a606659163The Android Open Source Project{
36764064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T) hAdapter;
36864064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXPowerConsumptionTimeStat_t * pStatistics = (ACXPowerConsumptionTimeStat_t *) pReadBuff;
36964064216a8433360745f69edddce19a606659163The Android Open Source Project    PowerConsumptionTimeStat_t * pResult = (PowerConsumptionTimeStat_t *) &(pAdapter->pIoBuffer[0]);
37064064216a8433360745f69edddce19a606659163The Android Open Source Project
37164064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->activeTimeCnt_Hi = pStatistics->activeTimeCnt_Hi;
37264064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->activeTimeCnt_Low = pStatistics->activeTimeCnt_Low;
37364064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->elpTimeCnt_Hi = pStatistics->elpTimeCnt_Hi;
37464064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->elpTimeCnt_Low = pStatistics->elpTimeCnt_Low;
37564064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->powerDownTimeCnt_Hi = pStatistics->powerDownTimeCnt_Hi;
37664064216a8433360745f69edddce19a606659163The Android Open Source Project    pResult->powerDownTimeCnt_Low = pStatistics->powerDownTimeCnt_Low;
37764064216a8433360745f69edddce19a606659163The Android Open Source Project
37864064216a8433360745f69edddce19a606659163The Android Open Source Project    *(pAdapter->pIoCompleteBuffSize) = sizeof(PowerConsumptionTimeStat_t);
37964064216a8433360745f69edddce19a606659163The Android Open Source Project
38064064216a8433360745f69edddce19a606659163The Android Open Source Project    /* indicate that the buffer is ready */
38164064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
38264064216a8433360745f69edddce19a606659163The Android Open Source Project}
38364064216a8433360745f69edddce19a606659163The Android Open Source Project
38464064216a8433360745f69edddce19a606659163The Android Open Source Project
38564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
38664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetPowerConsumptionStatistics
38764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: Request the power consumption statistics from the FW
38864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
38964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
39064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
39164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetPowerConsumptionStatistics(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, PULONG Length)
39264064216a8433360745f69edddce19a606659163The Android Open Source Project{
39364064216a8433360745f69edddce19a606659163The Android Open Source Project    paramInfo_t Param;
39464064216a8433360745f69edddce19a606659163The Android Open Source Project
39564064216a8433360745f69edddce19a606659163The Android Open Source Project    memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE);
39664064216a8433360745f69edddce19a606659163The Android Open Source Project
39764064216a8433360745f69edddce19a606659163The Android Open Source Project    pAdapter->pIoBuffer = pData;
39864064216a8433360745f69edddce19a606659163The Android Open Source Project    pAdapter->pIoCompleteBuffSize = Length;
39964064216a8433360745f69edddce19a606659163The Android Open Source Project
40064064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramType = HAL_CTRL_POWER_CONSUMPTION;
40164064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramLength = sizeof(PowerConsumptionTimeStat_t);
40264064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_handle = (TI_HANDLE) pAdapter;
40364064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_Func = (PVOID) UtilGetPowerConsumptionStatisticsCB;
40464064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_buf = &(pAdapter->IoCompleteBuff[0]);
40564064216a8433360745f69edddce19a606659163The Android Open Source Project
40664064216a8433360745f69edddce19a606659163The Android Open Source Project    return configMgr_getParam(pAdapter->CoreHalCtx, &Param);
40764064216a8433360745f69edddce19a606659163The Android Open Source Project}
40864064216a8433360745f69edddce19a606659163The Android Open Source Project
40964064216a8433360745f69edddce19a606659163The Android Open Source Project
41064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
41164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilAddRxDataFilter
41264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
41364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
41464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
41564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
41664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilAddRxDataFilter(PTIWLN_ADAPTER_T pAdapter,
41764064216a8433360745f69edddce19a606659163The Android Open Source Project                          PUCHAR pData,
41864064216a8433360745f69edddce19a606659163The Android Open Source Project                          ULONG Length)
41964064216a8433360745f69edddce19a606659163The Android Open Source Project{
42064064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG retValue;
42164064216a8433360745f69edddce19a606659163The Android Open Source Project
42264064216a8433360745f69edddce19a606659163The Android Open Source Project    retValue = UtilSetParam(pAdapter, RX_DATA_ADD_RX_DATA_FILTER, pData, Length);
42364064216a8433360745f69edddce19a606659163The Android Open Source Project
42464064216a8433360745f69edddce19a606659163The Android Open Source Project    return retValue;
42564064216a8433360745f69edddce19a606659163The Android Open Source Project}
42664064216a8433360745f69edddce19a606659163The Android Open Source Project
42764064216a8433360745f69edddce19a606659163The Android Open Source Project
42864064216a8433360745f69edddce19a606659163The Android Open Source Project
42964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
43064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilRemoveRxDataFilter
43164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
43264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
43364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
43464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
43564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilRemoveRxDataFilter(PTIWLN_ADAPTER_T pAdapter,
43664064216a8433360745f69edddce19a606659163The Android Open Source Project                             PUCHAR pData,
43764064216a8433360745f69edddce19a606659163The Android Open Source Project                             ULONG Length)
43864064216a8433360745f69edddce19a606659163The Android Open Source Project{
43964064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG retValue;
44064064216a8433360745f69edddce19a606659163The Android Open Source Project
44164064216a8433360745f69edddce19a606659163The Android Open Source Project    retValue = UtilSetParam(pAdapter, RX_DATA_REMOVE_RX_DATA_FILTER, pData, Length);
44264064216a8433360745f69edddce19a606659163The Android Open Source Project
44364064216a8433360745f69edddce19a606659163The Android Open Source Project    return retValue;
44464064216a8433360745f69edddce19a606659163The Android Open Source Project}
44564064216a8433360745f69edddce19a606659163The Android Open Source Project
44664064216a8433360745f69edddce19a606659163The Android Open Source Project
44764064216a8433360745f69edddce19a606659163The Android Open Source Project
44864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
44964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetCurrentRssiLevel
45064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
45164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
45264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
45364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
45464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetCurrentRssiLevel(PTIWLN_ADAPTER_T pAdapter,
45564064216a8433360745f69edddce19a606659163The Android Open Source Project							  PUCHAR pData,
45664064216a8433360745f69edddce19a606659163The Android Open Source Project							  PULONG Length)
45764064216a8433360745f69edddce19a606659163The Android Open Source Project{
45864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
45964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_CURRENT_SIGNAL_PARAM, pData, sizeof(INT32));
46064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(INT32);
46164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
46264064216a8433360745f69edddce19a606659163The Android Open Source Project}
46364064216a8433360745f69edddce19a606659163The Android Open Source Project
46464064216a8433360745f69edddce19a606659163The Android Open Source Project
46564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
46664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	RssiUtilIoctlCompleteCB
46764064216a8433360745f69edddce19a606659163The Android Open Source Project
46864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  Rssi/Snr have been
46964064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW - return RSSI only to user
47064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
47164064216a8433360745f69edddce19a606659163The Android Open Source Project
47264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
47364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
47464064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID RssiUtilIoctlCompleteCB(TI_HANDLE hAdapter, TI_STATUS status, PUINT8 pReadBuff)
47564064216a8433360745f69edddce19a606659163The Android Open Source Project{
47664064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T)hAdapter;
47764064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_RADIO_RX_QUALITY tmpRadioRxQuality;
47864064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
47964064216a8433360745f69edddce19a606659163The Android Open Source Project	ACXRoamingStatisticsTable_t * radioResults = (ACXRoamingStatisticsTable_t *) pReadBuff;
48064064216a8433360745f69edddce19a606659163The Android Open Source Project
48164064216a8433360745f69edddce19a606659163The Android Open Source Project	tmpRadioRxQuality.Rssi = radioResults->rssi;
48264064216a8433360745f69edddce19a606659163The Android Open Source Project	tmpRadioRxQuality.Snr = (INT32) radioResults->snr;
48364064216a8433360745f69edddce19a606659163The Android Open Source Project
48464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* here we update the site manager about these new values */
48564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = SITE_MGR_CURRENT_SIGNAL_PARAM;
48664064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(INT32);
48764064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.siteMgrCurrentRssi = tmpRadioRxQuality.Rssi;
48864064216a8433360745f69edddce19a606659163The Android Open Source Project	configMgr_setParam(pAdapter->CoreHalCtx, &Param);
48964064216a8433360745f69edddce19a606659163The Android Open Source Project
49064064216a8433360745f69edddce19a606659163The Android Open Source Project
49164064216a8433360745f69edddce19a606659163The Android Open Source Project	*(pAdapter->pIoCompleteBuffSize) = sizeof(INT32);
49264064216a8433360745f69edddce19a606659163The Android Open Source Project	os_memoryCopy(hAdapter, (PVOID) &(pAdapter->pIoBuffer[0]), (PVOID) &(tmpRadioRxQuality.Rssi), sizeof(INT32));
49364064216a8433360745f69edddce19a606659163The Android Open Source Project
49464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Call back the Completion that will indicate to the user that the buffer is ready to be read */
49564064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
49664064216a8433360745f69edddce19a606659163The Android Open Source Project}
49764064216a8433360745f69edddce19a606659163The Android Open Source Project
49864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
49964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	SnrUtilIoctlCompleteCB
50064064216a8433360745f69edddce19a606659163The Android Open Source Project
50164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  Rssi/Snr have been
50264064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW - return SNR only to user
50364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
50464064216a8433360745f69edddce19a606659163The Android Open Source Project
50564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
50664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
50764064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID SnrUtilIoctlCompleteCB(TI_HANDLE hAdapter, TI_STATUS status, PUINT8 pReadBuff)
50864064216a8433360745f69edddce19a606659163The Android Open Source Project{
50964064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T) hAdapter;
51064064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_RADIO_RX_QUALITY tmpRadioRxQuality;
51164064216a8433360745f69edddce19a606659163The Android Open Source Project	ACXRoamingStatisticsTable_t * radioResults = (ACXRoamingStatisticsTable_t *) pReadBuff;
51264064216a8433360745f69edddce19a606659163The Android Open Source Project
51364064216a8433360745f69edddce19a606659163The Android Open Source Project    tmpRadioRxQuality.Rssi = radioResults->rssi;
51464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* The SNR returned by FW is not true. We have to divide it by 2 and turns it to a signed */
51564064216a8433360745f69edddce19a606659163The Android Open Source Project	tmpRadioRxQuality.Snr = (INT32) radioResults->snr;
51664064216a8433360745f69edddce19a606659163The Android Open Source Project
51764064216a8433360745f69edddce19a606659163The Android Open Source Project	*(pAdapter->pIoCompleteBuffSize) = sizeof(INT32);
51864064216a8433360745f69edddce19a606659163The Android Open Source Project
51964064216a8433360745f69edddce19a606659163The Android Open Source Project	os_memoryCopy(hAdapter, (PVOID) &(pAdapter->pIoBuffer[0]), (PVOID) &(tmpRadioRxQuality.Snr), sizeof(INT32));
52064064216a8433360745f69edddce19a606659163The Android Open Source Project
52164064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
52264064216a8433360745f69edddce19a606659163The Android Open Source Project}
52364064216a8433360745f69edddce19a606659163The Android Open Source Project
52464064216a8433360745f69edddce19a606659163The Android Open Source Project
52564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
52664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetAsyncCurrentRssiLevel
52764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
52864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
52964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
53064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
53164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetAsyncCurrentRssiLevel(PTIWLN_ADAPTER_T pAdapter,
53264064216a8433360745f69edddce19a606659163The Android Open Source Project								   PUCHAR pData,
53364064216a8433360745f69edddce19a606659163The Android Open Source Project								   PULONG Length)
53464064216a8433360745f69edddce19a606659163The Android Open Source Project{
53564064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
53664064216a8433360745f69edddce19a606659163The Android Open Source Project
53764064216a8433360745f69edddce19a606659163The Android Open Source Project
53864064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
53964064216a8433360745f69edddce19a606659163The Android Open Source Project
54064064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
54164064216a8433360745f69edddce19a606659163The Android Open Source Project
54264064216a8433360745f69edddce19a606659163The Android Open Source Project	/* To implement the Async IOCTL store the user buffer pointer to be filled at
54364064216a8433360745f69edddce19a606659163The Android Open Source Project	the Command Completion calback */
54464064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  pData;
54564064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  Length ;
54664064216a8433360745f69edddce19a606659163The Android Open Source Project
54764064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
54864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_RSSI_LEVEL_PARAM;
54964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(INT32);
55064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
55164064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_Func    =  (PVOID)RssiUtilIoctlCompleteCB;
55264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_buf     =  &(pAdapter->IoCompleteBuff[0]) ;
55364064216a8433360745f69edddce19a606659163The Android Open Source Project
55464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* This Get Param will in fact get till the HAL and will interrogate the FW */
55564064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
55664064216a8433360745f69edddce19a606659163The Android Open Source Project
55764064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
55864064216a8433360745f69edddce19a606659163The Android Open Source Project}
55964064216a8433360745f69edddce19a606659163The Android Open Source Project
56064064216a8433360745f69edddce19a606659163The Android Open Source Project
56164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
56264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetAsyncCurrentRssiLevel
56364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
56464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
56564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
56664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
56764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetAsyncCurrentSnrRatio(PTIWLN_ADAPTER_T pAdapter,
56864064216a8433360745f69edddce19a606659163The Android Open Source Project								  PUCHAR pData,
56964064216a8433360745f69edddce19a606659163The Android Open Source Project								  PULONG Length)
57064064216a8433360745f69edddce19a606659163The Android Open Source Project{
57164064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
57264064216a8433360745f69edddce19a606659163The Android Open Source Project
57364064216a8433360745f69edddce19a606659163The Android Open Source Project
57464064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
57564064216a8433360745f69edddce19a606659163The Android Open Source Project
57664064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
57764064216a8433360745f69edddce19a606659163The Android Open Source Project
57864064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  pData;
57964064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  Length ;
58064064216a8433360745f69edddce19a606659163The Android Open Source Project
58164064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_SNR_RATIO_PARAM;
58264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(INT32);
58364064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
58464064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_Func    =  (PVOID)SnrUtilIoctlCompleteCB;
58564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_buf     =  &(pAdapter->IoCompleteBuff[0]) ;
58664064216a8433360745f69edddce19a606659163The Android Open Source Project
58764064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
58864064216a8433360745f69edddce19a606659163The Android Open Source Project
58964064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
59064064216a8433360745f69edddce19a606659163The Android Open Source Project
59164064216a8433360745f69edddce19a606659163The Android Open Source Project
59264064216a8433360745f69edddce19a606659163The Android Open Source Project}
59364064216a8433360745f69edddce19a606659163The Android Open Source Project
59464064216a8433360745f69edddce19a606659163The Android Open Source Project
59564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
59664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetAPTxPowerLevel
59764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
59864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
59964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
60064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
60164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
60264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetAPTxPowerLevel(
60364064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
60464064216a8433360745f69edddce19a606659163The Android Open Source Project					 externalParam_e ParamType,
60564064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
60664064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
60764064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
60864064216a8433360745f69edddce19a606659163The Android Open Source Project{
60964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
61064064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
61164064216a8433360745f69edddce19a606659163The Android Open Source Project
61264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
61364064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
61464064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
61564064216a8433360745f69edddce19a606659163The Android Open Source Project
61664064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG)Param.content.APTxPower;
61764064216a8433360745f69edddce19a606659163The Android Open Source Project
61864064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
61964064216a8433360745f69edddce19a606659163The Android Open Source Project}
62064064216a8433360745f69edddce19a606659163The Android Open Source Project
62164064216a8433360745f69edddce19a606659163The Android Open Source Project
62264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
62364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetCountryCode
62464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
62564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
62664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
62764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
62864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
62964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetCountryCode(
63064064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
63164064216a8433360745f69edddce19a606659163The Android Open Source Project				  externalParam_e ParamType,
63264064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
63364064216a8433360745f69edddce19a606659163The Android Open Source Project				  ULONG Length
63464064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
63564064216a8433360745f69edddce19a606659163The Android Open Source Project{
63664064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
63764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
63864064216a8433360745f69edddce19a606659163The Android Open Source Project
63964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
64064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
64164064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
64264064216a8433360745f69edddce19a606659163The Android Open Source Project
64364064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(pData, Param.content.pCountryString, Length);
64464064216a8433360745f69edddce19a606659163The Android Open Source Project
64564064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
64664064216a8433360745f69edddce19a606659163The Android Open Source Project}
64764064216a8433360745f69edddce19a606659163The Android Open Source Project
64864064216a8433360745f69edddce19a606659163The Android Open Source Project
64964064216a8433360745f69edddce19a606659163The Android Open Source Project
65064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
65164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetRegDomainBand
65264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
65364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
65464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
65564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
65664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
65764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetRegDomainBand(
65864064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
65964064216a8433360745f69edddce19a606659163The Android Open Source Project					externalParam_e ParamType,
66064064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
66164064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
66264064216a8433360745f69edddce19a606659163The Android Open Source Project					)
66364064216a8433360745f69edddce19a606659163The Android Open Source Project{
66464064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
66564064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
66664064216a8433360745f69edddce19a606659163The Android Open Source Project
66764064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
66864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
66964064216a8433360745f69edddce19a606659163The Android Open Source Project
67064064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
67164064216a8433360745f69edddce19a606659163The Android Open Source Project
67264064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG) *(PUCHAR)&Param.content;
67364064216a8433360745f69edddce19a606659163The Android Open Source Project
67464064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
67564064216a8433360745f69edddce19a606659163The Android Open Source Project}
67664064216a8433360745f69edddce19a606659163The Android Open Source Project
67764064216a8433360745f69edddce19a606659163The Android Open Source Project
67864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
67964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetPacketBursting
68064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
68164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
68264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
68364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
68464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
68564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetPacketBursting(
68664064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
68764064216a8433360745f69edddce19a606659163The Android Open Source Project					 externalParam_e ParamType,
68864064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
68964064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
69064064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
69164064216a8433360745f69edddce19a606659163The Android Open Source Project{
69264064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
69364064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
69464064216a8433360745f69edddce19a606659163The Android Open Source Project
69564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
69664064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
69764064216a8433360745f69edddce19a606659163The Android Open Source Project
69864064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
69964064216a8433360745f69edddce19a606659163The Android Open Source Project
70064064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG)Param.content.qosPacketBurstEnb;
70164064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
70264064216a8433360745f69edddce19a606659163The Android Open Source Project}
70364064216a8433360745f69edddce19a606659163The Android Open Source Project
70464064216a8433360745f69edddce19a606659163The Android Open Source Project
70564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
70664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetMixedMode
70764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
70864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
70964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
71064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
71164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
71264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetMixedMode(
71364064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
71464064216a8433360745f69edddce19a606659163The Android Open Source Project				externalParam_e ParamType,
71564064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
71664064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
71764064216a8433360745f69edddce19a606659163The Android Open Source Project				)
71864064216a8433360745f69edddce19a606659163The Android Open Source Project{
71964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
72064064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
72164064216a8433360745f69edddce19a606659163The Android Open Source Project
72264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
72364064216a8433360745f69edddce19a606659163The Android Open Source Project
72464064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
72564064216a8433360745f69edddce19a606659163The Android Open Source Project
72664064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG)Param.content.rsnMixedMode;
72764064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
72864064216a8433360745f69edddce19a606659163The Android Open Source Project}
72964064216a8433360745f69edddce19a606659163The Android Open Source Project
73064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
73164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetDefaultKeyId
73264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
73364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
73464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
73564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
73664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
73764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetDefaultKeyId(
73864064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
73964064216a8433360745f69edddce19a606659163The Android Open Source Project				   externalParam_e ParamType,
74064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
74164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
74264064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
74364064216a8433360745f69edddce19a606659163The Android Open Source Project{
74464064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
74564064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
74664064216a8433360745f69edddce19a606659163The Android Open Source Project
74764064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
74864064216a8433360745f69edddce19a606659163The Android Open Source Project
74964064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
75064064216a8433360745f69edddce19a606659163The Android Open Source Project
75164064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG)Param.content.rsnDefaultKeyID;
75264064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
75364064216a8433360745f69edddce19a606659163The Android Open Source Project}
75464064216a8433360745f69edddce19a606659163The Android Open Source Project
75564064216a8433360745f69edddce19a606659163The Android Open Source Project
75664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
75764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetTrafficIntensityThresholds
75864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: Sets the traffic intensity thresholds
75964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
76064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
76164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
76264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetTrafficIntensityThresholds(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
76364064216a8433360745f69edddce19a606659163The Android Open Source Project{
76464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
76564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter,CTRL_DATA_TRAFFIC_INTENSITY_THRESHOLD , pData, Length);
76664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
76764064216a8433360745f69edddce19a606659163The Android Open Source Project}
76864064216a8433360745f69edddce19a606659163The Android Open Source Project
76964064216a8433360745f69edddce19a606659163The Android Open Source Project
77064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
77164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetTrafficIntensityThresholds
77264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: retrieves the traffic intensity thresholds
77364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
77464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
77564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
77664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetTrafficIntensityThresholds(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, PULONG Length)
77764064216a8433360745f69edddce19a606659163The Android Open Source Project{
77864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
77964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_TRAFFIC_INTENSITY_THRESHOLD, pData, (*Length));
78064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS);
78164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
78264064216a8433360745f69edddce19a606659163The Android Open Source Project}
78364064216a8433360745f69edddce19a606659163The Android Open Source Project
78464064216a8433360745f69edddce19a606659163The Android Open Source Project
78564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
78664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilToggleTrafficIntensityEvents
78764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: Toggles ON/OFF traffic intensity events
78864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
78964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
79064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
79164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilToggleTrafficIntensityEvents(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
79264064216a8433360745f69edddce19a606659163The Android Open Source Project{
79364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
79464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter,CTRL_DATA_TOGGLE_TRAFFIC_INTENSITY_EVENTS , pData, Length);
79564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
79664064216a8433360745f69edddce19a606659163The Android Open Source Project}
79764064216a8433360745f69edddce19a606659163The Android Open Source Project
79864064216a8433360745f69edddce19a606659163The Android Open Source Project
79964064216a8433360745f69edddce19a606659163The Android Open Source Project
80064064216a8433360745f69edddce19a606659163The Android Open Source Project
80164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
80264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:
80364064216a8433360745f69edddce19a606659163The Android Open Source Project
80464064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilSetBSSID
80564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
80664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
80764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
80864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
80964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
81064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetBSSID(
81164064216a8433360745f69edddce19a606659163The Android Open Source Project			PTIWLN_ADAPTER_T pAdapter,
81264064216a8433360745f69edddce19a606659163The Android Open Source Project			PUCHAR pData,
81364064216a8433360745f69edddce19a606659163The Android Open Source Project			ULONG Length
81464064216a8433360745f69edddce19a606659163The Android Open Source Project			)
81564064216a8433360745f69edddce19a606659163The Android Open Source Project{
81664064216a8433360745f69edddce19a606659163The Android Open Source Project	return UtilSetParam(pAdapter, SITE_MGR_DESIRED_BSSID_PARAM, pData, ETH_ADDR_SIZE);
81764064216a8433360745f69edddce19a606659163The Android Open Source Project}
81864064216a8433360745f69edddce19a606659163The Android Open Source Project
81964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
82064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetBSSID
82164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
82264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
82364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
82464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
82564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
82664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetBSSID(
82764064216a8433360745f69edddce19a606659163The Android Open Source Project			PTIWLN_ADAPTER_T pAdapter,
82864064216a8433360745f69edddce19a606659163The Android Open Source Project			PUCHAR pData,
82964064216a8433360745f69edddce19a606659163The Android Open Source Project			PULONG Length
83064064216a8433360745f69edddce19a606659163The Android Open Source Project			)
83164064216a8433360745f69edddce19a606659163The Android Open Source Project{
83264064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS res;
83364064216a8433360745f69edddce19a606659163The Android Open Source Project
83464064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
83564064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
83664064216a8433360745f69edddce19a606659163The Android Open Source Project
83764064216a8433360745f69edddce19a606659163The Android Open Source Project	res = UtilGetParam(pAdapter, CTRL_DATA_CURRENT_BSSID_PARAM, pData, ETH_ADDR_SIZE);
83864064216a8433360745f69edddce19a606659163The Android Open Source Project
83964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = ETH_ADDR_SIZE;
84064064216a8433360745f69edddce19a606659163The Android Open Source Project
84164064216a8433360745f69edddce19a606659163The Android Open Source Project	return res;
84264064216a8433360745f69edddce19a606659163The Android Open Source Project}
84364064216a8433360745f69edddce19a606659163The Android Open Source Project
84464064216a8433360745f69edddce19a606659163The Android Open Source Project
84564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
84664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetSSID
84764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
84864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
84964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
85064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
85164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
85264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetSSID(
85364064216a8433360745f69edddce19a606659163The Android Open Source Project		   PTIWLN_ADAPTER_T pAdapter,
85464064216a8433360745f69edddce19a606659163The Android Open Source Project		   PUCHAR pData,
85564064216a8433360745f69edddce19a606659163The Android Open Source Project		   PULONG Length
85664064216a8433360745f69edddce19a606659163The Android Open Source Project		   )
85764064216a8433360745f69edddce19a606659163The Android Open Source Project{
85864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG size;
85964064216a8433360745f69edddce19a606659163The Android Open Source Project	ssid_t ssid;
86064064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID* RetSsid;
86164064216a8433360745f69edddce19a606659163The Android Open Source Project
86264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*Length<sizeof(OS_802_11_SSID))
86364064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
86464064216a8433360745f69edddce19a606659163The Android Open Source Project
86564064216a8433360745f69edddce19a606659163The Android Open Source Project	size = sizeof(ssid_t);
86664064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilGetParam(pAdapter, SITE_MGR_CURRENT_SSID_PARAM, (PUCHAR)&ssid, size);
86764064216a8433360745f69edddce19a606659163The Android Open Source Project
86864064216a8433360745f69edddce19a606659163The Android Open Source Project	RetSsid = (OS_802_11_SSID*) pData;
86964064216a8433360745f69edddce19a606659163The Android Open Source Project
87064064216a8433360745f69edddce19a606659163The Android Open Source Project	RetSsid->SsidLength = ssid.len;
87164064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory((void *)RetSsid->Ssid, (void *)ssid.ssidString, ssid.len);
87264064216a8433360745f69edddce19a606659163The Android Open Source Project
87364064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_SSID);
87464064216a8433360745f69edddce19a606659163The Android Open Source Project
87564064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
87664064216a8433360745f69edddce19a606659163The Android Open Source Project}
87764064216a8433360745f69edddce19a606659163The Android Open Source Project
87864064216a8433360745f69edddce19a606659163The Android Open Source Project
87964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
88064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetDesiredSSID
88164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
88264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
88364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
88464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
88564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
88664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetDesiredSSID(
88764064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
88864064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
88964064216a8433360745f69edddce19a606659163The Android Open Source Project				  PULONG Length
89064064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
89164064216a8433360745f69edddce19a606659163The Android Open Source Project{
89264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG size,retValue;
89364064216a8433360745f69edddce19a606659163The Android Open Source Project	ssid_t ssid;
89464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID* RetSsid;
89564064216a8433360745f69edddce19a606659163The Android Open Source Project
89664064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!(*Length))
89764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
89864064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(OS_802_11_SSID);
89964064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
90064064216a8433360745f69edddce19a606659163The Android Open Source Project	}
90164064216a8433360745f69edddce19a606659163The Android Open Source Project
90264064216a8433360745f69edddce19a606659163The Android Open Source Project	size = sizeof(ssid_t);
90364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_SSID_PARAM, (PUCHAR)&ssid, size);
90464064216a8433360745f69edddce19a606659163The Android Open Source Project
90564064216a8433360745f69edddce19a606659163The Android Open Source Project	RetSsid = (OS_802_11_SSID*) pData;
90664064216a8433360745f69edddce19a606659163The Android Open Source Project
90764064216a8433360745f69edddce19a606659163The Android Open Source Project	RetSsid->SsidLength = ssid.len;
90864064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory((void *)RetSsid->Ssid, (void *)ssid.ssidString, ssid.len);
90964064216a8433360745f69edddce19a606659163The Android Open Source Project
91064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_SSID);
91164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
91264064216a8433360745f69edddce19a606659163The Android Open Source Project}
91364064216a8433360745f69edddce19a606659163The Android Open Source Project
91464064216a8433360745f69edddce19a606659163The Android Open Source Project
91564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
91664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetSSID
91764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
91864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
91964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
92064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
92164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
92264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetSSID(
92364064216a8433360745f69edddce19a606659163The Android Open Source Project		   PTIWLN_ADAPTER_T pAdapter,
92464064216a8433360745f69edddce19a606659163The Android Open Source Project		   PUCHAR pData,
92564064216a8433360745f69edddce19a606659163The Android Open Source Project		   ULONG Length
92664064216a8433360745f69edddce19a606659163The Android Open Source Project		   )
92764064216a8433360745f69edddce19a606659163The Android Open Source Project{
92864064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID* UtilSsid;
92964064216a8433360745f69edddce19a606659163The Android Open Source Project	ssid_t ssid;
93064064216a8433360745f69edddce19a606659163The Android Open Source Project
93164064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilSsid = (OS_802_11_SSID*) pData;
93264064216a8433360745f69edddce19a606659163The Android Open Source Project
93364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (UtilSsid->SsidLength<=MAX_SSID_LEN)
93464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
93564064216a8433360745f69edddce19a606659163The Android Open Source Project		ssid.len = (UINT8)UtilSsid->SsidLength;
93664064216a8433360745f69edddce19a606659163The Android Open Source Project
93764064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory((void *)ssid.ssidString, (void *)UtilSsid->Ssid, ssid.len);
93864064216a8433360745f69edddce19a606659163The Android Open Source Project
93964064216a8433360745f69edddce19a606659163The Android Open Source Project		/* The driver should support setting the SSID to NULL string */
94064064216a8433360745f69edddce19a606659163The Android Open Source Project		if (ssid.len == 0)
94164064216a8433360745f69edddce19a606659163The Android Open Source Project			ssid.ssidString[0] = '\0';
94264064216a8433360745f69edddce19a606659163The Android Open Source Project
94364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TI_DBG
94464064216a8433360745f69edddce19a606659163The Android Open Source Project		{
94564064216a8433360745f69edddce19a606659163The Android Open Source Project			UCHAR   tempName[33];
94664064216a8433360745f69edddce19a606659163The Android Open Source Project
94764064216a8433360745f69edddce19a606659163The Android Open Source Project			NdisMoveMemory(tempName, (void *)UtilSsid->Ssid, ssid.len);
94864064216a8433360745f69edddce19a606659163The Android Open Source Project			tempName[ssid.len] ='\0';
94964064216a8433360745f69edddce19a606659163The Android Open Source Project
95064064216a8433360745f69edddce19a606659163The Android Open Source Project			PRINTF(DBG_NDIS_OIDS_LOUD, ("  SET SSID: Len=%d %s\n", ssid.len, tempName));
95164064216a8433360745f69edddce19a606659163The Android Open Source Project		}
95264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
95364064216a8433360745f69edddce19a606659163The Android Open Source Project
95464064216a8433360745f69edddce19a606659163The Android Open Source Project		UtilSetParam(pAdapter, SITE_MGR_DESIRED_SSID_PARAM, (PUCHAR)&ssid, sizeof(ssid_t));
95564064216a8433360745f69edddce19a606659163The Android Open Source Project	}
95664064216a8433360745f69edddce19a606659163The Android Open Source Project
95764064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
95864064216a8433360745f69edddce19a606659163The Android Open Source Project
95964064216a8433360745f69edddce19a606659163The Android Open Source Project}
96064064216a8433360745f69edddce19a606659163The Android Open Source Project
96164064216a8433360745f69edddce19a606659163The Android Open Source Project
96264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
96364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilNetworkTypesSupported
96464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
96564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
96664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
96764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
96864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
96964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilNetworkTypesSupported(
97064064216a8433360745f69edddce19a606659163The Android Open Source Project						 PTIWLN_ADAPTER_T pAdapter,
97164064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
97264064216a8433360745f69edddce19a606659163The Android Open Source Project						 PULONG Length
97364064216a8433360745f69edddce19a606659163The Android Open Source Project						 )
97464064216a8433360745f69edddce19a606659163The Android Open Source Project{
97564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_NETWORK_TYPE_LIST * pList;
97664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG mode, size;
97764064216a8433360745f69edddce19a606659163The Android Open Source Project
97864064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilGetParam(pAdapter, SITE_MGR_DESIRED_DOT11_MODE_PARAM,
97964064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)&mode, sizeof(ULONG));
98064064216a8433360745f69edddce19a606659163The Android Open Source Project
98164064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!(*Length))
98264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
98364064216a8433360745f69edddce19a606659163The Android Open Source Project
98464064216a8433360745f69edddce19a606659163The Android Open Source Project		/**/
98564064216a8433360745f69edddce19a606659163The Android Open Source Project		/* Return the maximum size*/
98664064216a8433360745f69edddce19a606659163The Android Open Source Project		/**/
98764064216a8433360745f69edddce19a606659163The Android Open Source Project		size = sizeof(OS_802_11_NETWORK_TYPE_LIST) +
98864064216a8433360745f69edddce19a606659163The Android Open Source Project			   3 * sizeof(OS_802_11_NETWORK_TYPE) -
98964064216a8433360745f69edddce19a606659163The Android Open Source Project			   sizeof(OS_802_11_NETWORK_TYPE);
99064064216a8433360745f69edddce19a606659163The Android Open Source Project
99164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = size;
99264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
99364064216a8433360745f69edddce19a606659163The Android Open Source Project
99464064216a8433360745f69edddce19a606659163The Android Open Source Project	}
99564064216a8433360745f69edddce19a606659163The Android Open Source Project
99664064216a8433360745f69edddce19a606659163The Android Open Source Project	pList = (OS_802_11_NETWORK_TYPE_LIST *) pData;
99764064216a8433360745f69edddce19a606659163The Android Open Source Project
99864064216a8433360745f69edddce19a606659163The Android Open Source Project	switch (mode)
99964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
100064064216a8433360745f69edddce19a606659163The Android Open Source Project
100164064216a8433360745f69edddce19a606659163The Android Open Source Project	case 1:
100264064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NumberOfItems = 1;
100364064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[0] = os802_11DS;
100464064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
100564064216a8433360745f69edddce19a606659163The Android Open Source Project
100664064216a8433360745f69edddce19a606659163The Android Open Source Project	case 2:
100764064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NumberOfItems = 1;
100864064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[0] = os802_11OFDM5;
100964064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
101064064216a8433360745f69edddce19a606659163The Android Open Source Project
101164064216a8433360745f69edddce19a606659163The Android Open Source Project	case 3:
101264064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NumberOfItems = 2;
101364064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[0] = os802_11DS;
101464064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[1] = os802_11OFDM24;
101564064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
101664064216a8433360745f69edddce19a606659163The Android Open Source Project
101764064216a8433360745f69edddce19a606659163The Android Open Source Project	case 4:
101864064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NumberOfItems = 3;
101964064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[0] = os802_11DS;
102064064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[1] = os802_11OFDM24;
102164064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[2] = os802_11OFDM5;
102264064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
102364064216a8433360745f69edddce19a606659163The Android Open Source Project
102464064216a8433360745f69edddce19a606659163The Android Open Source Project	default:
102564064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NumberOfItems = 1;
102664064216a8433360745f69edddce19a606659163The Android Open Source Project		pList->NetworkType[0] = os802_11DS;
102764064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
102864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
102964064216a8433360745f69edddce19a606659163The Android Open Source Project
103064064216a8433360745f69edddce19a606659163The Android Open Source Project	size = sizeof(OS_802_11_NETWORK_TYPE_LIST) +
103164064216a8433360745f69edddce19a606659163The Android Open Source Project		   pList->NumberOfItems * sizeof(OS_802_11_NETWORK_TYPE) -
103264064216a8433360745f69edddce19a606659163The Android Open Source Project		   sizeof(OS_802_11_NETWORK_TYPE);
103364064216a8433360745f69edddce19a606659163The Android Open Source Project
103464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = size;
103564064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
103664064216a8433360745f69edddce19a606659163The Android Open Source Project}
103764064216a8433360745f69edddce19a606659163The Android Open Source Project
103864064216a8433360745f69edddce19a606659163The Android Open Source Project
103964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
104064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilNetworkTypeInUseGet
104164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
104264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
104364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
104464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
104564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
104664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilNetworkTypeInUseGet(
104764064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
104864064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
104964064216a8433360745f69edddce19a606659163The Android Open Source Project					   PULONG Length
105064064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
105164064216a8433360745f69edddce19a606659163The Android Open Source Project{
105264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG mode;
105364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!(*Length))
105464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
105564064216a8433360745f69edddce19a606659163The Android Open Source Project
105664064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(OS_802_11_NETWORK_TYPE);
105764064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
105864064216a8433360745f69edddce19a606659163The Android Open Source Project
105964064216a8433360745f69edddce19a606659163The Android Open Source Project	}
106064064216a8433360745f69edddce19a606659163The Android Open Source Project
106164064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilGetParam(pAdapter, SITE_MGR_DESIRED_DOT11_MODE_PARAM,
106264064216a8433360745f69edddce19a606659163The Android Open Source Project				 (PUCHAR)&mode, sizeof(ULONG));
106364064216a8433360745f69edddce19a606659163The Android Open Source Project
106464064216a8433360745f69edddce19a606659163The Android Open Source Project	switch (mode)
106564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
106664064216a8433360745f69edddce19a606659163The Android Open Source Project
106764064216a8433360745f69edddce19a606659163The Android Open Source Project	case 1:
106864064216a8433360745f69edddce19a606659163The Android Open Source Project		*((OS_802_11_NETWORK_TYPE *) pData) = os802_11DS;
106964064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
107064064216a8433360745f69edddce19a606659163The Android Open Source Project
107164064216a8433360745f69edddce19a606659163The Android Open Source Project	case 2:
107264064216a8433360745f69edddce19a606659163The Android Open Source Project		*((OS_802_11_NETWORK_TYPE *) pData) = os802_11OFDM5;
107364064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
107464064216a8433360745f69edddce19a606659163The Android Open Source Project
107564064216a8433360745f69edddce19a606659163The Android Open Source Project	case 3:
107664064216a8433360745f69edddce19a606659163The Android Open Source Project		*((OS_802_11_NETWORK_TYPE *) pData) = os802_11OFDM24;
107764064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
107864064216a8433360745f69edddce19a606659163The Android Open Source Project
107964064216a8433360745f69edddce19a606659163The Android Open Source Project	case 4:
108064064216a8433360745f69edddce19a606659163The Android Open Source Project		*((OS_802_11_NETWORK_TYPE *) pData) = os802_11Automode;
108164064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
108264064216a8433360745f69edddce19a606659163The Android Open Source Project
108364064216a8433360745f69edddce19a606659163The Android Open Source Project	default:
108464064216a8433360745f69edddce19a606659163The Android Open Source Project		*((OS_802_11_NETWORK_TYPE *) pData) = os802_11DS;
108564064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
108664064216a8433360745f69edddce19a606659163The Android Open Source Project
108764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
108864064216a8433360745f69edddce19a606659163The Android Open Source Project
108964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_NETWORK_TYPE);
109064064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
109164064216a8433360745f69edddce19a606659163The Android Open Source Project}
109264064216a8433360745f69edddce19a606659163The Android Open Source Project
109364064216a8433360745f69edddce19a606659163The Android Open Source Project
109464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
109564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilNetworkTypeInUseSet
109664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
109764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
109864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
109964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
110064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
110164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilNetworkTypeInUseSet(
110264064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
110364064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
110464064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length
110564064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
110664064216a8433360745f69edddce19a606659163The Android Open Source Project{
110764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
110864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_DOT11_MODE_PARAM, pData, sizeof(ULONG));
110964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
111064064216a8433360745f69edddce19a606659163The Android Open Source Project}
111164064216a8433360745f69edddce19a606659163The Android Open Source Project
111264064216a8433360745f69edddce19a606659163The Android Open Source Project
111364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
111464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetPacketBursting
111564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
111664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
111764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
111864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
111964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
112064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetPacketBursting(
112164064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
112264064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
112364064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
112464064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
112564064216a8433360745f69edddce19a606659163The Android Open Source Project{
112664064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
112764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
112864064216a8433360745f69edddce19a606659163The Android Open Source Project
112964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = QOS_PACKET_BURST_ENABLE;
113064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.qosPacketBurstEnb = *((UINT8*)pData);
113164064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
113264064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
113364064216a8433360745f69edddce19a606659163The Android Open Source Project}
113464064216a8433360745f69edddce19a606659163The Android Open Source Project
113564064216a8433360745f69edddce19a606659163The Android Open Source Project
113664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
113764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSetMixedMode
113864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
113964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
114064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
114164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
114264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
114364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSetMixedMode(
114464064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
114564064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
114664064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
114764064216a8433360745f69edddce19a606659163The Android Open Source Project				)
114864064216a8433360745f69edddce19a606659163The Android Open Source Project{
114964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
115064064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
115164064216a8433360745f69edddce19a606659163The Android Open Source Project
115264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = RSN_MIXED_MODE;
115364064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.rsnMixedMode = *((UINT32*)pData);
115464064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
115564064216a8433360745f69edddce19a606659163The Android Open Source Project
115664064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
115764064216a8433360745f69edddce19a606659163The Android Open Source Project}
115864064216a8433360745f69edddce19a606659163The Android Open Source Project
115964064216a8433360745f69edddce19a606659163The Android Open Source Project
116064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
116164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerModeSet
116264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
116364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
116464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
116564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
116664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
116764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerModeSet(
116864064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
116964064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
117064064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
117164064216a8433360745f69edddce19a606659163The Android Open Source Project				)
117264064216a8433360745f69edddce19a606659163The Android Open Source Project{
117364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
117464064216a8433360745f69edddce19a606659163The Android Open Source Project	PowerMgr_PowerMode_t PowerMgr_PowerMode;
117564064216a8433360745f69edddce19a606659163The Android Open Source Project	PowerMgr_PowerMode.PowerMode = (PowerMgr_PowerMode_e)*pData;
117664064216a8433360745f69edddce19a606659163The Android Open Source Project	PowerMgr_PowerMode.powerMngPriority = POWER_MANAGER_USER_PRIORITY;
117764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, POWER_MGR_POWER_MODE,(PUCHAR)&PowerMgr_PowerMode, sizeof(PowerMgr_PowerMode));
117864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
117964064216a8433360745f69edddce19a606659163The Android Open Source Project}
118064064216a8433360745f69edddce19a606659163The Android Open Source Project
118164064216a8433360745f69edddce19a606659163The Android Open Source Project
118264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
118364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerModeGet
118464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
118564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
118664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
118764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
118864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
118964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerModeGet(
119064064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
119164064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
119264064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
119364064216a8433360745f69edddce19a606659163The Android Open Source Project				)
119464064216a8433360745f69edddce19a606659163The Android Open Source Project{
119564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
119664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, POWER_MGR_POWER_MODE, pData, sizeof(PowerMgr_PowerMode_e));
119764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(PowerMgr_PowerMode_e);
119864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
119964064216a8433360745f69edddce19a606659163The Android Open Source Project}
120064064216a8433360745f69edddce19a606659163The Android Open Source Project
120164064216a8433360745f69edddce19a606659163The Android Open Source Project
120264064216a8433360745f69edddce19a606659163The Android Open Source Project
120364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
120464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelPSGet
120564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
120664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
120764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
120864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
120964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
121064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelPSGet(
121164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
121264064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
121364064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
121464064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
121564064216a8433360745f69edddce19a606659163The Android Open Source Project{
121664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
121764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, POWER_MGR_POWER_LEVEL_PS, pData, sizeof(powerAutho_PowerPolicy_e));
121864064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(powerAutho_PowerPolicy_e);
121964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
122064064216a8433360745f69edddce19a606659163The Android Open Source Project}
122164064216a8433360745f69edddce19a606659163The Android Open Source Project
122264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
122364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelPSSet
122464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
122564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
122664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
122764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
122864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
122964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelPSSet(
123064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
123164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
123264064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
123364064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
123464064216a8433360745f69edddce19a606659163The Android Open Source Project{
123564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
123664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, POWER_MGR_POWER_LEVEL_PS, pData, sizeof(powerAutho_PowerPolicy_e));
123764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(powerAutho_PowerPolicy_e);
123864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
123964064216a8433360745f69edddce19a606659163The Android Open Source Project}
124064064216a8433360745f69edddce19a606659163The Android Open Source Project
124164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
124264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelDefaultGet
124364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
124464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
124564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
124664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
124764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
124864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelDefaultGet(
124964064216a8433360745f69edddce19a606659163The Android Open Source Project						PTIWLN_ADAPTER_T pAdapter,
125064064216a8433360745f69edddce19a606659163The Android Open Source Project						PUCHAR pData,
125164064216a8433360745f69edddce19a606659163The Android Open Source Project						PULONG Length
125264064216a8433360745f69edddce19a606659163The Android Open Source Project						)
125364064216a8433360745f69edddce19a606659163The Android Open Source Project{
125464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
125564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, POWER_MGR_POWER_LEVEL_DEFAULT, pData, sizeof(powerAutho_PowerPolicy_e));
125664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(powerAutho_PowerPolicy_e);
125764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
125864064216a8433360745f69edddce19a606659163The Android Open Source Project}
125964064216a8433360745f69edddce19a606659163The Android Open Source Project
126064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
126164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelDefaultSet
126264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
126364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
126464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
126564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
126664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
126764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelDefaultSet(
126864064216a8433360745f69edddce19a606659163The Android Open Source Project						PTIWLN_ADAPTER_T pAdapter,
126964064216a8433360745f69edddce19a606659163The Android Open Source Project						PUCHAR pData,
127064064216a8433360745f69edddce19a606659163The Android Open Source Project						PULONG Length
127164064216a8433360745f69edddce19a606659163The Android Open Source Project						)
127264064216a8433360745f69edddce19a606659163The Android Open Source Project{
127364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
127464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, POWER_MGR_POWER_LEVEL_DEFAULT, pData, sizeof(powerAutho_PowerPolicy_e));
127564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(powerAutho_PowerPolicy_e);
127664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
127764064216a8433360745f69edddce19a606659163The Android Open Source Project}
127864064216a8433360745f69edddce19a606659163The Android Open Source Project
127964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
128064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelDozeModeGet
128164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
128264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
128364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
128464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
128564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
128664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelDozeModeGet(
128764064216a8433360745f69edddce19a606659163The Android Open Source Project    PTIWLN_ADAPTER_T pAdapter,
128864064216a8433360745f69edddce19a606659163The Android Open Source Project    PUCHAR pData,
128964064216a8433360745f69edddce19a606659163The Android Open Source Project    PULONG Length
129064064216a8433360745f69edddce19a606659163The Android Open Source Project    )
129164064216a8433360745f69edddce19a606659163The Android Open Source Project{
129264064216a8433360745f69edddce19a606659163The Android Open Source Project   ULONG retValue;
129364064216a8433360745f69edddce19a606659163The Android Open Source Project   retValue = UtilGetParam(pAdapter, POWER_MGR_POWER_LEVEL_DOZE_MODE, pData, sizeof(PowerMgr_PowerMode_e));
129464064216a8433360745f69edddce19a606659163The Android Open Source Project   *Length = sizeof(PowerMgr_PowerMode_e);
129564064216a8433360745f69edddce19a606659163The Android Open Source Project   return retValue;
129664064216a8433360745f69edddce19a606659163The Android Open Source Project}
129764064216a8433360745f69edddce19a606659163The Android Open Source Project
129864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
129964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPowerLevelDozeModeSet
130064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
130164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
130264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
130364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
130464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
130564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPowerLevelDozeModeSet(
130664064216a8433360745f69edddce19a606659163The Android Open Source Project    PTIWLN_ADAPTER_T pAdapter,
130764064216a8433360745f69edddce19a606659163The Android Open Source Project    PUCHAR pData,
130864064216a8433360745f69edddce19a606659163The Android Open Source Project    PULONG Length
130964064216a8433360745f69edddce19a606659163The Android Open Source Project    )
131064064216a8433360745f69edddce19a606659163The Android Open Source Project{
131164064216a8433360745f69edddce19a606659163The Android Open Source Project   ULONG retValue;
131264064216a8433360745f69edddce19a606659163The Android Open Source Project   retValue = UtilSetParam(pAdapter, POWER_MGR_POWER_LEVEL_DOZE_MODE, pData, sizeof(PowerMgr_PowerMode_e));
131364064216a8433360745f69edddce19a606659163The Android Open Source Project   *Length = sizeof(PowerMgr_PowerMode_e);
131464064216a8433360745f69edddce19a606659163The Android Open Source Project   return retValue;
131564064216a8433360745f69edddce19a606659163The Android Open Source Project}
131664064216a8433360745f69edddce19a606659163The Android Open Source Project
131764064216a8433360745f69edddce19a606659163The Android Open Source Project
131864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
131964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilBeaconFilterDesiredStateSet
132064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
132164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
132264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
132364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
132464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
132564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBeaconFilterDesiredStateSet(
132664064216a8433360745f69edddce19a606659163The Android Open Source Project							   PTIWLN_ADAPTER_T pAdapter,
132764064216a8433360745f69edddce19a606659163The Android Open Source Project							   PUCHAR pData,
132864064216a8433360745f69edddce19a606659163The Android Open Source Project							   PULONG Length
132964064216a8433360745f69edddce19a606659163The Android Open Source Project							   )
133064064216a8433360745f69edddce19a606659163The Android Open Source Project{
133164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
133264064216a8433360745f69edddce19a606659163The Android Open Source Project
133364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_BEACON_FILTER_DESIRED_STATE_PARAM, pData, sizeof(UINT8));
133464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
133564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
133664064216a8433360745f69edddce19a606659163The Android Open Source Project}
133764064216a8433360745f69edddce19a606659163The Android Open Source Project
133864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
133964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilBeaconFilterDesiredStateGet
134064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: gets the current beacon filter state
134164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
134264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
134364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
134464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
134564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBeaconFilterDesiredStateGet(
134664064216a8433360745f69edddce19a606659163The Android Open Source Project							   PTIWLN_ADAPTER_T pAdapter,
134764064216a8433360745f69edddce19a606659163The Android Open Source Project							   PUCHAR pData,
134864064216a8433360745f69edddce19a606659163The Android Open Source Project							   PULONG Length
134964064216a8433360745f69edddce19a606659163The Android Open Source Project							   )
135064064216a8433360745f69edddce19a606659163The Android Open Source Project{
135164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
135264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_BEACON_FILTER_DESIRED_STATE_PARAM, pData, sizeof(UINT8));
135364064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
135464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
135564064216a8433360745f69edddce19a606659163The Android Open Source Project}
135664064216a8433360745f69edddce19a606659163The Android Open Source Project
135764064216a8433360745f69edddce19a606659163The Android Open Source Project
135864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
135964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilBssidListGet
136064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
136164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
136264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
136364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
136464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
136564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBssidListGet(
136664064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
136764064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
136864064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length,
136964064216a8433360745f69edddce19a606659163The Android Open Source Project				BOOLEAN ExtBssid,
137064064216a8433360745f69edddce19a606659163The Android Open Source Project				BOOLEAN allVarIes
137164064216a8433360745f69edddce19a606659163The Android Open Source Project				)
137264064216a8433360745f69edddce19a606659163The Android Open Source Project{
137364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_BSSID_LIST_EX* pListEx;
137464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_BSSID_EX* pBssidEx;
137564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_BSSID* pBssid;
137664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_BSSID_LIST* pList;
137764064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
137864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG RetSize, i;
137964064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
138064064216a8433360745f69edddce19a606659163The Android Open Source Project	PUCHAR pTempData=NULL;
138164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG LocalLength = sizeof(OS_802_11_BSSID_LIST_EX)+NUM_OF_SITE_TABLE*MAX_SITES_BG_BAND*sizeof(OS_802_11_BSSID);
138264064216a8433360745f69edddce19a606659163The Android Open Source Project
138364064216a8433360745f69edddce19a606659163The Android Open Source Project
138464064216a8433360745f69edddce19a606659163The Android Open Source Project	/******  At the callback of RSSI update the RSSI in the Site TAble in the Site Manager *
138564064216a8433360745f69edddce19a606659163The Android Open Source Project	 Update Site Table in order to represent the RSSI of current AP correctly in the utility
138664064216a8433360745f69edddce19a606659163The Android Open Source Project	param.paramType = SITE_MGR_CURRENT_SIGNAL_PARAM;
138764064216a8433360745f69edddce19a606659163The Android Open Source Project	param.content.siteMgrCurrentSignal.rssi = pCurrBSS->averageRssi;
138864064216a8433360745f69edddce19a606659163The Android Open Source Project	siteMgr_setParam(pCurrBSS->hSiteMgr, &param);
138964064216a8433360745f69edddce19a606659163The Android Open Source Project	***************************************/
139064064216a8433360745f69edddce19a606659163The Android Open Source Project
139164064216a8433360745f69edddce19a606659163The Android Open Source Project
139264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (allVarIes)
139364064216a8433360745f69edddce19a606659163The Android Open Source Project	{
139464064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramType = SITE_MGR_BSSID_FULL_LIST_PARAM;
139564064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
139664064216a8433360745f69edddce19a606659163The Android Open Source Project	{
139764064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramType = SITE_MGR_BSSID_LIST_PARAM;
139864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
139964064216a8433360745f69edddce19a606659163The Android Open Source Project
140064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (ExtBssid)
140164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
140264064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)&Param.content = (ULONG)pData;
140364064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramLength = *Length;
140464064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
140564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
140664064216a8433360745f69edddce19a606659163The Android Open Source Project		if (*Length)
140764064216a8433360745f69edddce19a606659163The Android Open Source Project		{
140864064216a8433360745f69edddce19a606659163The Android Open Source Project			pTempData = os_memoryAlloc(pAdapter, LocalLength);
140964064216a8433360745f69edddce19a606659163The Android Open Source Project
141064064216a8433360745f69edddce19a606659163The Android Open Source Project			if (!pTempData)
141164064216a8433360745f69edddce19a606659163The Android Open Source Project			{
141264064216a8433360745f69edddce19a606659163The Android Open Source Project				*(PULONG)pData = LocalLength;
141364064216a8433360745f69edddce19a606659163The Android Open Source Project				*Length = 0;
141464064216a8433360745f69edddce19a606659163The Android Open Source Project				return NOK;
141564064216a8433360745f69edddce19a606659163The Android Open Source Project			}
141664064216a8433360745f69edddce19a606659163The Android Open Source Project
141764064216a8433360745f69edddce19a606659163The Android Open Source Project			*(PULONG)&Param.content = (ULONG)pTempData;
141864064216a8433360745f69edddce19a606659163The Android Open Source Project			Param.paramLength = *Length;
141964064216a8433360745f69edddce19a606659163The Android Open Source Project		} else
142064064216a8433360745f69edddce19a606659163The Android Open Source Project		{
142164064216a8433360745f69edddce19a606659163The Android Open Source Project			*Length = LocalLength;
142264064216a8433360745f69edddce19a606659163The Android Open Source Project			return NOK;
142364064216a8433360745f69edddce19a606659163The Android Open Source Project		}
142464064216a8433360745f69edddce19a606659163The Android Open Source Project	}
142564064216a8433360745f69edddce19a606659163The Android Open Source Project
142664064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
142764064216a8433360745f69edddce19a606659163The Android Open Source Project
142864064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!(*Length))
142964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
143064064216a8433360745f69edddce19a606659163The Android Open Source Project
143164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = Param.paramLength * 4;
143264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
143364064216a8433360745f69edddce19a606659163The Android Open Source Project
143464064216a8433360745f69edddce19a606659163The Android Open Source Project	}
143564064216a8433360745f69edddce19a606659163The Android Open Source Project
143664064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Status != OK)
143764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
143864064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)pData = Param.paramLength;
143964064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "...More buffer space needed\n");
144064064216a8433360745f69edddce19a606659163The Android Open Source Project		if (!ExtBssid)
144164064216a8433360745f69edddce19a606659163The Android Open Source Project			os_memoryFree(pAdapter, pTempData, LocalLength);
144264064216a8433360745f69edddce19a606659163The Android Open Source Project
144364064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = 0;
144464064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
144564064216a8433360745f69edddce19a606659163The Android Open Source Project
144664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
144764064216a8433360745f69edddce19a606659163The Android Open Source Project
144864064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!ExtBssid)
144964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
145064064216a8433360745f69edddce19a606659163The Android Open Source Project
145164064216a8433360745f69edddce19a606659163The Android Open Source Project		pListEx = (OS_802_11_BSSID_LIST_EX*) pTempData;
145264064216a8433360745f69edddce19a606659163The Android Open Source Project
145364064216a8433360745f69edddce19a606659163The Android Open Source Project		if (pListEx->NumberOfItems)
145464064216a8433360745f69edddce19a606659163The Android Open Source Project		{
145564064216a8433360745f69edddce19a606659163The Android Open Source Project
145664064216a8433360745f69edddce19a606659163The Android Open Source Project			if ((sizeof(OS_802_11_BSSID_LIST) +
145764064216a8433360745f69edddce19a606659163The Android Open Source Project				 sizeof(OS_802_11_BSSID)*pListEx->NumberOfItems -
145864064216a8433360745f69edddce19a606659163The Android Open Source Project				 sizeof(OS_802_11_BSSID)) > *Length)
145964064216a8433360745f69edddce19a606659163The Android Open Source Project			{
146064064216a8433360745f69edddce19a606659163The Android Open Source Project				PRINT(DBG_IOCTL_LOUD, "Utility buffer is too small\n");
146164064216a8433360745f69edddce19a606659163The Android Open Source Project				os_memoryFree(pAdapter, pTempData, LocalLength);
146264064216a8433360745f69edddce19a606659163The Android Open Source Project				*Length = 0;
146364064216a8433360745f69edddce19a606659163The Android Open Source Project				return NOK;
146464064216a8433360745f69edddce19a606659163The Android Open Source Project			}
146564064216a8433360745f69edddce19a606659163The Android Open Source Project            if (pListEx->NumberOfItems >
146664064216a8433360745f69edddce19a606659163The Android Open Source Project                ((0xFFFFFFFFUL - ((ULONG)sizeof(OS_802_11_BSSID_LIST) - 1)) /
146764064216a8433360745f69edddce19a606659163The Android Open Source Project                 (ULONG)sizeof(OS_802_11_BSSID) + 1)) /* Dm: Security fix */
146864064216a8433360745f69edddce19a606659163The Android Open Source Project            {
146964064216a8433360745f69edddce19a606659163The Android Open Source Project                printk("TI: %s - Security Error\n", __FUNCTION__);
147064064216a8433360745f69edddce19a606659163The Android Open Source Project                PRINT(DBG_IOCTL_LOUD, "Number of AP is too big\n");
147164064216a8433360745f69edddce19a606659163The Android Open Source Project                os_memoryFree(pAdapter, pTempData, LocalLength);
147264064216a8433360745f69edddce19a606659163The Android Open Source Project                *Length = 0;
147364064216a8433360745f69edddce19a606659163The Android Open Source Project                return NOK;
147464064216a8433360745f69edddce19a606659163The Android Open Source Project            }
147564064216a8433360745f69edddce19a606659163The Android Open Source Project
147664064216a8433360745f69edddce19a606659163The Android Open Source Project            pList = (OS_802_11_BSSID_LIST *)pData;
147764064216a8433360745f69edddce19a606659163The Android Open Source Project			pList->NumberOfItems = pListEx->NumberOfItems;
147864064216a8433360745f69edddce19a606659163The Android Open Source Project
147964064216a8433360745f69edddce19a606659163The Android Open Source Project			*Length = RetSize = sizeof(OS_802_11_BSSID_LIST) +
148064064216a8433360745f69edddce19a606659163The Android Open Source Project					  sizeof(OS_802_11_BSSID)*pList->NumberOfItems -
148164064216a8433360745f69edddce19a606659163The Android Open Source Project					  sizeof(OS_802_11_BSSID);
148264064216a8433360745f69edddce19a606659163The Android Open Source Project
148364064216a8433360745f69edddce19a606659163The Android Open Source Project			pBssidEx = pListEx->Bssid;
148464064216a8433360745f69edddce19a606659163The Android Open Source Project
148564064216a8433360745f69edddce19a606659163The Android Open Source Project			for (i=0; i<pListEx->NumberOfItems; i++)
148664064216a8433360745f69edddce19a606659163The Android Open Source Project			{
148764064216a8433360745f69edddce19a606659163The Android Open Source Project
148864064216a8433360745f69edddce19a606659163The Android Open Source Project				pBssid = (OS_802_11_BSSID*) pBssidEx;
148964064216a8433360745f69edddce19a606659163The Android Open Source Project
149064064216a8433360745f69edddce19a606659163The Android Open Source Project				NdisMoveMemory(&pList->Bssid[i], pBssid,
149164064216a8433360745f69edddce19a606659163The Android Open Source Project							   sizeof(OS_802_11_BSSID));
149264064216a8433360745f69edddce19a606659163The Android Open Source Project
149364064216a8433360745f69edddce19a606659163The Android Open Source Project				pList->Bssid[i].Length = sizeof(OS_802_11_BSSID);
149464064216a8433360745f69edddce19a606659163The Android Open Source Project
149564064216a8433360745f69edddce19a606659163The Android Open Source Project				pBssidEx = (OS_802_11_BSSID_EX*) ((PUCHAR)pBssidEx +
149664064216a8433360745f69edddce19a606659163The Android Open Source Project												  pBssidEx->Length);
149764064216a8433360745f69edddce19a606659163The Android Open Source Project
149864064216a8433360745f69edddce19a606659163The Android Open Source Project			}
149964064216a8433360745f69edddce19a606659163The Android Open Source Project
150064064216a8433360745f69edddce19a606659163The Android Open Source Project		}
150164064216a8433360745f69edddce19a606659163The Android Open Source Project
150264064216a8433360745f69edddce19a606659163The Android Open Source Project		else
150364064216a8433360745f69edddce19a606659163The Android Open Source Project		{
150464064216a8433360745f69edddce19a606659163The Android Open Source Project
150564064216a8433360745f69edddce19a606659163The Android Open Source Project			pList = (OS_802_11_BSSID_LIST*) pData;
150664064216a8433360745f69edddce19a606659163The Android Open Source Project			pList->NumberOfItems = 0;
150764064216a8433360745f69edddce19a606659163The Android Open Source Project
150864064216a8433360745f69edddce19a606659163The Android Open Source Project			RetSize = sizeof(OS_802_11_BSSID_LIST);
150964064216a8433360745f69edddce19a606659163The Android Open Source Project			*Length = RetSize;
151064064216a8433360745f69edddce19a606659163The Android Open Source Project
151164064216a8433360745f69edddce19a606659163The Android Open Source Project		}
151264064216a8433360745f69edddce19a606659163The Android Open Source Project
151364064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "...Copy done.\n");
151464064216a8433360745f69edddce19a606659163The Android Open Source Project
151564064216a8433360745f69edddce19a606659163The Android Open Source Project		os_memoryFree(pAdapter, pTempData, LocalLength);
151664064216a8433360745f69edddce19a606659163The Android Open Source Project
151764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
151864064216a8433360745f69edddce19a606659163The Android Open Source Project
151964064216a8433360745f69edddce19a606659163The Android Open Source Project	else
152064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
152164064216a8433360745f69edddce19a606659163The Android Open Source Project
152264064216a8433360745f69edddce19a606659163The Android Open Source Project		RetSize = Param.paramLength;
152364064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = RetSize;
152464064216a8433360745f69edddce19a606659163The Android Open Source Project
152564064216a8433360745f69edddce19a606659163The Android Open Source Project	}
152664064216a8433360745f69edddce19a606659163The Android Open Source Project
152764064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
152864064216a8433360745f69edddce19a606659163The Android Open Source Project}
152964064216a8433360745f69edddce19a606659163The Android Open Source Project
153064064216a8433360745f69edddce19a606659163The Android Open Source Project
153164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
153264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilStartAppScanSet
153364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
153464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
153564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
153664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
153764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
153864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilStartAppScanSet(
153964064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
154064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
154164064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG Length
154264064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
154364064216a8433360745f69edddce19a606659163The Android Open Source Project{
154464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
154564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* scan concentrator will start an application scan */
154664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SCAN_CNCN_START_APP_SCAN, (PUCHAR)&pData, sizeof(PUCHAR));
154764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
154864064216a8433360745f69edddce19a606659163The Android Open Source Project}
154964064216a8433360745f69edddce19a606659163The Android Open Source Project
155064064216a8433360745f69edddce19a606659163The Android Open Source Project
155164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
155264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilStopAppScanSet
155364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
155464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
155564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
155664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
155764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
155864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilStopAppScanSet(
155964064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
156064064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
156164064216a8433360745f69edddce19a606659163The Android Open Source Project				  ULONG Length
156264064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
156364064216a8433360745f69edddce19a606659163The Android Open Source Project{
156464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
156564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* scan concentrator will stop the running application scan (if any) */
156664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SCAN_CNCN_STOP_APP_SCAN, NULL, 0);
156764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
156864064216a8433360745f69edddce19a606659163The Android Open Source Project}
156964064216a8433360745f69edddce19a606659163The Android Open Source Project
157064064216a8433360745f69edddce19a606659163The Android Open Source Project
157164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
157264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilScanPolicyParamSet
157364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
157464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
157564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
157664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
157764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
157864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilScanPolicyParamSet(
157964064216a8433360745f69edddce19a606659163The Android Open Source Project					  PTIWLN_ADAPTER_T pAdapter,
158064064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
158164064216a8433360745f69edddce19a606659163The Android Open Source Project					  ULONG Length
158264064216a8433360745f69edddce19a606659163The Android Open Source Project					  )
158364064216a8433360745f69edddce19a606659163The Android Open Source Project{
158464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
158564064216a8433360745f69edddce19a606659163The Android Open Source Project
158664064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer_t applicationConfigBuffer;
158764064216a8433360745f69edddce19a606659163The Android Open Source Project
158864064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer.buffer = pData;
158964064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer.bufferSize = (UINT16)Length;
159064064216a8433360745f69edddce19a606659163The Android Open Source Project
159164064216a8433360745f69edddce19a606659163The Android Open Source Project	/* set the scan manager policy */
159264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam( pAdapter, SCAN_MNGR_SET_CONFIGURATION, (PUCHAR)&applicationConfigBuffer, sizeof(applicationConfigBuffer_t) );
159364064216a8433360745f69edddce19a606659163The Android Open Source Project
159464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
159564064216a8433360745f69edddce19a606659163The Android Open Source Project}
159664064216a8433360745f69edddce19a606659163The Android Open Source Project
159764064216a8433360745f69edddce19a606659163The Android Open Source Project
159864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
159964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilScanBssListGet
160064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
160164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
160264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
160364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
160464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
160564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilScanBssListGet(
160664064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
160764064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
160864064216a8433360745f69edddce19a606659163The Android Open Source Project				  PULONG Length
160964064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
161064064216a8433360745f69edddce19a606659163The Android Open Source Project{
161164064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t param;
161264064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS status;
161364064216a8433360745f69edddce19a606659163The Android Open Source Project
161464064216a8433360745f69edddce19a606659163The Android Open Source Project	param.paramType = SCAN_MNGR_BSS_LIST_GET;
161564064216a8433360745f69edddce19a606659163The Android Open Source Project	param.paramLength = sizeof(PUCHAR);
161664064216a8433360745f69edddce19a606659163The Android Open Source Project
161764064216a8433360745f69edddce19a606659163The Android Open Source Project	status = configMgr_getParam(pAdapter->CoreHalCtx, &param);
161864064216a8433360745f69edddce19a606659163The Android Open Source Project
161964064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory( pData, param.content.pScanBssList, *Length );
162064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(bssList_t);
162164064216a8433360745f69edddce19a606659163The Android Open Source Project
162264064216a8433360745f69edddce19a606659163The Android Open Source Project	return status;
162364064216a8433360745f69edddce19a606659163The Android Open Source Project}
162464064216a8433360745f69edddce19a606659163The Android Open Source Project
162564064216a8433360745f69edddce19a606659163The Android Open Source Project
162664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
162764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilBssidListScanOid
162864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
162964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
163064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
163164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
163264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
163364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBssidListScanOid(
163464064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
163564064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
163664064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
163764064216a8433360745f69edddce19a606659163The Android Open Source Project					)
163864064216a8433360745f69edddce19a606659163The Android Open Source Project{
163964064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
164064064216a8433360745f69edddce19a606659163The Android Open Source Project//TRS: Scan changes from TI
164164064216a8433360745f69edddce19a606659163The Android Open Source Project    Status = UtilSetParam(pAdapter, SCAN_CNCN_BSSID_LIST_SCAN_PARAM, pData, 0);
164264064216a8433360745f69edddce19a606659163The Android Open Source Project//TRS: end of Scan changes from TI
164364064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
164464064216a8433360745f69edddce19a606659163The Android Open Source Project}
164564064216a8433360745f69edddce19a606659163The Android Open Source Project
164664064216a8433360745f69edddce19a606659163The Android Open Source Project
164764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
164864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilInfrastructureModeGet
164964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
165064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
165164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
165264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
165364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
165464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilInfrastructureModeGet(
165564064216a8433360745f69edddce19a606659163The Android Open Source Project						 PTIWLN_ADAPTER_T pAdapter,
165664064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
165764064216a8433360745f69edddce19a606659163The Android Open Source Project						 PULONG Length
165864064216a8433360745f69edddce19a606659163The Android Open Source Project						 )
165964064216a8433360745f69edddce19a606659163The Android Open Source Project{
166064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
166164064216a8433360745f69edddce19a606659163The Android Open Source Project
166264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
166364064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
166464064216a8433360745f69edddce19a606659163The Android Open Source Project
166564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_CURRENT_BSS_TYPE_PARAM, pData, sizeof(bssType_e));
166664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
166764064216a8433360745f69edddce19a606659163The Android Open Source Project	return(retValue);
166864064216a8433360745f69edddce19a606659163The Android Open Source Project}
166964064216a8433360745f69edddce19a606659163The Android Open Source Project
167064064216a8433360745f69edddce19a606659163The Android Open Source Project
167164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
167264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilDesiredInfrastructureModeGet
167364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
167464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
167564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
167664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
167764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
167864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDesiredInfrastructureModeGet(
167964064216a8433360745f69edddce19a606659163The Android Open Source Project								PTIWLN_ADAPTER_T pAdapter,
168064064216a8433360745f69edddce19a606659163The Android Open Source Project								PUCHAR pData,
168164064216a8433360745f69edddce19a606659163The Android Open Source Project								PULONG Length
168264064216a8433360745f69edddce19a606659163The Android Open Source Project								)
168364064216a8433360745f69edddce19a606659163The Android Open Source Project{
168464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
168564064216a8433360745f69edddce19a606659163The Android Open Source Project
168664064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
168764064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
168864064216a8433360745f69edddce19a606659163The Android Open Source Project
168964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_BSS_TYPE_PARAM, pData, sizeof(bssType_e));
169064064216a8433360745f69edddce19a606659163The Android Open Source Project
169164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
169264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
169364064216a8433360745f69edddce19a606659163The Android Open Source Project}
169464064216a8433360745f69edddce19a606659163The Android Open Source Project
169564064216a8433360745f69edddce19a606659163The Android Open Source Project
169664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
169764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilInfrastructureModeSet
169864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
169964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
170064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
170164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
170264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
170364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilInfrastructureModeSet(
170464064216a8433360745f69edddce19a606659163The Android Open Source Project						 PTIWLN_ADAPTER_T pAdapter,
170564064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
170664064216a8433360745f69edddce19a606659163The Android Open Source Project						 ULONG Length
170764064216a8433360745f69edddce19a606659163The Android Open Source Project						 )
170864064216a8433360745f69edddce19a606659163The Android Open Source Project{
170964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
171064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_BSS_TYPE_PARAM, pData, sizeof(bssType_e));
171164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
171264064216a8433360745f69edddce19a606659163The Android Open Source Project}
171364064216a8433360745f69edddce19a606659163The Android Open Source Project
171464064216a8433360745f69edddce19a606659163The Android Open Source Project
171564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
171664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilFragmentationThresholdGet
171764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
171864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
171964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
172064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
172164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
172264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilFragmentationThresholdGet(
172364064216a8433360745f69edddce19a606659163The Android Open Source Project							 PTIWLN_ADAPTER_T pAdapter,
172464064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR pData,
172564064216a8433360745f69edddce19a606659163The Android Open Source Project							 PULONG Length
172664064216a8433360745f69edddce19a606659163The Android Open Source Project							 )
172764064216a8433360745f69edddce19a606659163The Android Open Source Project{
172864064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT16 FragThreshold;
172964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
173064064216a8433360745f69edddce19a606659163The Android Open Source Project
173164064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
173264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
173364064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
173464064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
173564064216a8433360745f69edddce19a606659163The Android Open Source Project	}
173664064216a8433360745f69edddce19a606659163The Android Open Source Project
173764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, HAL_CTRL_FRAG_THRESHOLD_PARAM, pData, sizeof(ULONG));
173864064216a8433360745f69edddce19a606659163The Android Open Source Project
173964064216a8433360745f69edddce19a606659163The Android Open Source Project	FragThreshold = *(PUINT16)pData;
174064064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = FragThreshold;
174164064216a8433360745f69edddce19a606659163The Android Open Source Project
174264064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
174364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
174464064216a8433360745f69edddce19a606659163The Android Open Source Project}
174564064216a8433360745f69edddce19a606659163The Android Open Source Project
174664064216a8433360745f69edddce19a606659163The Android Open Source Project
174764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
174864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilFragmentationThresholdSet
174964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
175064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
175164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
175264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
175364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
175464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilFragmentationThresholdSet(
175564064216a8433360745f69edddce19a606659163The Android Open Source Project							 PTIWLN_ADAPTER_T pAdapter,
175664064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR pData,
175764064216a8433360745f69edddce19a606659163The Android Open Source Project							 ULONG Length
175864064216a8433360745f69edddce19a606659163The Android Open Source Project							 )
175964064216a8433360745f69edddce19a606659163The Android Open Source Project{
176064064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT16 FragThreshold = (UINT16) *(PULONG)pData;
176164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
176264064216a8433360745f69edddce19a606659163The Android Open Source Project
176364064216a8433360745f69edddce19a606659163The Android Open Source Project	FragThreshold = ((FragThreshold+1)>>1) << 1; /*make it always even(GreenA)*/
176464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_FRAG_THRESHOLD_PARAM, (PUCHAR)&FragThreshold, sizeof(UINT16));
176564064216a8433360745f69edddce19a606659163The Android Open Source Project
176664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
176764064216a8433360745f69edddce19a606659163The Android Open Source Project}
176864064216a8433360745f69edddce19a606659163The Android Open Source Project
176964064216a8433360745f69edddce19a606659163The Android Open Source Project
177064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
177164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRtsThresholdGet
177264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
177364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
177464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
177564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
177664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
177764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRtsThresholdGet(
177864064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
177964064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
178064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
178164064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
178264064216a8433360745f69edddce19a606659163The Android Open Source Project{
178364064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT16 RtsThreshold;
178464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
178564064216a8433360745f69edddce19a606659163The Android Open Source Project
178664064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
178764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
178864064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
178964064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
179064064216a8433360745f69edddce19a606659163The Android Open Source Project	}
179164064216a8433360745f69edddce19a606659163The Android Open Source Project
179264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, HAL_CTRL_RTS_THRESHOLD_PARAM, pData, sizeof(ULONG));
179364064216a8433360745f69edddce19a606659163The Android Open Source Project
179464064216a8433360745f69edddce19a606659163The Android Open Source Project	RtsThreshold = *(PUINT16)pData;
179564064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = RtsThreshold;
179664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
179764064216a8433360745f69edddce19a606659163The Android Open Source Project
179864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
179964064216a8433360745f69edddce19a606659163The Android Open Source Project}
180064064216a8433360745f69edddce19a606659163The Android Open Source Project
180164064216a8433360745f69edddce19a606659163The Android Open Source Project
180264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
180364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSupportedRates
180464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
180564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
180664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
180764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
180864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
180964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSupportedRates(
181064064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
181164064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
181264064216a8433360745f69edddce19a606659163The Android Open Source Project				  PULONG Length
181364064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
181464064216a8433360745f69edddce19a606659163The Android Open Source Project{
181564064216a8433360745f69edddce19a606659163The Android Open Source Project	rates_t rateSet;
181664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
181764064216a8433360745f69edddce19a606659163The Android Open Source Project
181864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM, (PUCHAR)&rateSet, sizeof(rates_t));
181964064216a8433360745f69edddce19a606659163The Android Open Source Project
182064064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(pData, (PUCHAR)&rateSet, *Length);
182164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = rateSet.len +1; /* 1 is added for the length field itself */
182264064216a8433360745f69edddce19a606659163The Android Open Source Project
182364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
182464064216a8433360745f69edddce19a606659163The Android Open Source Project}
182564064216a8433360745f69edddce19a606659163The Android Open Source Project
182664064216a8433360745f69edddce19a606659163The Android Open Source Project
182764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
182864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilSupportedRatesSet
182964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
183064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
183164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
183264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
183364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
183464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilSupportedRatesSet(
183564064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
183664064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
183764064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
183864064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
183964064216a8433360745f69edddce19a606659163The Android Open Source Project{
184064064216a8433360745f69edddce19a606659163The Android Open Source Project	rates_t rateSet;
184164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
184264064216a8433360745f69edddce19a606659163The Android Open Source Project
184364064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(&rateSet, pData, Length);
184464064216a8433360745f69edddce19a606659163The Android Open Source Project
184564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM, (PUCHAR)&rateSet, sizeof(rates_t));
184664064216a8433360745f69edddce19a606659163The Android Open Source Project
184764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
184864064216a8433360745f69edddce19a606659163The Android Open Source Project}
184964064216a8433360745f69edddce19a606659163The Android Open Source Project
185064064216a8433360745f69edddce19a606659163The Android Open Source Project
185164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
185264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRtsThresholdSet
185364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
185464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
185564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
185664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
185764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
185864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRtsThresholdSet(
185964064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
186064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
186164064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG Length
186264064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
186364064216a8433360745f69edddce19a606659163The Android Open Source Project{
186464064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT16 RtsThreshold = (UINT16) *(PULONG)pData;
186564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
186664064216a8433360745f69edddce19a606659163The Android Open Source Project
186764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_RTS_THRESHOLD_PARAM,
186864064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)&RtsThreshold, sizeof(UINT16));
186964064216a8433360745f69edddce19a606659163The Android Open Source Project
187064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
187164064216a8433360745f69edddce19a606659163The Android Open Source Project
187264064216a8433360745f69edddce19a606659163The Android Open Source Project}
187364064216a8433360745f69edddce19a606659163The Android Open Source Project
187464064216a8433360745f69edddce19a606659163The Android Open Source Project
187564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
187664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilChannelGet
187764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
187864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
187964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
188064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
188164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
188264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilChannelGet(
188364064216a8433360745f69edddce19a606659163The Android Open Source Project			  PTIWLN_ADAPTER_T pAdapter,
188464064216a8433360745f69edddce19a606659163The Android Open Source Project			  PUCHAR pData,
188564064216a8433360745f69edddce19a606659163The Android Open Source Project			  PULONG Length
188664064216a8433360745f69edddce19a606659163The Android Open Source Project			  )
188764064216a8433360745f69edddce19a606659163The Android Open Source Project{
188864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Channel,retValue;
188964064216a8433360745f69edddce19a606659163The Android Open Source Project
189064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
189164064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
189264064216a8433360745f69edddce19a606659163The Android Open Source Project
189364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_CURRENT_CHANNEL_PARAM, pData, sizeof(ULONG));
189464064216a8433360745f69edddce19a606659163The Android Open Source Project
189564064216a8433360745f69edddce19a606659163The Android Open Source Project	Channel = *(PUCHAR)pData;
189664064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG) Channel;
189764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
189864064216a8433360745f69edddce19a606659163The Android Open Source Project
189964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
190064064216a8433360745f69edddce19a606659163The Android Open Source Project}
190164064216a8433360745f69edddce19a606659163The Android Open Source Project
190264064216a8433360745f69edddce19a606659163The Android Open Source Project
190364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
190464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilDesiredChannelGet
190564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
190664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
190764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
190864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
190964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
191064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDesiredChannelGet(
191164064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
191264064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
191364064216a8433360745f69edddce19a606659163The Android Open Source Project					 PULONG Length
191464064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
191564064216a8433360745f69edddce19a606659163The Android Open Source Project{
191664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Channel,retValue;
191764064216a8433360745f69edddce19a606659163The Android Open Source Project
191864064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
191964064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
192064064216a8433360745f69edddce19a606659163The Android Open Source Project
192164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_CHANNEL_PARAM, pData, sizeof(ULONG));
192264064216a8433360745f69edddce19a606659163The Android Open Source Project
192364064216a8433360745f69edddce19a606659163The Android Open Source Project	Channel = *(PUCHAR)pData;
192464064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = (ULONG) Channel;
192564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
192664064216a8433360745f69edddce19a606659163The Android Open Source Project
192764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
192864064216a8433360745f69edddce19a606659163The Android Open Source Project
192964064216a8433360745f69edddce19a606659163The Android Open Source Project}
193064064216a8433360745f69edddce19a606659163The Android Open Source Project
193164064216a8433360745f69edddce19a606659163The Android Open Source Project
193264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
193364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilDesiredChannelSet
193464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
193564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
193664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
193764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
193864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
193964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDesiredChannelSet(
194064064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
194164064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
194264064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
194364064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
194464064216a8433360745f69edddce19a606659163The Android Open Source Project{
194564064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT8 Channel = *pData;
194664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
194764064216a8433360745f69edddce19a606659163The Android Open Source Project
194864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_CHANNEL_PARAM, &Channel, sizeof(UCHAR));
194964064216a8433360745f69edddce19a606659163The Android Open Source Project
195064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
195164064216a8433360745f69edddce19a606659163The Android Open Source Project
195264064216a8433360745f69edddce19a606659163The Android Open Source Project}
195364064216a8433360745f69edddce19a606659163The Android Open Source Project
195464064216a8433360745f69edddce19a606659163The Android Open Source Project
195564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
195664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilShortPreambleGet
195764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
195864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
195964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
196064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
196164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
196264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortPreambleGet(
196364064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
196464064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
196564064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
196664064216a8433360745f69edddce19a606659163The Android Open Source Project					)
196764064216a8433360745f69edddce19a606659163The Android Open Source Project{
196864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
196964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
197064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
197164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
197264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
197364064216a8433360745f69edddce19a606659163The Android Open Source Project	}
197464064216a8433360745f69edddce19a606659163The Android Open Source Project
197564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_PREAMBLE_TYPE_PARAM, pData, sizeof(ULONG));
197664064216a8433360745f69edddce19a606659163The Android Open Source Project
197764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
197864064216a8433360745f69edddce19a606659163The Android Open Source Project
197964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
198064064216a8433360745f69edddce19a606659163The Android Open Source Project
198164064216a8433360745f69edddce19a606659163The Android Open Source Project}
198264064216a8433360745f69edddce19a606659163The Android Open Source Project
198364064216a8433360745f69edddce19a606659163The Android Open Source Project
198464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
198564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilShortPreambleSet
198664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
198764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
198864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
198964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
199064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
199164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortPreambleSet(
199264064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
199364064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
199464064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
199564064216a8433360745f69edddce19a606659163The Android Open Source Project					)
199664064216a8433360745f69edddce19a606659163The Android Open Source Project{
199764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
199864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_PREAMBLE_TYPE_PARAM,
199964064216a8433360745f69edddce19a606659163The Android Open Source Project							pData, sizeof(ULONG));
200064064216a8433360745f69edddce19a606659163The Android Open Source Project
200164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
200264064216a8433360745f69edddce19a606659163The Android Open Source Project
200364064216a8433360745f69edddce19a606659163The Android Open Source Project}
200464064216a8433360745f69edddce19a606659163The Android Open Source Project
200564064216a8433360745f69edddce19a606659163The Android Open Source Project
200664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
200764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_enableDisable_802_11d
200864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
200964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
201064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
201164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
201264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
201364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_enableDisable_802_11d(
201464064216a8433360745f69edddce19a606659163The Android Open Source Project										  PTIWLN_ADAPTER_T pAdapter,
201564064216a8433360745f69edddce19a606659163The Android Open Source Project										  PUCHAR pData,
201664064216a8433360745f69edddce19a606659163The Android Open Source Project										  ULONG Length
201764064216a8433360745f69edddce19a606659163The Android Open Source Project										  )
201864064216a8433360745f69edddce19a606659163The Android Open Source Project{
201964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
202064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, REGULATORY_DOMAIN_ENABLE_DISABLE_802_11D, pData, sizeof(UINT8));
202164064216a8433360745f69edddce19a606659163The Android Open Source Project
202264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
202364064216a8433360745f69edddce19a606659163The Android Open Source Project
202464064216a8433360745f69edddce19a606659163The Android Open Source Project}
202564064216a8433360745f69edddce19a606659163The Android Open Source Project
202664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
202764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_enableDisable_802_11h
202864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
202964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
203064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
203164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
203264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
203364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_enableDisable_802_11h(
203464064216a8433360745f69edddce19a606659163The Android Open Source Project										  PTIWLN_ADAPTER_T pAdapter,
203564064216a8433360745f69edddce19a606659163The Android Open Source Project										  PUCHAR pData,
203664064216a8433360745f69edddce19a606659163The Android Open Source Project										  ULONG Length
203764064216a8433360745f69edddce19a606659163The Android Open Source Project										  )
203864064216a8433360745f69edddce19a606659163The Android Open Source Project{
203964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
204064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, REGULATORY_DOMAIN_ENABLE_DISABLE_802_11H, pData, sizeof(UINT8));
204164064216a8433360745f69edddce19a606659163The Android Open Source Project
204264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
204364064216a8433360745f69edddce19a606659163The Android Open Source Project
204464064216a8433360745f69edddce19a606659163The Android Open Source Project}
204564064216a8433360745f69edddce19a606659163The Android Open Source Project
204664064216a8433360745f69edddce19a606659163The Android Open Source Project
204764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
204864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_Get_802_11d
204964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
205064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
205164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
205264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
205364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
205464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_Get_802_11d(
205564064216a8433360745f69edddce19a606659163The Android Open Source Project								PTIWLN_ADAPTER_T pAdapter,
205664064216a8433360745f69edddce19a606659163The Android Open Source Project								PUCHAR pData,
205764064216a8433360745f69edddce19a606659163The Android Open Source Project								PULONG Length
205864064216a8433360745f69edddce19a606659163The Android Open Source Project								)
205964064216a8433360745f69edddce19a606659163The Android Open Source Project{
206064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
206164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_ENABLED_PARAM, pData, sizeof(UINT8));
206264064216a8433360745f69edddce19a606659163The Android Open Source Project
206364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
206464064216a8433360745f69edddce19a606659163The Android Open Source Project
206564064216a8433360745f69edddce19a606659163The Android Open Source Project}
206664064216a8433360745f69edddce19a606659163The Android Open Source Project
206764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
206864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_Get_802_11h
206964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
207064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
207164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
207264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
207364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
207464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_Get_802_11h(
207564064216a8433360745f69edddce19a606659163The Android Open Source Project								PTIWLN_ADAPTER_T pAdapter,
207664064216a8433360745f69edddce19a606659163The Android Open Source Project								PUCHAR pData,
207764064216a8433360745f69edddce19a606659163The Android Open Source Project								PULONG Length
207864064216a8433360745f69edddce19a606659163The Android Open Source Project								)
207964064216a8433360745f69edddce19a606659163The Android Open Source Project{
208064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
208164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_MANAGEMENT_CAPABILITY_ENABLED_PARAM, pData, sizeof(UINT8));
208264064216a8433360745f69edddce19a606659163The Android Open Source Project
208364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
208464064216a8433360745f69edddce19a606659163The Android Open Source Project
208564064216a8433360745f69edddce19a606659163The Android Open Source Project}
208664064216a8433360745f69edddce19a606659163The Android Open Source Project
208764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
208864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_setCountryIE
208964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
209064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
209164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
209264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
209364064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic TI_STATUS
209464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_setCountryIE(
209564064216a8433360745f69edddce19a606659163The Android Open Source Project								 PTIWLN_ADAPTER_T pAdapter,
209664064216a8433360745f69edddce19a606659163The Android Open Source Project								 externalParam_e ParamType,
209764064216a8433360745f69edddce19a606659163The Android Open Source Project								 PUCHAR pData,
209864064216a8433360745f69edddce19a606659163The Android Open Source Project								 ULONG Length
209964064216a8433360745f69edddce19a606659163The Android Open Source Project								 )
210064064216a8433360745f69edddce19a606659163The Android Open Source Project{
210164064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
210264064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
210364064216a8433360745f69edddce19a606659163The Android Open Source Project	country_t  countryIe;
210464064216a8433360745f69edddce19a606659163The Android Open Source Project
210564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = ParamType;
210664064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(country_t);
210764064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(&countryIe, pData, Length);
210864064216a8433360745f69edddce19a606659163The Android Open Source Project
210964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.pCountry = &countryIe;
211064064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
211164064216a8433360745f69edddce19a606659163The Android Open Source Project
211264064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
211364064216a8433360745f69edddce19a606659163The Android Open Source Project
211464064216a8433360745f69edddce19a606659163The Android Open Source Project}
211564064216a8433360745f69edddce19a606659163The Android Open Source Project
211664064216a8433360745f69edddce19a606659163The Android Open Source Project
211764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
211864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_setCountryIE_2_4
211964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
212064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
212164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
212264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
212364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
212464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_setCountryIE_2_4(
212564064216a8433360745f69edddce19a606659163The Android Open Source Project									 PTIWLN_ADAPTER_T pAdapter,
212664064216a8433360745f69edddce19a606659163The Android Open Source Project									 PUCHAR pData,
212764064216a8433360745f69edddce19a606659163The Android Open Source Project									 ULONG Length)
212864064216a8433360745f69edddce19a606659163The Android Open Source Project{
212964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
213064064216a8433360745f69edddce19a606659163The Android Open Source Project
213164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilRegulatoryDomain_setCountryIE(pAdapter, REGULATORY_DOMAIN_COUNTRY_2_4_PARAM, pData, sizeof(country_t));
213264064216a8433360745f69edddce19a606659163The Android Open Source Project
213364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
213464064216a8433360745f69edddce19a606659163The Android Open Source Project
213564064216a8433360745f69edddce19a606659163The Android Open Source Project}
213664064216a8433360745f69edddce19a606659163The Android Open Source Project
213764064216a8433360745f69edddce19a606659163The Android Open Source Project
213864064216a8433360745f69edddce19a606659163The Android Open Source Project
213964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
214064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_getCountryIE_2_4
214164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
214264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
214364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
214464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
214564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
214664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_getCountryIE_2_4(
214764064216a8433360745f69edddce19a606659163The Android Open Source Project									 PTIWLN_ADAPTER_T pAdapter,
214864064216a8433360745f69edddce19a606659163The Android Open Source Project									 PUCHAR pData,
214964064216a8433360745f69edddce19a606659163The Android Open Source Project									 PULONG Length
215064064216a8433360745f69edddce19a606659163The Android Open Source Project									 )
215164064216a8433360745f69edddce19a606659163The Android Open Source Project{
215264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
215364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_COUNTRY_2_4_PARAM, pData, COUNTRY_STRING_LEN);
215464064216a8433360745f69edddce19a606659163The Android Open Source Project
215564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
215664064216a8433360745f69edddce19a606659163The Android Open Source Project
215764064216a8433360745f69edddce19a606659163The Android Open Source Project}
215864064216a8433360745f69edddce19a606659163The Android Open Source Project
215964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
216064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_setCountryIE_5
216164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
216264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
216364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
216464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
216564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
216664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_setCountryIE_5(
216764064216a8433360745f69edddce19a606659163The Android Open Source Project								   PTIWLN_ADAPTER_T pAdapter,
216864064216a8433360745f69edddce19a606659163The Android Open Source Project								   PUCHAR pData,
216964064216a8433360745f69edddce19a606659163The Android Open Source Project								   ULONG Length
217064064216a8433360745f69edddce19a606659163The Android Open Source Project								   )
217164064216a8433360745f69edddce19a606659163The Android Open Source Project{
217264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
217364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilRegulatoryDomain_setCountryIE(pAdapter, REGULATORY_DOMAIN_COUNTRY_5_PARAM, pData, sizeof(country_t));
217464064216a8433360745f69edddce19a606659163The Android Open Source Project
217564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
217664064216a8433360745f69edddce19a606659163The Android Open Source Project
217764064216a8433360745f69edddce19a606659163The Android Open Source Project}
217864064216a8433360745f69edddce19a606659163The Android Open Source Project
217964064216a8433360745f69edddce19a606659163The Android Open Source Project
218064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
218164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_getCountryIE_5
218264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
218364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
218464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
218564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
218664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
218764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_getCountryIE_5(
218864064216a8433360745f69edddce19a606659163The Android Open Source Project								   PTIWLN_ADAPTER_T pAdapter,
218964064216a8433360745f69edddce19a606659163The Android Open Source Project								   PUCHAR pData,
219064064216a8433360745f69edddce19a606659163The Android Open Source Project								   PULONG Length
219164064216a8433360745f69edddce19a606659163The Android Open Source Project								   )
219264064216a8433360745f69edddce19a606659163The Android Open Source Project{
219364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
219464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_COUNTRY_5_PARAM, pData, COUNTRY_STRING_LEN);
219564064216a8433360745f69edddce19a606659163The Android Open Source Project
219664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
219764064216a8433360745f69edddce19a606659163The Android Open Source Project
219864064216a8433360745f69edddce19a606659163The Android Open Source Project}
219964064216a8433360745f69edddce19a606659163The Android Open Source Project
220064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
220164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_setMinMaxDfsChannels
220264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
220364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
220464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
220564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
220664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
220764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_setMinMaxDfsChannels(
220864064216a8433360745f69edddce19a606659163The Android Open Source Project    PTIWLN_ADAPTER_T pAdapter,
220964064216a8433360745f69edddce19a606659163The Android Open Source Project    PUCHAR pData,
221064064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG Length
221164064216a8433360745f69edddce19a606659163The Android Open Source Project    )
221264064216a8433360745f69edddce19a606659163The Android Open Source Project{
221364064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG retValue;
221464064216a8433360745f69edddce19a606659163The Android Open Source Project
221564064216a8433360745f69edddce19a606659163The Android Open Source Project    retValue = UtilSetParam(pAdapter, REGULATORY_DOMAIN_DFS_CHANNELS_RANGE, pData, sizeof(DFS_ChannelRange_t));
221664064216a8433360745f69edddce19a606659163The Android Open Source Project
221764064216a8433360745f69edddce19a606659163The Android Open Source Project    return retValue;
221864064216a8433360745f69edddce19a606659163The Android Open Source Project
221964064216a8433360745f69edddce19a606659163The Android Open Source Project}
222064064216a8433360745f69edddce19a606659163The Android Open Source Project
222164064216a8433360745f69edddce19a606659163The Android Open Source Project
222264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
222364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRegulatoryDomain_getMinMaxDfsChannels
222464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
222564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
222664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
222764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
222864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
222964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRegulatoryDomain_getMinMaxDfsChannels(
223064064216a8433360745f69edddce19a606659163The Android Open Source Project    PTIWLN_ADAPTER_T pAdapter,
223164064216a8433360745f69edddce19a606659163The Android Open Source Project    PUCHAR pData,
223264064216a8433360745f69edddce19a606659163The Android Open Source Project    PULONG Length
223364064216a8433360745f69edddce19a606659163The Android Open Source Project    )
223464064216a8433360745f69edddce19a606659163The Android Open Source Project{
223564064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG retValue;
223664064216a8433360745f69edddce19a606659163The Android Open Source Project    retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_DFS_CHANNELS_RANGE, pData, sizeof(DFS_ChannelRange_t));
223764064216a8433360745f69edddce19a606659163The Android Open Source Project
223864064216a8433360745f69edddce19a606659163The Android Open Source Project    return retValue;
223964064216a8433360745f69edddce19a606659163The Android Open Source Project
224064064216a8433360745f69edddce19a606659163The Android Open Source Project}
224164064216a8433360745f69edddce19a606659163The Android Open Source Project
224264064216a8433360745f69edddce19a606659163The Android Open Source Project
224364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
224464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilShortRetryGet
224564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
224664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
224764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
224864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
224964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
225064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortRetryGet(
225164064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
225264064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
225364064216a8433360745f69edddce19a606659163The Android Open Source Project				 PULONG Length
225464064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
225564064216a8433360745f69edddce19a606659163The Android Open Source Project
225664064216a8433360745f69edddce19a606659163The Android Open Source Project{
225764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
225864064216a8433360745f69edddce19a606659163The Android Open Source Project
225964064216a8433360745f69edddce19a606659163The Android Open Source Project
226064064216a8433360745f69edddce19a606659163The Android Open Source Project	txRatePolicy_t  TxRatePolicy;
226164064216a8433360745f69edddce19a606659163The Android Open Source Project	/*
226264064216a8433360745f69edddce19a606659163The Android Open Source Project	 * NOTE: currently supporting only ONE txRatePolicy!!!!!!!!!
226364064216a8433360745f69edddce19a606659163The Android Open Source Project	 */
226464064216a8433360745f69edddce19a606659163The Android Open Source Project
226564064216a8433360745f69edddce19a606659163The Android Open Source Project
226664064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
226764064216a8433360745f69edddce19a606659163The Android Open Source Project		return sizeof(ULONG);
226864064216a8433360745f69edddce19a606659163The Android Open Source Project
226964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_SHORT_RETRY_LIMIT_PARAM,
227064064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)(&TxRatePolicy), sizeof(txRatePolicy_t));
227164064216a8433360745f69edddce19a606659163The Android Open Source Project
227264064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = TxRatePolicy.rateClass[0].shortRetryLimit;
227364064216a8433360745f69edddce19a606659163The Android Open Source Project
227464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
227564064216a8433360745f69edddce19a606659163The Android Open Source Project}
227664064216a8433360745f69edddce19a606659163The Android Open Source Project
227764064216a8433360745f69edddce19a606659163The Android Open Source Project
227864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
227964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilShortRetrySet
228064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
228164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
228264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
228364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
228464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
228564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortRetrySet(
228664064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
228764064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
228864064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
228964064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
229064064216a8433360745f69edddce19a606659163The Android Open Source Project{
229164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
229264064216a8433360745f69edddce19a606659163The Android Open Source Project	txRatePolicy_t  TxRatePolicy;
229364064216a8433360745f69edddce19a606659163The Android Open Source Project
229464064216a8433360745f69edddce19a606659163The Android Open Source Project	/*
229564064216a8433360745f69edddce19a606659163The Android Open Source Project	 * NOTE: currently supporting only ONE txRatePolicy!!!!!!!!!
229664064216a8433360745f69edddce19a606659163The Android Open Source Project	 */
229764064216a8433360745f69edddce19a606659163The Android Open Source Project
229864064216a8433360745f69edddce19a606659163The Android Open Source Project
229964064216a8433360745f69edddce19a606659163The Android Open Source Project	TxRatePolicy.rateClass[0].shortRetryLimit = (UINT8) *(PULONG)pData;
230064064216a8433360745f69edddce19a606659163The Android Open Source Project
230164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, CTRL_DATA_SHORT_RETRY_LIMIT_PARAM,
230264064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)(&TxRatePolicy), sizeof(txRatePolicy_t));
230364064216a8433360745f69edddce19a606659163The Android Open Source Project
230464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue ;
230564064216a8433360745f69edddce19a606659163The Android Open Source Project
230664064216a8433360745f69edddce19a606659163The Android Open Source Project}
230764064216a8433360745f69edddce19a606659163The Android Open Source Project
230864064216a8433360745f69edddce19a606659163The Android Open Source Project
230964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
231064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilLongRetryGet
231164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
231264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
231364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
231464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
231564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
231664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilLongRetryGet(
231764064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
231864064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
231964064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
232064064216a8433360745f69edddce19a606659163The Android Open Source Project				)
232164064216a8433360745f69edddce19a606659163The Android Open Source Project{
232264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
232364064216a8433360745f69edddce19a606659163The Android Open Source Project	txRatePolicy_t  TxRatePolicy;
232464064216a8433360745f69edddce19a606659163The Android Open Source Project	/*
232564064216a8433360745f69edddce19a606659163The Android Open Source Project	 * NOTE: currently supporting only ONE txRatePolicy!!!!!!!!!
232664064216a8433360745f69edddce19a606659163The Android Open Source Project	 */
232764064216a8433360745f69edddce19a606659163The Android Open Source Project
232864064216a8433360745f69edddce19a606659163The Android Open Source Project
232964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
233064064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
233164064216a8433360745f69edddce19a606659163The Android Open Source Project
233264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_LONG_RETRY_LIMIT_PARAM,
233364064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)(&TxRatePolicy), sizeof(txRatePolicy_t));
233464064216a8433360745f69edddce19a606659163The Android Open Source Project
233564064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = TxRatePolicy.rateClass[0].longRetryLimit;
233664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
233764064216a8433360745f69edddce19a606659163The Android Open Source Project
233864064216a8433360745f69edddce19a606659163The Android Open Source Project}
233964064216a8433360745f69edddce19a606659163The Android Open Source Project
234064064216a8433360745f69edddce19a606659163The Android Open Source Project
234164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
234264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilLongRetrySet
234364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
234464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
234564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
234664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
234764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
234864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilLongRetrySet(
234964064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
235064064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
235164064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
235264064216a8433360745f69edddce19a606659163The Android Open Source Project				)
235364064216a8433360745f69edddce19a606659163The Android Open Source Project{
235464064216a8433360745f69edddce19a606659163The Android Open Source Project	txRatePolicy_t  TxRatePolicy;
235564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
235664064216a8433360745f69edddce19a606659163The Android Open Source Project
235764064216a8433360745f69edddce19a606659163The Android Open Source Project	/*
235864064216a8433360745f69edddce19a606659163The Android Open Source Project	 * NOTE: currently supporting only ONE txRatePolicy!!!!!!!!!
235964064216a8433360745f69edddce19a606659163The Android Open Source Project	 */
236064064216a8433360745f69edddce19a606659163The Android Open Source Project
236164064216a8433360745f69edddce19a606659163The Android Open Source Project
236264064216a8433360745f69edddce19a606659163The Android Open Source Project	TxRatePolicy.rateClass[0].longRetryLimit = (UINT8) *(PULONG)pData;
236364064216a8433360745f69edddce19a606659163The Android Open Source Project
236464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, CTRL_DATA_SHORT_RETRY_LIMIT_PARAM,
236564064216a8433360745f69edddce19a606659163The Android Open Source Project							(PUCHAR)(&TxRatePolicy), sizeof(txRatePolicy_t));
236664064216a8433360745f69edddce19a606659163The Android Open Source Project
236764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
236864064216a8433360745f69edddce19a606659163The Android Open Source Project}
236964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------*/
237064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
237164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDesiredRatesGet(
237264064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
237364064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
237464064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
237564064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
237664064216a8433360745f69edddce19a606659163The Android Open Source Project{
237764064216a8433360745f69edddce19a606659163The Android Open Source Project	UCHAR rate;
237864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
237964064216a8433360745f69edddce19a606659163The Android Open Source Project
238064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
238164064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
238264064216a8433360745f69edddce19a606659163The Android Open Source Project
238364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_TX_RATE_PARAM, (PUCHAR)&rate, sizeof(UCHAR));
238464064216a8433360745f69edddce19a606659163The Android Open Source Project
238564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UCHAR);
238664064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PUCHAR)pData = rate;
238764064216a8433360745f69edddce19a606659163The Android Open Source Project
238864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
238964064216a8433360745f69edddce19a606659163The Android Open Source Project}
239064064216a8433360745f69edddce19a606659163The Android Open Source Project
239164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
239264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilCurrentRatesGet
239364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
239464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
239564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
239664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
239764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
239864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilCurrentRatesGet(
239964064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
240064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
240164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
240264064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
240364064216a8433360745f69edddce19a606659163The Android Open Source Project{
240464064216a8433360745f69edddce19a606659163The Android Open Source Project	UCHAR rate;
240564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
240664064216a8433360745f69edddce19a606659163The Android Open Source Project
240764064216a8433360745f69edddce19a606659163The Android Open Source Project	rate = (UCHAR) *(PULONG)pData;
240864064216a8433360745f69edddce19a606659163The Android Open Source Project
240964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_CURRENT_TX_RATE_PARAM, (PUCHAR)&rate, sizeof(UCHAR));
241064064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PUCHAR)pData = rate;
241164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UCHAR);
241264064216a8433360745f69edddce19a606659163The Android Open Source Project
241364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
241464064216a8433360745f69edddce19a606659163The Android Open Source Project}
241564064216a8433360745f69edddce19a606659163The Android Open Source Project
241664064216a8433360745f69edddce19a606659163The Android Open Source Project
241764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
241864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilConfigurationGet
241964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
242064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
242164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
242264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
242364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
242464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilConfigurationGet(
242564064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
242664064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
242764064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
242864064216a8433360745f69edddce19a606659163The Android Open Source Project					)
242964064216a8433360745f69edddce19a606659163The Android Open Source Project{
243064064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
243164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
243264064216a8433360745f69edddce19a606659163The Android Open Source Project
243364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
243464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
243564064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(OS_802_11_CONFIGURATION);
243664064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
243764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
243864064216a8433360745f69edddce19a606659163The Android Open Source Project
243964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = SITE_MGR_CONFIGURATION_PARAM;
244064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = *Length;
244164064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)&Param.content = (ULONG)pData;
244264064216a8433360745f69edddce19a606659163The Android Open Source Project
244364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
244464064216a8433360745f69edddce19a606659163The Android Open Source Project
244564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_CONFIGURATION);
244664064216a8433360745f69edddce19a606659163The Android Open Source Project
244764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
244864064216a8433360745f69edddce19a606659163The Android Open Source Project
244964064216a8433360745f69edddce19a606659163The Android Open Source Project}
245064064216a8433360745f69edddce19a606659163The Android Open Source Project
245164064216a8433360745f69edddce19a606659163The Android Open Source Project
245264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
245364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilConfigurationSet
245464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
245564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
245664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
245764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
245864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
245964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilConfigurationSet(
246064064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
246164064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
246264064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
246364064216a8433360745f69edddce19a606659163The Android Open Source Project					)
246464064216a8433360745f69edddce19a606659163The Android Open Source Project{
246564064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
246664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
246764064216a8433360745f69edddce19a606659163The Android Open Source Project
246864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = SITE_MGR_CONFIGURATION_PARAM;
246964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = Length;
247064064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)&Param.content = (ULONG)pData;
247164064216a8433360745f69edddce19a606659163The Android Open Source Project
247264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
247364064216a8433360745f69edddce19a606659163The Android Open Source Project
247464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
247564064216a8433360745f69edddce19a606659163The Android Open Source Project
247664064216a8433360745f69edddce19a606659163The Android Open Source Project}
247764064216a8433360745f69edddce19a606659163The Android Open Source Project
247864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
247964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetCounter
248064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
248164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
248264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
248364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
248464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
248564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetCounter(
248664064216a8433360745f69edddce19a606659163The Android Open Source Project			  PTIWLN_ADAPTER_T pAdapter,
248764064216a8433360745f69edddce19a606659163The Android Open Source Project			  PUCHAR pData,
248864064216a8433360745f69edddce19a606659163The Android Open Source Project			  ULONG Offset
248964064216a8433360745f69edddce19a606659163The Android Open Source Project			  )
249064064216a8433360745f69edddce19a606659163The Android Open Source Project{
249164064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_COUNTERS TiCounters;
249264064216a8433360745f69edddce19a606659163The Android Open Source Project
249364064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilGetParam(pAdapter, SITE_MGR_TI_WLAN_COUNTERS_PARAM,
249464064216a8433360745f69edddce19a606659163The Android Open Source Project				 (PUCHAR)&TiCounters, sizeof(TIWLN_COUNTERS));
249564064216a8433360745f69edddce19a606659163The Android Open Source Project
249664064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(pData, (PUCHAR)&TiCounters + Offset, sizeof(ULONG));
249764064216a8433360745f69edddce19a606659163The Android Open Source Project
249864064216a8433360745f69edddce19a606659163The Android Open Source Project	return sizeof(ULONG);
249964064216a8433360745f69edddce19a606659163The Android Open Source Project}
250064064216a8433360745f69edddce19a606659163The Android Open Source Project
250164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
250264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilStatistics
250364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
250464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
250564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
250664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
250764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
250864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilStatistics(
250964064216a8433360745f69edddce19a606659163The Android Open Source Project			  PTIWLN_ADAPTER_T pAdapter,
251064064216a8433360745f69edddce19a606659163The Android Open Source Project			  PUCHAR pData,
251164064216a8433360745f69edddce19a606659163The Android Open Source Project			  PULONG Length
251264064216a8433360745f69edddce19a606659163The Android Open Source Project			  )
251364064216a8433360745f69edddce19a606659163The Android Open Source Project{
251464064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_STATISTICS* pStats;
251564064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
251664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG RetSize, data,retValue,dataSize;
251764064216a8433360745f69edddce19a606659163The Android Open Source Project
251864064216a8433360745f69edddce19a606659163The Android Open Source Project
251964064216a8433360745f69edddce19a606659163The Android Open Source Project    if (*Length >= sizeof(TIWLN_STATISTICS)) //TRS:GAA allow larger than needed buffer
252064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
252164064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats = (TIWLN_STATISTICS *) pData;
252264064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisZeroMemory(pStats, sizeof(TIWLN_STATISTICS));
252364064216a8433360745f69edddce19a606659163The Android Open Source Project
252464064216a8433360745f69edddce19a606659163The Android Open Source Project		RetSize = sizeof(TIWLN_STATISTICS);
252564064216a8433360745f69edddce19a606659163The Android Open Source Project
252664064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&pStats->currentMACAddress, pAdapter->CurrentAddr, ETH_ADDR_SIZE);
252764064216a8433360745f69edddce19a606659163The Android Open Source Project
252864064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(tiUINT32);
252964064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilPowerModeGet(pAdapter, (PUCHAR)&pStats->PowerMode, &dataSize)) != OK)
253064064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
253164064216a8433360745f69edddce19a606659163The Android Open Source Project
253264064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(OS_802_11_SSID);
253364064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetSSID(pAdapter, (PUCHAR)&pStats->dot11DesiredSSID, &dataSize)) != OK)
253464064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
253564064216a8433360745f69edddce19a606659163The Android Open Source Project
253664064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(UINT32);
253764064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilChannelGet(pAdapter, (PUCHAR)&pStats->dot11CurrentChannel, &dataSize)) != OK)
253864064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
253964064216a8433360745f69edddce19a606659163The Android Open Source Project
254064064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
254164064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilExtAuthenticationModeGet(pAdapter, (PUCHAR)&pStats->AuthenticationMode, &dataSize)) != OK)
254264064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
254364064216a8433360745f69edddce19a606659163The Android Open Source Project
254464064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
254564064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilRtsThresholdGet(pAdapter, (PUCHAR)&pStats->RTSThreshold,    &dataSize)) != OK)
254664064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
254764064216a8433360745f69edddce19a606659163The Android Open Source Project
254864064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
254964064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilFragmentationThresholdGet(pAdapter, (PUCHAR)&pStats->FragmentationThreshold, &dataSize)) != OK)
255064064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
255164064216a8433360745f69edddce19a606659163The Android Open Source Project
255264064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
255364064216a8433360745f69edddce19a606659163The Android Open Source Project        if ((retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM,
255464064216a8433360745f69edddce19a606659163The Android Open Source Project									(PUCHAR)&pStats->TxPowerDbm, dataSize)) != OK)
255564064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
255664064216a8433360745f69edddce19a606659163The Android Open Source Project
255764064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
255864064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilInfrastructureModeGet(pAdapter, (PUCHAR)&pStats->dot11BSSType, &dataSize)) != OK)
255964064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
256064064216a8433360745f69edddce19a606659163The Android Open Source Project
256164064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
256264064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilWepStatusGet(pAdapter, (PUCHAR)&pStats->WEPStatus, &dataSize)) != OK)
256364064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
256464064216a8433360745f69edddce19a606659163The Android Open Source Project
256564064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetParam(pAdapter, SITE_MGR_CONNECTION_STATUS_PARAM, (PUCHAR)&pStats->dot11State, sizeof(ULONG))) != OK)
256664064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
256764064216a8433360745f69edddce19a606659163The Android Open Source Project
256864064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats->dot11CurrentTxRate = pAdapter->LinkSpeed/5000;
256964064216a8433360745f69edddce19a606659163The Android Open Source Project
257064064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetParam(pAdapter, SITE_MGR_CURRENT_PREAMBLE_TYPE_PARAM, (PUCHAR)&data, sizeof(ULONG))) != OK)
257164064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
257264064216a8433360745f69edddce19a606659163The Android Open Source Project
257364064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats->bShortPreambleUsed = (BOOLEAN) data;
257464064216a8433360745f69edddce19a606659163The Android Open Source Project
257564064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.paramType = SITE_MGR_GET_SELECTED_BSSID_INFO;
257664064216a8433360745f69edddce19a606659163The Android Open Source Project		Param.content.pSiteMgrPrimarySiteDesc = &pStats->targetAP;
257764064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = configMgr_getParam(pAdapter->CoreHalCtx, &Param)) != OK)
257864064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
257964064216a8433360745f69edddce19a606659163The Android Open Source Project
258064064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_IOCTL_LOUD, ("...RSSI: %d\n", pStats->targetAP.Rssi));
258164064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats->RxLevel = pStats->targetAP.Rssi;
258264064216a8433360745f69edddce19a606659163The Android Open Source Project
258364064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
258464064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilTxAntennaGet(pAdapter, (PUCHAR)&pStats->TxAntenna, &dataSize)) != OK)
258564064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
258664064216a8433360745f69edddce19a606659163The Android Open Source Project
258764064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(ULONG);
258864064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilRxAntennaGet(pAdapter, (PUCHAR)&pStats->RxAntenna, &dataSize)) != OK)
258964064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
259064064216a8433360745f69edddce19a606659163The Android Open Source Project
259164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef EXC_MODULE_INCLUDED
259264064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = sizeof(BOOL);
259364064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilExcNetworkEapGet(pAdapter, (PUCHAR)&pStats->dwSecuritySuit, &dataSize)) != OK)
259464064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
259564064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((pStats->dwSecuritySuit==OS_EXC_NETWORK_EAP_ON) && (pStats->WEPStatus==os802_11WEPEnabled))
259664064216a8433360745f69edddce19a606659163The Android Open Source Project		{
259764064216a8433360745f69edddce19a606659163The Android Open Source Project			pStats->dwSecuritySuit = TIWLN_STAT_SECURITY_RESERVE_1;
259864064216a8433360745f69edddce19a606659163The Android Open Source Project		} else
259964064216a8433360745f69edddce19a606659163The Android Open Source Project#else
260064064216a8433360745f69edddce19a606659163The Android Open Source Project		{
260164064216a8433360745f69edddce19a606659163The Android Open Source Project			pStats->dwSecuritySuit = 0;
260264064216a8433360745f69edddce19a606659163The Android Open Source Project		}
260364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
260464064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetParam(pAdapter, RSN_SECURITY_STATE_PARAM, (PUCHAR)&pStats->dwSecurityState, sizeof(ULONG))) != OK)
260564064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
260664064216a8433360745f69edddce19a606659163The Android Open Source Project
260764064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats->dwSecurityAuthStatus = 0;
260864064216a8433360745f69edddce19a606659163The Android Open Source Project		pStats->dwFeatureSuit = 0;
260964064216a8433360745f69edddce19a606659163The Android Open Source Project
261064064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetParam(pAdapter, SITE_MGR_TI_WLAN_COUNTERS_PARAM, (PUCHAR)&pStats->tiCounters, sizeof(TIWLN_COUNTERS))) != OK)
261164064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
261264064216a8433360745f69edddce19a606659163The Android Open Source Project
261364064216a8433360745f69edddce19a606659163The Android Open Source Project        if ((retValue = UtilGetParam(pAdapter, MLME_BEACON_RECV, (PUCHAR)&pStats->tiCounters, sizeof(TIWLN_COUNTERS))) != OK)
261464064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
261564064216a8433360745f69edddce19a606659163The Android Open Source Project	}
261664064216a8433360745f69edddce19a606659163The Android Open Source Project
261764064216a8433360745f69edddce19a606659163The Android Open Source Project	else
261864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
261964064216a8433360745f69edddce19a606659163The Android Open Source Project
262064064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisZeroMemory(pData, *Length);
262164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = 0;
262264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
262364064216a8433360745f69edddce19a606659163The Android Open Source Project
262464064216a8433360745f69edddce19a606659163The Android Open Source Project	}
262564064216a8433360745f69edddce19a606659163The Android Open Source Project
262664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = RetSize;
262764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
262864064216a8433360745f69edddce19a606659163The Android Open Source Project}
262964064216a8433360745f69edddce19a606659163The Android Open Source Project
263064064216a8433360745f69edddce19a606659163The Android Open Source Project
263164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
263264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilTxStatistics
263364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
263464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
263564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
263664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
263764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
263864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilTxStatistics(
263964064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
264064064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
264164064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG inLength,
264264064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG outLength
264364064216a8433360745f69edddce19a606659163The Android Open Source Project				)
264464064216a8433360745f69edddce19a606659163The Android Open Source Project{
264564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
264664064216a8433360745f69edddce19a606659163The Android Open Source Project	txDataCounters_t  *pTxDataCounters;
264764064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 resetStatsFlag;
264864064216a8433360745f69edddce19a606659163The Android Open Source Project
264964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*outLength == sizeof(TIWLN_TX_STATISTICS))
265064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
265164064216a8433360745f69edddce19a606659163The Android Open Source Project		/* check whether statistics clear is also requested */
265264064216a8433360745f69edddce19a606659163The Android Open Source Project		resetStatsFlag = *pData;
265364064216a8433360745f69edddce19a606659163The Android Open Source Project
265464064216a8433360745f69edddce19a606659163The Android Open Source Project		/* note that only the pointer (by reference!) is passed to UtilGetParam, and the actual copying of data
265564064216a8433360745f69edddce19a606659163The Android Open Source Project		   is done here */
265664064216a8433360745f69edddce19a606659163The Android Open Source Project		if ((retValue = UtilGetParam( pAdapter, TX_DATA_COUNTERS_PARAM,
265764064216a8433360745f69edddce19a606659163The Android Open Source Project									  (PUCHAR)&pTxDataCounters, sizeof(txDataCounters_t*))) != OK)
265864064216a8433360745f69edddce19a606659163The Android Open Source Project			return retValue;
265964064216a8433360745f69edddce19a606659163The Android Open Source Project
266064064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory( pData, pTxDataCounters, sizeof(TIWLN_TX_STATISTICS) );
266164064216a8433360745f69edddce19a606659163The Android Open Source Project
266264064216a8433360745f69edddce19a606659163The Android Open Source Project		*outLength = sizeof(TIWLN_TX_STATISTICS);
266364064216a8433360745f69edddce19a606659163The Android Open Source Project
266464064216a8433360745f69edddce19a606659163The Android Open Source Project		if ( 1 == resetStatsFlag )
266564064216a8433360745f69edddce19a606659163The Android Open Source Project		{
266664064216a8433360745f69edddce19a606659163The Android Open Source Project			UtilSetParam( pAdapter, TX_DATA_RESET_COUNTERS_PARAM, NULL, 0 );
266764064216a8433360745f69edddce19a606659163The Android Open Source Project		}
266864064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
266964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
267064064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisZeroMemory(pData, *outLength);
267164064216a8433360745f69edddce19a606659163The Android Open Source Project		*outLength = 0;
267264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
267364064216a8433360745f69edddce19a606659163The Android Open Source Project	}
267464064216a8433360745f69edddce19a606659163The Android Open Source Project
267564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
267664064216a8433360745f69edddce19a606659163The Android Open Source Project}
267764064216a8433360745f69edddce19a606659163The Android Open Source Project
267864064216a8433360745f69edddce19a606659163The Android Open Source Project
267964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
268064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilAddWep
268164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
268264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
268364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
268464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
268564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
268664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilAddWep(
268764064216a8433360745f69edddce19a606659163The Android Open Source Project		  PTIWLN_ADAPTER_T pAdapter,
268864064216a8433360745f69edddce19a606659163The Android Open Source Project		  PUCHAR pData,
268964064216a8433360745f69edddce19a606659163The Android Open Source Project		  ULONG Length,
269064064216a8433360745f69edddce19a606659163The Android Open Source Project		  BOOLEAN CalledFromIoctl
269164064216a8433360745f69edddce19a606659163The Android Open Source Project		  )
269264064216a8433360745f69edddce19a606659163The Android Open Source Project{
269364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_WEP* pWep;
269464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_KEY  key;
269564064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32         keyIndexTxRx;
269664064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
269764064216a8433360745f69edddce19a606659163The Android Open Source Project
269864064216a8433360745f69edddce19a606659163The Android Open Source Project	pWep = (OS_802_11_WEP*) pData;
269964064216a8433360745f69edddce19a606659163The Android Open Source Project
270064064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((pWep->KeyIndex & 0x3FFFFFFF) > 3)
270164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
270264064216a8433360745f69edddce19a606659163The Android Open Source Project		return 0;
270364064216a8433360745f69edddce19a606659163The Android Open Source Project	}
270464064216a8433360745f69edddce19a606659163The Android Open Source Project
270564064216a8433360745f69edddce19a606659163The Android Open Source Project	if (CalledFromIoctl)
270664064216a8433360745f69edddce19a606659163The Android Open Source Project	{
270764064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(&pAdapter->DefaultWepKeys[pWep->KeyIndex & 0x3FFFFFFF],
270864064216a8433360745f69edddce19a606659163The Android Open Source Project					   pWep, sizeof(OS_802_11_WEP));
270964064216a8433360745f69edddce19a606659163The Android Open Source Project	}
271064064216a8433360745f69edddce19a606659163The Android Open Source Project	key.Length = pWep->Length;
271164064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Convert the Key index to match OS_802_11_KEY index */
271264064216a8433360745f69edddce19a606659163The Android Open Source Project
271364064216a8433360745f69edddce19a606659163The Android Open Source Project	keyIndexTxRx = (pWep->KeyIndex & 0x80000000);
271464064216a8433360745f69edddce19a606659163The Android Open Source Project
271564064216a8433360745f69edddce19a606659163The Android Open Source Project	key.KeyIndex = keyIndexTxRx | /*(keyIndexTxRx>>1) |*/
271664064216a8433360745f69edddce19a606659163The Android Open Source Project				   (pWep->KeyIndex & 0x3FFFFFFF);
271764064216a8433360745f69edddce19a606659163The Android Open Source Project
271864064216a8433360745f69edddce19a606659163The Android Open Source Project	key.KeyLength = pWep->KeyLength;
271964064216a8433360745f69edddce19a606659163The Android Open Source Project
272064064216a8433360745f69edddce19a606659163The Android Open Source Project    if( pWep->KeyLength > sizeof(key.KeyMaterial) ) { /* Dm: Security fix */
272164064216a8433360745f69edddce19a606659163The Android Open Source Project        printk("TI: %s - Security Error\n", __FUNCTION__);
272264064216a8433360745f69edddce19a606659163The Android Open Source Project        return EXTERNAL_SET_PARAM_DENIED;
272364064216a8433360745f69edddce19a606659163The Android Open Source Project    }
272464064216a8433360745f69edddce19a606659163The Android Open Source Project
272564064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(key.KeyMaterial, (void *)pWep->KeyMaterial, pWep->KeyLength);
272664064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Set the MAC Address to zero for WEP */
272764064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(key.BSSID, sizeof(key.BSSID));
272864064216a8433360745f69edddce19a606659163The Android Open Source Project
272964064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, RSN_ADD_KEY_PARAM,
273064064216a8433360745f69edddce19a606659163The Android Open Source Project						  (PUCHAR)&key, sizeof(OS_802_11_KEY));
273164064216a8433360745f69edddce19a606659163The Android Open Source Project
273264064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
273364064216a8433360745f69edddce19a606659163The Android Open Source Project}
273464064216a8433360745f69edddce19a606659163The Android Open Source Project
273564064216a8433360745f69edddce19a606659163The Android Open Source Project
273664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
273764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRemoveWep
273864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
273964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
274064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
274164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
274264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
274364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRemoveWep(
274464064216a8433360745f69edddce19a606659163The Android Open Source Project			 PTIWLN_ADAPTER_T pAdapter,
274564064216a8433360745f69edddce19a606659163The Android Open Source Project			 PUCHAR pData,
274664064216a8433360745f69edddce19a606659163The Android Open Source Project			 ULONG Length
274764064216a8433360745f69edddce19a606659163The Android Open Source Project			 )
274864064216a8433360745f69edddce19a606659163The Android Open Source Project{
274964064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32          keyIndex;
275064064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_KEY  key;
275164064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
275264064216a8433360745f69edddce19a606659163The Android Open Source Project
275364064216a8433360745f69edddce19a606659163The Android Open Source Project	keyIndex = *(UINT32*)pData;
275464064216a8433360745f69edddce19a606659163The Android Open Source Project
275564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Convert the Key index to match OS_802_11_KEY index */
275664064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(&key, sizeof(OS_802_11_KEY));
275764064216a8433360745f69edddce19a606659163The Android Open Source Project
275864064216a8433360745f69edddce19a606659163The Android Open Source Project	key.KeyIndex = keyIndex;
275964064216a8433360745f69edddce19a606659163The Android Open Source Project
276064064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, RSN_REMOVE_KEY_PARAM,
276164064216a8433360745f69edddce19a606659163The Android Open Source Project						  (PUCHAR)&key, sizeof(OS_802_11_KEY));
276264064216a8433360745f69edddce19a606659163The Android Open Source Project
276364064216a8433360745f69edddce19a606659163The Android Open Source Project	return(Status);
276464064216a8433360745f69edddce19a606659163The Android Open Source Project}
276564064216a8433360745f69edddce19a606659163The Android Open Source Project
276664064216a8433360745f69edddce19a606659163The Android Open Source Project
276764064216a8433360745f69edddce19a606659163The Android Open Source Project#define ADD_KEY_HEADER_LENGTH 26
276864064216a8433360745f69edddce19a606659163The Android Open Source Project
276964064216a8433360745f69edddce19a606659163The Android Open Source Project
277064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
277164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilAddKey
277264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
277364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
277464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
277564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
277664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
277764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilAddKey(
277864064216a8433360745f69edddce19a606659163The Android Open Source Project		  PTIWLN_ADAPTER_T pAdapter,
277964064216a8433360745f69edddce19a606659163The Android Open Source Project		  PUCHAR pData,
278064064216a8433360745f69edddce19a606659163The Android Open Source Project		  ULONG Length
278164064216a8433360745f69edddce19a606659163The Android Open Source Project		  )
278264064216a8433360745f69edddce19a606659163The Android Open Source Project{
278364064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS   status;
278464064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_KEY* pKey;
278564064216a8433360745f69edddce19a606659163The Android Open Source Project
278664064216a8433360745f69edddce19a606659163The Android Open Source Project	pKey = (OS_802_11_KEY*) pData;
278764064216a8433360745f69edddce19a606659163The Android Open Source Project
278864064216a8433360745f69edddce19a606659163The Android Open Source Project	status = UtilSetParam(pAdapter, RSN_ADD_KEY_PARAM, pData, pKey->Length);
278964064216a8433360745f69edddce19a606659163The Android Open Source Project
279064064216a8433360745f69edddce19a606659163The Android Open Source Project	return status;
279164064216a8433360745f69edddce19a606659163The Android Open Source Project}
279264064216a8433360745f69edddce19a606659163The Android Open Source Project
279364064216a8433360745f69edddce19a606659163The Android Open Source Project
279464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
279564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRemoveKey
279664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
279764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
279864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
279964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
280064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
280164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRemoveKey(
280264064216a8433360745f69edddce19a606659163The Android Open Source Project			 PTIWLN_ADAPTER_T pAdapter,
280364064216a8433360745f69edddce19a606659163The Android Open Source Project			 PUCHAR pData,
280464064216a8433360745f69edddce19a606659163The Android Open Source Project			 ULONG Length
280564064216a8433360745f69edddce19a606659163The Android Open Source Project			 )
280664064216a8433360745f69edddce19a606659163The Android Open Source Project{
280764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS               status;
280864064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_REMOVE_KEY    *pRemoveKey;
280964064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_KEY           key;
281064064216a8433360745f69edddce19a606659163The Android Open Source Project
281164064216a8433360745f69edddce19a606659163The Android Open Source Project	pRemoveKey = (OS_802_11_REMOVE_KEY*)pData;
281264064216a8433360745f69edddce19a606659163The Android Open Source Project
281364064216a8433360745f69edddce19a606659163The Android Open Source Project	key.KeyIndex = pRemoveKey->KeyIndex;
281464064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(key.BSSID, (void *)pRemoveKey->BSSID, sizeof(key.BSSID));
281564064216a8433360745f69edddce19a606659163The Android Open Source Project
281664064216a8433360745f69edddce19a606659163The Android Open Source Project	status = UtilSetParam(pAdapter, RSN_REMOVE_KEY_PARAM,
281764064216a8433360745f69edddce19a606659163The Android Open Source Project						  (PUCHAR)&key, sizeof(OS_802_11_KEY));
281864064216a8433360745f69edddce19a606659163The Android Open Source Project
281964064216a8433360745f69edddce19a606659163The Android Open Source Project	return(status);
282064064216a8433360745f69edddce19a606659163The Android Open Source Project}
282164064216a8433360745f69edddce19a606659163The Android Open Source Project
282264064216a8433360745f69edddce19a606659163The Android Open Source Project
282364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
282464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilExtAuthenticationModeSet
282564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
282664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
282764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
282864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
282964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
283064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExtAuthenticationModeSet(
283164064216a8433360745f69edddce19a606659163The Android Open Source Project							PTIWLN_ADAPTER_T pAdapter,
283264064216a8433360745f69edddce19a606659163The Android Open Source Project							PUCHAR pData,
283364064216a8433360745f69edddce19a606659163The Android Open Source Project							ULONG Length
283464064216a8433360745f69edddce19a606659163The Android Open Source Project							)
283564064216a8433360745f69edddce19a606659163The Android Open Source Project{
283664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
283764064216a8433360745f69edddce19a606659163The Android Open Source Project
283864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, RSN_EXT_AUTHENTICATION_MODE, pData, sizeof(ULONG));
283964064216a8433360745f69edddce19a606659163The Android Open Source Project
284064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
284164064216a8433360745f69edddce19a606659163The Android Open Source Project}
284264064216a8433360745f69edddce19a606659163The Android Open Source Project
284364064216a8433360745f69edddce19a606659163The Android Open Source Project
284464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
284564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilExtAuthenticationModeGet
284664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
284764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
284864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
284964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
285064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
285164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExtAuthenticationModeGet(
285264064216a8433360745f69edddce19a606659163The Android Open Source Project							PTIWLN_ADAPTER_T pAdapter,
285364064216a8433360745f69edddce19a606659163The Android Open Source Project							PUCHAR pData,
285464064216a8433360745f69edddce19a606659163The Android Open Source Project							PULONG Length
285564064216a8433360745f69edddce19a606659163The Android Open Source Project							)
285664064216a8433360745f69edddce19a606659163The Android Open Source Project{
285764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
285864064216a8433360745f69edddce19a606659163The Android Open Source Project
285964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
286064064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
286164064216a8433360745f69edddce19a606659163The Android Open Source Project
286264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_EXT_AUTHENTICATION_MODE, pData, sizeof(ULONG));
286364064216a8433360745f69edddce19a606659163The Android Open Source Project
286464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
286564064216a8433360745f69edddce19a606659163The Android Open Source Project
286664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
286764064216a8433360745f69edddce19a606659163The Android Open Source Project}
286864064216a8433360745f69edddce19a606659163The Android Open Source Project
286964064216a8433360745f69edddce19a606659163The Android Open Source Project
287064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
287164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: Util802CapabilityGet
287264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
287364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
287464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
287564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
287664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG Util802CapabilityGet(
287764064216a8433360745f69edddce19a606659163The Android Open Source Project						  PTIWLN_ADAPTER_T pAdapter,
287864064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
287964064216a8433360745f69edddce19a606659163The Android Open Source Project						  PULONG Length)
288064064216a8433360745f69edddce19a606659163The Android Open Source Project{
288164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_CAPABILITY         *capability_802_11;
288264064216a8433360745f69edddce19a606659163The Android Open Source Project	rsnAuthEncrCapability_t       rsnAuthEncrCap;
288364064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_ENCRYPTION_STATUS   encrStatus = os802_11EncryptionDisabled;
288464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG                         neededLength = 0;
288564064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT                          i = 0;
288664064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t                   Param;
288764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS                     status;
288864064216a8433360745f69edddce19a606659163The Android Open Source Project
288964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* If length of the input buffer less than needed length, do nothing, */
289064064216a8433360745f69edddce19a606659163The Android Open Source Project	/* return the needed length                                           */
289164064216a8433360745f69edddce19a606659163The Android Open Source Project	neededLength = sizeof(OS_802_11_CAPABILITY) +
289264064216a8433360745f69edddce19a606659163The Android Open Source Project				   (sizeof(OS_802_11_AUTH_ENCRYPTION) * (MAX_AUTH_ENCR_PAIR -1));
289364064216a8433360745f69edddce19a606659163The Android Open Source Project
289464064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*Length < neededLength)
289564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
289664064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = neededLength;
289764064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
289864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
289964064216a8433360745f69edddce19a606659163The Android Open Source Project
290064064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory (pData, neededLength);
290164064216a8433360745f69edddce19a606659163The Android Open Source Project	capability_802_11  = (OS_802_11_CAPABILITY *)pData;
290264064216a8433360745f69edddce19a606659163The Android Open Source Project
290364064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill Param fields and get the 802_11 capability information */
290464064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType   = RSN_AUTH_ENCR_CAPABILITY;
290564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = neededLength;
290664064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.pRsnAuthEncrCapability = &rsnAuthEncrCap;
290764064216a8433360745f69edddce19a606659163The Android Open Source Project
290864064216a8433360745f69edddce19a606659163The Android Open Source Project	status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
290964064216a8433360745f69edddce19a606659163The Android Open Source Project
291064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (status != OK)
291164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
291264064216a8433360745f69edddce19a606659163The Android Open Source Project		/* return the default values only */
291364064216a8433360745f69edddce19a606659163The Android Open Source Project		/* PMKIDs is 0, AUTH/Encr pairs is 1, Auth/Encr is OPEN/NONE (0/0) */
291464064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->Length     = sizeof(OS_802_11_CAPABILITY);
291564064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->Version    = OID_CAPABILITY_VERSION;
291664064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->NoOfPmKIDs = 0;
291764064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->NoOfAuthEncryptPairsSupported = 1;
291864064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->AuthEncryptionSupported[0].AuthModeSupported  =
291964064216a8433360745f69edddce19a606659163The Android Open Source Project		os802_11AuthModeOpen;
292064064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->AuthEncryptionSupported[0].EncryptionStatusSupported =
292164064216a8433360745f69edddce19a606659163The Android Open Source Project		os802_11EncryptionDisabled;
292264064216a8433360745f69edddce19a606659163The Android Open Source Project
292364064216a8433360745f69edddce19a606659163The Android Open Source Project
292464064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(OS_802_11_CAPABILITY);
292564064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
292664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
292764064216a8433360745f69edddce19a606659163The Android Open Source Project
292864064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Copy the received info to the OS_802_11_CAPABILITY needed format */
292964064216a8433360745f69edddce19a606659163The Android Open Source Project	capability_802_11->Length     = neededLength;
293064064216a8433360745f69edddce19a606659163The Android Open Source Project	capability_802_11->Version    = OID_CAPABILITY_VERSION;
293164064216a8433360745f69edddce19a606659163The Android Open Source Project	capability_802_11->NoOfPmKIDs = rsnAuthEncrCap.NoOfPMKIDs;
293264064216a8433360745f69edddce19a606659163The Android Open Source Project	capability_802_11->NoOfAuthEncryptPairsSupported =
293364064216a8433360745f69edddce19a606659163The Android Open Source Project	rsnAuthEncrCap.NoOfAuthEncrPairSupported;
293464064216a8433360745f69edddce19a606659163The Android Open Source Project
293564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Convert received cipher suite type to encr.status type */
293664064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = 0; i < rsnAuthEncrCap.NoOfAuthEncrPairSupported; i ++)
293764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
293864064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->AuthEncryptionSupported[i].AuthModeSupported =
293964064216a8433360745f69edddce19a606659163The Android Open Source Project		(OS_802_11_AUTHENTICATION_MODE)rsnAuthEncrCap.authEncrPairs[i].authenticationMode;
294064064216a8433360745f69edddce19a606659163The Android Open Source Project
294164064216a8433360745f69edddce19a606659163The Android Open Source Project		switch (rsnAuthEncrCap.authEncrPairs[i].cipherSuite)
294264064216a8433360745f69edddce19a606659163The Android Open Source Project		{
294364064216a8433360745f69edddce19a606659163The Android Open Source Project		case RSN_CIPHER_NONE:
294464064216a8433360745f69edddce19a606659163The Android Open Source Project			encrStatus = os802_11EncryptionDisabled;
294564064216a8433360745f69edddce19a606659163The Android Open Source Project			break;
294664064216a8433360745f69edddce19a606659163The Android Open Source Project
294764064216a8433360745f69edddce19a606659163The Android Open Source Project		case RSN_CIPHER_WEP:
294864064216a8433360745f69edddce19a606659163The Android Open Source Project			encrStatus = os802_11WEPEnabled;
294964064216a8433360745f69edddce19a606659163The Android Open Source Project			break;
295064064216a8433360745f69edddce19a606659163The Android Open Source Project
295164064216a8433360745f69edddce19a606659163The Android Open Source Project		case RSN_CIPHER_TKIP:
295264064216a8433360745f69edddce19a606659163The Android Open Source Project			encrStatus = os802_11Encryption2Enabled;
295364064216a8433360745f69edddce19a606659163The Android Open Source Project			break;
295464064216a8433360745f69edddce19a606659163The Android Open Source Project
295564064216a8433360745f69edddce19a606659163The Android Open Source Project		case RSN_CIPHER_AES_CCMP:
295664064216a8433360745f69edddce19a606659163The Android Open Source Project			encrStatus = os802_11Encryption3Enabled;
295764064216a8433360745f69edddce19a606659163The Android Open Source Project			break;
295864064216a8433360745f69edddce19a606659163The Android Open Source Project
295964064216a8433360745f69edddce19a606659163The Android Open Source Project		default:
296064064216a8433360745f69edddce19a606659163The Android Open Source Project			encrStatus = os802_11EncryptionDisabled;
296164064216a8433360745f69edddce19a606659163The Android Open Source Project			break;
296264064216a8433360745f69edddce19a606659163The Android Open Source Project
296364064216a8433360745f69edddce19a606659163The Android Open Source Project		}
296464064216a8433360745f69edddce19a606659163The Android Open Source Project		capability_802_11->AuthEncryptionSupported[i].EncryptionStatusSupported
296564064216a8433360745f69edddce19a606659163The Android Open Source Project		= encrStatus;
296664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
296764064216a8433360745f69edddce19a606659163The Android Open Source Project
296864064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Success; return the actual length of the written data */
296964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = neededLength;
297064064216a8433360745f69edddce19a606659163The Android Open Source Project	return status;
297164064216a8433360745f69edddce19a606659163The Android Open Source Project
297264064216a8433360745f69edddce19a606659163The Android Open Source Project}
297364064216a8433360745f69edddce19a606659163The Android Open Source Project
297464064216a8433360745f69edddce19a606659163The Android Open Source Project
297564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
297664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802PmkidGet
297764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
297864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
297964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
298064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
298164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG Util802PmkidGet(
298264064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
298364064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
298464064216a8433360745f69edddce19a606659163The Android Open Source Project					 PULONG Length)
298564064216a8433360745f69edddce19a606659163The Android Open Source Project{
298664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_PMKID         *pPmkidList = (OS_802_11_PMKID *)pData;
298764064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS                status = NOK;
298864064216a8433360745f69edddce19a606659163The Android Open Source Project
298964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Check the data buffer size */
299064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*Length < sizeof(OS_802_11_PMKID))
299164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
299264064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = (sizeof(OS_802_11_PMKID));
299364064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
299464064216a8433360745f69edddce19a606659163The Android Open Source Project	}
299564064216a8433360745f69edddce19a606659163The Android Open Source Project
299664064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(pData, sizeof(OS_802_11_PMKID));
299764064216a8433360745f69edddce19a606659163The Android Open Source Project	pPmkidList->Length = *Length;
299864064216a8433360745f69edddce19a606659163The Android Open Source Project
299964064216a8433360745f69edddce19a606659163The Android Open Source Project	status = UtilGetParam(pAdapter, RSN_PMKID_LIST, pData, *Length);
300064064216a8433360745f69edddce19a606659163The Android Open Source Project
300164064216a8433360745f69edddce19a606659163The Android Open Source Project	if (status != OK)
300264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
300364064216a8433360745f69edddce19a606659163The Android Open Source Project		if (*Length < (pPmkidList->Length))
300464064216a8433360745f69edddce19a606659163The Android Open Source Project			*Length = pPmkidList->Length;
300564064216a8433360745f69edddce19a606659163The Android Open Source Project		else
300664064216a8433360745f69edddce19a606659163The Android Open Source Project			*Length	= 0;
300764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
300864064216a8433360745f69edddce19a606659163The Android Open Source Project    else
300964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
301064064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = pPmkidList->Length;
301164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
301264064216a8433360745f69edddce19a606659163The Android Open Source Project
301364064216a8433360745f69edddce19a606659163The Android Open Source Project	return status;
301464064216a8433360745f69edddce19a606659163The Android Open Source Project}
301564064216a8433360745f69edddce19a606659163The Android Open Source Project
301664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
301764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802PmkidSet
301864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
301964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
302064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
302164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
302264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
302364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802PmkidSet(
302464064216a8433360745f69edddce19a606659163The Android Open Source Project			   PTIWLN_ADAPTER_T pAdapter,
302564064216a8433360745f69edddce19a606659163The Android Open Source Project			   PUCHAR pData,
302664064216a8433360745f69edddce19a606659163The Android Open Source Project			   ULONG Length
302764064216a8433360745f69edddce19a606659163The Android Open Source Project			   )
302864064216a8433360745f69edddce19a606659163The Android Open Source Project{
302964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
303064064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS   status;
303164064216a8433360745f69edddce19a606659163The Android Open Source Project
303264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = RSN_PMKID_LIST;
303364064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramLength = Length;
303464064216a8433360745f69edddce19a606659163The Android Open Source Project    if( Length > sizeof(Param.content) ) { /* Dm: Security fix */
303564064216a8433360745f69edddce19a606659163The Android Open Source Project        printk("TI: %s - Security Error\n",__FUNCTION__);
303664064216a8433360745f69edddce19a606659163The Android Open Source Project        return EXTERNAL_SET_PARAM_DENIED;
303764064216a8433360745f69edddce19a606659163The Android Open Source Project    }
303864064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisMoveMemory(&Param.content, pData, Length);
303964064216a8433360745f69edddce19a606659163The Android Open Source Project
304064064216a8433360745f69edddce19a606659163The Android Open Source Project	status = configMgr_setParam(pAdapter->CoreHalCtx, &Param);
304164064216a8433360745f69edddce19a606659163The Android Open Source Project
304264064216a8433360745f69edddce19a606659163The Android Open Source Project	return(status);
304364064216a8433360745f69edddce19a606659163The Android Open Source Project}
304464064216a8433360745f69edddce19a606659163The Android Open Source Project
304564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
304664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802FSWAvailableOptionsGet
304764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
304864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
304964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
305064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
305164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
305264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802FSWAvailableOptionsGet(
305364064216a8433360745f69edddce19a606659163The Android Open Source Project							 PTIWLN_ADAPTER_T pAdapter,
305464064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR pData,
305564064216a8433360745f69edddce19a606659163The Android Open Source Project							 PULONG Length)
305664064216a8433360745f69edddce19a606659163The Android Open Source Project{
305764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
305864064216a8433360745f69edddce19a606659163The Android Open Source Project
305964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
306064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
306164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
306264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
306364064216a8433360745f69edddce19a606659163The Android Open Source Project	}
306464064216a8433360745f69edddce19a606659163The Android Open Source Project
306564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_WPA_PROMOTE_AVAILABLE_OPTIONS,
306664064216a8433360745f69edddce19a606659163The Android Open Source Project							pData, sizeof(ULONG));
306764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
306864064216a8433360745f69edddce19a606659163The Android Open Source Project
306964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
307064064216a8433360745f69edddce19a606659163The Android Open Source Project}
307164064216a8433360745f69edddce19a606659163The Android Open Source Project
307264064216a8433360745f69edddce19a606659163The Android Open Source Project
307364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
307464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802FSWOptionsGet
307564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
307664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
307764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
307864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
307964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
308064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802FSWOptionsGet(
308164064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
308264064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
308364064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length)
308464064216a8433360745f69edddce19a606659163The Android Open Source Project{
308564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
308664064216a8433360745f69edddce19a606659163The Android Open Source Project
308764064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
308864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
308964064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
309064064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
309164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
309264064216a8433360745f69edddce19a606659163The Android Open Source Project
309364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_WPA_PROMOTE_OPTIONS, pData, sizeof(ULONG));
309464064216a8433360745f69edddce19a606659163The Android Open Source Project
309564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
309664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
309764064216a8433360745f69edddce19a606659163The Android Open Source Project}
309864064216a8433360745f69edddce19a606659163The Android Open Source Project
309964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
310064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802FSWOptionsSet
310164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
310264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
310364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
310464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
310564064216a8433360745f69edddce19a606659163The Android Open Source Project
310664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
310764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802FSWOptionsSet(
310864064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
310964064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
311064064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length)
311164064216a8433360745f69edddce19a606659163The Android Open Source Project{
311264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
311364064216a8433360745f69edddce19a606659163The Android Open Source Project
311464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, RSN_WPA_PROMOTE_OPTIONS, pData, sizeof(ULONG));
311564064216a8433360745f69edddce19a606659163The Android Open Source Project
311664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
311764064216a8433360745f69edddce19a606659163The Android Open Source Project}
311864064216a8433360745f69edddce19a606659163The Android Open Source Project
311964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
312064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilWepStatusGet
312164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
312264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
312364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
312464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
312564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
312664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilWepStatusGet(
312764064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
312864064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
312964064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
313064064216a8433360745f69edddce19a606659163The Android Open Source Project				)
313164064216a8433360745f69edddce19a606659163The Android Open Source Project{
313264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
313364064216a8433360745f69edddce19a606659163The Android Open Source Project
313464064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
313564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
313664064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
313764064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
313864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
313964064216a8433360745f69edddce19a606659163The Android Open Source Project
314064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_ENCRYPTION_STATUS_PARAM, pData, sizeof(ULONG));
314164064216a8433360745f69edddce19a606659163The Android Open Source Project
314264064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
314364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
314464064216a8433360745f69edddce19a606659163The Android Open Source Project
314564064216a8433360745f69edddce19a606659163The Android Open Source Project}
314664064216a8433360745f69edddce19a606659163The Android Open Source Project
314764064216a8433360745f69edddce19a606659163The Android Open Source Project
314864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
314964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilWepStatusSet
315064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
315164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
315264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
315364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
315464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
315564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilWepStatusSet(
315664064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
315764064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
315864064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
315964064216a8433360745f69edddce19a606659163The Android Open Source Project				)
316064064216a8433360745f69edddce19a606659163The Android Open Source Project{
316164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
316264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, RSN_ENCRYPTION_STATUS_PARAM, pData, sizeof(ULONG));
316364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
316464064216a8433360745f69edddce19a606659163The Android Open Source Project}
316564064216a8433360745f69edddce19a606659163The Android Open Source Project
316664064216a8433360745f69edddce19a606659163The Android Open Source Project
316764064216a8433360745f69edddce19a606659163The Android Open Source Project
316864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
316964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilAssociationInfoGet
317064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
317164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
317264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
317364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
317464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
317564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilAssociationInfoGet(
317664064216a8433360745f69edddce19a606659163The Android Open Source Project					  PTIWLN_ADAPTER_T pAdapter,
317764064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
317864064216a8433360745f69edddce19a606659163The Android Open Source Project					  PULONG Length
317964064216a8433360745f69edddce19a606659163The Android Open Source Project					  )
318064064216a8433360745f69edddce19a606659163The Android Open Source Project{
318164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_ASSOCIATION_INFORMATION  *assocInformation;
318264064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT8 *requestIEs;
318364064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT8 *responseIEs;
318464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG TotalLength = 0,retValue;
318564064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t param;
318664064216a8433360745f69edddce19a606659163The Android Open Source Project
318764064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*Length < sizeof(OS_802_11_ASSOCIATION_INFORMATION))
318864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
318964064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "...More buffer space needed\n");
319064064216a8433360745f69edddce19a606659163The Android Open Source Project		return(sizeof(OS_802_11_ASSOCIATION_INFORMATION));
319164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
319264064216a8433360745f69edddce19a606659163The Android Open Source Project
319364064216a8433360745f69edddce19a606659163The Android Open Source Project	param.paramType   = ASSOC_ASSOCIATION_INFORMATION_PARAM;
319464064216a8433360745f69edddce19a606659163The Android Open Source Project	param.paramLength = *Length;
319564064216a8433360745f69edddce19a606659163The Android Open Source Project
319664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = configMgr_getParam(pAdapter->CoreHalCtx, &param);
319764064216a8433360745f69edddce19a606659163The Android Open Source Project
319864064216a8433360745f69edddce19a606659163The Android Open Source Project	TotalLength =  sizeof(OS_802_11_ASSOCIATION_INFORMATION) +
319964064216a8433360745f69edddce19a606659163The Android Open Source Project				   param.content.assocAssociationInformation.RequestIELength +
320064064216a8433360745f69edddce19a606659163The Android Open Source Project				   param.content.assocAssociationInformation.ResponseIELength;
320164064216a8433360745f69edddce19a606659163The Android Open Source Project
320264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (TotalLength <= *Length)
320364064216a8433360745f69edddce19a606659163The Android Open Source Project	{
320464064216a8433360745f69edddce19a606659163The Android Open Source Project		NdisMoveMemory(pData, (UINT8 *)&param.content, sizeof(OS_802_11_ASSOCIATION_INFORMATION));
320564064216a8433360745f69edddce19a606659163The Android Open Source Project		assocInformation = (OS_802_11_ASSOCIATION_INFORMATION*)pData;
320664064216a8433360745f69edddce19a606659163The Android Open Source Project		requestIEs = (UINT8*)pData + sizeof(OS_802_11_ASSOCIATION_INFORMATION);
320764064216a8433360745f69edddce19a606659163The Android Open Source Project
320864064216a8433360745f69edddce19a606659163The Android Open Source Project		if (assocInformation->RequestIELength > 0)
320964064216a8433360745f69edddce19a606659163The Android Open Source Project		{
321064064216a8433360745f69edddce19a606659163The Android Open Source Project
321164064216a8433360745f69edddce19a606659163The Android Open Source Project			NdisMoveMemory(requestIEs, (UINT8*)assocInformation->OffsetRequestIEs,
321264064216a8433360745f69edddce19a606659163The Android Open Source Project						   assocInformation->RequestIELength);
321364064216a8433360745f69edddce19a606659163The Android Open Source Project
321464064216a8433360745f69edddce19a606659163The Android Open Source Project			assocInformation->OffsetRequestIEs = sizeof(OS_802_11_ASSOCIATION_INFORMATION);
321564064216a8433360745f69edddce19a606659163The Android Open Source Project		}
321664064216a8433360745f69edddce19a606659163The Android Open Source Project
321764064216a8433360745f69edddce19a606659163The Android Open Source Project		if (assocInformation->ResponseIELength > 0)
321864064216a8433360745f69edddce19a606659163The Android Open Source Project		{
321964064216a8433360745f69edddce19a606659163The Android Open Source Project
322064064216a8433360745f69edddce19a606659163The Android Open Source Project			responseIEs = requestIEs + assocInformation->RequestIELength;
322164064216a8433360745f69edddce19a606659163The Android Open Source Project
322264064216a8433360745f69edddce19a606659163The Android Open Source Project			NdisMoveMemory(responseIEs, (UINT8*)assocInformation->OffsetResponseIEs,
322364064216a8433360745f69edddce19a606659163The Android Open Source Project						   assocInformation->ResponseIELength);
322464064216a8433360745f69edddce19a606659163The Android Open Source Project
322564064216a8433360745f69edddce19a606659163The Android Open Source Project			assocInformation->OffsetResponseIEs =
322664064216a8433360745f69edddce19a606659163The Android Open Source Project			assocInformation->OffsetRequestIEs + assocInformation->RequestIELength;
322764064216a8433360745f69edddce19a606659163The Android Open Source Project		}
322864064216a8433360745f69edddce19a606659163The Android Open Source Project
322964064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_IOCTL_LOUD, ("UtilAssociationInfoGet: pData=%p, "
323064064216a8433360745f69edddce19a606659163The Android Open Source Project								"OffsetRequestIEs=0x%lx, OffsetResponseIEs=0x%lx\n",
323164064216a8433360745f69edddce19a606659163The Android Open Source Project								pData, (long)assocInformation->OffsetRequestIEs,
323264064216a8433360745f69edddce19a606659163The Android Open Source Project								(long)assocInformation->OffsetResponseIEs));
323364064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
323464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
323564064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)pData = TotalLength;
323664064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "...More buffer space needed\n");
323764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
323864064216a8433360745f69edddce19a606659163The Android Open Source Project
323964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = TotalLength;
324064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
324164064216a8433360745f69edddce19a606659163The Android Open Source Project
324264064216a8433360745f69edddce19a606659163The Android Open Source Project}
324364064216a8433360745f69edddce19a606659163The Android Open Source Project
324464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
324564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilCurrentRegDomainGet
324664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
324764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
324864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
324964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
325064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
325164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilCurrentRegDomainGet(
325264064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
325364064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
325464064216a8433360745f69edddce19a606659163The Android Open Source Project					   PULONG Length
325564064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
325664064216a8433360745f69edddce19a606659163The Android Open Source Project{
325764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
325864064216a8433360745f69edddce19a606659163The Android Open Source Project
325964064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
326064064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
326164064216a8433360745f69edddce19a606659163The Android Open Source Project
326264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_REGULATORY_DOMAIN_PARAM, pData, sizeof(UINT8));
326364064216a8433360745f69edddce19a606659163The Android Open Source Project
326464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
326564064216a8433360745f69edddce19a606659163The Android Open Source Project
326664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
326764064216a8433360745f69edddce19a606659163The Android Open Source Project}
326864064216a8433360745f69edddce19a606659163The Android Open Source Project
326964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
327064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util4xActiveStateGet
327164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
327264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
327364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
327464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
327564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
327664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil4xActiveStateGet(
327764064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
327864064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
327964064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
328064064216a8433360745f69edddce19a606659163The Android Open Source Project					)
328164064216a8433360745f69edddce19a606659163The Android Open Source Project{
328264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
328364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_FOUR_X_CURRRENT_STATUS_PARAM, pData, sizeof(UINT8));
328464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
328564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
328664064216a8433360745f69edddce19a606659163The Android Open Source Project}
328764064216a8433360745f69edddce19a606659163The Android Open Source Project
328864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
328964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	power
329064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
329164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
329264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
329364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
329464064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic int power(int x, int y)
329564064216a8433360745f69edddce19a606659163The Android Open Source Project{
329664064216a8433360745f69edddce19a606659163The Android Open Source Project	int i = 0,z = 1;
329764064216a8433360745f69edddce19a606659163The Android Open Source Project
329864064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = 0; i < y; i++)
329964064216a8433360745f69edddce19a606659163The Android Open Source Project		z *= x;
330064064216a8433360745f69edddce19a606659163The Android Open Source Project
330164064216a8433360745f69edddce19a606659163The Android Open Source Project	return z;
330264064216a8433360745f69edddce19a606659163The Android Open Source Project}
330364064216a8433360745f69edddce19a606659163The Android Open Source Project
330464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
330564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetSwVersion
330664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
330764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
330864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
330964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
331064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
331164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetSwVersion(
331264064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
331364064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
331464064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
331564064216a8433360745f69edddce19a606659163The Android Open Source Project				)
331664064216a8433360745f69edddce19a606659163The Android Open Source Project{
331764064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_VERSION* swVer;
331864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue,tmpLen;
331964064216a8433360745f69edddce19a606659163The Android Open Source Project	UCHAR FwVersion[FW_VERSION_LEN];
332064064216a8433360745f69edddce19a606659163The Android Open Source Project	e2Version_t EepromVersion;
332164064216a8433360745f69edddce19a606659163The Android Open Source Project	int i, start = 0, end = 0, temp = 0;
332264064216a8433360745f69edddce19a606659163The Android Open Source Project
332364064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer = (TIWLN_VERSION *) pData;
332464064216a8433360745f69edddce19a606659163The Android Open Source Project
332564064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->DrvVersion.major = SW_VERSION_MAJOR;
332664064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->DrvVersion.minor = SW_VERSION_MINOR;
332764064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->DrvVersion.bugfix = SW_VERSION_PATCH;
332864064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->DrvVersion.subld = SW_VERSION_SUBLD;
332964064216a8433360745f69edddce19a606659163The Android Open Source Project        swVer->DrvVersion.build = SW_VERSION_BUILD;
333064064216a8433360745f69edddce19a606659163The Android Open Source Project
333164064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(&swVer->FWVersion, sizeof(swVer->FWVersion));
333264064216a8433360745f69edddce19a606659163The Android Open Source Project
333364064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilGetParam(pAdapter, SITE_MGR_FIRMWARE_VERSION_PARAM, FwVersion, FW_VERSION_LEN);
333464064216a8433360745f69edddce19a606659163The Android Open Source Project
333564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* major */
333664064216a8433360745f69edddce19a606659163The Android Open Source Project	start = end = temp = 4;
333764064216a8433360745f69edddce19a606659163The Android Open Source Project	while (FwVersion[end++] != '.');
333864064216a8433360745f69edddce19a606659163The Android Open Source Project	temp = end;
333964064216a8433360745f69edddce19a606659163The Android Open Source Project	end -= 2;
334064064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = end; i>= start; i--)
334164064216a8433360745f69edddce19a606659163The Android Open Source Project    {
334264064216a8433360745f69edddce19a606659163The Android Open Source Project		swVer->FWVersion.major += (FwVersion[i] - 0x30)*power(10, end - i);
334364064216a8433360745f69edddce19a606659163The Android Open Source Project    }
334464064216a8433360745f69edddce19a606659163The Android Open Source Project
334564064216a8433360745f69edddce19a606659163The Android Open Source Project
334664064216a8433360745f69edddce19a606659163The Android Open Source Project	/* minor */
334764064216a8433360745f69edddce19a606659163The Android Open Source Project	start = end = temp;
334864064216a8433360745f69edddce19a606659163The Android Open Source Project	while (FwVersion[end++] != '.');
334964064216a8433360745f69edddce19a606659163The Android Open Source Project	temp = end;
335064064216a8433360745f69edddce19a606659163The Android Open Source Project	end -= 2;
335164064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = end; i>= start; i--)
335264064216a8433360745f69edddce19a606659163The Android Open Source Project    {
335364064216a8433360745f69edddce19a606659163The Android Open Source Project		swVer->FWVersion.minor += (FwVersion[i] - 0x30)*power(10, end - i);
335464064216a8433360745f69edddce19a606659163The Android Open Source Project    }
335564064216a8433360745f69edddce19a606659163The Android Open Source Project
335664064216a8433360745f69edddce19a606659163The Android Open Source Project	/* bug fix */
335764064216a8433360745f69edddce19a606659163The Android Open Source Project	start = end = temp;
335864064216a8433360745f69edddce19a606659163The Android Open Source Project	while (FwVersion[end++] != '.');
335964064216a8433360745f69edddce19a606659163The Android Open Source Project	temp = end;
336064064216a8433360745f69edddce19a606659163The Android Open Source Project	end -= 2;
336164064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = end; i>= start; i--)
336264064216a8433360745f69edddce19a606659163The Android Open Source Project    {
336364064216a8433360745f69edddce19a606659163The Android Open Source Project		swVer->FWVersion.bugfix += (FwVersion[i] - 0x30)*power(10, end - i);
336464064216a8433360745f69edddce19a606659163The Android Open Source Project    }
336564064216a8433360745f69edddce19a606659163The Android Open Source Project
336664064216a8433360745f69edddce19a606659163The Android Open Source Project
336764064216a8433360745f69edddce19a606659163The Android Open Source Project    /* build */
336864064216a8433360745f69edddce19a606659163The Android Open Source Project	start = end = temp;
336964064216a8433360745f69edddce19a606659163The Android Open Source Project	while (FwVersion[end++] != '.');
337064064216a8433360745f69edddce19a606659163The Android Open Source Project	temp = end;
337164064216a8433360745f69edddce19a606659163The Android Open Source Project	end -= 2;
337264064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = end; i>= start; i--)
337364064216a8433360745f69edddce19a606659163The Android Open Source Project    {
337464064216a8433360745f69edddce19a606659163The Android Open Source Project		swVer->FWVersion.subld += (FwVersion[i] - 0x30)*power(10, end - i);
337564064216a8433360745f69edddce19a606659163The Android Open Source Project    }
337664064216a8433360745f69edddce19a606659163The Android Open Source Project
337764064216a8433360745f69edddce19a606659163The Android Open Source Project	/* minor build */
337864064216a8433360745f69edddce19a606659163The Android Open Source Project	start = end = temp;
337964064216a8433360745f69edddce19a606659163The Android Open Source Project	while (FwVersion[end++] != 0);
338064064216a8433360745f69edddce19a606659163The Android Open Source Project	temp = end;
338164064216a8433360745f69edddce19a606659163The Android Open Source Project	end -= 2;
338264064216a8433360745f69edddce19a606659163The Android Open Source Project	for (i = end; i>= start; i--)
338364064216a8433360745f69edddce19a606659163The Android Open Source Project    {
338464064216a8433360745f69edddce19a606659163The Android Open Source Project		swVer->FWVersion.build += (FwVersion[i] - 0x30)*power(10, end - i);
338564064216a8433360745f69edddce19a606659163The Android Open Source Project    }
338664064216a8433360745f69edddce19a606659163The Android Open Source Project
338764064216a8433360745f69edddce19a606659163The Android Open Source Project
338864064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(&swVer->HWVersion, sizeof(swVer->HWVersion));
338964064216a8433360745f69edddce19a606659163The Android Open Source Project
339064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_EEPROM_VERSION_PARAM, (PUCHAR)&EepromVersion, sizeof(e2Version_t));
339164064216a8433360745f69edddce19a606659163The Android Open Source Project
339264064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->HWVersion.major = (UCHAR) EepromVersion.major;
339364064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->HWVersion.minor = (UCHAR) EepromVersion.minor;
339464064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->HWVersion.bugfix = (UCHAR) EepromVersion.bugfix;
339564064216a8433360745f69edddce19a606659163The Android Open Source Project
339664064216a8433360745f69edddce19a606659163The Android Open Source Project	swVer->osNdisVersion  = (TIWLN_MAJOR_VERSION  << 16) + TIWLN_MINOR_VERSION;
339764064216a8433360745f69edddce19a606659163The Android Open Source Project
339864064216a8433360745f69edddce19a606659163The Android Open Source Project	tmpLen = sizeof(TIWLN_VERSION);
339964064216a8433360745f69edddce19a606659163The Android Open Source Project
340064064216a8433360745f69edddce19a606659163The Android Open Source Project    if (*Length >= sizeof(TIWLN_VERSION_EX)) //TRS:GAA allow larger than needed buffer
340164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
340264064216a8433360745f69edddce19a606659163The Android Open Source Project
340364064216a8433360745f69edddce19a606659163The Android Open Source Project		((PTIWLN_VERSION_EX)swVer)->extVerSign = 2;
340464064216a8433360745f69edddce19a606659163The Android Open Source Project
340564064216a8433360745f69edddce19a606659163The Android Open Source Project		((PTIWLN_VERSION_EX)swVer)->NVVersion.bugfix = EepromVersion.last;
340664064216a8433360745f69edddce19a606659163The Android Open Source Project
340764064216a8433360745f69edddce19a606659163The Android Open Source Project		((PTIWLN_VERSION_EX)swVer)->NVVersion.minor = EepromVersion.minor;
340864064216a8433360745f69edddce19a606659163The Android Open Source Project
340964064216a8433360745f69edddce19a606659163The Android Open Source Project		((PTIWLN_VERSION_EX)swVer)->NVVersion.major =
341064064216a8433360745f69edddce19a606659163The Android Open Source Project		(UCHAR)EepromVersion.major;
341164064216a8433360745f69edddce19a606659163The Android Open Source Project
341264064216a8433360745f69edddce19a606659163The Android Open Source Project		((PTIWLN_VERSION_EX)swVer)->NVVersion.subld =
341364064216a8433360745f69edddce19a606659163The Android Open Source Project		(UCHAR)EepromVersion.bugfix;
341464064216a8433360745f69edddce19a606659163The Android Open Source Project
341564064216a8433360745f69edddce19a606659163The Android Open Source Project		tmpLen = sizeof(TIWLN_VERSION_EX);
341664064216a8433360745f69edddce19a606659163The Android Open Source Project
341764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
341864064216a8433360745f69edddce19a606659163The Android Open Source Project
341964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = tmpLen;
342064064216a8433360745f69edddce19a606659163The Android Open Source Project
342164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
342264064216a8433360745f69edddce19a606659163The Android Open Source Project}
342364064216a8433360745f69edddce19a606659163The Android Open Source Project
342464064216a8433360745f69edddce19a606659163The Android Open Source Project
342564064216a8433360745f69edddce19a606659163The Android Open Source Project
342664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
342764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilRxAntennaSet
342864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
342964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
343064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
343164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
343264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
343364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRxAntennaSet(
343464064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
343564064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
343664064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
343764064216a8433360745f69edddce19a606659163The Android Open Source Project				)
343864064216a8433360745f69edddce19a606659163The Android Open Source Project{
343964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
344064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_RX_ANTENNA_PARAM, pData, sizeof(ULONG));
344164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
344264064216a8433360745f69edddce19a606659163The Android Open Source Project}
344364064216a8433360745f69edddce19a606659163The Android Open Source Project
344464064216a8433360745f69edddce19a606659163The Android Open Source Project
344564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
344664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilRxAntennaGet
344764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
344864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
344964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
345064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
345164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
345264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRxAntennaGet(
345364064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
345464064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
345564064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
345664064216a8433360745f69edddce19a606659163The Android Open Source Project				)
345764064216a8433360745f69edddce19a606659163The Android Open Source Project{
345864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
345964064216a8433360745f69edddce19a606659163The Android Open Source Project
346064064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((!Length) || (*Length == 0))
346164064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
346264064216a8433360745f69edddce19a606659163The Android Open Source Project
346364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, HAL_CTRL_RX_ANTENNA_PARAM, pData, sizeof(UINT8));
346464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
346564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
346664064216a8433360745f69edddce19a606659163The Android Open Source Project}
346764064216a8433360745f69edddce19a606659163The Android Open Source Project
346864064216a8433360745f69edddce19a606659163The Android Open Source Project
346964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
347064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilTxAntennaSet
347164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
347264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
347364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
347464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
347564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
347664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilTxAntennaSet(
347764064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
347864064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
347964064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
348064064216a8433360745f69edddce19a606659163The Android Open Source Project				)
348164064216a8433360745f69edddce19a606659163The Android Open Source Project{
348264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
348364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_TX_ANTENNA_PARAM, pData, sizeof(ULONG));
348464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
348564064216a8433360745f69edddce19a606659163The Android Open Source Project}
348664064216a8433360745f69edddce19a606659163The Android Open Source Project
348764064216a8433360745f69edddce19a606659163The Android Open Source Project
348864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
348964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilTxAntennaGet
349064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
349164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
349264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
349364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
349464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
349564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilTxAntennaGet(
349664064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
349764064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
349864064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
349964064216a8433360745f69edddce19a606659163The Android Open Source Project				)
350064064216a8433360745f69edddce19a606659163The Android Open Source Project{
350164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
350264064216a8433360745f69edddce19a606659163The Android Open Source Project
350364064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((!Length) || (*Length == 0))
350464064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
350564064216a8433360745f69edddce19a606659163The Android Open Source Project
350664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, HAL_CTRL_TX_ANTENNA_PARAM, pData, sizeof(UINT8));
350764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (UINT8);
350864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
350964064216a8433360745f69edddce19a606659163The Android Open Source Project}
351064064216a8433360745f69edddce19a606659163The Android Open Source Project
351164064216a8433360745f69edddce19a606659163The Android Open Source Project
351264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
351364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilNumberOfAntennas
351464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
351564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
351664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
351764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
351864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
351964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilNumberOfAntennas(
352064064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
352164064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
352264064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
352364064216a8433360745f69edddce19a606659163The Android Open Source Project					)
352464064216a8433360745f69edddce19a606659163The Android Open Source Project{
352564064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((!Length) || (*Length == 0))
352664064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
352764064216a8433360745f69edddce19a606659163The Android Open Source Project
352864064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = 2;
352964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
353064064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
353164064216a8433360745f69edddce19a606659163The Android Open Source Project}
353264064216a8433360745f69edddce19a606659163The Android Open Source Project
353364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
353464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:
353564064216a8433360745f69edddce19a606659163The Android Open Source Project	UtilAntennaDivresitySet
353664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
353764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
353864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
353964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
354064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
354164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilAntennaDivresitySet(
354264064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
354364064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
354464064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length
354564064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
354664064216a8433360745f69edddce19a606659163The Android Open Source Project{
354764064216a8433360745f69edddce19a606659163The Android Open Source Project
354864064216a8433360745f69edddce19a606659163The Android Open Source Project	return(UtilSetParam(pAdapter, HAL_CTRL_ANTENNA_DIVERSITY_PARAMS, pData, Length));
354964064216a8433360745f69edddce19a606659163The Android Open Source Project}
355064064216a8433360745f69edddce19a606659163The Android Open Source Project
355164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
355264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDriverStatusGet
355364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
355464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
355564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
355664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
355764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
355864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDriverStatusGet(
355964064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
356064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
356164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
356264064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
356364064216a8433360745f69edddce19a606659163The Android Open Source Project{
356464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
356564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, DRIVER_STATUS_PARAM, pData, sizeof(ULONG));
356664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
356764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
356864064216a8433360745f69edddce19a606659163The Android Open Source Project}
356964064216a8433360745f69edddce19a606659163The Android Open Source Project
357064064216a8433360745f69edddce19a606659163The Android Open Source Project
357164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
357264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDriverSuspend
357364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
357464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
357564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
357664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
357764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
357864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDriverSuspend(
357964064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
358064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
358164064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
358264064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
358364064216a8433360745f69edddce19a606659163The Android Open Source Project{
358464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
358564064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID FakeSsid;
358664064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 loopIndex;
358764064216a8433360745f69edddce19a606659163The Android Open Source Project
358864064216a8433360745f69edddce19a606659163The Android Open Source Project	for (loopIndex = 0; loopIndex < MAX_SSID_LEN; loopIndex++)
358964064216a8433360745f69edddce19a606659163The Android Open Source Project		FakeSsid.Ssid[loopIndex] = (loopIndex+1);
359064064216a8433360745f69edddce19a606659163The Android Open Source Project
359164064216a8433360745f69edddce19a606659163The Android Open Source Project	FakeSsid.SsidLength = MAX_SSID_LEN;
359264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetSSID(pAdapter, (PUCHAR)&FakeSsid, sizeof(OS_802_11_SSID));
359364064216a8433360745f69edddce19a606659163The Android Open Source Project
359464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
359564064216a8433360745f69edddce19a606659163The Android Open Source Project
359664064216a8433360745f69edddce19a606659163The Android Open Source Project}
359764064216a8433360745f69edddce19a606659163The Android Open Source Project
359864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
359964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDriverStatusSet
360064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
360164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
360264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
360364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
360464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
360564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDriverStatusSet(
360664064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
360764064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
360864064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG Length
360964064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
361064064216a8433360745f69edddce19a606659163The Android Open Source Project{
361164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
361264064216a8433360745f69edddce19a606659163The Android Open Source Project
361364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*(PULONG)pData)
361464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
361564064216a8433360745f69edddce19a606659163The Android Open Source Project		retValue = configMgr_start(pAdapter->CoreHalCtx);
361664064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
361764064216a8433360745f69edddce19a606659163The Android Open Source Project	{
361864064216a8433360745f69edddce19a606659163The Android Open Source Project		retValue = configMgr_stop(pAdapter->CoreHalCtx);
361964064216a8433360745f69edddce19a606659163The Android Open Source Project	}
362064064216a8433360745f69edddce19a606659163The Android Open Source Project
362164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
362264064216a8433360745f69edddce19a606659163The Android Open Source Project}
362364064216a8433360745f69edddce19a606659163The Android Open Source Project
362464064216a8433360745f69edddce19a606659163The Android Open Source Project
362564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
362664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilRssiGet
362764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
362864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
362964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
363064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
363164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
363264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilRssiGet(
363364064216a8433360745f69edddce19a606659163The Android Open Source Project		   PTIWLN_ADAPTER_T pAdapter,
363464064216a8433360745f69edddce19a606659163The Android Open Source Project		   PUCHAR pData,
363564064216a8433360745f69edddce19a606659163The Android Open Source Project		   PULONG Length
363664064216a8433360745f69edddce19a606659163The Android Open Source Project		   )
363764064216a8433360745f69edddce19a606659163The Android Open Source Project{
363864064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_STATISTICS pStats;
363964064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
364064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
364164064216a8433360745f69edddce19a606659163The Android Open Source Project
364264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
364364064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
364464064216a8433360745f69edddce19a606659163The Android Open Source Project
364564064216a8433360745f69edddce19a606659163The Android Open Source Project	NdisZeroMemory(&pStats, sizeof(TIWLN_STATISTICS));
364664064216a8433360745f69edddce19a606659163The Android Open Source Project
364764064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = SITE_MGR_GET_SELECTED_BSSID_INFO;
364864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.pSiteMgrPrimarySiteDesc = &pStats.targetAP;
364964064216a8433360745f69edddce19a606659163The Android Open Source Project
365064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
365164064216a8433360745f69edddce19a606659163The Android Open Source Project
365264064216a8433360745f69edddce19a606659163The Android Open Source Project	*(PULONG)pData = pStats.targetAP.Rssi;
365364064216a8433360745f69edddce19a606659163The Android Open Source Project
365464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
365564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
365664064216a8433360745f69edddce19a606659163The Android Open Source Project}
365764064216a8433360745f69edddce19a606659163The Android Open Source Project
365864064216a8433360745f69edddce19a606659163The Android Open Source Project
365964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
366064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDeviceSuspend
366164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
366264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
366364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
366464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
366564064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID
366664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDeviceSuspend(
366764064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter
366864064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
366964064216a8433360745f69edddce19a606659163The Android Open Source Project{
367064064216a8433360745f69edddce19a606659163The Android Open Source Project	configMgr_stop(pAdapter->CoreHalCtx);
367164064216a8433360745f69edddce19a606659163The Android Open Source Project}
367264064216a8433360745f69edddce19a606659163The Android Open Source Project
367364064216a8433360745f69edddce19a606659163The Android Open Source Project
367464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
367564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDeviceResume
367664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
367764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
367864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
367964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
368064064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID
368164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDeviceResume(
368264064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter
368364064216a8433360745f69edddce19a606659163The Android Open Source Project				)
368464064216a8433360745f69edddce19a606659163The Android Open Source Project{
368564064216a8433360745f69edddce19a606659163The Android Open Source Project	configMgr_start(pAdapter->CoreHalCtx);
368664064216a8433360745f69edddce19a606659163The Android Open Source Project}
368764064216a8433360745f69edddce19a606659163The Android Open Source Project
368864064216a8433360745f69edddce19a606659163The Android Open Source Project
368964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
369064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilIbssProtectionGet
369164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
369264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
369364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
369464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
369564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
369664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilIbssProtectionGet(
369764064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
369864064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
369964064216a8433360745f69edddce19a606659163The Android Open Source Project					 PULONG Length
370064064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
370164064216a8433360745f69edddce19a606659163The Android Open Source Project{
370264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
370364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
370464064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
370564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_CURRENT_IBSS_PROTECTION_PARAM, pData, sizeof(ULONG));
370664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
370764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
370864064216a8433360745f69edddce19a606659163The Android Open Source Project}
370964064216a8433360745f69edddce19a606659163The Android Open Source Project
371064064216a8433360745f69edddce19a606659163The Android Open Source Project
371164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
371264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilIbssProtectionSet
371364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
371464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
371564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
371664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
371764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
371864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilIbssProtectionSet(
371964064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
372064064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
372164064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
372264064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
372364064216a8433360745f69edddce19a606659163The Android Open Source Project{
372464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
372564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, CTRL_DATA_CURRENT_IBSS_PROTECTION_PARAM, pData, sizeof(ULONG));
372664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
372764064216a8433360745f69edddce19a606659163The Android Open Source Project}
372864064216a8433360745f69edddce19a606659163The Android Open Source Project
372964064216a8433360745f69edddce19a606659163The Android Open Source Project
373064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
373164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilShortSlotGet
373264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
373364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
373464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
373564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
373664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
373764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortSlotGet(
373864064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
373964064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
374064064216a8433360745f69edddce19a606659163The Android Open Source Project				PULONG Length
374164064216a8433360745f69edddce19a606659163The Android Open Source Project				)
374264064216a8433360745f69edddce19a606659163The Android Open Source Project{
374364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
374464064216a8433360745f69edddce19a606659163The Android Open Source Project
374564064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
374664064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
374764064216a8433360745f69edddce19a606659163The Android Open Source Project
374864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_DESIRED_SLOT_TIME_PARAM, pData, sizeof(ULONG));
374964064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
375064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
375164064216a8433360745f69edddce19a606659163The Android Open Source Project}
375264064216a8433360745f69edddce19a606659163The Android Open Source Project
375364064216a8433360745f69edddce19a606659163The Android Open Source Project
375464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
375564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilShortSlotSet
375664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
375764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
375864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
375964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
376064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
376164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilShortSlotSet(
376264064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
376364064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
376464064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
376564064216a8433360745f69edddce19a606659163The Android Open Source Project				)
376664064216a8433360745f69edddce19a606659163The Android Open Source Project{
376764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
376864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_SLOT_TIME_PARAM, pData, sizeof(ULONG));
376964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
377064064216a8433360745f69edddce19a606659163The Android Open Source Project}
377164064216a8433360745f69edddce19a606659163The Android Open Source Project
377264064216a8433360745f69edddce19a606659163The Android Open Source Project
377364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
377464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExtRatesIeGet
377564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
377664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
377764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
377864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
377964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
378064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExtRatesIeGet(
378164064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
378264064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
378364064216a8433360745f69edddce19a606659163The Android Open Source Project				 PULONG Length
378464064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
378564064216a8433360745f69edddce19a606659163The Android Open Source Project{
378664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
378764064216a8433360745f69edddce19a606659163The Android Open Source Project
378864064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
378964064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
379064064216a8433360745f69edddce19a606659163The Android Open Source Project
379164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_USE_DRAFT_NUM_PARAM, pData, sizeof(ULONG));
379264064216a8433360745f69edddce19a606659163The Android Open Source Project
379364064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
379464064216a8433360745f69edddce19a606659163The Android Open Source Project
379564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
379664064216a8433360745f69edddce19a606659163The Android Open Source Project}
379764064216a8433360745f69edddce19a606659163The Android Open Source Project
379864064216a8433360745f69edddce19a606659163The Android Open Source Project
379964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
380064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExtRatesIeSet
380164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
380264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
380364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
380464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
380564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
380664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExtRatesIeSet(
380764064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
380864064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
380964064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
381064064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
381164064216a8433360745f69edddce19a606659163The Android Open Source Project{
381264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
381364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_USE_DRAFT_NUM_PARAM, pData, sizeof(ULONG));
381464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
381564064216a8433360745f69edddce19a606659163The Android Open Source Project}
381664064216a8433360745f69edddce19a606659163The Android Open Source Project
381764064216a8433360745f69edddce19a606659163The Android Open Source Project
381864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
381964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilQosSetParams
382064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
382164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
382264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
382364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
382464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilQosSetParams(PTIWLN_ADAPTER_T pAdapter,
382564064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
382664064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length)
382764064216a8433360745f69edddce19a606659163The Android Open Source Project{
382864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
382964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, QOS_MNGR_SET_OS_PARAMS, pData, Length);
383064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
383164064216a8433360745f69edddce19a606659163The Android Open Source Project}
383264064216a8433360745f69edddce19a606659163The Android Open Source Project
383364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
383464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilQosSetParams
383564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
383664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
383764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
383864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
383964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilQosSetRxTimeOut(PTIWLN_ADAPTER_T pAdapter,
384064064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
384164064216a8433360745f69edddce19a606659163The Android Open Source Project						  ULONG Length)
384264064216a8433360745f69edddce19a606659163The Android Open Source Project{
384364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
384464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, QOS_SET_RX_TIME_OUT, pData, Length);
384564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
384664064216a8433360745f69edddce19a606659163The Android Open Source Project}
384764064216a8433360745f69edddce19a606659163The Android Open Source Project
384864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
384964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilSetDTagToAcMappingTable
385064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
385164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
385264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
385364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
385464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetDTagToAcMappingTable(PTIWLN_ADAPTER_T pAdapter,
385564064216a8433360745f69edddce19a606659163The Android Open Source Project						  		  PUCHAR pData,
385664064216a8433360745f69edddce19a606659163The Android Open Source Project						  		  ULONG Length)
385764064216a8433360745f69edddce19a606659163The Android Open Source Project{
385864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
385964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, TX_DATA_TAG_TO_AC_CLASSIFIER_TABLE, pData, Length);
386064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
386164064216a8433360745f69edddce19a606659163The Android Open Source Project}
386264064216a8433360745f69edddce19a606659163The Android Open Source Project
386364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
386464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilSetVAD
386564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
386664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
386764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
386864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
386964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetVAD(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
387064064216a8433360745f69edddce19a606659163The Android Open Source Project{
387164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
387264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, TX_DATA_SET_VAD, pData, Length);
387364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
387464064216a8433360745f69edddce19a606659163The Android Open Source Project}
387564064216a8433360745f69edddce19a606659163The Android Open Source Project
387664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetVAD (PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, PULONG Length)
387764064216a8433360745f69edddce19a606659163The Android Open Source Project{
387864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
387964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, TX_DATA_GET_VAD , pData, sizeof(txDataVadTimerParams_t));
388064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(txDataVadTimerParams_t);
388164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
388264064216a8433360745f69edddce19a606659163The Android Open Source Project}
388364064216a8433360745f69edddce19a606659163The Android Open Source Project
388464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
388564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilRemoveClassifierEntry
388664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
388764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
388864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
388964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
389064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilRemoveClassifierEntry(PTIWLN_ADAPTER_T pAdapter,
389164064216a8433360745f69edddce19a606659163The Android Open Source Project								PUCHAR ioBuffer,
389264064216a8433360745f69edddce19a606659163The Android Open Source Project								ULONG inBufLen)
389364064216a8433360745f69edddce19a606659163The Android Open Source Project{
389464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
389564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, CTRL_DATA_CLSFR_REMOVE_ENTRY,ioBuffer, inBufLen);
389664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
389764064216a8433360745f69edddce19a606659163The Android Open Source Project}
389864064216a8433360745f69edddce19a606659163The Android Open Source Project
389964064216a8433360745f69edddce19a606659163The Android Open Source Project
390064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
390164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilConfigTxClassifier
390264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
390364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
390464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
390564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
390664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilConfigTxClassifier(PTIWLN_ADAPTER_T pAdapter,
390764064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR ioBuffer,
390864064216a8433360745f69edddce19a606659163The Android Open Source Project							 ULONG inBufLen)
390964064216a8433360745f69edddce19a606659163The Android Open Source Project{
391064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
391164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, CTRL_DATA_CLSFR_CONFIG,ioBuffer, inBufLen);
391264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
391364064216a8433360745f69edddce19a606659163The Android Open Source Project}
391464064216a8433360745f69edddce19a606659163The Android Open Source Project
391564064216a8433360745f69edddce19a606659163The Android Open Source Project
391664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
391764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetClsfrType
391864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
391964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
392064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
392164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
392264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetClsfrType(PTIWLN_ADAPTER_T pAdapter,
392364064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
392464064216a8433360745f69edddce19a606659163The Android Open Source Project					   PULONG Length)
392564064216a8433360745f69edddce19a606659163The Android Open Source Project{
392664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
392764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_CLSFR_TYPE , pData, sizeof(clsfrTypeAndSupport));
392864064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(clsfrTypeAndSupport);
392964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
393064064216a8433360745f69edddce19a606659163The Android Open Source Project}
393164064216a8433360745f69edddce19a606659163The Android Open Source Project
393264064216a8433360745f69edddce19a606659163The Android Open Source Project
393364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
393464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetAPQosParams
393564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
393664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
393764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
393864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
393964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetAPQosParams(PTIWLN_ADAPTER_T pAdapter,
394064064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
394164064216a8433360745f69edddce19a606659163The Android Open Source Project						 PULONG Length)
394264064216a8433360745f69edddce19a606659163The Android Open Source Project{
394364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
394464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, QOS_MNGR_AP_QOS_PARAMETERS , pData, sizeof(OS_802_11_AC_QOS_PARAMS));
394564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_AC_QOS_PARAMS);
394664064216a8433360745f69edddce19a606659163The Android Open Source Project	return(retValue);
394764064216a8433360745f69edddce19a606659163The Android Open Source Project}
394864064216a8433360745f69edddce19a606659163The Android Open Source Project
394964064216a8433360745f69edddce19a606659163The Android Open Source Project
395064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
395164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetAPQosCapabilities
395264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
395364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
395464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
395564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
395664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetAPQosCapabilities(PTIWLN_ADAPTER_T pAdapter,
395764064216a8433360745f69edddce19a606659163The Android Open Source Project							   PUCHAR pData,
395864064216a8433360745f69edddce19a606659163The Android Open Source Project							   PULONG Length)
395964064216a8433360745f69edddce19a606659163The Android Open Source Project{
396064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
396164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length=sizeof(OS_802_11_AP_QOS_CAPABILITIES_PARAMS);
396264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SITE_MGR_GET_AP_QOS_CAPABILITIES , pData, sizeof(OS_802_11_AP_QOS_CAPABILITIES_PARAMS));
396364064216a8433360745f69edddce19a606659163The Android Open Source Project	return(retValue);
396464064216a8433360745f69edddce19a606659163The Android Open Source Project}
396564064216a8433360745f69edddce19a606659163The Android Open Source Project
396664064216a8433360745f69edddce19a606659163The Android Open Source Project
396764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
396864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilAddTspec
396964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
397064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
397164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
397264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
397364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilAddTspec(PTIWLN_ADAPTER_T pAdapter,
397464064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
397564064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG Length)
397664064216a8433360745f69edddce19a606659163The Android Open Source Project{
397764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
397864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, QOS_MNGR_ADD_TSPEC_REQUEST , pData, sizeof(OS_802_11_QOS_TSPEC_PARAMS));
397964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
398064064216a8433360745f69edddce19a606659163The Android Open Source Project}
398164064216a8433360745f69edddce19a606659163The Android Open Source Project
398264064216a8433360745f69edddce19a606659163The Android Open Source Project
398364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
398464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetTspecParams
398564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
398664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
398764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
398864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
398964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetTspecParams(PTIWLN_ADAPTER_T pAdapter,
399064064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
399164064216a8433360745f69edddce19a606659163The Android Open Source Project						 PULONG Length)
399264064216a8433360745f69edddce19a606659163The Android Open Source Project{
399364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
399464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, QOS_MNGR_OS_TSPEC_PARAMS , pData, sizeof(OS_802_11_QOS_TSPEC_PARAMS));
399564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_QOS_TSPEC_PARAMS);
399664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
399764064216a8433360745f69edddce19a606659163The Android Open Source Project}
399864064216a8433360745f69edddce19a606659163The Android Open Source Project
399964064216a8433360745f69edddce19a606659163The Android Open Source Project
400064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
400164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDeleteTspec
400264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
400364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
400464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
400564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
400664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilDeleteTspec(PTIWLN_ADAPTER_T pAdapter,
400764064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
400864064216a8433360745f69edddce19a606659163The Android Open Source Project					  ULONG Length)
400964064216a8433360745f69edddce19a606659163The Android Open Source Project{
401064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
401164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, QOS_MNGR_DEL_TSPEC_REQUEST , pData, sizeof(OS_802_11_QOS_DELETE_TSPEC_PARAMS));
401264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
401364064216a8433360745f69edddce19a606659163The Android Open Source Project}
401464064216a8433360745f69edddce19a606659163The Android Open Source Project
401564064216a8433360745f69edddce19a606659163The Android Open Source Project
401664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
401764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetCurrentAcStatus
401864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
401964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
402064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
402164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
402264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetCurrentAcStatus(PTIWLN_ADAPTER_T pAdapter,
402364064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR pData,
402464064216a8433360745f69edddce19a606659163The Android Open Source Project							 PULONG Length)
402564064216a8433360745f69edddce19a606659163The Android Open Source Project{
402664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
402764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, QOS_MNGR_AC_STATUS , pData, sizeof(OS_802_11_AC_UPSD_STATUS_PARAMS));
402864064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_AC_UPSD_STATUS_PARAMS);
402964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
403064064216a8433360745f69edddce19a606659163The Android Open Source Project}
403164064216a8433360745f69edddce19a606659163The Android Open Source Project
403264064216a8433360745f69edddce19a606659163The Android Open Source Project
403364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
403464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetUserPriorityOfStream
403564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
403664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
403764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
403864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
403964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetUserPriorityOfStream(PTIWLN_ADAPTER_T pAdapter,
404064064216a8433360745f69edddce19a606659163The Android Open Source Project								  PUCHAR pData,
404164064216a8433360745f69edddce19a606659163The Android Open Source Project								  PULONG Length)
404264064216a8433360745f69edddce19a606659163The Android Open Source Project{
404364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
404464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, CTRL_DATA_GET_USER_PRIORITY_OF_STREAM , pData, sizeof(STREAM_TRAFFIC_PROPERTIES));
404564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(STREAM_TRAFFIC_PROPERTIES);
404664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
404764064216a8433360745f69edddce19a606659163The Android Open Source Project}
404864064216a8433360745f69edddce19a606659163The Android Open Source Project
404964064216a8433360745f69edddce19a606659163The Android Open Source Project
405064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
405164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilSetMediumUsageThreshold
405264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
405364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
405464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
405564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
405664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetMediumUsageThreshold(PTIWLN_ADAPTER_T pAdapter,
405764064216a8433360745f69edddce19a606659163The Android Open Source Project								  PUCHAR pData,
405864064216a8433360745f69edddce19a606659163The Android Open Source Project								  ULONG Length)
405964064216a8433360745f69edddce19a606659163The Android Open Source Project{
406064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
406164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, TX_DATA_SET_MEDIUM_USAGE_THRESHOLD , pData, sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS));
406264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
406364064216a8433360745f69edddce19a606659163The Android Open Source Project}
406464064216a8433360745f69edddce19a606659163The Android Open Source Project
406564064216a8433360745f69edddce19a606659163The Android Open Source Project
406664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
406764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilSetPhyRateThreshold
406864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
406964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
407064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
407164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
407264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilSetPhyRateThreshold(PTIWLN_ADAPTER_T pAdapter,
407364064216a8433360745f69edddce19a606659163The Android Open Source Project							  PUCHAR pData,
407464064216a8433360745f69edddce19a606659163The Android Open Source Project							  ULONG Length)
407564064216a8433360745f69edddce19a606659163The Android Open Source Project{
407664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
407764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, QOS_SET_RATE_THRESHOLD , pData, sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS));
407864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
407964064216a8433360745f69edddce19a606659163The Android Open Source Project}
408064064216a8433360745f69edddce19a606659163The Android Open Source Project
408164064216a8433360745f69edddce19a606659163The Android Open Source Project
408264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
408364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetMediumUsageThreshold
408464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
408564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
408664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
408764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
408864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetMediumUsageThreshold(PTIWLN_ADAPTER_T pAdapter,
408964064216a8433360745f69edddce19a606659163The Android Open Source Project								  PUCHAR pData,
409064064216a8433360745f69edddce19a606659163The Android Open Source Project								  PULONG Length)
409164064216a8433360745f69edddce19a606659163The Android Open Source Project{
409264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
409364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, TX_DATA_GET_MEDIUM_USAGE_THRESHOLD , pData, sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS));
409464064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS);
409564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
409664064216a8433360745f69edddce19a606659163The Android Open Source Project}
409764064216a8433360745f69edddce19a606659163The Android Open Source Project
409864064216a8433360745f69edddce19a606659163The Android Open Source Project
409964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
410064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetPhyRateThreshold
410164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
410264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
410364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
410464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
410564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetPhyRateThreshold(PTIWLN_ADAPTER_T pAdapter,
410664064216a8433360745f69edddce19a606659163The Android Open Source Project							  PUCHAR pData,
410764064216a8433360745f69edddce19a606659163The Android Open Source Project							  PULONG Length)
410864064216a8433360745f69edddce19a606659163The Android Open Source Project{
410964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
411064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetGetParam(pAdapter, QOS_GET_RATE_THRESHOLD , pData, sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS));
411164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_THRESHOLD_CROSS_PARAMS);
411264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
411364064216a8433360745f69edddce19a606659163The Android Open Source Project}
411464064216a8433360745f69edddce19a606659163The Android Open Source Project
411564064216a8433360745f69edddce19a606659163The Android Open Source Project
411664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
411764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetDesiredPsMode
411864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
411964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
412064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
412164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
412264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetDesiredPsMode(PTIWLN_ADAPTER_T pAdapter,
412364064216a8433360745f69edddce19a606659163The Android Open Source Project						   PUCHAR pData,
412464064216a8433360745f69edddce19a606659163The Android Open Source Project						   PULONG  Length)
412564064216a8433360745f69edddce19a606659163The Android Open Source Project{
412664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
412764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, QOS_MNGR_GET_DESIRED_PS_MODE , pData, sizeof(OS_802_11_QOS_DESIRED_PS_MODE));
412864064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(OS_802_11_QOS_DESIRED_PS_MODE);
412964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
413064064216a8433360745f69edddce19a606659163The Android Open Source Project}
413164064216a8433360745f69edddce19a606659163The Android Open Source Project
413264064216a8433360745f69edddce19a606659163The Android Open Source Project
413364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
413464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPollApPackets
413564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
413664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
413764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
413864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
413964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPollApPackets(PTIWLN_ADAPTER_T pAdapter,
414064064216a8433360745f69edddce19a606659163The Android Open Source Project						PUCHAR pData,
414164064216a8433360745f69edddce19a606659163The Android Open Source Project						ULONG Length)
414264064216a8433360745f69edddce19a606659163The Android Open Source Project{
414364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
414464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = configMgr_PollApPackets(pAdapter->CoreHalCtx);
414564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
414664064216a8433360745f69edddce19a606659163The Android Open Source Project}
414764064216a8433360745f69edddce19a606659163The Android Open Source Project
414864064216a8433360745f69edddce19a606659163The Android Open Source Project
414964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
415064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPollApPacketsFromAC
415164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
415264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
415364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
415464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
415564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPollApPacketsFromAC(PTIWLN_ADAPTER_T pAdapter,
415664064216a8433360745f69edddce19a606659163The Android Open Source Project							  PUCHAR pData,
415764064216a8433360745f69edddce19a606659163The Android Open Source Project							  ULONG Length)
415864064216a8433360745f69edddce19a606659163The Android Open Source Project{
415964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
416064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, TX_DATA_POLL_AP_PACKETS_FROM_AC , (unsigned char *)pData, Length);
416164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
416264064216a8433360745f69edddce19a606659163The Android Open Source Project}
416364064216a8433360745f69edddce19a606659163The Android Open Source Project
416464064216a8433360745f69edddce19a606659163The Android Open Source Project
416564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
416664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilEnableEvent
416764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
416864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
416964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
417064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
417164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilEnableEvent(PTIWLN_ADAPTER_T pAdapter,
417264064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
417364064216a8433360745f69edddce19a606659163The Android Open Source Project					  ULONG Length)
417464064216a8433360745f69edddce19a606659163The Android Open Source Project{
417564064216a8433360745f69edddce19a606659163The Android Open Source Project	/*UtilSetParam(pAdapter,  , pData, Length);  EITAN TBD */
417664064216a8433360745f69edddce19a606659163The Android Open Source Project	return PARAM_NOT_SUPPORTED;
417764064216a8433360745f69edddce19a606659163The Android Open Source Project}
417864064216a8433360745f69edddce19a606659163The Android Open Source Project
417964064216a8433360745f69edddce19a606659163The Android Open Source Project
418064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
418164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDisableEvent
418264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
418364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
418464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
418564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
418664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilDisableEvent(PTIWLN_ADAPTER_T pAdapter,
418764064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
418864064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length)
418964064216a8433360745f69edddce19a606659163The Android Open Source Project{
419064064216a8433360745f69edddce19a606659163The Android Open Source Project	/*UtilSetParam(pAdapter,  , pData, Length);  EITAN TBD */
419164064216a8433360745f69edddce19a606659163The Android Open Source Project	return PARAM_NOT_SUPPORTED;
419264064216a8433360745f69edddce19a606659163The Android Open Source Project}
419364064216a8433360745f69edddce19a606659163The Android Open Source Project
419464064216a8433360745f69edddce19a606659163The Android Open Source Project
419564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
419664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilConfigRSSI
419764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
419864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
419964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
420064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
420164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilConfigRSSI(PTIWLN_ADAPTER_T pAdapter,
420264064216a8433360745f69edddce19a606659163The Android Open Source Project					 UINT32 pData,
420364064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length)
420464064216a8433360745f69edddce19a606659163The Android Open Source Project{
420564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
420664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_RSSI_THRESHOLD_SET , (unsigned char *)pData, Length);
420764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
420864064216a8433360745f69edddce19a606659163The Android Open Source Project}
420964064216a8433360745f69edddce19a606659163The Android Open Source Project
421064064216a8433360745f69edddce19a606659163The Android Open Source Project
421164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
421264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilConfigPERLevel
421364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
421464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
421564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
421664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
421764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilConfigPERLevel(PTIWLN_ADAPTER_T pAdapter,
421864064216a8433360745f69edddce19a606659163The Android Open Source Project						 UINT32 pData,
421964064216a8433360745f69edddce19a606659163The Android Open Source Project						 ULONG Length)
422064064216a8433360745f69edddce19a606659163The Android Open Source Project{
422164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
422264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SITE_MGR_DESIRED_TX_RATE_PRCT_SET , (unsigned char *)pData, Length);
422364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
422464064216a8433360745f69edddce19a606659163The Android Open Source Project}
422564064216a8433360745f69edddce19a606659163The Android Open Source Project
422664064216a8433360745f69edddce19a606659163The Android Open Source Project
422764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
422864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetDrvCapabilities
422964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
423064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
423164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
423264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
423364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetDrvCapabilities(PTIWLN_ADAPTER_T pAdapter,
423464064216a8433360745f69edddce19a606659163The Android Open Source Project							 PUCHAR pData,
423564064216a8433360745f69edddce19a606659163The Android Open Source Project							 PULONG Length)
423664064216a8433360745f69edddce19a606659163The Android Open Source Project{
423764064216a8433360745f69edddce19a606659163The Android Open Source Project	/*UtilSetParam(pAdapter,  , pData, Length);  EITAN TBD */
423864064216a8433360745f69edddce19a606659163The Android Open Source Project	return PARAM_NOT_SUPPORTED;
423964064216a8433360745f69edddce19a606659163The Android Open Source Project}
424064064216a8433360745f69edddce19a606659163The Android Open Source Project
424164064216a8433360745f69edddce19a606659163The Android Open Source Project
424264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
424364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetPrimaryBSSIDInfo
424464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
424564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
424664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
424764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
424864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetPrimaryBSSIDInfo(PTIWLN_ADAPTER_T pAdapter,
424964064216a8433360745f69edddce19a606659163The Android Open Source Project                       PUCHAR pData,
425064064216a8433360745f69edddce19a606659163The Android Open Source Project                       PULONG Length)
425164064216a8433360745f69edddce19a606659163The Android Open Source Project{
425264064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
425364064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
425464064216a8433360745f69edddce19a606659163The Android Open Source Project
425564064216a8433360745f69edddce19a606659163The Android Open Source Project	if ( *Length < sizeof(OS_802_11_BSSID_EX) )
425664064216a8433360745f69edddce19a606659163The Android Open Source Project    {
425764064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_ERROR, ("UtilGetPrimaryBSSIDInfo: ERROR Length is:%ld < %d\n",
425864064216a8433360745f69edddce19a606659163The Android Open Source Project                                         *Length, sizeof(OS_802_11_BSSID)) );
425964064216a8433360745f69edddce19a606659163The Android Open Source Project        return NOK;
426064064216a8433360745f69edddce19a606659163The Android Open Source Project    }
426164064216a8433360745f69edddce19a606659163The Android Open Source Project
426264064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramType = SITE_MGR_PRIMARY_SITE_PARAM;
426364064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = *Length;
426464064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.pSiteMgrSelectedSiteInfo = (OS_802_11_BSSID_EX*)pData;
426564064216a8433360745f69edddce19a606659163The Android Open Source Project    Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
426664064216a8433360745f69edddce19a606659163The Android Open Source Project
426764064216a8433360745f69edddce19a606659163The Android Open Source Project	if(Status != OK) {
426864064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_ERROR, (" UtilGetPrimaryBSSIDInfo: ERROR on return from get param SITE_MGR_PRIMARY_SITE_PARAM\n"));
426964064216a8433360745f69edddce19a606659163The Android Open Source Project    }
427064064216a8433360745f69edddce19a606659163The Android Open Source Project    else
427164064216a8433360745f69edddce19a606659163The Android Open Source Project    {
427264064216a8433360745f69edddce19a606659163The Android Open Source Project        *Length = Param.paramLength;
427364064216a8433360745f69edddce19a606659163The Android Open Source Project    }
427464064216a8433360745f69edddce19a606659163The Android Open Source Project
427564064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
427664064216a8433360745f69edddce19a606659163The Android Open Source Project}
427764064216a8433360745f69edddce19a606659163The Android Open Source Project
427864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
427964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetSelectedBSSIDInfo
428064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
428164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
428264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
428364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
428464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetSelectedBSSIDInfo(PTIWLN_ADAPTER_T pAdapter,
428564064216a8433360745f69edddce19a606659163The Android Open Source Project							   PUCHAR pData,
428664064216a8433360745f69edddce19a606659163The Android Open Source Project							   PULONG Length)
428764064216a8433360745f69edddce19a606659163The Android Open Source Project{
428864064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
428964064216a8433360745f69edddce19a606659163The Android Open Source Project	TI_STATUS Status;
429064064216a8433360745f69edddce19a606659163The Android Open Source Project
429164064216a8433360745f69edddce19a606659163The Android Open Source Project	if ( *Length < sizeof(OS_802_11_BSSID_EX) )
429264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
429364064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_ERROR, ("UtilGetSelectedBSSIDInfo: ERROR Length is:%ld < %d",
429464064216a8433360745f69edddce19a606659163The Android Open Source Project										 *Length, sizeof(OS_802_11_BSSID)) );
429564064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
429664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
429764064216a8433360745f69edddce19a606659163The Android Open Source Project
429864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = SITE_MGR_GET_SELECTED_BSSID_INFO;
429964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = *Length;
430064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.pSiteMgrPrimarySiteDesc = (OS_802_11_BSSID*)pData;
430164064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
430264064216a8433360745f69edddce19a606659163The Android Open Source Project
430364064216a8433360745f69edddce19a606659163The Android Open Source Project	if(Status != OK)
430464064216a8433360745f69edddce19a606659163The Android Open Source Project        {
430564064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_ERROR, (" UtilGetSelectedBSSIDInfo: ERROR on return from get param SITE_MGR_GET_SELECTED_BSSID_INFO"));
430664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
430764064216a8433360745f69edddce19a606659163The Android Open Source Project
430864064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
430964064216a8433360745f69edddce19a606659163The Android Open Source Project}
431064064216a8433360745f69edddce19a606659163The Android Open Source Project
431164064216a8433360745f69edddce19a606659163The Android Open Source Project
431264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
431364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilGetDriverState
431464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
431564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
431664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
431764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
431864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilGetDriverState (PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, PULONG Length)
431964064216a8433360745f69edddce19a606659163The Android Open Source Project{
432064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
432164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SME_SM_STATE_PARAM , pData, *Length);
432264064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
432364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
432464064216a8433360745f69edddce19a606659163The Android Open Source Project}
432564064216a8433360745f69edddce19a606659163The Android Open Source Project
432664064216a8433360745f69edddce19a606659163The Android Open Source Project
432764064216a8433360745f69edddce19a606659163The Android Open Source Project/*#ifdef NDIS51_MINIPORT*/
432864064216a8433360745f69edddce19a606659163The Android Open Source Project
432964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
433064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPrivacyFilterGet
433164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
433264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
433364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
433464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
433564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
433664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPrivacyFilterGet(
433764064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
433864064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
433964064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
434064064216a8433360745f69edddce19a606659163The Android Open Source Project					)
434164064216a8433360745f69edddce19a606659163The Android Open Source Project{
434264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG WepStatus,retValue,dataSize;
434364064216a8433360745f69edddce19a606659163The Android Open Source Project
434464064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
434564064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
434664064216a8433360745f69edddce19a606659163The Android Open Source Project
434764064216a8433360745f69edddce19a606659163The Android Open Source Project	dataSize = sizeof (ULONG);
434864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilWepStatusGet(pAdapter, (PUCHAR)&WepStatus, &dataSize);
434964064216a8433360745f69edddce19a606659163The Android Open Source Project
435064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (WepStatus)
435164064216a8433360745f69edddce19a606659163The Android Open Source Project	{
435264064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)pData = os802_11PrivFilterAcceptAll;
435364064216a8433360745f69edddce19a606659163The Android Open Source Project	} else
435464064216a8433360745f69edddce19a606659163The Android Open Source Project	{
435564064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)pData = os802_11PrivFilter8021xWEP;
435664064216a8433360745f69edddce19a606659163The Android Open Source Project	}
435764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof (ULONG);
435864064216a8433360745f69edddce19a606659163The Android Open Source Project
435964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
436064064216a8433360745f69edddce19a606659163The Android Open Source Project}
436164064216a8433360745f69edddce19a606659163The Android Open Source Project
436264064216a8433360745f69edddce19a606659163The Android Open Source Project
436364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
436464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPrivacyFilterSet
436564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
436664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
436764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
436864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
436964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
437064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPrivacyFilterSet(
437164064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
437264064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
437364064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
437464064216a8433360745f69edddce19a606659163The Android Open Source Project					)
437564064216a8433360745f69edddce19a606659163The Android Open Source Project{
437664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG WepStatus,dataSize,retValue;
437764064216a8433360745f69edddce19a606659163The Android Open Source Project
437864064216a8433360745f69edddce19a606659163The Android Open Source Project	dataSize = sizeof(ULONG);
437964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilWepStatusGet(pAdapter, (PUCHAR)&WepStatus, &dataSize);
438064064216a8433360745f69edddce19a606659163The Android Open Source Project
438164064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((WepStatus && (*(PULONG)pData == os802_11PrivFilter8021xWEP)) || (retValue != OK))
438264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;	/* was return -1 */
438364064216a8433360745f69edddce19a606659163The Android Open Source Project
438464064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((!WepStatus) && (retValue == OK))
438564064216a8433360745f69edddce19a606659163The Android Open Source Project	{
438664064216a8433360745f69edddce19a606659163The Android Open Source Project		*(PULONG)pData = 0;
438764064216a8433360745f69edddce19a606659163The Android Open Source Project		retValue = UtilSetParam(pAdapter, RX_DATA_EXCLUDE_UNENCRYPTED_PARAM, pData, sizeof(ULONG));
438864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
438964064216a8433360745f69edddce19a606659163The Android Open Source Project
439064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
439164064216a8433360745f69edddce19a606659163The Android Open Source Project}
439264064216a8433360745f69edddce19a606659163The Android Open Source Project
439364064216a8433360745f69edddce19a606659163The Android Open Source Project
439464064216a8433360745f69edddce19a606659163The Android Open Source Project
439564064216a8433360745f69edddce19a606659163The Android Open Source Project/*#endif*/
439664064216a8433360745f69edddce19a606659163The Android Open Source Project
439764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
439864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilReadReg
439964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
440064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
440164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
440264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
440364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
440464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilReadReg(
440564064216a8433360745f69edddce19a606659163The Android Open Source Project		   PTIWLN_ADAPTER_T pAdapter,
440664064216a8433360745f69edddce19a606659163The Android Open Source Project		   PUCHAR pData,
440764064216a8433360745f69edddce19a606659163The Android Open Source Project		   PULONG Length
440864064216a8433360745f69edddce19a606659163The Android Open Source Project		   )
440964064216a8433360745f69edddce19a606659163The Android Open Source Project{
441064064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_REG_RW * pReg;
441164064216a8433360745f69edddce19a606659163The Android Open Source Project
441264064216a8433360745f69edddce19a606659163The Android Open Source Project	pReg = (TIWLN_REG_RW *) pData;
441364064216a8433360745f69edddce19a606659163The Android Open Source Project
441464064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined(TNETW1150)
441564064216a8433360745f69edddce19a606659163The Android Open Source Project	if (pReg->regAddr >= 0x3C0000)
441664064216a8433360745f69edddce19a606659163The Android Open Source Project		pReg->regValue = configMgr_ReadPhyRegister(pAdapter->CoreHalCtx, pReg->regAddr);
441764064216a8433360745f69edddce19a606659163The Android Open Source Project	else
441864064216a8433360745f69edddce19a606659163The Android Open Source Project		pReg->regValue = configMgr_ReadMacRegister(pAdapter->CoreHalCtx, pReg->regAddr);
441964064216a8433360745f69edddce19a606659163The Android Open Source Project#else
442064064216a8433360745f69edddce19a606659163The Android Open Source Project	if (pReg->regAddr >= 0x1000)
442164064216a8433360745f69edddce19a606659163The Android Open Source Project		pReg->regValue = configMgr_ReadPhyRegister(pAdapter->CoreHalCtx, pReg->regAddr);
442264064216a8433360745f69edddce19a606659163The Android Open Source Project	else
442364064216a8433360745f69edddce19a606659163The Android Open Source Project		pReg->regValue = configMgr_ReadMacRegister(pAdapter->CoreHalCtx, pReg->regAddr);
442464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
442564064216a8433360745f69edddce19a606659163The Android Open Source Project
442664064216a8433360745f69edddce19a606659163The Android Open Source Project
442764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef __LINUX__
442864064216a8433360745f69edddce19a606659163The Android Open Source Project	print_info("Register %#x=%#x(%d)\n", pReg->regAddr, pReg->regValue, pReg->regValue );
442964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
443064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(TIWLN_REG_RW);
443164064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
443264064216a8433360745f69edddce19a606659163The Android Open Source Project}
443364064216a8433360745f69edddce19a606659163The Android Open Source Project
443464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
443564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilWriteReg
443664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
443764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
443864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
443964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
444064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
444164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilWriteReg(
444264064216a8433360745f69edddce19a606659163The Android Open Source Project			PTIWLN_ADAPTER_T pAdapter,
444364064216a8433360745f69edddce19a606659163The Android Open Source Project			PUCHAR pData,
444464064216a8433360745f69edddce19a606659163The Android Open Source Project			ULONG Length
444564064216a8433360745f69edddce19a606659163The Android Open Source Project			)
444664064216a8433360745f69edddce19a606659163The Android Open Source Project{
444764064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_REG_RW * pReg;
444864064216a8433360745f69edddce19a606659163The Android Open Source Project
444964064216a8433360745f69edddce19a606659163The Android Open Source Project	pReg = (TIWLN_REG_RW *) pData;
445064064216a8433360745f69edddce19a606659163The Android Open Source Project
445164064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined(TNETW1150)
445264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (pReg->regAddr >= 0x3C0000)
445364064216a8433360745f69edddce19a606659163The Android Open Source Project		configMgr_WritePhyRegister(pAdapter->CoreHalCtx, pReg->regAddr, pReg->regValue);
445464064216a8433360745f69edddce19a606659163The Android Open Source Project	else
445564064216a8433360745f69edddce19a606659163The Android Open Source Project		configMgr_WriteMacRegister(pAdapter->CoreHalCtx, pReg->regAddr, pReg->regValue);
445664064216a8433360745f69edddce19a606659163The Android Open Source Project#else
445764064216a8433360745f69edddce19a606659163The Android Open Source Project	if (pReg->regAddr >= 0x1000)
445864064216a8433360745f69edddce19a606659163The Android Open Source Project		configMgr_WritePhyRegister(pAdapter->CoreHalCtx, pReg->regAddr, pReg->regValue);
445964064216a8433360745f69edddce19a606659163The Android Open Source Project	else
446064064216a8433360745f69edddce19a606659163The Android Open Source Project		configMgr_WriteMacRegister(pAdapter->CoreHalCtx, pReg->regAddr, pReg->regValue);
446164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
446264064216a8433360745f69edddce19a606659163The Android Open Source Project
446364064216a8433360745f69edddce19a606659163The Android Open Source Project	return OK;
446464064216a8433360745f69edddce19a606659163The Android Open Source Project}
446564064216a8433360745f69edddce19a606659163The Android Open Source Project
446664064216a8433360745f69edddce19a606659163The Android Open Source Project
446764064216a8433360745f69edddce19a606659163The Android Open Source Project
446864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
446964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilDisassociate
447064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
447164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
447264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
447364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
447464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
447564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilDisassociate(
447664064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
447764064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
447864064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
447964064216a8433360745f69edddce19a606659163The Android Open Source Project				)
448064064216a8433360745f69edddce19a606659163The Android Open Source Project{
448164064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_802_11_SSID FakeSsid;
448264064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 loopIndex;
448364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
448464064216a8433360745f69edddce19a606659163The Android Open Source Project
448564064216a8433360745f69edddce19a606659163The Android Open Source Project	/*
448664064216a8433360745f69edddce19a606659163The Android Open Source Project	 * Clean up desired SSID value
448764064216a8433360745f69edddce19a606659163The Android Open Source Project	*/
448864064216a8433360745f69edddce19a606659163The Android Open Source Project	for (loopIndex = 0; loopIndex < MAX_SSID_LEN; loopIndex++)
448964064216a8433360745f69edddce19a606659163The Android Open Source Project		FakeSsid.Ssid[loopIndex] = (loopIndex+1);
449064064216a8433360745f69edddce19a606659163The Android Open Source Project
449164064216a8433360745f69edddce19a606659163The Android Open Source Project	FakeSsid.SsidLength = MAX_SSID_LEN;
449264064216a8433360745f69edddce19a606659163The Android Open Source Project
449364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetSSID(pAdapter, (PUCHAR)&FakeSsid, sizeof(OS_802_11_SSID));
449464064216a8433360745f69edddce19a606659163The Android Open Source Project
449564064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
449664064216a8433360745f69edddce19a606659163The Android Open Source Project}
449764064216a8433360745f69edddce19a606659163The Android Open Source Project
449864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
449964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilInfoCodeQueryInformation
450064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
450164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
450264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
450364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
450464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
450564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilInfoCodeQueryInformation(
450664064216a8433360745f69edddce19a606659163The Android Open Source Project							PTIWLN_ADAPTER_T pAdapter,
450764064216a8433360745f69edddce19a606659163The Android Open Source Project							PUCHAR pData,
450864064216a8433360745f69edddce19a606659163The Android Open Source Project							PULONG Length
450964064216a8433360745f69edddce19a606659163The Android Open Source Project							)
451064064216a8433360745f69edddce19a606659163The Android Open Source Project{
451164064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 InfoCode, retVal, PureInfoLength;
451264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG dataSize;
451364064216a8433360745f69edddce19a606659163The Android Open Source Project	PRINT(DBG_IOCTL_LOUD, "UtilInfoCodeQueryInformation\n");
451464064216a8433360745f69edddce19a606659163The Android Open Source Project
451564064216a8433360745f69edddce19a606659163The Android Open Source Project	retVal = OK;
451664064216a8433360745f69edddce19a606659163The Android Open Source Project
451764064216a8433360745f69edddce19a606659163The Android Open Source Project	if (*Length<sizeof(InfoCode))
451864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
451964064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = sizeof(ULONG);
452064064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
452164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
452264064216a8433360745f69edddce19a606659163The Android Open Source Project
452364064216a8433360745f69edddce19a606659163The Android Open Source Project	InfoCode = *((UINT32*)pData);
452464064216a8433360745f69edddce19a606659163The Android Open Source Project	#ifndef _WINDOWS
452564064216a8433360745f69edddce19a606659163The Android Open Source Project		PureInfoLength = *Length - sizeof(InfoCode);
452664064216a8433360745f69edddce19a606659163The Android Open Source Project	#else
452764064216a8433360745f69edddce19a606659163The Android Open Source Project	#endif
452864064216a8433360745f69edddce19a606659163The Android Open Source Project
452964064216a8433360745f69edddce19a606659163The Android Open Source Project	switch (InfoCode)
453064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
453164064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_TX_POWER_VALUE:
453264064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_TX_POWER_VALUE (100)\n");
453364064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilGetTxPowerValue(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM, pData, PureInfoLength);
453464064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
453564064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_NETWORK_TYPE:
453664064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_NETWORK_TYPE (101)\n");
453764064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = PureInfoLength;
453864064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilNetworkTypeInUseGet(pAdapter, pData, &dataSize);
453964064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
454064064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_AP_TX_POWER_LEVEL:
454164064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_AP_TX_POWER_LEVEL (102)\n");
454264064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilGetAPTxPowerLevel(pAdapter, SITE_MGR_AP_TX_POWER_PARAM, pData, PureInfoLength);
454364064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
454464064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_PACKET_BURSTING:
454564064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_PACKET_BURSTING (106)\n");
454664064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilGetPacketBursting(pAdapter, QOS_PACKET_BURST_ENABLE, pData, PureInfoLength);
454764064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
454864064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_MIXED_MODE:
454964064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = PureInfoLength;
455064064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilGetMixedMode(pAdapter, RSN_MIXED_MODE, pData, &dataSize);
455164064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
455264064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_DEFAULT_KEY_ID:
455364064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_DEFAULT_KEY_ID (110)\n");
455464064216a8433360745f69edddce19a606659163The Android Open Source Project		dataSize = PureInfoLength;
455564064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilGetDefaultKeyId(pAdapter, RSN_DEFAULT_KEY_ID, pData, &dataSize);
455664064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
455764064216a8433360745f69edddce19a606659163The Android Open Source Project	default:
455864064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case default\n");
455964064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
456064064216a8433360745f69edddce19a606659163The Android Open Source Project	}
456164064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = PureInfoLength;
456264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retVal;
456364064216a8433360745f69edddce19a606659163The Android Open Source Project}
456464064216a8433360745f69edddce19a606659163The Android Open Source Project
456564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
456664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilInfoCodeSetInformation
456764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
456864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
456964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
457064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
457164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
457264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilInfoCodeSetInformation(
457364064216a8433360745f69edddce19a606659163The Android Open Source Project						  PTIWLN_ADAPTER_T pAdapter,
457464064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
457564064216a8433360745f69edddce19a606659163The Android Open Source Project						  ULONG Length
457664064216a8433360745f69edddce19a606659163The Android Open Source Project						  )
457764064216a8433360745f69edddce19a606659163The Android Open Source Project{
457864064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 InfoCode, retVal, PureInfoLength;
457964064216a8433360745f69edddce19a606659163The Android Open Source Project
458064064216a8433360745f69edddce19a606659163The Android Open Source Project	PRINT(DBG_IOCTL_LOUD, "UtilInfoCodeSetInformation\n");
458164064216a8433360745f69edddce19a606659163The Android Open Source Project
458264064216a8433360745f69edddce19a606659163The Android Open Source Project	if (Length<sizeof(UINT32))
458364064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
458464064216a8433360745f69edddce19a606659163The Android Open Source Project
458564064216a8433360745f69edddce19a606659163The Android Open Source Project	InfoCode = *((UINT32*)pData);
458664064216a8433360745f69edddce19a606659163The Android Open Source Project	retVal = PureInfoLength = Length - sizeof(InfoCode);
458764064216a8433360745f69edddce19a606659163The Android Open Source Project
458864064216a8433360745f69edddce19a606659163The Android Open Source Project	switch (InfoCode)
458964064216a8433360745f69edddce19a606659163The Android Open Source Project	{
459064064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_TX_POWER_VALUE:
459164064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_TX_POWER_VALUE (100)\n");
459264064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilSetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM, pData+sizeof(InfoCode), PureInfoLength);
459364064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
459464064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_NETWORK_TYPE:
459564064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_NETWORK_TYPE (101)\n");
459664064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilNetworkTypeInUseSet(pAdapter, pData+sizeof(InfoCode), PureInfoLength);
459764064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
459864064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_PACKET_BURSTING:
459964064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case VAL_PACKET_BURSTING (106)\n");
460064064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilSetPacketBursting(pAdapter, pData+sizeof(InfoCode), PureInfoLength);
460164064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
460264064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_MIXED_MODE:
460364064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilSetMixedMode(pAdapter, pData+sizeof(InfoCode), PureInfoLength);
460464064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
460564064216a8433360745f69edddce19a606659163The Android Open Source Project	case VAL_DEFAULT_KEY_ID:
460664064216a8433360745f69edddce19a606659163The Android Open Source Project		retVal = UtilSetParam(pAdapter, RSN_DEFAULT_KEY_ID, pData+sizeof(InfoCode), PureInfoLength);
460764064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
460864064216a8433360745f69edddce19a606659163The Android Open Source Project	default:
460964064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINT(DBG_IOCTL_LOUD, "case default\n");
461064064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
461164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
461264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retVal;
461364064216a8433360745f69edddce19a606659163The Android Open Source Project}
461464064216a8433360745f69edddce19a606659163The Android Open Source Project
461564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS
461664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* _WINDOWS */
461764064216a8433360745f69edddce19a606659163The Android Open Source Project
461864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
461964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilTxPowerLevelDbmGet
462064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
462164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
462264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
462364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
462464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
462564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilTxPowerLevelDbmGet(
462664064216a8433360745f69edddce19a606659163The Android Open Source Project					  PTIWLN_ADAPTER_T pAdapter,
462764064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
462864064216a8433360745f69edddce19a606659163The Android Open Source Project					  PULONG Length
462964064216a8433360745f69edddce19a606659163The Android Open Source Project					  )
463064064216a8433360745f69edddce19a606659163The Android Open Source Project{
463164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
463264064216a8433360745f69edddce19a606659163The Android Open Source Project
463364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
463464064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
463564064216a8433360745f69edddce19a606659163The Android Open Source Project
463664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM, pData, sizeof(UINT8));
463764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(INT8);
463864064216a8433360745f69edddce19a606659163The Android Open Source Project
463964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
464064064216a8433360745f69edddce19a606659163The Android Open Source Project}
464164064216a8433360745f69edddce19a606659163The Android Open Source Project
464264064216a8433360745f69edddce19a606659163The Android Open Source Project
464364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
464464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilTxPowerLevelDbmSet
464564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
464664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
464764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
464864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
464964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
465064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilTxPowerLevelDbmSet(
465164064216a8433360745f69edddce19a606659163The Android Open Source Project					  PTIWLN_ADAPTER_T pAdapter,
465264064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
465364064216a8433360745f69edddce19a606659163The Android Open Source Project					  ULONG Length
465464064216a8433360745f69edddce19a606659163The Android Open Source Project					  )
465564064216a8433360745f69edddce19a606659163The Android Open Source Project{
465664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG mW, Dbm, power,retValue;
465764064216a8433360745f69edddce19a606659163The Android Open Source Project
465864064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
465964064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
466064064216a8433360745f69edddce19a606659163The Android Open Source Project
466164064216a8433360745f69edddce19a606659163The Android Open Source Project	mW = *(PULONG)pData;
466264064216a8433360745f69edddce19a606659163The Android Open Source Project
466364064216a8433360745f69edddce19a606659163The Android Open Source Project	for (power=1; mW/10; mW/=10, power++);
466464064216a8433360745f69edddce19a606659163The Android Open Source Project
466564064216a8433360745f69edddce19a606659163The Android Open Source Project	Dbm = 20 * power;
466664064216a8433360745f69edddce19a606659163The Android Open Source Project
466764064216a8433360745f69edddce19a606659163The Android Open Source Project
466864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, REGULATORY_DOMAIN_CURRENT_TX_POWER_IN_DBM_PARAM, (PUCHAR)&Dbm, sizeof(ULONG));
466964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
467064064216a8433360745f69edddce19a606659163The Android Open Source Project}
467164064216a8433360745f69edddce19a606659163The Android Open Source Project
467264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
467364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802EapTypeGet
467464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
467564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
467664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
467764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
467864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
467964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802EapTypeGet(
468064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
468164064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
468264064216a8433360745f69edddce19a606659163The Android Open Source Project				 PULONG Length
468364064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
468464064216a8433360745f69edddce19a606659163The Android Open Source Project{
468564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
468664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_EAP_TYPE, pData, sizeof(ULONG));
468764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
468864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
468964064216a8433360745f69edddce19a606659163The Android Open Source Project}
469064064216a8433360745f69edddce19a606659163The Android Open Source Project
469164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
469264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	Util802EapTypeSet
469364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
469464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
469564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
469664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
469764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
469864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtil802EapTypeSet(
469964064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
470064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
470164064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
470264064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
470364064216a8433360745f69edddce19a606659163The Android Open Source Project{
470464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
470564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, RSN_EAP_TYPE, pData, sizeof(ULONG));
470664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
470764064216a8433360745f69edddce19a606659163The Android Open Source Project}
470864064216a8433360745f69edddce19a606659163The Android Open Source Project
470964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef EXC_MODULE_INCLUDED
471064064216a8433360745f69edddce19a606659163The Android Open Source Project
471164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
471264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcConfigurationGet
471364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
471464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
471564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
471664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
471764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
471864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcConfigurationGet(
471964064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
472064064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
472164064216a8433360745f69edddce19a606659163The Android Open Source Project					   PULONG Length
472264064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
472364064216a8433360745f69edddce19a606659163The Android Open Source Project{
472464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
472564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, EXC_CONFIGURATION, pData, sizeof(ULONG));
472664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
472764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
472864064216a8433360745f69edddce19a606659163The Android Open Source Project}
472964064216a8433360745f69edddce19a606659163The Android Open Source Project
473064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
473164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcNetworkEapGet
473264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
473364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
473464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
473564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
473664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
473764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcNetworkEapGet(
473864064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
473964064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
474064064216a8433360745f69edddce19a606659163The Android Open Source Project					PULONG Length
474164064216a8433360745f69edddce19a606659163The Android Open Source Project					)
474264064216a8433360745f69edddce19a606659163The Android Open Source Project{
474364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
474464064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, RSN_EXC_NETWORK_EAP, pData, sizeof(ULONG));
474564064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(ULONG);
474664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
474764064216a8433360745f69edddce19a606659163The Android Open Source Project}
474864064216a8433360745f69edddce19a606659163The Android Open Source Project
474964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
475064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcConfigurationSet
475164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
475264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
475364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
475464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
475564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
475664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcConfigurationSet(
475764064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
475864064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
475964064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length
476064064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
476164064216a8433360745f69edddce19a606659163The Android Open Source Project{
476264064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
476364064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_CONFIGURATION, pData, sizeof(ULONG));
476464064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
476564064216a8433360745f69edddce19a606659163The Android Open Source Project}
476664064216a8433360745f69edddce19a606659163The Android Open Source Project
476764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
476864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcNetworkEapSet
476964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
477064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
477164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
477264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
477364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
477464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcNetworkEapSet(
477564064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
477664064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
477764064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
477864064216a8433360745f69edddce19a606659163The Android Open Source Project					)
477964064216a8433360745f69edddce19a606659163The Android Open Source Project{
478064064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
478164064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, RSN_EXC_NETWORK_EAP, pData, sizeof(ULONG));
478264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
478364064216a8433360745f69edddce19a606659163The Android Open Source Project}
478464064216a8433360745f69edddce19a606659163The Android Open Source Project
478564064216a8433360745f69edddce19a606659163The Android Open Source Project
478664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
478764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilExcRogueApDetectedSet
478864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
478964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
479064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
479164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
479264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
479364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcRogueApDetectedSet(
479464064216a8433360745f69edddce19a606659163The Android Open Source Project						 PTIWLN_ADAPTER_T pAdapter,
479564064216a8433360745f69edddce19a606659163The Android Open Source Project						 PUCHAR pData,
479664064216a8433360745f69edddce19a606659163The Android Open Source Project						 ULONG Length
479764064216a8433360745f69edddce19a606659163The Android Open Source Project						 )
479864064216a8433360745f69edddce19a606659163The Android Open Source Project{
479964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
480064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_ROGUE_AP_DETECTED, pData, sizeof(OS_EXC_ROGUE_AP_DETECTED));
480164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
480264064216a8433360745f69edddce19a606659163The Android Open Source Project}
480364064216a8433360745f69edddce19a606659163The Android Open Source Project
480464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
480564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcReportRogueApSet
480664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
480764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
480864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
480964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
481064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
481164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcReportRogueApSet(
481264064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
481364064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
481464064216a8433360745f69edddce19a606659163The Android Open Source Project					   ULONG Length
481564064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
481664064216a8433360745f69edddce19a606659163The Android Open Source Project{
481764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
481864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_REPORT_ROGUE_APS, pData, 0);
481964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
482064064216a8433360745f69edddce19a606659163The Android Open Source Project}
482164064216a8433360745f69edddce19a606659163The Android Open Source Project
482264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
482364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcAuthSuccessSet
482464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
482564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
482664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
482764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
482864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
482964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcAuthSuccessSet(
483064064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
483164064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
483264064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
483364064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
483464064216a8433360745f69edddce19a606659163The Android Open Source Project{
483564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
483664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_AUTH_SUCCESS, pData, sizeof(OS_EXC_AUTH_SUCCESS));
483764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
483864064216a8433360745f69edddce19a606659163The Android Open Source Project}
483964064216a8433360745f69edddce19a606659163The Android Open Source Project
484064064216a8433360745f69edddce19a606659163The Android Open Source Project
484164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
484264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcCckmRequestSet
484364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
484464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
484564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
484664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
484764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
484864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcCckmRequestSet(
484964064216a8433360745f69edddce19a606659163The Android Open Source Project					 PTIWLN_ADAPTER_T pAdapter,
485064064216a8433360745f69edddce19a606659163The Android Open Source Project					 PUCHAR pData,
485164064216a8433360745f69edddce19a606659163The Android Open Source Project					 ULONG Length
485264064216a8433360745f69edddce19a606659163The Android Open Source Project					 )
485364064216a8433360745f69edddce19a606659163The Android Open Source Project{
485464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
485564064216a8433360745f69edddce19a606659163The Android Open Source Project
485664064216a8433360745f69edddce19a606659163The Android Open Source Project	OS_EXC_CCKM_REQUEST *cckmRequest = (OS_EXC_CCKM_REQUEST*)pData;
485764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG reqLength = cckmRequest->AssociationRequestIELength+sizeof(cckmRequest->RequestCode)+sizeof(cckmRequest->AssociationRequestIELength);
485864064216a8433360745f69edddce19a606659163The Android Open Source Project
485964064216a8433360745f69edddce19a606659163The Android Open Source Project	PRINTF(DBG_IOCTL_LOUD, ("UtilExcCckmRequestSet, In Length = %d, Required Length=%d\n",
486064064216a8433360745f69edddce19a606659163The Android Open Source Project							(int) Length, (int) reqLength));
486164064216a8433360745f69edddce19a606659163The Android Open Source Project
486264064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((cckmRequest==NULL) || (reqLength > Length))
486364064216a8433360745f69edddce19a606659163The Android Open Source Project	{
486464064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_IOCTL_LOUD, ("UtilExcCckmRequestSet, wrong size or pointer, In Length = %d, Required Length=%d\n",
486564064216a8433360745f69edddce19a606659163The Android Open Source Project								(int) Length, (int) reqLength));
486664064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
486764064216a8433360745f69edddce19a606659163The Android Open Source Project	}
486864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_CCKM_REQUEST, pData, reqLength);
486964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
487064064216a8433360745f69edddce19a606659163The Android Open Source Project}
487164064216a8433360745f69edddce19a606659163The Android Open Source Project
487264064216a8433360745f69edddce19a606659163The Android Open Source Project
487364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
487464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilExcCckmResultSet
487564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
487664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
487764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
487864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
487964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
488064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilExcCckmResultSet(
488164064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
488264064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
488364064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
488464064216a8433360745f69edddce19a606659163The Android Open Source Project					)
488564064216a8433360745f69edddce19a606659163The Android Open Source Project{
488664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
488764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, EXC_CCKM_RESULT, pData, sizeof(ULONG));
488864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
488964064216a8433360745f69edddce19a606659163The Android Open Source Project}
489064064216a8433360745f69edddce19a606659163The Android Open Source Project
489164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* EXC_MODULE_INCLUDED */
489264064216a8433360745f69edddce19a606659163The Android Open Source Project
489364064216a8433360745f69edddce19a606659163The Android Open Source Project
489464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
489564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilGetMACAddress
489664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
489764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
489864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
489964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
490064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
490164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilGetMACAddress(
490264064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
490364064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
490464064216a8433360745f69edddce19a606659163The Android Open Source Project				 PULONG Length
490564064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
490664064216a8433360745f69edddce19a606659163The Android Open Source Project{
490764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
490864064216a8433360745f69edddce19a606659163The Android Open Source Project
490964064216a8433360745f69edddce19a606659163The Android Open Source Project	if ((*Length) < MAC_ADDR_LEN)
491064064216a8433360745f69edddce19a606659163The Android Open Source Project	{
491164064216a8433360745f69edddce19a606659163The Android Open Source Project		*Length = MAC_ADDR_LEN;
491264064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
491364064216a8433360745f69edddce19a606659163The Android Open Source Project	}
491464064216a8433360745f69edddce19a606659163The Android Open Source Project
491564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, CTRL_DATA_MAC_ADDRESS, pData, MAC_ADDR_LEN);
491664064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = MAC_ADDR_LEN;
491764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
491864064216a8433360745f69edddce19a606659163The Android Open Source Project}
491964064216a8433360745f69edddce19a606659163The Android Open Source Project
492064064216a8433360745f69edddce19a606659163The Android Open Source Project
492164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
492264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilConfigRoamingParamsSet
492364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
492464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
492564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
492664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
492764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
492864064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilConfigRoamingParamsSet(
492964064216a8433360745f69edddce19a606659163The Android Open Source Project						  PTIWLN_ADAPTER_T pAdapter,
493064064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
493164064216a8433360745f69edddce19a606659163The Android Open Source Project						  ULONG Length
493264064216a8433360745f69edddce19a606659163The Android Open Source Project						  )
493364064216a8433360745f69edddce19a606659163The Android Open Source Project{
493464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
493564064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer_t applicationConfigBuffer;
493664064216a8433360745f69edddce19a606659163The Android Open Source Project
493764064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer.buffer = pData;
493864064216a8433360745f69edddce19a606659163The Android Open Source Project	applicationConfigBuffer.bufferSize = (UINT16)Length;
493964064216a8433360745f69edddce19a606659163The Android Open Source Project
494064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, ROAMING_MNGR_APPLICATION_CONFIGURATION, (PUCHAR)&applicationConfigBuffer, sizeof(applicationConfigBuffer_t));
494164064216a8433360745f69edddce19a606659163The Android Open Source Project
494264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
494364064216a8433360745f69edddce19a606659163The Android Open Source Project}
494464064216a8433360745f69edddce19a606659163The Android Open Source Project
494564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
494664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilConfigRoamingParamsGet
494764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
494864064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
494964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
495064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
495164064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
495264064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilConfigRoamingParamsGet(
495364064216a8433360745f69edddce19a606659163The Android Open Source Project						  PTIWLN_ADAPTER_T pAdapter,
495464064216a8433360745f69edddce19a606659163The Android Open Source Project						  PUCHAR pData,
495564064216a8433360745f69edddce19a606659163The Android Open Source Project						  PULONG Length
495664064216a8433360745f69edddce19a606659163The Android Open Source Project						  )
495764064216a8433360745f69edddce19a606659163The Android Open Source Project{
495864064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
495964064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, ROAMING_MNGR_APPLICATION_CONFIGURATION, pData, *Length);
496064064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
496164064216a8433360745f69edddce19a606659163The Android Open Source Project}
496264064216a8433360745f69edddce19a606659163The Android Open Source Project
496364064216a8433360745f69edddce19a606659163The Android Open Source Project
496464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
496564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilMeasurementEnableDisableParamsSet
496664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
496764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
496864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
496964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
497064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
497164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilMeasurementEnableDisableParamsSet(
497264064216a8433360745f69edddce19a606659163The Android Open Source Project									 PTIWLN_ADAPTER_T pAdapter,
497364064216a8433360745f69edddce19a606659163The Android Open Source Project									 PUCHAR pData,
497464064216a8433360745f69edddce19a606659163The Android Open Source Project									 ULONG Length
497564064216a8433360745f69edddce19a606659163The Android Open Source Project									 )
497664064216a8433360745f69edddce19a606659163The Android Open Source Project{
497764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
497864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, MEASUREMENT_ENABLE_DISABLE_PARAM, pData, Length);
497964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
498064064216a8433360745f69edddce19a606659163The Android Open Source Project}
498164064216a8433360745f69edddce19a606659163The Android Open Source Project
498264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
498364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilMeasurementMaxDurationParamsSet
498464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
498564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
498664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
498764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
498864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
498964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilMeasurementMaxDurationParamsSet(
499064064216a8433360745f69edddce19a606659163The Android Open Source Project								   PTIWLN_ADAPTER_T pAdapter,
499164064216a8433360745f69edddce19a606659163The Android Open Source Project								   PUCHAR pData,
499264064216a8433360745f69edddce19a606659163The Android Open Source Project								   ULONG Length
499364064216a8433360745f69edddce19a606659163The Android Open Source Project								   )
499464064216a8433360745f69edddce19a606659163The Android Open Source Project{
499564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
499664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, MEASUREMENT_MAX_DURATION_PARAM, pData, sizeof(UINT32));
499764064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
499864064216a8433360745f69edddce19a606659163The Android Open Source Project}
499964064216a8433360745f69edddce19a606659163The Android Open Source Project
500064064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
500164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilEarlyWakeupIeGet
500264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
500364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
500464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
500564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
500664064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
500764064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilEarlyWakeupIeGet(
500864064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
500964064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
501064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PULONG Length
501164064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
501264064216a8433360745f69edddce19a606659163The Android Open Source Project{
501364064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
501464064216a8433360745f69edddce19a606659163The Android Open Source Project
501564064216a8433360745f69edddce19a606659163The Android Open Source Project	if (!Length)
501664064216a8433360745f69edddce19a606659163The Android Open Source Project		return NOK;
501764064216a8433360745f69edddce19a606659163The Android Open Source Project
501864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, HAL_CTRL_EARLY_WAKEUP, pData, sizeof(UINT8));
501964064216a8433360745f69edddce19a606659163The Android Open Source Project
502064064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = sizeof(UINT8);
502164064216a8433360745f69edddce19a606659163The Android Open Source Project
502264064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
502364064216a8433360745f69edddce19a606659163The Android Open Source Project}
502464064216a8433360745f69edddce19a606659163The Android Open Source Project
502564064216a8433360745f69edddce19a606659163The Android Open Source Project
502664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
502764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilEarlyWakeupIeSet
502864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
502964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
503064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
503164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
503264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
503364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilEarlyWakeupIeSet(
503464064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
503564064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
503664064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
503764064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
503864064216a8433360745f69edddce19a606659163The Android Open Source Project{
503964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
504064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_EARLY_WAKEUP, pData, sizeof(ULONG));
504164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
504264064216a8433360745f69edddce19a606659163The Android Open Source Project}
504364064216a8433360745f69edddce19a606659163The Android Open Source Project
504464064216a8433360745f69edddce19a606659163The Android Open Source Project
504564064216a8433360745f69edddce19a606659163The Android Open Source Project
504664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
504764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilBthWlanCoeEnable
504864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
504964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
505064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
505164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
505264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
505364064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBthWlanCoeEnable(
505464064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
505564064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
505664064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
505764064216a8433360745f69edddce19a606659163The Android Open Source Project					)
505864064216a8433360745f69edddce19a606659163The Android Open Source Project{
505964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
506064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SOFT_GEMINI_SET_ENABLE, pData, sizeof(ULONG));
506164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
506264064216a8433360745f69edddce19a606659163The Android Open Source Project}
506364064216a8433360745f69edddce19a606659163The Android Open Source Project
506464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
506564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilBthWlanCoeRate
506664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
506764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
506864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
506964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
507064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
507164064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBthWlanCoeRate(
507264064216a8433360745f69edddce19a606659163The Android Open Source Project				  PTIWLN_ADAPTER_T pAdapter,
507364064216a8433360745f69edddce19a606659163The Android Open Source Project				  PUCHAR pData,
507464064216a8433360745f69edddce19a606659163The Android Open Source Project				  ULONG Length
507564064216a8433360745f69edddce19a606659163The Android Open Source Project				  )
507664064216a8433360745f69edddce19a606659163The Android Open Source Project{
507764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
507864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SOFT_GEMINI_SET_RATE, pData, sizeof(ULONG)*NUM_OF_RATES_IN_SG);
507964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
508064064216a8433360745f69edddce19a606659163The Android Open Source Project}
508164064216a8433360745f69edddce19a606659163The Android Open Source Project
508264064216a8433360745f69edddce19a606659163The Android Open Source Project
508364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
508464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilBthWlanCoeConfig
508564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
508664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
508764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
508864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
508964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
509064064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBthWlanCoeConfig(
509164064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
509264064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
509364064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
509464064216a8433360745f69edddce19a606659163The Android Open Source Project					)
509564064216a8433360745f69edddce19a606659163The Android Open Source Project{
509664064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
509764064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, SOFT_GEMINI_SET_CONFIG, pData, sizeof(ULONG) * NUM_OF_CONFIG_PARAMS_IN_SG);
509864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
509964064216a8433360745f69edddce19a606659163The Android Open Source Project}
510064064216a8433360745f69edddce19a606659163The Android Open Source Project
510164064216a8433360745f69edddce19a606659163The Android Open Source Project
510264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
510364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilBthWlanCoeGetStatus
510464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
510564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
510664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
510764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
510864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
510964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilBthWlanCoeGetStatus(
511064064216a8433360745f69edddce19a606659163The Android Open Source Project					   PTIWLN_ADAPTER_T pAdapter,
511164064216a8433360745f69edddce19a606659163The Android Open Source Project					   PUCHAR pData,
511264064216a8433360745f69edddce19a606659163The Android Open Source Project					   PULONG Length
511364064216a8433360745f69edddce19a606659163The Android Open Source Project					   )
511464064216a8433360745f69edddce19a606659163The Android Open Source Project{
511564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
511664064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilGetParam(pAdapter, SOFT_GEMINI_GET_STATUS, pData, 0);
511764064216a8433360745f69edddce19a606659163The Android Open Source Project	*Length = 0;
511864064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
511964064216a8433360745f69edddce19a606659163The Android Open Source Project}
512064064216a8433360745f69edddce19a606659163The Android Open Source Project
512164064216a8433360745f69edddce19a606659163The Android Open Source Project
512264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
512364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltRxPerStart
512464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
512564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
512664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
512764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
512864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
512964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltRxPerStart(
513064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
513164064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
513264064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
513364064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
513464064216a8433360745f69edddce19a606659163The Android Open Source Project{
513564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
513664064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t interogateCmdCBParams;
513764064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
513864064216a8433360745f69edddce19a606659163The Android Open Source Project
513964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
514064064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
514164064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_Func    =  NULL;
514264064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_buf     =  NULL;
514364064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, HAL_CTRL_PLT_RX_PER_START, (PUCHAR)&interogateCmdCBParams, sizeof(interogateCmdCBParams));
514464064216a8433360745f69edddce19a606659163The Android Open Source Project
514564064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
514664064216a8433360745f69edddce19a606659163The Android Open Source Project}
514764064216a8433360745f69edddce19a606659163The Android Open Source Project
514864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
514964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltRxPerStop
515064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
515164064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
515264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
515364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
515464064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
515564064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltRxPerStop(
515664064216a8433360745f69edddce19a606659163The Android Open Source Project				PTIWLN_ADAPTER_T pAdapter,
515764064216a8433360745f69edddce19a606659163The Android Open Source Project				PUCHAR pData,
515864064216a8433360745f69edddce19a606659163The Android Open Source Project				ULONG Length
515964064216a8433360745f69edddce19a606659163The Android Open Source Project				)
516064064216a8433360745f69edddce19a606659163The Android Open Source Project{
516164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
516264064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t interogateCmdCBParams;
516364064216a8433360745f69edddce19a606659163The Android Open Source Project
516464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
516564064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
516664064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_Func    =  NULL;
516764064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_buf     =  NULL;
516864064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, HAL_CTRL_PLT_RX_PER_STOP, (PUCHAR)&interogateCmdCBParams, sizeof(interogateCmdCBParams));
516964064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
517064064216a8433360745f69edddce19a606659163The Android Open Source Project}
517164064216a8433360745f69edddce19a606659163The Android Open Source Project
517264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
517364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltRxPerClear
517464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
517564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
517664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
517764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
517864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
517964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltRxPerClear(
518064064216a8433360745f69edddce19a606659163The Android Open Source Project				 PTIWLN_ADAPTER_T pAdapter,
518164064216a8433360745f69edddce19a606659163The Android Open Source Project				 PUCHAR pData,
518264064216a8433360745f69edddce19a606659163The Android Open Source Project				 ULONG Length
518364064216a8433360745f69edddce19a606659163The Android Open Source Project				 )
518464064216a8433360745f69edddce19a606659163The Android Open Source Project{
518564064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
518664064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t interogateCmdCBParams;
518764064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
518864064216a8433360745f69edddce19a606659163The Android Open Source Project
518964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
519064064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
519164064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_Func    =  NULL;
519264064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_buf     =  NULL;
519364064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, HAL_CTRL_PLT_RX_PER_CLEAR, (PUCHAR)&interogateCmdCBParams, sizeof(interogateCmdCBParams));
519464064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
519564064216a8433360745f69edddce19a606659163The Android Open Source Project}
519664064216a8433360745f69edddce19a606659163The Android Open Source Project
519764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
519864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltRxPerGetResults
519964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
520064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
520164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
520264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
520364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
520464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltRxPerGetResults(
520564064216a8433360745f69edddce19a606659163The Android Open Source Project					  PTIWLN_ADAPTER_T pAdapter,
520664064216a8433360745f69edddce19a606659163The Android Open Source Project					  PUCHAR pData,
520764064216a8433360745f69edddce19a606659163The Android Open Source Project					  PULONG pLength
520864064216a8433360745f69edddce19a606659163The Android Open Source Project					  )
520964064216a8433360745f69edddce19a606659163The Android Open Source Project{
521064064216a8433360745f69edddce19a606659163The Android Open Source Project
521164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
521264064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
521364064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t* pInterogateCmdCBParams = &Param.content.interogateCmdCBParams;
521464064216a8433360745f69edddce19a606659163The Android Open Source Project
521564064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
521664064216a8433360745f69edddce19a606659163The Android Open Source Project
521764064216a8433360745f69edddce19a606659163The Android Open Source Project	/* To implement the Async IOCTL store the user buffer pointer to be filled at
521864064216a8433360745f69edddce19a606659163The Android Open Source Project	the Command Completion calback */
521964064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  pData;
522064064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  pLength ;
522164064216a8433360745f69edddce19a606659163The Android Open Source Project
522264064216a8433360745f69edddce19a606659163The Android Open Source Project
522364064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
522464064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_handle  =  (TI_HANDLE)pAdapter;
522564064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_Func    =  (PVOID)UtilPltRxPerCB;
522664064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_buf     =  &(pAdapter->IoCompleteBuff[0]);
522764064216a8433360745f69edddce19a606659163The Android Open Source Project
522864064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_PLT_RX_PER_GET_RESULTS;
522964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(interogateCmdCBParams_t);
523064064216a8433360745f69edddce19a606659163The Android Open Source Project
523164064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
523264064216a8433360745f69edddce19a606659163The Android Open Source Project
523364064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
523464064216a8433360745f69edddce19a606659163The Android Open Source Project}
523564064216a8433360745f69edddce19a606659163The Android Open Source Project
523664064216a8433360745f69edddce19a606659163The Android Open Source Project
523764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
523864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPltRxPerCB
523964064216a8433360745f69edddce19a606659163The Android Open Source Project
524064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  PltRX command been
524164064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW.
524264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
524364064216a8433360745f69edddce19a606659163The Android Open Source Project
524464064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
524564064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
524664064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID UtilPltRxPerCB(TI_HANDLE hAdapter,TI_STATUS status,PUINT8 pReadBuff)
524764064216a8433360745f69edddce19a606659163The Android Open Source Project{
524864064216a8433360745f69edddce19a606659163The Android Open Source Project	HwMboxCmdBit_RxPer_t* pRxPer =  (HwMboxCmdBit_RxPer_t* )pReadBuff;
524964064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T)hAdapter;
525064064216a8433360745f69edddce19a606659163The Android Open Source Project
525164064216a8433360745f69edddce19a606659163The Android Open Source Project	if (pRxPer->CB_RxPerCmd == PLT_RX_PER_GETRESULTS)
525264064216a8433360745f69edddce19a606659163The Android Open Source Project	{
525364064216a8433360745f69edddce19a606659163The Android Open Source Project		*(pAdapter->pIoCompleteBuffSize) = sizeof(pRxPer->PltRxPer);
525464064216a8433360745f69edddce19a606659163The Android Open Source Project		os_memoryCopy(hAdapter, (void*)&(pAdapter->pIoBuffer[0]) ,(void*) &(pRxPer->PltRxPer) , *(pAdapter->pIoCompleteBuffSize));
525564064216a8433360745f69edddce19a606659163The Android Open Source Project		/* Call back the Completion that will indicate to the user that the buffer is ready to be read */
525664064216a8433360745f69edddce19a606659163The Android Open Source Project		os_IoctlComplete(pAdapter, status);
525764064216a8433360745f69edddce19a606659163The Android Open Source Project
525864064216a8433360745f69edddce19a606659163The Android Open Source Project	}
525964064216a8433360745f69edddce19a606659163The Android Open Source Project}
526064064216a8433360745f69edddce19a606659163The Android Open Source Project
526164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
526264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltTxCW
526364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
526464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
526564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
526664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
526764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltTxCW(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
526864064216a8433360745f69edddce19a606659163The Android Open Source Project{
526964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
527064064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_PLT_TX_CW, pData, Length);
527164064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
527264064216a8433360745f69edddce19a606659163The Android Open Source Project}
527364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
527464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltTxContinues
527564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
527664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
527764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
527864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
527964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltTxContinues(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
528064064216a8433360745f69edddce19a606659163The Android Open Source Project{
528164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
528264064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_PLT_TX_CONTINUES, pData, Length);
528364064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
528464064216a8433360745f69edddce19a606659163The Android Open Source Project}
528564064216a8433360745f69edddce19a606659163The Android Open Source Project
528664064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
528764064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltTxStop
528864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
528964064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
529064064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
529164064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
529264064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltTxStop(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
529364064216a8433360745f69edddce19a606659163The Android Open Source Project{
529464064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
529564064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_PLT_TX_STOP, pData, 0);
529664064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
529764064216a8433360745f69edddce19a606659163The Android Open Source Project}
529864064216a8433360745f69edddce19a606659163The Android Open Source Project
529964064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
530064064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltWriteMib
530164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
530264064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
530364064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
530464064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
530564064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltWriteMib(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, ULONG Length)
530664064216a8433360745f69edddce19a606659163The Android Open Source Project{
530764064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG retValue;
530864064216a8433360745f69edddce19a606659163The Android Open Source Project	retValue = UtilSetParam(pAdapter, HAL_CTRL_PLT_WRITE_MIB, pData, Length);
530964064216a8433360745f69edddce19a606659163The Android Open Source Project	return retValue;
531064064216a8433360745f69edddce19a606659163The Android Open Source Project}
531164064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
531264064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltReadMib
531364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
531464064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
531564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
531664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
531764064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltReadMib(PTIWLN_ADAPTER_T pAdapter, PUCHAR pData, PULONG pOutLength, ULONG InLength)
531864064216a8433360745f69edddce19a606659163The Android Open Source Project{
531964064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
532064064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
532164064216a8433360745f69edddce19a606659163The Android Open Source Project
532264064216a8433360745f69edddce19a606659163The Android Open Source Project	/* To implement the Async IOCTL store the user buffer pointer to be filled at
532364064216a8433360745f69edddce19a606659163The Android Open Source Project	the Command Completion calback */
532464064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  pData;
532564064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  pOutLength;
532664064216a8433360745f69edddce19a606659163The Android Open Source Project
532764064216a8433360745f69edddce19a606659163The Android Open Source Project	os_memoryCopy((TI_HANDLE)pAdapter, (PVOID)pAdapter->IoCompleteBuff, pData, InLength);
532864064216a8433360745f69edddce19a606659163The Android Open Source Project
532964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
533064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
533164064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_Func  =  (PVOID)UtilPltReadMibCB;
533264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.content.interogateCmdCBParams.CB_buf  =  pAdapter->IoCompleteBuff;
533364064216a8433360745f69edddce19a606659163The Android Open Source Project
533464064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_PLT_READ_MIB;
533564064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(interogateCmdCBParams_t);
533664064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
533764064216a8433360745f69edddce19a606659163The Android Open Source Project
533864064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
533964064216a8433360745f69edddce19a606659163The Android Open Source Project}
534064064216a8433360745f69edddce19a606659163The Android Open Source Project
534164064216a8433360745f69edddce19a606659163The Android Open Source Project
534264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
534364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPltReadMibCB
534464064216a8433360745f69edddce19a606659163The Android Open Source Project
534564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  PltReadRegister command been
534664064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW.
534764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
534864064216a8433360745f69edddce19a606659163The Android Open Source Project
534964064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
535064064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
535164064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID UtilPltReadMibCB(TI_HANDLE hAdapter,TI_STATUS status,PUINT8 pReadBuff)
535264064216a8433360745f69edddce19a606659163The Android Open Source Project{
535364064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T)hAdapter;
535464064216a8433360745f69edddce19a606659163The Android Open Source Project	PLT_MIB_t* pReturnMib = (PLT_MIB_t*)pAdapter->pIoBuffer;
535564064216a8433360745f69edddce19a606659163The Android Open Source Project	tiBOOL IsAsync = TRUE;
535664064216a8433360745f69edddce19a606659163The Android Open Source Project
535764064216a8433360745f69edddce19a606659163The Android Open Source Project	switch (pReturnMib->aMib)
535864064216a8433360745f69edddce19a606659163The Android Open Source Project	{
535964064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_dot11StationId:
536064064216a8433360745f69edddce19a606659163The Android Open Source Project		{
536164064216a8433360745f69edddce19a606659163The Android Open Source Project			dot11StationIDStruct* pdot11StationID = (dot11StationIDStruct*)pReadBuff;
536264064216a8433360745f69edddce19a606659163The Android Open Source Project			pReturnMib->Length = sizeof(pReturnMib->aData.StationId);
536364064216a8433360745f69edddce19a606659163The Android Open Source Project			os_memoryCopy(hAdapter, (PVOID)pReturnMib->aData.StationId.addr, (PVOID)pdot11StationID->dot11StationID, sizeof(pReturnMib->aData.StationId));
536464064216a8433360745f69edddce19a606659163The Android Open Source Project		}
536564064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
536664064216a8433360745f69edddce19a606659163The Android Open Source Project
536764064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_countersTable:
536864064216a8433360745f69edddce19a606659163The Android Open Source Project		{
536964064216a8433360745f69edddce19a606659163The Android Open Source Project			ACXErrorCounters_t* pACXErrorCounters = (ACXErrorCounters_t*)pReadBuff;
537064064216a8433360745f69edddce19a606659163The Android Open Source Project			pReturnMib->Length = sizeof(pReturnMib->aData.CounterTable);
537164064216a8433360745f69edddce19a606659163The Android Open Source Project			pReturnMib->aData.CounterTable.FCSErrorCount = pACXErrorCounters->FCSErrorCount;
537264064216a8433360745f69edddce19a606659163The Android Open Source Project			pReturnMib->aData.CounterTable.PLCPErrorCount = pACXErrorCounters->PLCPErrorCount;
537364064216a8433360745f69edddce19a606659163The Android Open Source Project		}
537464064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
537564064216a8433360745f69edddce19a606659163The Android Open Source Project
537664064216a8433360745f69edddce19a606659163The Android Open Source Project		/* MIBs with data which is already in pReadBuff and in the correct form. */
537764064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_ctsToSelf:
537864064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_dot11MaxReceiveLifetime:
537964064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_dot11GroupAddressesTable:
538064064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_arpIpAddressesTable:
538164064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_rxFilter:
538264064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_templateFrame:
538364064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_beaconFilterIETable:
538464064216a8433360745f69edddce19a606659163The Android Open Source Project	case PLT_MIB_txRatePolicy:
538564064216a8433360745f69edddce19a606659163The Android Open Source Project		IsAsync = FALSE;
538664064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_LOUD, ("UtilPltReadMibCB:MIB aMib 0x%x \n",pReturnMib->aMib));
538764064216a8433360745f69edddce19a606659163The Android Open Source Project		os_memoryCopy(hAdapter, (PVOID)pAdapter->pIoBuffer, (PVOID)pAdapter->IoCompleteBuff, sizeof(PLT_MIB_t));
538864064216a8433360745f69edddce19a606659163The Android Open Source Project		break;
538964064216a8433360745f69edddce19a606659163The Android Open Source Project	default:
539064064216a8433360745f69edddce19a606659163The Android Open Source Project		PRINTF(DBG_NDIS_OIDS_LOUD, ("UtilPltReadMibCB:MIB aMib 0x%x Not supported\n",pReturnMib->aMib));
539164064216a8433360745f69edddce19a606659163The Android Open Source Project	}
539264064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Call back the Completion that will indicate to the user that the buffer is ready to be read */
539364064216a8433360745f69edddce19a606659163The Android Open Source Project	if (IsAsync)
539464064216a8433360745f69edddce19a606659163The Android Open Source Project		os_IoctlComplete(pAdapter, status);
539564064216a8433360745f69edddce19a606659163The Android Open Source Project}
539664064216a8433360745f69edddce19a606659163The Android Open Source Project
539764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
539864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltReadRegister
539964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
540064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
540164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
540264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
540364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
540464064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltReadRegister(
540564064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
540664064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
540764064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG Length
540864064216a8433360745f69edddce19a606659163The Android Open Source Project				   )
540964064216a8433360745f69edddce19a606659163The Android Open Source Project{
541064064216a8433360745f69edddce19a606659163The Android Open Source Project
541164064216a8433360745f69edddce19a606659163The Android Open Source Project	ULONG Status;
541264064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
541364064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t* pInterogateCmdCBParams = &Param.content.interogateCmdCBParams;
541464064216a8433360745f69edddce19a606659163The Android Open Source Project	ReadWriteCommand_t* pReadWriteCommandStruct = (ReadWriteCommand_t*)pAdapter->IoCompleteBuff;
541564064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32* pRegAdress = (UINT32*)pData;
541664064216a8433360745f69edddce19a606659163The Android Open Source Project
541764064216a8433360745f69edddce19a606659163The Android Open Source Project	/* To implement the Async IOCTL store the user buffer pointer to be filled at
541864064216a8433360745f69edddce19a606659163The Android Open Source Project	the Command Completion calback */
541964064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  pData;
542064064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  Length ;
542164064216a8433360745f69edddce19a606659163The Android Open Source Project
542264064216a8433360745f69edddce19a606659163The Android Open Source Project	memset(&(pAdapter->IoCompleteBuff[0]) , 0xFF , MAX_IO_BUFFER_COMPLETE_SIZE );
542364064216a8433360745f69edddce19a606659163The Android Open Source Project	pReadWriteCommandStruct->addr = *pRegAdress;
542464064216a8433360745f69edddce19a606659163The Android Open Source Project	pReadWriteCommandStruct->size = 4;
542564064216a8433360745f69edddce19a606659163The Android Open Source Project
542664064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
542764064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_handle  =  (TI_HANDLE)pAdapter;
542864064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_Func    =  (PVOID)UtilPltReadRegisterCB;
542964064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_buf     =  &(pAdapter->IoCompleteBuff[0]) ;
543064064216a8433360745f69edddce19a606659163The Android Open Source Project
543164064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_PLT_READ_REGISTER;
543264064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(interogateCmdCBParams_t);
543364064216a8433360745f69edddce19a606659163The Android Open Source Project
543464064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = configMgr_getParam(pAdapter->CoreHalCtx, &Param);
543564064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
543664064216a8433360745f69edddce19a606659163The Android Open Source Project}
543764064216a8433360745f69edddce19a606659163The Android Open Source Project
543864064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
543964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPltReadRegisterCB
544064064216a8433360745f69edddce19a606659163The Android Open Source Project
544164064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  PltReadRegister command been
544264064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW.
544364064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
544464064216a8433360745f69edddce19a606659163The Android Open Source Project
544564064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
544664064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
544764064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID UtilPltReadRegisterCB(TI_HANDLE hAdapter,TI_STATUS status,PUINT8 pReadBuff)
544864064216a8433360745f69edddce19a606659163The Android Open Source Project{
544964064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T)hAdapter;
545064064216a8433360745f69edddce19a606659163The Android Open Source Project	ReadWriteCommand_t* pReadWriteCommandStruct = (ReadWriteCommand_t*)pReadBuff;
545164064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32* pRegDataReturn = (UINT32*)pAdapter->pIoBuffer;
545264064216a8433360745f69edddce19a606659163The Android Open Source Project
545364064216a8433360745f69edddce19a606659163The Android Open Source Project	*(pAdapter->pIoCompleteBuffSize) = sizeof(INT32);
545464064216a8433360745f69edddce19a606659163The Android Open Source Project
545564064216a8433360745f69edddce19a606659163The Android Open Source Project	/*Convert the returned data structure from ReadWriteCommandStruct to UINT32*/
545664064216a8433360745f69edddce19a606659163The Android Open Source Project	os_memoryCopy(hAdapter, (PVOID)pRegDataReturn, (PVOID)pReadWriteCommandStruct->value, sizeof(UINT32));
545764064216a8433360745f69edddce19a606659163The Android Open Source Project
545864064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Call back the Completion that will indicate to the user that the buffer is ready to be read */
545964064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
546064064216a8433360745f69edddce19a606659163The Android Open Source Project}
546164064216a8433360745f69edddce19a606659163The Android Open Source Project
546264064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
546364064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltWriteRegister
546464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
546564064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
546664064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
546764064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
546864064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG
546964064216a8433360745f69edddce19a606659163The Android Open Source ProjectUtilPltWriteRegister(
547064064216a8433360745f69edddce19a606659163The Android Open Source Project					PTIWLN_ADAPTER_T pAdapter,
547164064216a8433360745f69edddce19a606659163The Android Open Source Project					PUCHAR pData,
547264064216a8433360745f69edddce19a606659163The Android Open Source Project					ULONG Length
547364064216a8433360745f69edddce19a606659163The Android Open Source Project					)
547464064216a8433360745f69edddce19a606659163The Android Open Source Project{
547564064216a8433360745f69edddce19a606659163The Android Open Source Project	ReadWriteCommand_t* pReadWriteCommandStruct = (ReadWriteCommand_t*)pAdapter->IoCompleteBuff;
547664064216a8433360745f69edddce19a606659163The Android Open Source Project	TIWLN_REG_RW* pReg = (TIWLN_REG_RW*)pData;
547764064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t interogateCmdCBParams;
547864064216a8433360745f69edddce19a606659163The Android Open Source Project	UINT32 Status;
547964064216a8433360745f69edddce19a606659163The Android Open Source Project
548064064216a8433360745f69edddce19a606659163The Android Open Source Project
548164064216a8433360745f69edddce19a606659163The Android Open Source Project	pReadWriteCommandStruct->addr = pReg->regAddr;
548264064216a8433360745f69edddce19a606659163The Android Open Source Project	pReadWriteCommandStruct->size = pReg->regSize;
548364064216a8433360745f69edddce19a606659163The Android Open Source Project	os_memoryCopy((TI_HANDLE)pAdapter, (PVOID)pReadWriteCommandStruct->value, (PVOID)&pReg->regValue, pReadWriteCommandStruct->size);
548464064216a8433360745f69edddce19a606659163The Android Open Source Project
548564064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
548664064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_handle  =  (TI_HANDLE)pAdapter;
548764064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_Func    =  NULL;
548864064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams.CB_buf     =  pAdapter->IoCompleteBuff;
548964064216a8433360745f69edddce19a606659163The Android Open Source Project	Status = UtilSetParam(pAdapter, HAL_CTRL_PLT_WRITE_REGISTER, (PUCHAR)&interogateCmdCBParams, sizeof(interogateCmdCBParams));
549064064216a8433360745f69edddce19a606659163The Android Open Source Project	return Status;
549164064216a8433360745f69edddce19a606659163The Android Open Source Project}
549264064216a8433360745f69edddce19a606659163The Android Open Source Project
549364064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
549464064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: utilPltRxTxCal
549564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
549664064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
549764064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
549864064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
549964064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltRxTxCal(
550064064216a8433360745f69edddce19a606659163The Android Open Source Project				   PTIWLN_ADAPTER_T pAdapter,
550164064216a8433360745f69edddce19a606659163The Android Open Source Project				   PUCHAR pData,
550264064216a8433360745f69edddce19a606659163The Android Open Source Project				   PULONG pOutLength,
550364064216a8433360745f69edddce19a606659163The Android Open Source Project				   ULONG  InLength)
550464064216a8433360745f69edddce19a606659163The Android Open Source Project
550564064216a8433360745f69edddce19a606659163The Android Open Source Project{
550664064216a8433360745f69edddce19a606659163The Android Open Source Project	paramInfo_t Param;
550764064216a8433360745f69edddce19a606659163The Android Open Source Project	interogateCmdCBParams_t* pInterogateCmdCBParams = &Param.content.interogateCmdCBParams;
550864064216a8433360745f69edddce19a606659163The Android Open Source Project
550964064216a8433360745f69edddce19a606659163The Android Open Source Project	/* To implement the Async IOCTL store the user buffer pointer to be filled at
551064064216a8433360745f69edddce19a606659163The Android Open Source Project	the Command Completion callback */
551164064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoBuffer =  (PUINT8)pData;
551264064216a8433360745f69edddce19a606659163The Android Open Source Project	pAdapter->pIoCompleteBuffSize =  pOutLength;
551364064216a8433360745f69edddce19a606659163The Android Open Source Project
551464064216a8433360745f69edddce19a606659163The Android Open Source Project	/* Fill the IOCTL struct to the Command Mailbox by giving a stack parameter */
551564064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_handle  =  (TI_HANDLE)pAdapter;
551664064216a8433360745f69edddce19a606659163The Android Open Source Project	pInterogateCmdCBParams->CB_Func    =  (PVOID)UtilPltRxTxCalCB;
551764064216a8433360745f69edddce19a606659163The Android Open Source Project    pInterogateCmdCBParams->CB_buf     = pAdapter->pIoBuffer;
551864064216a8433360745f69edddce19a606659163The Android Open Source Project
551964064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramType = HAL_CTRL_PLT_RX_TX_CAL;
552064064216a8433360745f69edddce19a606659163The Android Open Source Project	Param.paramLength = sizeof(interogateCmdCBParams_t);
552164064216a8433360745f69edddce19a606659163The Android Open Source Project
552264064216a8433360745f69edddce19a606659163The Android Open Source Project	return configMgr_getParam(pAdapter->CoreHalCtx, &Param);
552364064216a8433360745f69edddce19a606659163The Android Open Source Project}
552464064216a8433360745f69edddce19a606659163The Android Open Source Project
552564064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
552664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name:	UtilPltRxTxCalCB
552764064216a8433360745f69edddce19a606659163The Android Open Source Project
552864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description: This is the CB triggered when  utilPltRxTxCal command been
552964064216a8433360745f69edddce19a606659163The Android Open Source Project					returned by FW.
553064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:          pReadBuff - Should return the TestCmd_t
553164064216a8433360745f69edddce19a606659163The Android Open Source Project
553264064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
553364064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
553464064216a8433360745f69edddce19a606659163The Android Open Source ProjectVOID UtilPltRxTxCalCB(TI_HANDLE hAdapter,TI_STATUS status,PUINT8 pReadBuff)
553564064216a8433360745f69edddce19a606659163The Android Open Source Project{
553664064216a8433360745f69edddce19a606659163The Android Open Source Project	PTIWLN_ADAPTER_T pAdapter = (PTIWLN_ADAPTER_T)hAdapter;
553764064216a8433360745f69edddce19a606659163The Android Open Source Project
553864064216a8433360745f69edddce19a606659163The Android Open Source Project    *(pAdapter->pIoCompleteBuffSize) = sizeof(TestCmd_t);
553964064216a8433360745f69edddce19a606659163The Android Open Source Project
554064064216a8433360745f69edddce19a606659163The Android Open Source Project     /* Call back the Completion that will indicate to the user that the buffer is ready to be read */
554164064216a8433360745f69edddce19a606659163The Android Open Source Project	os_IoctlComplete(pAdapter, status);
554264064216a8433360745f69edddce19a606659163The Android Open Source Project}
554364064216a8433360745f69edddce19a606659163The Android Open Source Project
554464064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
554564064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: UtilPltRxCal
554664064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
554764064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
554864064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
554964064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
555064064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG UtilPltRxCal(
555164064216a8433360745f69edddce19a606659163The Android Open Source Project                   PTIWLN_ADAPTER_T pAdapter,
555264064216a8433360745f69edddce19a606659163The Android Open Source Project                   PUCHAR pData,
555364064216a8433360745f69edddce19a606659163The Android Open Source Project                   PULONG pOutLength,
555464064216a8433360745f69edddce19a606659163The Android Open Source Project                   ULONG InLength)
555564064216a8433360745f69edddce19a606659163The Android Open Source Project{
555664064216a8433360745f69edddce19a606659163The Android Open Source Project    whalParamInfo_t Param;
555764064216a8433360745f69edddce19a606659163The Android Open Source Project
555864064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramType = HAL_CTRL_PLT_RX_TX_CAL;
555964064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramLength = sizeof(TestCmd_t*);
556064064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_Func = NULL;
556164064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_handle = NULL;
556264064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.content.interogateCmdCBParams.CB_buf = (PUINT8)pData;
556364064216a8433360745f69edddce19a606659163The Android Open Source Project
556464064216a8433360745f69edddce19a606659163The Android Open Source Project    return configMgr_getParam(pAdapter->CoreHalCtx, (paramInfo_t*)&Param);
556564064216a8433360745f69edddce19a606659163The Android Open Source Project}
556664064216a8433360745f69edddce19a606659163The Android Open Source Project
556764064216a8433360745f69edddce19a606659163The Android Open Source Project/*-----------------------------------------------------------------------------
556864064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Name: utilRxCalibrationStatus
556964064216a8433360745f69edddce19a606659163The Android Open Source ProjectRoutine Description:
557064064216a8433360745f69edddce19a606659163The Android Open Source ProjectArguments:
557164064216a8433360745f69edddce19a606659163The Android Open Source ProjectReturn Value:
557264064216a8433360745f69edddce19a606659163The Android Open Source Project-----------------------------------------------------------------------------*/
557364064216a8433360745f69edddce19a606659163The Android Open Source ProjectULONG utilRxCalibrationStatus(
557464064216a8433360745f69edddce19a606659163The Android Open Source Project                   PTIWLN_ADAPTER_T pAdapter,
557564064216a8433360745f69edddce19a606659163The Android Open Source Project                   PUCHAR pData,
557664064216a8433360745f69edddce19a606659163The Android Open Source Project                   PULONG pOutLength,
557764064216a8433360745f69edddce19a606659163The Android Open Source Project                   ULONG  InLength)
557864064216a8433360745f69edddce19a606659163The Android Open Source Project{
557964064216a8433360745f69edddce19a606659163The Android Open Source Project    whalParamInfo_t Param;
558064064216a8433360745f69edddce19a606659163The Android Open Source Project    ULONG status;
558164064216a8433360745f69edddce19a606659163The Android Open Source Project
558264064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramType = HAL_CTRL_PLT_RX_CAL_STATUS;
558364064216a8433360745f69edddce19a606659163The Android Open Source Project    Param.paramLength = sizeof(TI_STATUS);
558464064216a8433360745f69edddce19a606659163The Android Open Source Project
558564064216a8433360745f69edddce19a606659163The Android Open Source Project    status = configMgr_getParam(pAdapter->CoreHalCtx, (paramInfo_t*)&Param);
558664064216a8433360745f69edddce19a606659163The Android Open Source Project
558764064216a8433360745f69edddce19a606659163The Android Open Source Project    *pData = Param.content.PltRxCalibrationStatus;
558864064216a8433360745f69edddce19a606659163The Android Open Source Project
558964064216a8433360745f69edddce19a606659163The Android Open Source Project    return status;
559064064216a8433360745f69edddce19a606659163The Android Open Source Project}
5591