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#ifndef PUBLIC_COMMANDS_H
3764064216a8433360745f69edddce19a606659163The Android Open Source Project#define PUBLIC_COMMANDS_H
3864064216a8433360745f69edddce19a606659163The Android Open Source Project
3964064216a8433360745f69edddce19a606659163The Android Open Source Project
4064064216a8433360745f69edddce19a606659163The Android Open Source Project#include "public_types.h"
4164064216a8433360745f69edddce19a606659163The Android Open Source Project#include "public_radio.h"
4264064216a8433360745f69edddce19a606659163The Android Open Source Project
4364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
4464064216a8433360745f69edddce19a606659163The Android Open Source Project{
4564064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_RESET           = 0,
4664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_INTERROGATE     = 1,    /*use this to read information elements*/
4764064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_CONFIGURE       = 2,    /*use this to write information elements*/
4864064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_ENABLE_RX       = 3,
4964064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_ENABLE_TX       = 4,
5064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_DISABLE_RX      = 5,
5164064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_DISABLE_TX      = 6,
5264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_SCAN            = 8,
5364064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STOP_SCAN       = 9,
5464064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_VBM             = 10,
5564064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_START_JOIN      = 11,
5664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_SET_KEYS        = 12,
5764064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_READ_MEMORY     = 13,
5864064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_WRITE_MEMORY    = 14,
5964064216a8433360745f69edddce19a606659163The Android Open Source Project
6064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_BEACON          = 19,
6164064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_PROBE_RESP      = 20,
6264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_NULL_DATA       = 21,
6364064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_PROBE_REQ       = 22,
6464064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_TEST            = 23,
6564064216a8433360745f69edddce19a606659163The Android Open Source Project
6664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_RADIO_CALIBRATE     = 25,   /* OBSOLETE !!!*/
6764064216a8433360745f69edddce19a606659163The Android Open Source Project
6864064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_ENABLE_RX_PATH      = 27,   /* OBSOLETE !!! (what is the difference from CMD_ENABLE_RX)*/
6964064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_NOISE_HIST      = 28,
7064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_RX_RESET        = 29,
7164064216a8433360745f69edddce19a606659163The Android Open Source Project
7264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_PS_POLL         = 30,
7364064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_QOS_NULL_DATA   = 31,
7464064216a8433360745f69edddce19a606659163The Android Open Source Project
7564064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_LNA_CONTROL     = 32,
7664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_SET_BCN_MODE    = 33,
7764064216a8433360745f69edddce19a606659163The Android Open Source Project
7864064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_MEASUREMENT      = 34,
7964064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STOP_MEASUREMENT = 35,
8064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_DISCONNECT       = 36,
8164064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_SET_PS_MODE      = 37,
8264064216a8433360745f69edddce19a606659163The Android Open Source Project
8364064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_CHANNEL_SWITCH   = 38,
8464064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STOP_CHANNEL_SWICTH = 39,
8564064216a8433360745f69edddce19a606659163The Android Open Source Project
8664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_AP_DISCOVERY     = 40,
8764064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STOP_AP_DISCOVERY = 41,
8864064216a8433360745f69edddce19a606659163The Android Open Source Project
8964064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_SPS_SCAN = 42,
9064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STOP_SPS_SCAN = 43,
9164064216a8433360745f69edddce19a606659163The Android Open Source Project
9264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_HEALTH_CHECK     = 45,
9364064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_DEBUG            = 46,
9464064216a8433360745f69edddce19a606659163The Android Open Source Project	CMD_TRIGGER_SCAN_TO  = 47,
9564064216a8433360745f69edddce19a606659163The Android Open Source Project
9664064216a8433360745f69edddce19a606659163The Android Open Source ProjectNUM_COMMANDS,
9764064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_COMMAND_ID = 0xFFFF
9864064216a8433360745f69edddce19a606659163The Android Open Source Project} Command_enum;
9964064216a8433360745f69edddce19a606659163The Android Open Source Project
10064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
10164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 Command_e;
10264064216a8433360745f69edddce19a606659163The Android Open Source Project#else
10364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef Command_enum Command_e;
10464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
10564064216a8433360745f69edddce19a606659163The Android Open Source Project
10664064216a8433360745f69edddce19a606659163The Android Open Source Project
10764064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
10864064216a8433360745f69edddce19a606659163The Android Open Source Project
10964064216a8433360745f69edddce19a606659163The Android Open Source Project#define 	CMD_MAILBOX_IDLE               		0
11064064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_SUCCESS             		1
11164064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_UNKNOWN_CMD         		2
11264064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_UNKNOWN_IE          		3
11364064216a8433360745f69edddce19a606659163The Android Open Source Project#define		CMD_STATUS_REJECT_MEAS_SG_ACTIVE 	11
11464064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_RX_BUSY             		13
11564064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_INVALID_PARAM       		14
11664064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_TEMPLATE_TOO_LARGE  		15
11764064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_OUT_OF_MEMORY       		16
11864064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_STA_TABLE_FULL      		17
11964064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_RADIO_ERROR         		18
12064064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_WRONG_NESTING       		19
12164064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_TIMEOUT             		21 /* Driver internal use.*/
12264064216a8433360745f69edddce19a606659163The Android Open Source Project#define     CMD_STATUS_FW_RESET            		22 /* Driver internal use.*/
12364064216a8433360745f69edddce19a606659163The Android Open Source Project#define     MAX_COMMAND_STATUS             		MAX_POSITIVE16
12464064216a8433360745f69edddce19a606659163The Android Open Source Project
12564064216a8433360745f69edddce19a606659163The Android Open Source Project#else
12664064216a8433360745f69edddce19a606659163The Android Open Source Project
12764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
12864064216a8433360745f69edddce19a606659163The Android Open Source Project{
12964064216a8433360745f69edddce19a606659163The Android Open Source Project	CMD_MAILBOX_IDLE              		=  0,
13064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_SUCCESS            		=  1,
13164064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_UNKNOWN_CMD        		=  2,
13264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_UNKNOWN_IE         		=  3,
13364064216a8433360745f69edddce19a606659163The Android Open Source Project	CMD_STATUS_REJECT_MEAS_SG_ACTIVE 	= 11,
13464064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_RX_BUSY            		= 13,
13564064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_INVALID_PARAM      		= 14,
13664064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_TEMPLATE_TOO_LARGE 		= 15,
13764064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_OUT_OF_MEMORY      		= 16,
13864064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_STA_TABLE_FULL     		= 17,
13964064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_RADIO_ERROR        		= 18,
14064064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_WRONG_NESTING      		= 19,
14164064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_TIMEOUT            		= 21, /* Driver internal use.*/
14264064216a8433360745f69edddce19a606659163The Android Open Source Project    CMD_STATUS_FW_RESET           		= 22, /* Driver internal use.*/
14364064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_COMMAND_STATUS            		= MAX_POSITIVE16
14464064216a8433360745f69edddce19a606659163The Android Open Source Project} CommandStatus_enum;
14564064216a8433360745f69edddce19a606659163The Android Open Source Project
14664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
14764064216a8433360745f69edddce19a606659163The Android Open Source Project
14864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
14964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 CommandStatus_e;
15064064216a8433360745f69edddce19a606659163The Android Open Source Project#else
15164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef CommandStatus_enum CommandStatus_e;
15264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
15364064216a8433360745f69edddce19a606659163The Android Open Source Project
15464064216a8433360745f69edddce19a606659163The Android Open Source Project
15564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef FW_RUNNING_AS_STA
15664064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_CMD_PARAMS 572
15764064216a8433360745f69edddce19a606659163The Android Open Source Project#else
15864064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_CMD_PARAMS 384
15964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
16064064216a8433360745f69edddce19a606659163The Android Open Source Project
16164064216a8433360745f69edddce19a606659163The Android Open Source Project#define DEBUG_INDICATOR      0x8000
16264064216a8433360745f69edddce19a606659163The Android Open Source Project
16364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
16464064216a8433360745f69edddce19a606659163The Android Open Source Project{
16564064216a8433360745f69edddce19a606659163The Android Open Source Project    Command_e cmdID;
16664064216a8433360745f69edddce19a606659163The Android Open Source Project    CommandStatus_e cmdStatus;
16764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 parameters[MAX_CMD_PARAMS];
16864064216a8433360745f69edddce19a606659163The Android Open Source Project} Command_t;
16964064216a8433360745f69edddce19a606659163The Android Open Source Project
17064064216a8433360745f69edddce19a606659163The Android Open Source Project
17164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
17264064216a8433360745f69edddce19a606659163The Android Open Source Project
17364064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_RESET
17464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command resets all state machines in the WiLink to their power
17564064216a8433360745f69edddce19a606659163The Android Open Source Project	          up state and restarts the eCPU. This command has no parameters. After
17664064216a8433360745f69edddce19a606659163The Android Open Source Project			  issuing this command, the host must reconfigure the adapter before
17764064216a8433360745f69edddce19a606659163The Android Open Source Project			  normal operations resume.
17864064216a8433360745f69edddce19a606659163The Android Open Source Project	          In general, the host should only use this command if the WiLink has
17964064216a8433360745f69edddce19a606659163The Android Open Source Project			  stopped functioning properly.
18064064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
18164064216a8433360745f69edddce19a606659163The Android Open Source Project	Note:     The WiLink does not return a response/status message for this command.
18264064216a8433360745f69edddce19a606659163The Android Open Source Project
18364064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
18464064216a8433360745f69edddce19a606659163The Android Open Source Project
18564064216a8433360745f69edddce19a606659163The Android Open Source Project
18664064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
18764064216a8433360745f69edddce19a606659163The Android Open Source Project
18864064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_INTERROGATE
18964064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command requests an information element from the WiLink. The
19064064216a8433360745f69edddce19a606659163The Android Open Source Project	          interface for this command is somewhat different from other commands
19164064216a8433360745f69edddce19a606659163The Android Open Source Project			  since the interface is bi-directional and asymmetric.
19264064216a8433360745f69edddce19a606659163The Android Open Source Project	          The host structure consists of the Command ID, a Command Status
19364064216a8433360745f69edddce19a606659163The Android Open Source Project			  (returned by WiLink) place holder, and the Information Element Heading
19464064216a8433360745f69edddce19a606659163The Android Open Source Project			  (ID and expected length).
19564064216a8433360745f69edddce19a606659163The Android Open Source Project	          The response to that command is a buffer of the information element's
19664064216a8433360745f69edddce19a606659163The Android Open Source Project			  actual values returned by the WiLink just after the command is issued.
19764064216a8433360745f69edddce19a606659163The Android Open Source Project			  The response to that command is a buffer of the information element's
19864064216a8433360745f69edddce19a606659163The Android Open Source Project              actual values returned by the WiLink just after the command is issued.
19964064216a8433360745f69edddce19a606659163The Android Open Source Project	Params:	  InfoElement_t - see below.
20064064216a8433360745f69edddce19a606659163The Android Open Source Project
20164064216a8433360745f69edddce19a606659163The Android Open Source Project
20264064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
20364064216a8433360745f69edddce19a606659163The Android Open Source Project/*
20464064216a8433360745f69edddce19a606659163The Android Open Source ProjectDescription of InfoElement structure - defined in "public_infoele.h"
20564064216a8433360745f69edddce19a606659163The Android Open Source Projectoffset	length	source	description
20664064216a8433360745f69edddce19a606659163The Android Open Source Project======	======	======	===========
20764064216a8433360745f69edddce19a606659163The Android Open Source Project0		2		host	Information Element ID - contains the ID of the requested
20864064216a8433360745f69edddce19a606659163The Android Open Source Project                        information element (refer to InfoElement_enum in
20964064216a8433360745f69edddce19a606659163The Android Open Source Project						pblic_infoele.h). In response to this command, the WiLink
21064064216a8433360745f69edddce19a606659163The Android Open Source Project						writes the requested information element to the response area
21164064216a8433360745f69edddce19a606659163The Android Open Source Project						for the command mailbox.
21264064216a8433360745f69edddce19a606659163The Android Open Source Project2		4		wilink	Length - the length of the response (different for each IE
21364064216a8433360745f69edddce19a606659163The Android Open Source Project						according to definitions in public_infoele.h).
21464064216a8433360745f69edddce19a606659163The Android Open Source Project4       Length	wilink  IE payload according to definition in public_infoele.h.
21564064216a8433360745f69edddce19a606659163The Android Open Source Project*/
21664064216a8433360745f69edddce19a606659163The Android Open Source Project
21764064216a8433360745f69edddce19a606659163The Android Open Source Project
21864064216a8433360745f69edddce19a606659163The Android Open Source Project
21964064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
22064064216a8433360745f69edddce19a606659163The Android Open Source Project
22164064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_CONFIGURE
22264064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command configures an information element in the WiLink.
22364064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  InfoElement_t - see below.
22464064216a8433360745f69edddce19a606659163The Android Open Source Project
22564064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
22664064216a8433360745f69edddce19a606659163The Android Open Source Project/*
22764064216a8433360745f69edddce19a606659163The Android Open Source ProjectDescription of InfoElement structure - defined in "public_infoele.h"
22864064216a8433360745f69edddce19a606659163The Android Open Source Projectoffset	length	source	description
22964064216a8433360745f69edddce19a606659163The Android Open Source Project======	======	======	===========
23064064216a8433360745f69edddce19a606659163The Android Open Source Project0		2		host	Information Element ID - contains the ID of the requested
23164064216a8433360745f69edddce19a606659163The Android Open Source Project                        information element (refer to InfoElement_enum in
23264064216a8433360745f69edddce19a606659163The Android Open Source Project						pblic_infoele.h). In response to this command, the WiLink
23364064216a8433360745f69edddce19a606659163The Android Open Source Project						writes the requested information element to the response area
23464064216a8433360745f69edddce19a606659163The Android Open Source Project						for the command mailbox.
23564064216a8433360745f69edddce19a606659163The Android Open Source Project2		4		host	Length - the length of the response (different for each IE
23664064216a8433360745f69edddce19a606659163The Android Open Source Project						according to definitions in public_infoele.h).
23764064216a8433360745f69edddce19a606659163The Android Open Source Project4       Length	host    IE payload according to definition in public_infoele.h.
23864064216a8433360745f69edddce19a606659163The Android Open Source Project*/
23964064216a8433360745f69edddce19a606659163The Android Open Source Project
24064064216a8433360745f69edddce19a606659163The Android Open Source Project
24164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
24264064216a8433360745f69edddce19a606659163The Android Open Source Project
24364064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_ENABLE_RX
24464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command enables the normal reception of frames.
24564064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  Channel Number - this field indicates the radio channel on which to
24664064216a8433360745f69edddce19a606659163The Android Open Source Project	                           receive data. This parameter also sets the channel on
24764064216a8433360745f69edddce19a606659163The Android Open Source Project							   which to transmit. The last channel number used,
24864064216a8433360745f69edddce19a606659163The Android Open Source Project							   regardless of the order in which the ENABLE_RX and
24964064216a8433360745f69edddce19a606659163The Android Open Source Project							   ENABLE_TX commands are issued, is the channel number
25064064216a8433360745f69edddce19a606659163The Android Open Source Project							   for both RX and TX. This command must be issued after
25164064216a8433360745f69edddce19a606659163The Android Open Source Project							   the host has set all necessary configuration elements
25264064216a8433360745f69edddce19a606659163The Android Open Source Project							   appropriately.
25364064216a8433360745f69edddce19a606659163The Android Open Source Project
25464064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
25564064216a8433360745f69edddce19a606659163The Android Open Source Project
25664064216a8433360745f69edddce19a606659163The Android Open Source Project
25764064216a8433360745f69edddce19a606659163The Android Open Source Project
25864064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
25964064216a8433360745f69edddce19a606659163The Android Open Source Project
26064064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_ENABLE_TX
26164064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command enables the normal transmission of frames.
26264064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  Channel Number - this field indicates the radio channel on which to
26364064216a8433360745f69edddce19a606659163The Android Open Source Project	                           transmit data. This parameter also sets the channel on
26464064216a8433360745f69edddce19a606659163The Android Open Source Project							   which to receive. The last channel number used,
26564064216a8433360745f69edddce19a606659163The Android Open Source Project							   regardless of the order in which the ENABLE_RX and
26664064216a8433360745f69edddce19a606659163The Android Open Source Project							   ENABLE_TX commands are issued, is the channel number
26764064216a8433360745f69edddce19a606659163The Android Open Source Project							   for both RX and TX. This command must be issued after
26864064216a8433360745f69edddce19a606659163The Android Open Source Project							   the host has set all necessary configuration elements
26964064216a8433360745f69edddce19a606659163The Android Open Source Project							   appropriately.
27064064216a8433360745f69edddce19a606659163The Android Open Source Project
27164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
27264064216a8433360745f69edddce19a606659163The Android Open Source Project
27364064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
27464064216a8433360745f69edddce19a606659163The Android Open Source Project
27564064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_DISABLE_RX
27664064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command disables the normal reception of packets over the
27764064216a8433360745f69edddce19a606659163The Android Open Source Project	          Baseband interface.
27864064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None
27964064216a8433360745f69edddce19a606659163The Android Open Source Project
28064064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
28164064216a8433360745f69edddce19a606659163The Android Open Source Project
28264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
28364064216a8433360745f69edddce19a606659163The Android Open Source Project
28464064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_DISABLE_TX
28564064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command disables the normal transmission of frames.
28664064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
28764064216a8433360745f69edddce19a606659163The Android Open Source Project
28864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
28964064216a8433360745f69edddce19a606659163The Android Open Source Project
29064064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
29164064216a8433360745f69edddce19a606659163The Android Open Source Project
29264064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_SCAN
29364064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to scan for BSS/IBSSs. The host
29464064216a8433360745f69edddce19a606659163The Android Open Source Project			  may perform either an active scan or a passive scan. During an active
29564064216a8433360745f69edddce19a606659163The Android Open Source Project			  scan, the WiLink transmits a probe request on the specified channel(s)
29664064216a8433360745f69edddce19a606659163The Android Open Source Project			  and then listens for beacon/probe responses. During a passive scan, the
29764064216a8433360745f69edddce19a606659163The Android Open Source Project			  WiLink monitors the specified channel(s) for beacons.
29864064216a8433360745f69edddce19a606659163The Android Open Source Project	          The WiLink sends SCAN_COMPLETE event to notify the host when it has
29964064216a8433360745f69edddce19a606659163The Android Open Source Project			  completed a scan.
30064064216a8433360745f69edddce19a606659163The Android Open Source Project	Params:	  ScanParameters_t - see below
30164064216a8433360745f69edddce19a606659163The Android Open Source Project
30264064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
30364064216a8433360745f69edddce19a606659163The Android Open Source Project/*
30464064216a8433360745f69edddce19a606659163The Android Open Source ProjectOffset	Length	Definition
30564064216a8433360745f69edddce19a606659163The Android Open Source Project0		8		RX filters for Scan (refer to ACXRxConfigStruct)
30664064216a8433360745f69edddce19a606659163The Android Open Source Project8		2		Scan options (Band select, Voice mode and Scan type = Active/Passive)
30764064216a8433360745f69edddce19a606659163The Android Open Source Project10		1		NumChannels
30864064216a8433360745f69edddce19a606659163The Android Open Source Project11		1		Number of Probe requests (used for Active scan)
30964064216a8433360745f69edddce19a606659163The Android Open Source Project12		2		Probe request rate & modulation
31064064216a8433360745f69edddce19a606659163The Android Open Source Project14		1		AC trigger (for Voice mode only)
31164064216a8433360745f69edddce19a606659163The Android Open Source Project15		1		SSID length
31264064216a8433360745f69edddce19a606659163The Android Open Source Project16		32		SSID string (Null terminated)
31364064216a8433360745f69edddce19a606659163The Android Open Source Project48		2		Channel [0] ScanMinDuration
31464064216a8433360745f69edddce19a606659163The Android Open Source Project50		2		Channel [0] ScanMaxDuration
31564064216a8433360745f69edddce19a606659163The Android Open Source Project52		6		Channel [0] BSSID (4 bytes LOW and 2 bytes HIGH)
31664064216a8433360745f69edddce19a606659163The Android Open Source Project58		1		Channel [0].bit0-3: Early Termination count. Bit 4-5: Condition
31764064216a8433360745f69edddce19a606659163The Android Open Source Project59		1		Channel [0] TX power level for Scan (0 means do not change - other values:1-5)
31864064216a8433360745f69edddce19a606659163The Android Open Source Project60		1		Channel [0] Channel
31964064216a8433360745f69edddce19a606659163The Android Open Source Project61		3		Channel [0] Reserved
32064064216a8433360745f69edddce19a606659163The Android Open Source Project64-404	340		Optional Channel [1] - Channel [15] - same format as Channel [0] fields above.
32164064216a8433360745f69edddce19a606659163The Android Open Source Project*/
32264064216a8433360745f69edddce19a606659163The Android Open Source Project
32364064216a8433360745f69edddce19a606659163The Android Open Source Project/* Defines for Rx "ConfigOptions".*/
32464064216a8433360745f69edddce19a606659163The Android Open Source Project/* Only bits 2-10 can be configured by the Driver".*/
32564064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_SERIAL           BIT_0    /* 0 = use parallel interface,         1 = use serial interface from ACX101- not valid.*/
32664064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_RAW              BIT_1    /* 1 = write all data from baseband to frame buffer including PHY header.*/
32764064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_FCS              BIT_2    /* 1 = write FCS to end of frame in memory, 0 = do not write FCS to memory.*/
32864064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_ALL_GOOD         BIT_3    /* promiscuous mode, receive all good frames.*/
32964064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_UNI_FILTER_EN       BIT_4    /* local MAC address filter enable.*/
33064064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_BSSID_FILTER_EN     BIT_5    /* BSSID filter enable.*/
33164064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_MC_FILTER_EN        BIT_6    /* 0 = receive all multicast,          1 = use one or both multicast address filters.*/
33264064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_MC_ADDR0_EN         BIT_7    /* 1 = receive frames from mc_addr0,   0 = do not use this filter.*/
33364064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_MC_ADDR1_EN         BIT_8    /* 1 = receive frames from mc_addr1,   0 = do not use this filter .*/
33464064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_BC_REJECT_EN        BIT_9    /* 0 = receive all broadcast,          1 = filter all broadcast.*/
33564064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_SSID_FILTER_EN      BIT_10   /* SSID Filter Enable.*/
33664064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_INT_FCS_ERROR    BIT_11   /* 1 = give rx complete interrupt for FCS errors.*/
33764064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_INT_ENCRYPTED    BIT_12   /* 1 = only give rx header interrupt if frame is encrypted.*/
33864064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_WR_RX_STATUS     BIT_13   /* 0 = do not write three status words, 1 = write three receive status words to top of rx'd MPDU.*/
33964064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_FILTER_NULTI     BIT_14   /* 1 = filter multicast/broadcast frame if SA matchs local MAC addr->.*/
34064064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_RESERVE          BIT_15   /* reserve.*/
34164064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_TIMESTAMP_TSF    BIT_16   /* 1 = sample frame's' arrival time in 32bits TSF, 0 = write it in MAC time stamp.*/
34264064216a8433360745f69edddce19a606659163The Android Open Source Project
34364064216a8433360745f69edddce19a606659163The Android Open Source Project
34464064216a8433360745f69edddce19a606659163The Android Open Source Project/* Defines for Rx "FilterOptions".*/
34564064216a8433360745f69edddce19a606659163The Android Open Source Project/* The rx filter enables control what type of receive frames will be rejected or received by the rx hardware*/
34664064216a8433360745f69edddce19a606659163The Android Open Source Project/* 1 = frame is written to memory,*/
34764064216a8433360745f69edddce19a606659163The Android Open Source Project/* 0 = not written to memory, rejected.*/
34864064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_RSV_EN       BIT_0  /* reserved types and subtypes.*/
34964064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_RCTS_ACK     BIT_1  /* rts, cts, ack frames.*/
35064064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_PRSP_EN      BIT_2  /* probe response.*/
35164064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_PREQ_EN      BIT_3  /* probe request.*/
35264064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_MGMT_EN      BIT_4  /* type = management.*/
35364064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_FCS_ERROR    BIT_5  /* frames with FCS errors.*/
35464064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_DATA_EN      BIT_6  /* type = data.*/
35564064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_CTL_EN       BIT_7  /* type = control.*/
35664064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_CF_EN        BIT_8  /* contention free frames.*/
35764064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_BCN_EN       BIT_9  /* beacons.*/
35864064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_AUTH_EN      BIT_10 /* authentication, deauthentication.*/
35964064216a8433360745f69edddce19a606659163The Android Open Source Project#define CFG_RX_ASSOC_EN     BIT_11 /* association related frames (all 5 subtypes  assoc req/resp,*/
36064064216a8433360745f69edddce19a606659163The Android Open Source Project
36164064216a8433360745f69edddce19a606659163The Android Open Source Project
36264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
36364064216a8433360745f69edddce19a606659163The Android Open Source Project{
36464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef FW_RUNNING_AS_AP
36564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16          ConfigOptions;
36664064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16          FilterOptions;
36764064216a8433360745f69edddce19a606659163The Android Open Source Project#else
36864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32          ConfigOptions;
36964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32          FilterOptions;
37064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
37164064216a8433360745f69edddce19a606659163The Android Open Source Project} ACXRxConfigStruct;
37264064216a8433360745f69edddce19a606659163The Android Open Source Project
37364064216a8433360745f69edddce19a606659163The Android Open Source Project/*
37464064216a8433360745f69edddce19a606659163The Android Open Source ProjectTxdRateSet_t definition
37564064216a8433360745f69edddce19a606659163The Android Open Source ProjectBit     Description
37664064216a8433360745f69edddce19a606659163The Android Open Source Project===     ===========
37764064216a8433360745f69edddce19a606659163The Android Open Source Project0-12    Every one of bits 0-12 specifies rate described in the column on left. Only
37864064216a8433360745f69edddce19a606659163The Android Open Source Project        one bit could be set for the command, all other should be zeroed.
37964064216a8433360745f69edddce19a606659163The Android Open Source Project0       1 MBPS
38064064216a8433360745f69edddce19a606659163The Android Open Source Project1       2 MBPS
38164064216a8433360745f69edddce19a606659163The Android Open Source Project2       5.5 MBPS
38264064216a8433360745f69edddce19a606659163The Android Open Source Project3       6 MBPS
38364064216a8433360745f69edddce19a606659163The Android Open Source Project4       9 MBPS
38464064216a8433360745f69edddce19a606659163The Android Open Source Project5       11 MBPS
38564064216a8433360745f69edddce19a606659163The Android Open Source Project6       12 MBPS
38664064216a8433360745f69edddce19a606659163The Android Open Source Project7       18 MBPS
38764064216a8433360745f69edddce19a606659163The Android Open Source Project8       22 MBPS
38864064216a8433360745f69edddce19a606659163The Android Open Source Project9       24 MBPS
38964064216a8433360745f69edddce19a606659163The Android Open Source Project10      36 MBPS
39064064216a8433360745f69edddce19a606659163The Android Open Source Project11      48 MBPS
39164064216a8433360745f69edddce19a606659163The Android Open Source Project12      54 MBPS
39264064216a8433360745f69edddce19a606659163The Android Open Source Project13      Unused (set to 0).
39364064216a8433360745f69edddce19a606659163The Android Open Source Project14      PBCC - When this bit is set, the WiLink transmits probe requests with PBCC
39464064216a8433360745f69edddce19a606659163The Android Open Source Project        modulation.
39564064216a8433360745f69edddce19a606659163The Android Open Source Project        Notes:
39664064216a8433360745f69edddce19a606659163The Android Open Source Project           Does not apply (set to 0) for rates 1 and 2 Mbps.
39764064216a8433360745f69edddce19a606659163The Android Open Source Project           Does not apply (set to 0) for RevG-OFDM rates.
39864064216a8433360745f69edddce19a606659163The Android Open Source Project15      Preamble - When this bit is set, the WiLink transmits probe requests with a
39964064216a8433360745f69edddce19a606659163The Android Open Source Project                   short preamble. When this bit is clear, the WiLink transmits the
40064064216a8433360745f69edddce19a606659163The Android Open Source Project				   frame with a long preamble.
40164064216a8433360745f69edddce19a606659163The Android Open Source Project                   Notes:
40264064216a8433360745f69edddce19a606659163The Android Open Source Project                     Must be LONG (0) for 1Mbps rate.
40364064216a8433360745f69edddce19a606659163The Android Open Source Project				     Does not apply (set to 0) for RevG-OFDM rates.
40464064216a8433360745f69edddce19a606659163The Android Open Source Project
40564064216a8433360745f69edddce19a606659163The Android Open Source ProjectIf neither the PBCC bit or OFDM rate are set, then the modulation format for probe
40664064216a8433360745f69edddce19a606659163The Android Open Source Projectrequests is CCK for 5.5 or 11 Mbps or DBPSK/DQPSK for 1 and 2 Mbps.
40764064216a8433360745f69edddce19a606659163The Android Open Source Project*/
40864064216a8433360745f69edddce19a606659163The Android Open Source Project
40964064216a8433360745f69edddce19a606659163The Android Open Source Project/* ScanOptions bit mask field.*/
41064064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_ACTIVE         0
41164064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_PASSIVE        1   /* 1 = passive scan, 0 = active scan*/
41264064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_5GHZ_BAND      2   /* 1 = scan channel list in 5 Ghz band, 0 = scan channel list in 2.4 Ghz band*/
41364064216a8433360745f69edddce19a606659163The Android Open Source Project#define TRIGGERED_SCAN      4   /* 1 = Triggered scan, 0 = Normal scan*/
41464064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_PRIORITY_HIGH  8   /* 1 = High priority scan, 0 = Low priority scan*/
41564064216a8433360745f69edddce19a606659163The Android Open Source Project
41664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 TidTrigger_t;
41764064216a8433360745f69edddce19a606659163The Android Open Source Project
41864064216a8433360745f69edddce19a606659163The Android Open Source Project/* General scan parameters.*/
41964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
42064064216a8433360745f69edddce19a606659163The Android Open Source Project{
42164064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct  rxCfg;         /* Rx filter to be used for each channel scan. */
42264064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* The BSSID filter enable will be set (by the */
42364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* scan process) to ON for a specific channel if*/
42464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* the BSSID of this channel is a unicast address.*/
42564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Otherwise it will be set to OFF (Refer to */
42664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* ACXRxConfig IE in public_infoele.h).*/
42764064216a8433360745f69edddce19a606659163The Android Open Source Project
42864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16             scanOptions;   /* This bitwise field indicates the scan options. */
42964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Bits [3:15] are reserved. */
43064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Bits [0:2] are defined as follows: */
43164064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* Scan Type (bit 0) - When this bit is set, the */
43264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  WiLink performs a passive scan. When this bit*/
43364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  is cleared, the WiLink performs an active scan. */
43464064216a8433360745f69edddce19a606659163The Android Open Source Project		                              /* Band Select (bit 1) - When this bit is set, the*/
43564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  WiLink scans the specified channels in the */
43664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  5GHz band. When this bit is cleared, the */
43764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  WiLink scans the specified channels in the */
43864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  2.4GHz band. */
43964064216a8433360745f69edddce19a606659163The Android Open Source Project		                              /* Voice mode (bit 2) - When this bit is set, */
44064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  the request is for a voice scan. When this bit*/
44164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  is cleared, the request is for a normal scan. */
44264064216a8433360745f69edddce19a606659163The Android Open Source Project		                              /* Scan priority (bit 3) - When this bit is set, */
44364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  the request is for a high priority scan. When*/
44464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  this bit is cleared, the request is for a low*/
44564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*  priority scan.*/
44664064216a8433360745f69edddce19a606659163The Android Open Source Project
44764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8              numChannels;   /* Number of scan channels in the list (minimum is*/
44864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* 1, maximum is 30).*/
44964064216a8433360745f69edddce19a606659163The Android Open Source Project
45064064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8              numOfProbRqst; /* This field indicates the number of probe */
45164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* requests to send per channel, in active scan. */
45264064216a8433360745f69edddce19a606659163The Android Open Source Project
45364064216a8433360745f69edddce19a606659163The Android Open Source Project    TxdRateSet_t       txdRateSet;    /* This bitwise field specifies the rate and */
45464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* modulation to transmit the probe request during*/
45564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* an active scan. The allowable values for this */
45664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* field are listed in the above table (refer to */
45764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* TxdRateSet). It is not used for passive scans.*/
45864064216a8433360745f69edddce19a606659163The Android Open Source Project
45964064216a8433360745f69edddce19a606659163The Android Open Source Project    TidTrigger_t       tidTrigger;    /* used for TidTriggered scan only.*/
46064064216a8433360745f69edddce19a606659163The Android Open Source Project
46164064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8              ssidLength;    /* This field specifies the size of the SSID, */
46264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* which can be up to 32 bytes long. If this field*/
46364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* equals to zero, SSID filter is not applied. */
46464064216a8433360745f69edddce19a606659163The Android Open Source Project
46564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32             ssidStr[8];    /* This field specifies the SSID packets from that*/
46664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* are relevant for the Scan result. The WiLink*/
46764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* uses this information to filter beacon, probe*/
46864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* response frames (if the SSID length field of */
46964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* this command structure is not zero) */
47064064216a8433360745f69edddce19a606659163The Android Open Source Project} BasicScanParameters_t;
47164064216a8433360745f69edddce19a606659163The Android Open Source Project
47264064216a8433360745f69edddce19a606659163The Android Open Source Project
47364064216a8433360745f69edddce19a606659163The Android Open Source Project
47464064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_ET_COND_MASK  0x30
47564064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_ET_COUNT_MASK 0x0F
47664064216a8433360745f69edddce19a606659163The Android Open Source Project
47764064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_MAX_NUM_OF_CHANNELS 16
47864064216a8433360745f69edddce19a606659163The Android Open Source Project
47964064216a8433360745f69edddce19a606659163The Android Open Source Project/* Early Termination condition (bits 4-5) - This field can have one of the following */
48064064216a8433360745f69edddce19a606659163The Android Open Source Project/* values (note that bits 0-3 indicates Early Termination count): */
48164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
48264064216a8433360745f69edddce19a606659163The Android Open Source Project{
48364064216a8433360745f69edddce19a606659163The Android Open Source Project    ET_COND_DISABLE = 0x00,          /* Disable - No early termination condition.*/
48464064216a8433360745f69edddce19a606659163The Android Open Source Project
48564064216a8433360745f69edddce19a606659163The Android Open Source Project	ET_COND_BEACON  = 0x10,          /* Beacon only. When this value is selected, the */
48664064216a8433360745f69edddce19a606659163The Android Open Source Project		                             /* Early Termination count field specifies the */
48764064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* maximum number of beacons to collect before */
48864064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* ending a scan. */
48964064216a8433360745f69edddce19a606659163The Android Open Source Project
49064064216a8433360745f69edddce19a606659163The Android Open Source Project    ET_COND_PROBE_RESP = 0x20,       /* Probe responses only. When this value is */
49164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* selected, the Early Termination count field */
49264064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* specifies the maximum number of probe responses*/
49364064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* to collect before ending a scan. */
49464064216a8433360745f69edddce19a606659163The Android Open Source Project
49564064216a8433360745f69edddce19a606659163The Android Open Source Project    ET_COND_BEACON_PROBE_RESP = 0x30,/* Beacon/probe response. When this value is */
49664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* selected, the Early Termination count field */
49764064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* specifies the maximum number of beacons or probe*/
49864064216a8433360745f69edddce19a606659163The Android Open Source Project									 /* responses to collect before ending a scan. */
49964064216a8433360745f69edddce19a606659163The Android Open Source Project
50064064216a8433360745f69edddce19a606659163The Android Open Source Project    ET_COND_INVALID = 0xFF
50164064216a8433360745f69edddce19a606659163The Android Open Source Project} ETCondition_enum;
50264064216a8433360745f69edddce19a606659163The Android Open Source Project
50364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
50464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 ETCondition_e;
50564064216a8433360745f69edddce19a606659163The Android Open Source Project#else
50664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef ETCondition_enum ETCondition_e;
50764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
50864064216a8433360745f69edddce19a606659163The Android Open Source Project
50964064216a8433360745f69edddce19a606659163The Android Open Source Project
51064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 ETCondCount_t;
51164064216a8433360745f69edddce19a606659163The Android Open Source Project
51264064216a8433360745f69edddce19a606659163The Android Open Source Project
51364064216a8433360745f69edddce19a606659163The Android Open Source Project
51464064216a8433360745f69edddce19a606659163The Android Open Source Project#define PROCESS_SCAN_IS_HIGH(pScanParameters) ((pScanParameters)->basicScanParameters.scanOptions & SCAN_PRIORITY_HIGH)
51564064216a8433360745f69edddce19a606659163The Android Open Source Project#define PROCESS_SCAN_IS_LOW(pScanParameters) ((PROCESS_SCAN_IS_HIGH(pScanParameters)) == 0)
51664064216a8433360745f69edddce19a606659163The Android Open Source Project
51764064216a8433360745f69edddce19a606659163The Android Open Source Project
51864064216a8433360745f69edddce19a606659163The Android Open Source Project/* Per-Channel scan parameters.*/
51964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
52064064216a8433360745f69edddce19a606659163The Android Open Source Project{
52164064216a8433360745f69edddce19a606659163The Android Open Source Project
52264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32        scanMinDuration;    /* For active scans, this field specifies the */
52364064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* minimum amount of time, in time units (TUs), */
52464064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* to wait for a frame on a channel. This */
52564064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* parameter is not used for passive scans. The*/
52664064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /*  value can range from 0 to 65535 TUs */
52764064216a8433360745f69edddce19a606659163The Android Open Source Project                                      /* (67.1 seconds). */
52864064216a8433360745f69edddce19a606659163The Android Open Source Project
52964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32        scanMaxDuration;    /* For active scans, this field specifies the */
53064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* maximum amount of time, in time units (TUs), */
53164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* to wait for a probe response on a channel.*/
53264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* For passive scans, this field specifies the */
53364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* amount of time, in time units (TUs), to listen*/
53464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* on a channel. The value can range from 0 to */
53564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* 65535 TUs (67.1 seconds). */
53664064216a8433360745f69edddce19a606659163The Android Open Source Project
53764064216a8433360745f69edddce19a606659163The Android Open Source Project
53864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32        bssIdL;             /* 32 LSBits of BSSID of the AP to scan for. */
53964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* If scanning on this channel any BSSID, this */
54064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* field shall be set to broadcast BSSID. */
54164064216a8433360745f69edddce19a606659163The Android Open Source Project
54264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16        bssIdH;             /* 16 MSBits of BSSID of the AP to scan for.*/
54364064216a8433360745f69edddce19a606659163The Android Open Source Project
54464064216a8433360745f69edddce19a606659163The Android Open Source Project    ETCondCount_t ETCondCount;        /* bit 0-3: Early Termination count - This field */
54564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*          defines the maximum number of beacons*/
54664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*          or probe responses or both (according*/
54764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*          to condition) to collect before ending*/
54864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*          a scan.*/
54964064216a8433360745f69edddce19a606659163The Android Open Source Project
55064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Bit 4-5: Early Termination Condition (refer */
55164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /*          to ETCondition_enum).*/
55264064216a8433360745f69edddce19a606659163The Android Open Source Project
55364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8         txPowerAttenuation; /* TX power level to be used per channel scanned. */
55464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* If 0, leave normal TX power level for this */
55564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* channel. Range: 0 - 20 [dB].*/
55664064216a8433360745f69edddce19a606659163The Android Open Source Project
55764064216a8433360745f69edddce19a606659163The Android Open Source Project    Channel_e     channel;            /* Channel number to scan, valid range 0-255 */
55864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* (1-14 for 802.11b). */
55964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8		  padding[3];             /* for alignment to 32 bits boundry*/
56064064216a8433360745f69edddce19a606659163The Android Open Source Project} BasicScanChannelParameters_t;
56164064216a8433360745f69edddce19a606659163The Android Open Source Project
56264064216a8433360745f69edddce19a606659163The Android Open Source Project/* The Scan command structure.*/
56364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
56464064216a8433360745f69edddce19a606659163The Android Open Source Project{
56564064216a8433360745f69edddce19a606659163The Android Open Source Project    BasicScanParameters_t basicScanParameters; /* refer to BasicScanParameters_t */
56664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                           /* definition*/
56764064216a8433360745f69edddce19a606659163The Android Open Source Project
56864064216a8433360745f69edddce19a606659163The Android Open Source Project    BasicScanChannelParameters_t basicScanChannelParameters[SCAN_MAX_NUM_OF_CHANNELS];
56964064216a8433360745f69edddce19a606659163The Android Open Source Project} ScanParameters_t;
57064064216a8433360745f69edddce19a606659163The Android Open Source Project
57164064216a8433360745f69edddce19a606659163The Android Open Source Project/*****************************************************************************
57264064216a8433360745f69edddce19a606659163The Android Open Source Project
57364064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_TRIGGER_SCAN_TO
57464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This Command will configure the enhanced Trigger Scan Timeout
57564064216a8433360745f69edddce19a606659163The Android Open Source Project				information.
57664064216a8433360745f69edddce19a606659163The Android Open Source Project			  To use legacy Trigger Scan, configure the parameter to 0
57764064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None
57864064216a8433360745f69edddce19a606659163The Android Open Source Project
57964064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
58064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
58164064216a8433360745f69edddce19a606659163The Android Open Source Project{
58264064216a8433360745f69edddce19a606659163The Android Open Source Project	uint32	SlicedScanTimeOut;			/* 0 - Split Scan Disable
58364064216a8433360745f69edddce19a606659163The Android Open Source Project										   any other value will represent the timeout
58464064216a8433360745f69edddce19a606659163The Android Open Source Project										   for each channel "mini scan" in uSec */
58564064216a8433360745f69edddce19a606659163The Android Open Source Project}enhancedTriggerTO_t;
58664064216a8433360745f69edddce19a606659163The Android Open Source Project
58764064216a8433360745f69edddce19a606659163The Android Open Source Project
58864064216a8433360745f69edddce19a606659163The Android Open Source Project
58964064216a8433360745f69edddce19a606659163The Android Open Source Project/*****************************************************************************
59064064216a8433360745f69edddce19a606659163The Android Open Source Project
59164064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_STOP_SCAN
59264064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to terminate any scan in progress.
59364064216a8433360745f69edddce19a606659163The Android Open Source Project	          After processing this command, the WiLink returns to its previous state
59464064216a8433360745f69edddce19a606659163The Android Open Source Project			  (the state before the scan was started) and generates the SCAN_COMPLETE
59564064216a8433360745f69edddce19a606659163The Android Open Source Project			  information message.
59664064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None
59764064216a8433360745f69edddce19a606659163The Android Open Source Project
59864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
59964064216a8433360745f69edddce19a606659163The Android Open Source Project
60064064216a8433360745f69edddce19a606659163The Android Open Source Project
60164064216a8433360745f69edddce19a606659163The Android Open Source Project
60264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
60364064216a8433360745f69edddce19a606659163The Android Open Source Project
60464064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_VBM
60564064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the beacon TIM template stored
60664064216a8433360745f69edddce19a606659163The Android Open Source Project	          in the WiLink.
60764064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  VBMUpdateRequest_t - see below.
60864064216a8433360745f69edddce19a606659163The Android Open Source Project	Note:     Second part of Beacon template
60964064216a8433360745f69edddce19a606659163The Android Open Source Project
61064064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
61164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
61264064216a8433360745f69edddce19a606659163The Android Open Source Project{
61364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 identity;       /* TIM IE ID*/
61464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 length;         /* TIM IE Length*/
61564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 DTIM_count;
61664064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 DTIM_period;
61764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 BitMap_ctrl;
61864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 PVB_field[251]; /* Partial Virtual Bitmap*/
61964064216a8433360745f69edddce19a606659163The Android Open Source Project} TIMStruct_t;
62064064216a8433360745f69edddce19a606659163The Android Open Source Project
62164064216a8433360745f69edddce19a606659163The Android Open Source Project
62264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
62364064216a8433360745f69edddce19a606659163The Android Open Source Project{
62464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16 len;           /* length*/
62564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8  padding[2];    /* for alignment to 32 bits boundry*/
62664064216a8433360745f69edddce19a606659163The Android Open Source Project    TIMStruct_t tim;
62764064216a8433360745f69edddce19a606659163The Android Open Source Project} VBMUpdateRequest_t;
62864064216a8433360745f69edddce19a606659163The Android Open Source Project
62964064216a8433360745f69edddce19a606659163The Android Open Source Project
63064064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
63164064216a8433360745f69edddce19a606659163The Android Open Source Project
63264064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_START_JOIN
63364064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to either join a BSS or IBSS, or
63464064216a8433360745f69edddce19a606659163The Android Open Source Project	          start an IBSS. When the device has joined the BSS or IBSS the Join
63564064216a8433360745f69edddce19a606659163The Android Open Source Project			  Complete event is raised to the host.
63664064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  StartJoinRequest_t - see below.
63764064216a8433360745f69edddce19a606659163The Android Open Source Project
63864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
63964064216a8433360745f69edddce19a606659163The Android Open Source Project
64064064216a8433360745f69edddce19a606659163The Android Open Source Project#define JOIN_CMD_CTRL_TX_FLUSH         0x80 // When this bit is set, the firmware will flush all Tx
64164064216a8433360745f69edddce19a606659163The Android Open Source Project		                                    // frames in the pipe and will not transmit them.
64264064216a8433360745f69edddce19a606659163The Android Open Source Project#define JOIN_CMD_CTRL_EARLY_WAKEUP_ENABLE  0x01 // When this bit is set, the firmware will support
64364064216a8433360745f69edddce19a606659163The Android Open Source Project		                                        // early wakeup time
64464064216a8433360745f69edddce19a606659163The Android Open Source Project
64564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
64664064216a8433360745f69edddce19a606659163The Android Open Source Project{
64764064216a8433360745f69edddce19a606659163The Android Open Source Project    BSS_TYPE_IBSS = 0,
64864064216a8433360745f69edddce19a606659163The Android Open Source Project    BSS_TYPE_STA_BSS = 2,
64964064216a8433360745f69edddce19a606659163The Android Open Source Project    BSS_TYPE_AP_BSS = 3,
65064064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_BSS_TYPE = 0xFF
65164064216a8433360745f69edddce19a606659163The Android Open Source Project} BssType_enum;
65264064216a8433360745f69edddce19a606659163The Android Open Source Project
65364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
65464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 BSS_e;
65564064216a8433360745f69edddce19a606659163The Android Open Source Project#else
65664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef BssType_enum BSS_e;
65764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
65864064216a8433360745f69edddce19a606659163The Android Open Source Project
65964064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_SSID_STR_LEN_BYTESX4 8
66064064216a8433360745f69edddce19a606659163The Android Open Source Project/*
66164064216a8433360745f69edddce19a606659163The Android Open Source ProjectBasicRateSet_t definition
66264064216a8433360745f69edddce19a606659163The Android Open Source ProjectBit     Description
66364064216a8433360745f69edddce19a606659163The Android Open Source Project===     ===========
66464064216a8433360745f69edddce19a606659163The Android Open Source Project0       When this bit is set, 1 MBPS is a member of the basic rate set.
66564064216a8433360745f69edddce19a606659163The Android Open Source Project1       When this bit is set, 2 MBPS is a member of the basic rate set.
66664064216a8433360745f69edddce19a606659163The Android Open Source Project2       When this bit is set, 5.5 MBPS is a member of the basic rate set.
66764064216a8433360745f69edddce19a606659163The Android Open Source Project3       Must be set to 0.
66864064216a8433360745f69edddce19a606659163The Android Open Source Project4       Must be set to 0.
66964064216a8433360745f69edddce19a606659163The Android Open Source Project5       When this bit is set, 11 MBPS is a member of the basic rate set.
67064064216a8433360745f69edddce19a606659163The Android Open Source Project6       Must be set to 0.
67164064216a8433360745f69edddce19a606659163The Android Open Source Project7       Must be set to 0.
67264064216a8433360745f69edddce19a606659163The Android Open Source Project8       When this bit is set, 22 MBPS is a member of the basic rate set.
67364064216a8433360745f69edddce19a606659163The Android Open Source Project9-15    Must be set to 0.
67464064216a8433360745f69edddce19a606659163The Android Open Source Project
67564064216a8433360745f69edddce19a606659163The Android Open Source ProjectNote: For OFDM, the control response frame rates 6, 9, 12, 18, 24 and 36 Mbps are the
67664064216a8433360745f69edddce19a606659163The Android Open Source Project      default values and are not configurable. Contact your TI representative for
67764064216a8433360745f69edddce19a606659163The Android Open Source Project	  information.
67864064216a8433360745f69edddce19a606659163The Android Open Source Project*/
67964064216a8433360745f69edddce19a606659163The Android Open Source Project
68064064216a8433360745f69edddce19a606659163The Android Open Source Project
68164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
68264064216a8433360745f69edddce19a606659163The Android Open Source Project{
68364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32            bssIdL;        /* This field indicates the 32 LSBits of the MAC*/
68464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* address of the BSS to join. */
68564064216a8433360745f69edddce19a606659163The Android Open Source Project                                     /* Note: To correctly generate beacon frames, the */
68664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* byte order of the BSS ID field must be */
68764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* reversed. for example, if the MAC address of */
68864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* the AP is 00 7E 99 11 22 33, program the BSS */
68964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* ID field as 33 22 11 99 7E 00.*/
69064064216a8433360745f69edddce19a606659163The Android Open Source Project
69164064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16            bssIdH;        /* This field indicates the 16 MSBits of the MAC*/
69264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* address of the BSS to join. */
69364064216a8433360745f69edddce19a606659163The Android Open Source Project
69464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16            beaconInterval;/* This field specifies the time between target */
69564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* beacon transmission times (TBTTs), in time */
69664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* units (TUs). Valid values are 1 to 1024.*/
69764064216a8433360745f69edddce19a606659163The Android Open Source Project
69864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef FW_RUNNING_AS_STA
69964064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct rxFilter;      /* This filed is the Rx filter configuration for*/
70064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* the device while connected to the BSS or IBSS.*/
70164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* This setting is overridden in case of a */
70264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* measurement or a scan activity and is reset */
70364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* after these activities end.*/
70464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
70564064216a8433360745f69edddce19a606659163The Android Open Source Project    BasicRateSet_t    basicRateSet;  /* For 802.11b, this field specifies the control*/
70664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* response frame rate for the BSS or IBSS (that*/
70764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* is, the BSSBasicRateSet parameter in the */
70864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* 802.11 Specification). The WiLink uses this */
70964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* field to determine the rate at which to */
71064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* transmit control frame responses (such as ACK */
71164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* or CTS frames). The format of this field is */
71264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* shown in the above table (refer to */
71364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* BasicRateSet_t).*/
71464064216a8433360745f69edddce19a606659163The Android Open Source Project
71564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8             dtimInterval;  /* This field specifies the number of beacon */
71664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* intervals between DTIM beacon frames. The host*/
71764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* is only required to set this field when the */
71864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* BSS Type is infrastructure BSS (STA) or AP. */
71964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* For an independent BSS, the host should set */
72064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* this field to 1.*/
72164064216a8433360745f69edddce19a606659163The Android Open Source Project
72264064216a8433360745f69edddce19a606659163The Android Open Source Project    Rate_e            txCtrlFrmRate; /* OBSOLETE (replaced by ACX_FW_GEN_FRAME_RATES)*/
72364064216a8433360745f69edddce19a606659163The Android Open Source Project    Mod_e             txCtrlFrmMod;  /* OBSOLETE (replaced by ACX_FW_GEN_FRAME_RATES)*/
72464064216a8433360745f69edddce19a606659163The Android Open Source Project
72564064216a8433360745f69edddce19a606659163The Android Open Source Project    BSS_e             bssType;       /* bits 0-2: This bitwise field specifies the type */
72664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*  of BSS to start or join (Refer to BssType_enum). */
72764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* bit 4: Band - The radio band in which to join*/
72864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*  or start.*/
72964064216a8433360745f69edddce19a606659163The Android Open Source Project                                     /*  0 - 2.4GHz band	*/
73064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*  1 - 5GHz band*/
73164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* bits 3, 5-7: Reserved*/
73264064216a8433360745f69edddce19a606659163The Android Open Source Project
73364064216a8433360745f69edddce19a606659163The Android Open Source Project    Channel_e         channelNumber; /* This field specifies the channel number of the*/
73464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* BSS to join or start. Valid values are 1 to 14. */
73564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* If the specified channel is not allowed in the*/
73664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* regulatory domain, the command is rejected and*/
73764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* the status code 0x0005 is returned in the */
73864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* Command Status field.*/
73964064216a8433360745f69edddce19a606659163The Android Open Source Project
74064064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8             ssidLength;    /* This field specifies the size of the SSID, which*/
74164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* can be up to 32 bytes long.*/
74264064216a8433360745f69edddce19a606659163The Android Open Source Project
74364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32              ssidStr[MAX_SSID_STR_LEN_BYTESX4];
74464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* This field specifies the SSID of the BSS to */
74564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* start or join. The WiLink uses this information*/
74664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* to filter beacon, probe response and probe */
74764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* request frames (if configured to do so in bit 10*/
74864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* in the Receive Configuration field of the */
74964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* ACXRxConfig information element). */
75064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* It also uses this information to determine if a*/
75164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* probe response should be transmitted in */
75264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* response to a received probe request.*/
75364064216a8433360745f69edddce19a606659163The Android Open Source Project
75464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8             ctrl;          /* Join command control field (refer to */
75564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* JoinCmdCtrl_enum).*/
75664064216a8433360745f69edddce19a606659163The Android Open Source Project
75764064216a8433360745f69edddce19a606659163The Android Open Source Project    Rate_e            txMgmtFrmRate; /* OBSOLETE (replaced by ACX_FW_GEN_FRAME_RATES)*/
75864064216a8433360745f69edddce19a606659163The Android Open Source Project    Mod_e             txMgmtFrmMod;  /* OBSOLETE (replaced by ACX_FW_GEN_FRAME_RATES)*/
75964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8               reserved1;
76064064216a8433360745f69edddce19a606659163The Android Open Source Project} StartJoinRequest_t;
76164064216a8433360745f69edddce19a606659163The Android Open Source Project
76264064216a8433360745f69edddce19a606659163The Android Open Source Project
76364064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
76464064216a8433360745f69edddce19a606659163The Android Open Source Project
76564064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_SET_KEYS
76664064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  The host issues this command to manage the WEP key cache in the WiLink.
76764064216a8433360745f69edddce19a606659163The Android Open Source Project	          The host can issue this command during the configuration or operation
76864064216a8433360745f69edddce19a606659163The Android Open Source Project			  phase.
76964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  SetKey_t - see below.
77064064216a8433360745f69edddce19a606659163The Android Open Source Project
77164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
77264064216a8433360745f69edddce19a606659163The Android Open Source Project
77364064216a8433360745f69edddce19a606659163The Android Open Source Project#define NUM_ACCESS_CATEGORIES_COPY 4
77464064216a8433360745f69edddce19a606659163The Android Open Source Project
77564064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_KEY_SIZE 32
77664064216a8433360745f69edddce19a606659163The Android Open Source Project
77764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
77864064216a8433360745f69edddce19a606659163The Android Open Source Project{
77964064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_ADD_OR_REPLACE = 1,             /* Add or replace a key in the WEP cache*/
78064064216a8433360745f69edddce19a606659163The Android Open Source Project	KEY_REMOVE         = 2,             /* Remove a key from the WEP cache*/
78164064216a8433360745f69edddce19a606659163The Android Open Source Project	KEY_SET_ID         = 3,             /* Set Key ID*/
78264064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_KEY_ACTION     = MAX_POSITIVE16 /* force this enum to be uint16*/
78364064216a8433360745f69edddce19a606659163The Android Open Source Project} KeyAction_enum;
78464064216a8433360745f69edddce19a606659163The Android Open Source Project
78564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
78664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 KeyAction_e;
78764064216a8433360745f69edddce19a606659163The Android Open Source Project#else
78864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef KeyAction_enum KeyAction_e;
78964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
79064064216a8433360745f69edddce19a606659163The Android Open Source Project
79164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
79264064216a8433360745f69edddce19a606659163The Android Open Source Project{
79364064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_WEP_DEFAULT       = 0,
79464064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_WEP_ADDR          = 1,
79564064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_AES_GROUP         = 4,
79664064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_AES_PAIRWISE      = 5,
79764064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_WEP_GROUP         = 6,
79864064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_TKIP_MIC_GROUP    = 10,
79964064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_TKIP_MIC_PAIRWISE = 11
80064064216a8433360745f69edddce19a606659163The Android Open Source Project} KeyType_enum;
80164064216a8433360745f69edddce19a606659163The Android Open Source Project
80264064216a8433360745f69edddce19a606659163The Android Open Source Project/*
80364064216a8433360745f69edddce19a606659163The Android Open Source ProjectKey Size+Key Data table (valid value)
80464064216a8433360745f69edddce19a606659163The Android Open Source ProjectKeyType_enum  Key Type	                  Valid Key Size	Key Data Field Format
80564064216a8433360745f69edddce19a606659163The Android Open Source Project============  ========	                  ==============    =====================
80664064216a8433360745f69edddce19a606659163The Android Open Source Project0x00          WEP default key	          5, 13, 29	        Key Size bytes of key data
80764064216a8433360745f69edddce19a606659163The Android Open Source Project
80864064216a8433360745f69edddce19a606659163The Android Open Source Project0x01          WEP key mapping key	      5, 13, 29         Key Size bytes of key data
80964064216a8433360745f69edddce19a606659163The Android Open Source Project
81064064216a8433360745f69edddce19a606659163The Android Open Source Project0x04          AES Group Key	              16                16 bytes of key data
81164064216a8433360745f69edddce19a606659163The Android Open Source Project
81264064216a8433360745f69edddce19a606659163The Android Open Source Project0x05          AES Pairwise Key	          16                16 bytes of key data
81364064216a8433360745f69edddce19a606659163The Android Open Source Project
81464064216a8433360745f69edddce19a606659163The Android Open Source Project0x0A          TKIP and MIC Group Key      32                16 bytes of TKIP key data
81564064216a8433360745f69edddce19a606659163The Android Open Source Project                                                        8 bytes of Rx MIC key data
81664064216a8433360745f69edddce19a606659163The Android Open Source Project                                                        8 bytes of Tx MIC key data
81764064216a8433360745f69edddce19a606659163The Android Open Source Project
81864064216a8433360745f69edddce19a606659163The Android Open Source Project0x0B          TKIP and MIC Pairwise Key   32                16 bytes of TKIP key data
81964064216a8433360745f69edddce19a606659163The Android Open Source Project                                                        8 bytes of Rx MIC key data
82064064216a8433360745f69edddce19a606659163The Android Open Source Project                                                        8 bytes of Tx MIC key data
82164064216a8433360745f69edddce19a606659163The Android Open Source Project*/
82264064216a8433360745f69edddce19a606659163The Android Open Source Project
82364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
82464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 KeyType_e;
82564064216a8433360745f69edddce19a606659163The Android Open Source Project#else
82664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef KeyType_enum KeyType_e;
82764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
82864064216a8433360745f69edddce19a606659163The Android Open Source Project
82964064216a8433360745f69edddce19a606659163The Android Open Source Project
83064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
83164064216a8433360745f69edddce19a606659163The Android Open Source Project{
83264064216a8433360745f69edddce19a606659163The Android Open Source Project    NO_KEY            =  0,
83364064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_SIZE_WEP_64   =  5,
83464064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_SIZE_WEP_128  = 13,
83564064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_SIZE_WEP_256  = 29,
83664064216a8433360745f69edddce19a606659163The Android Open Source Project    KEY_SIZE_TKIP     = MAX_KEY_SIZE
83764064216a8433360745f69edddce19a606659163The Android Open Source Project} KeySize_enum;                      /* WEP keysizes reflect 3 bytes appended from IV.*/
83864064216a8433360745f69edddce19a606659163The Android Open Source Project
83964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
84064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 KeySize_e;
84164064216a8433360745f69edddce19a606659163The Android Open Source Project#else
84264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef KeySize_enum KeySize_e;
84364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
84464064216a8433360745f69edddce19a606659163The Android Open Source Project
84564064216a8433360745f69edddce19a606659163The Android Open Source Project
84664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
84764064216a8433360745f69edddce19a606659163The Android Open Source Project{
84864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 addr[MAC_ADDR_SIZE]; /* This field specifies the MAC address of the station to*/
84964064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* add or remove from the WEP key cache. This field is */
85064064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* ignored if a WEP default key is being added or removed.*/
85164064216a8433360745f69edddce19a606659163The Android Open Source Project
85264064216a8433360745f69edddce19a606659163The Android Open Source Project    KeyAction_e action;        /* This field specifies the action to be performed.*/
85364064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Refer to KeyAction_enum.*/
85464064216a8433360745f69edddce19a606659163The Android Open Source Project
85564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16      reserved;
85664064216a8433360745f69edddce19a606659163The Android Open Source Project    KeySize_e   keySize;       /* This field indicates the size of the key in bytes */
85764064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* being added. Valid values are listed in the Valid Key */
85864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Size column in the above "Key Size+Key Data table". */
85964064216a8433360745f69edddce19a606659163The Android Open Source Project
86064064216a8433360745f69edddce19a606659163The Android Open Source Project    KeyType_e   type;          /* This field indicates the type of key being added.*/
86164064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Valid values are listed in the Value column in the*/
86264064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* KeyType_enum.*/
86364064216a8433360745f69edddce19a606659163The Android Open Source Project
86464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8       ssidProfile;   /* This field indicates the SSID profile for which the */
86564064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* key is set.*/
86664064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8       id;            /* Key ID - For TKIP and AES key types, this field */
86764064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* indicates the value that should be inserted into the*/
86864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* KeyID field of frames transmitted using this key */
86964064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* entry. For WEP default key types, this field indicates*/
87064064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* the ID of the key to add or remove. */
87164064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* For WEP key mapping key types, this field is ignored.*/
87264064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Valid values for this field are 0 to 3.*/
87364064216a8433360745f69edddce19a606659163The Android Open Source Project
87464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8       reserved2[6];
87564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8       key[MAX_KEY_SIZE];
87664064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* This field holds the security key data to add to the*/
87764064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* STA table. The format of this field varies depending*/
87864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* on the type field. The format of this field for each*/
87964064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* key type is described in the Key Data Field Format */
88064064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* column in the "Key Size+Key Data table", above.*/
88164064216a8433360745f69edddce19a606659163The Android Open Source Project
88264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16      AcSeqNum16[NUM_ACCESS_CATEGORIES_COPY];
88364064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* This field indicates the lower part of the PN\IV */
88464064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* sequence number that is used, for the four Access*/
88564064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Categories.*/
88664064216a8433360745f69edddce19a606659163The Android Open Source Project
88764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32      AcSeqNum32[NUM_ACCESS_CATEGORIES_COPY];
88864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* This field indicates the higher part of the PN\IV */
88964064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* sequence number that is used, for four Access */
89064064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Categories.*/
89164064216a8433360745f69edddce19a606659163The Android Open Source Project
89264064216a8433360745f69edddce19a606659163The Android Open Source Project} SetKey_t;
89364064216a8433360745f69edddce19a606659163The Android Open Source Project
89464064216a8433360745f69edddce19a606659163The Android Open Source Project
89564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
89664064216a8433360745f69edddce19a606659163The Android Open Source Project
89764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_READ_MEMORY
89864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  The host issues this command to read the WiLink device
89964064216a8433360745f69edddce19a606659163The Android Open Source Project	          memory/registers.
90064064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  ReadWriteCommand_t - see below.
90164064216a8433360745f69edddce19a606659163The Android Open Source Project	Note:     The Base Band address has special handling (16 bits registers and
90264064216a8433360745f69edddce19a606659163The Android Open Source Project	          addresses). For more information, see the hardware specification.
90364064216a8433360745f69edddce19a606659163The Android Open Source Project
90464064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
90564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
90664064216a8433360745f69edddce19a606659163The Android Open Source Project
90764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_WRITE_MEMORY
90864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  The host issues this command to write the WiLink device memory/registers.
90964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  ReadWriteCommand_t - see below.
91064064216a8433360745f69edddce19a606659163The Android Open Source Project	Note:     The Base Band address has special handling (16 bits registers and
91164064216a8433360745f69edddce19a606659163The Android Open Source Project	          addresses). For more information, see the hardware specification.
91264064216a8433360745f69edddce19a606659163The Android Open Source Project
91364064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
91464064216a8433360745f69edddce19a606659163The Android Open Source Project
91564064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_READ_SIZE 256
91664064216a8433360745f69edddce19a606659163The Android Open Source Project
91764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
91864064216a8433360745f69edddce19a606659163The Android Open Source Project{
91964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 addr;                 /* The address of the memory to read from or write to.*/
92064064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 size;                 /* The amount of data in bytes to read from or write */
92164064216a8433360745f69edddce19a606659163The Android Open Source Project	                             /* to the WiLink device.*/
92264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8  value[MAX_READ_SIZE]; /* The actual value read from or written to the Wilink.*/
92364064216a8433360745f69edddce19a606659163The Android Open Source Project	                             /* The source of this field is the Host in WRITE */
92464064216a8433360745f69edddce19a606659163The Android Open Source Project	                             /* command or the Wilink in READ command.*/
92564064216a8433360745f69edddce19a606659163The Android Open Source Project} ReadWriteCommand_t;
92664064216a8433360745f69edddce19a606659163The Android Open Source Project
92764064216a8433360745f69edddce19a606659163The Android Open Source Project
92864064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
92964064216a8433360745f69edddce19a606659163The Android Open Source Project
93064064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_BEACON
93164064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the beacon template stored in
93264064216a8433360745f69edddce19a606659163The Android Open Source Project	          the WiLink.
93364064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
93464064216a8433360745f69edddce19a606659163The Android Open Source Project
93564064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
93664064216a8433360745f69edddce19a606659163The Android Open Source Project
93764064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
93864064216a8433360745f69edddce19a606659163The Android Open Source Project
93964064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_PROBE_RESP
94064064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the probe response template
94164064216a8433360745f69edddce19a606659163The Android Open Source Project	          stored in the WiLink.
94264064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
94364064216a8433360745f69edddce19a606659163The Android Open Source Project
94464064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
94564064216a8433360745f69edddce19a606659163The Android Open Source Project
94664064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
94764064216a8433360745f69edddce19a606659163The Android Open Source Project
94864064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_NULL_DATA
94964064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the Null data template
95064064216a8433360745f69edddce19a606659163The Android Open Source Project	          stored in the WiLink.
95164064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
95264064216a8433360745f69edddce19a606659163The Android Open Source Project
95364064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
95464064216a8433360745f69edddce19a606659163The Android Open Source Project
95564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
95664064216a8433360745f69edddce19a606659163The Android Open Source Project
95764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_PROBE_REQ
95864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the probe request template
95964064216a8433360745f69edddce19a606659163The Android Open Source Project	          stored in the WiLink.
96064064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
96164064216a8433360745f69edddce19a606659163The Android Open Source Project
96264064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
96364064216a8433360745f69edddce19a606659163The Android Open Source Project
96464064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
96564064216a8433360745f69edddce19a606659163The Android Open Source Project
96664064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_PS_POLL
96764064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the PS-poll template
96864064216a8433360745f69edddce19a606659163The Android Open Source Project	          stored in the WiLink.
96964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
97064064216a8433360745f69edddce19a606659163The Android Open Source Project
97164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
97264064216a8433360745f69edddce19a606659163The Android Open Source Project
97364064216a8433360745f69edddce19a606659163The Android Open Source Project
97464064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
97564064216a8433360745f69edddce19a606659163The Android Open Source Project
97664064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_QOS_NULL_DATA
97764064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command specifies the contents of the QOS-Null template
97864064216a8433360745f69edddce19a606659163The Android Open Source Project	          stored in the WiLink.
97964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PktTemplate_t - see below.
98064064216a8433360745f69edddce19a606659163The Android Open Source Project
98164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
98264064216a8433360745f69edddce19a606659163The Android Open Source Project/* Template command data structure.*/
98364064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_TEMPLATES_SIZE 300
98464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
98564064216a8433360745f69edddce19a606659163The Android Open Source Project{
98664064216a8433360745f69edddce19a606659163The Android Open Source Project	uint16 len;
98764064216a8433360745f69edddce19a606659163The Android Open Source Project	uint8  templateStart[MAX_TEMPLATES_SIZE];
98864064216a8433360745f69edddce19a606659163The Android Open Source Project} PktTemplate_t;
98964064216a8433360745f69edddce19a606659163The Android Open Source Project
99064064216a8433360745f69edddce19a606659163The Android Open Source Project
99164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
99264064216a8433360745f69edddce19a606659163The Android Open Source Project
99364064216a8433360745f69edddce19a606659163The Android Open Source Project      ID:	  CMD_TEST
99464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	The TEST command can be issued immediately after the firmware has
99564064216a8433360745f69edddce19a606659163The Android Open Source Project		  been downloaded, with no further configuration of the WiLink required.
99664064216a8433360745f69edddce19a606659163The Android Open Source Project		  Full initialization of the WiLink is not required to invoke the TEST
99764064216a8433360745f69edddce19a606659163The Android Open Source Project		  command and perform the radio test function.
99864064216a8433360745f69edddce19a606659163The Android Open Source Project		  After testing, the system must be reset.
99964064216a8433360745f69edddce19a606659163The Android Open Source Project		  Test parameters can be modified while a test is executing.
100064064216a8433360745f69edddce19a606659163The Android Open Source Project		  For instance, the host program can change the channel without resetting
100164064216a8433360745f69edddce19a606659163The Android Open Source Project		  the system.
100264064216a8433360745f69edddce19a606659163The Android Open Source Project
100364064216a8433360745f69edddce19a606659163The Android Open Source Project      Params:	  TestCmd_t - see below.
100464064216a8433360745f69edddce19a606659163The Android Open Source Project		  The returned values are copied to the cmd/sts MB replacing  the command
100564064216a8433360745f69edddce19a606659163The Android Open Source Project		  (similar to the interrogate mechanism).
100664064216a8433360745f69edddce19a606659163The Android Open Source Project
100764064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
100864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
100964064216a8433360745f69edddce19a606659163The Android Open Source Project{
101064064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_FCC                            = 0x01,
101164064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_TELEC							= 0x02,
101264064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_FCC_TELEC_TX_STOP			= 0x04,
101364064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_GAIN_GET                  	= 0x05,
101464064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_GAIN_ADJUST				= 0x06,
101564064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_TXPOWER_CAL_START			= 0x07,
101664064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_TXPOWER_CAL_STOP			= 0x08,
101764064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_PLT_GET_NVS_UPDATE_BUFFER     	= 0x09,
101864064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_CMD_PLT_RX_CALIBRATION			   	= 0x0a,
101964064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_RADIO_TUNE			   	        = 0x0b,
102064064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_RX_PER_START			   	    = 0x0c,
102164064216a8433360745f69edddce19a606659163The Android Open Source Project    TEST_CMD_RX_PER_STOP			   	    = 0x0d,
102264064216a8433360745f69edddce19a606659163The Android Open Source Project    MAX_TEST_CMD_ID							= 0xFF
102364064216a8433360745f69edddce19a606659163The Android Open Source Project} TestCmdID_enum;
102464064216a8433360745f69edddce19a606659163The Android Open Source Project
102564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
102664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 TestCmdID_e;
102764064216a8433360745f69edddce19a606659163The Android Open Source Project#else
102864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef TestCmdID_enum TestCmdID_e;
102964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
103064064216a8433360745f69edddce19a606659163The Android Open Source Project
103164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************/
103264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
103364064216a8433360745f69edddce19a606659163The Android Open Source Project{
103464064216a8433360745f69edddce19a606659163The Android Open Source Project 	TEST_MODE_HOST_ORIGINATED_DATA				= 0x00,
103564064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_FIXED_SEQ_NUMBER					= 0x00,
103664064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_FW_ORIGINATED_DATA					= 0x01,
103764064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_RANDOM_DATA							= 0x05,
103864064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_ZOZO_DATA							= 0x09,
103964064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_FILLING_PATERN_MASK					= 0x0F,
104064064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_DELAY_REQUIRED						= 0x10,
104164064216a8433360745f69edddce19a606659163The Android Open Source Project	TEST_MODE_DISABLE_SRCRAMBLING_FLAG			= 0x20
104264064216a8433360745f69edddce19a606659163The Android Open Source Project}TestModeCtrlTypes_e;
104364064216a8433360745f69edddce19a606659163The Android Open Source Project
104464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
104564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 FccTestType_e;
104664064216a8433360745f69edddce19a606659163The Android Open Source Project#else
104764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef TestModeCtrlTypes_e FccTestType_e;
104864064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
104964064216a8433360745f69edddce19a606659163The Android Open Source Project
105064064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************/
105164064216a8433360745f69edddce19a606659163The Android Open Source Project#define 	TEST_SEQ_NUM_MODE_FIXED				(0)
105264064216a8433360745f69edddce19a606659163The Android Open Source Project#define     TEST_SEQ_NUM_MODE_INCREMENTED		(1)
105364064216a8433360745f69edddce19a606659163The Android Open Source Project
105464064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
105564064216a8433360745f69edddce19a606659163The Android Open Source Project
105664064216a8433360745f69edddce19a606659163The Android Open Source Project  TestCmdId :	TEST_CMD_FCC - Tx continuous test
105764064216a8433360745f69edddce19a606659163The Android Open Source Project
105864064216a8433360745f69edddce19a606659163The Android Open Source Project  Description:  Continuous transmit series of numbers with a valid MAC header
105964064216a8433360745f69edddce19a606659163The Android Open Source Project                as was received from driver.
106064064216a8433360745f69edddce19a606659163The Android Open Source Project				However there is no 802.11 air access compliance.
106164064216a8433360745f69edddce19a606659163The Android Open Source Project
106264064216a8433360745f69edddce19a606659163The Android Open Source Project  Params:     	PERTxCfg_t fcc - see below.
106364064216a8433360745f69edddce19a606659163The Android Open Source Project
106464064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
106564064216a8433360745f69edddce19a606659163The Android Open Source Project#define NUM_OF_MAC_ADDR_ELEMENTS 6
106664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct PERTxCfg_t
106764064216a8433360745f69edddce19a606659163The Android Open Source Project{
106864064216a8433360745f69edddce19a606659163The Android Open Source Project			/*input parameters*/
106964064216a8433360745f69edddce19a606659163The Android Open Source Project            uint32 numFrames;       /* number of frams to transmit, 0 = endless*/
107064064216a8433360745f69edddce19a606659163The Android Open Source Project            uint32 interFrameGap;   /* time gap in uSec */
107164064216a8433360745f69edddce19a606659163The Android Open Source Project            uint32 seqNumMode;      /* Fixed / Incremented */
107264064216a8433360745f69edddce19a606659163The Android Open Source Project            uint32 frameBodySize;    /* length of Mac Payload */
107364064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 channel;          /*channel number*/
107464064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 dataRate;         /* MBps 1,2,11,22,... 54           */
107564064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 modPreamble;		/* CTL_PREAMBLE 0x01 */
107664064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 band;				/* {BAND_SELECT_24GHZ 0x00 | BAND_SELECT_5GHZ 0x01} */
107764064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 modulation;		/* {PBCC_MODULATION_MASK |OFDM_MODULATION_MASK }*/
107864064216a8433360745f69edddce19a606659163The Android Open Source Project            FccTestType_e testModeCtrl;
107964064216a8433360745f69edddce19a606659163The Android Open Source Project            uint8 dest[NUM_OF_MAC_ADDR_ELEMENTS];          /* set to hard codded default {0,0,0xde,0xad,0xbe,0xef}; */
108064064216a8433360745f69edddce19a606659163The Android Open Source Project} PERTxCfg_t;
108164064216a8433360745f69edddce19a606659163The Android Open Source Project
108264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
108364064216a8433360745f69edddce19a606659163The Android Open Source Project   TestCmdId :		TEST_CMD_TELEC
108464064216a8433360745f69edddce19a606659163The Android Open Source Project
108564064216a8433360745f69edddce19a606659163The Android Open Source Project   Description:  	Generate carrier wave in a specific channel and band
108664064216a8433360745f69edddce19a606659163The Android Open Source Project
108764064216a8433360745f69edddce19a606659163The Android Open Source Project   Params:     	TestCmdChannelBand_t        telec  - see below.
108864064216a8433360745f69edddce19a606659163The Android Open Source Project
108964064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
109064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
109164064216a8433360745f69edddce19a606659163The Android Open Source Project{
109264064216a8433360745f69edddce19a606659163The Android Open Source Project			/*input parameters*/
109364064216a8433360745f69edddce19a606659163The Android Open Source Project           Channel_e    channel; 		 /*Channel number*/
109464064216a8433360745f69edddce19a606659163The Android Open Source Project           RadioBand_e  band;           /* {BAND_SELECT_24GHZ 0x00 | BAND_SELECT_5GHZ 0x01} */
109564064216a8433360745f69edddce19a606659163The Android Open Source Project           uint8        padding[2];     /* padding to 32 bit */
109664064216a8433360745f69edddce19a606659163The Android Open Source Project} TestCmdChannelBand_t;
109764064216a8433360745f69edddce19a606659163The Android Open Source Project
109864064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
109964064216a8433360745f69edddce19a606659163The Android Open Source Project
110064064216a8433360745f69edddce19a606659163The Android Open Source Project  TestCmdId :		TEST_CMD_PLT_GAIN_GET
110164064216a8433360745f69edddce19a606659163The Android Open Source Project
110264064216a8433360745f69edddce19a606659163The Android Open Source Project	Description: Retrieves the TX chain gain settings.
110364064216a8433360745f69edddce19a606659163The Android Open Source Project
110464064216a8433360745f69edddce19a606659163The Android Open Source Project  Params:    		PltGainGet_t       gainGet - see public_radio.h
110564064216a8433360745f69edddce19a606659163The Android Open Source Project
110664064216a8433360745f69edddce19a606659163The Android Open Source Project
110764064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
110864064216a8433360745f69edddce19a606659163The Android Open Source Project
110964064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
111064064216a8433360745f69edddce19a606659163The Android Open Source Project
111164064216a8433360745f69edddce19a606659163The Android Open Source Project	TestCmdId:	TEST_CMD_PLT_GET_NVS_UPDATE_BUFFER
111264064216a8433360745f69edddce19a606659163The Android Open Source Project
111364064216a8433360745f69edddce19a606659163The Android Open Source Project	Description: This PLT function provides the all information required by
111464064216a8433360745f69edddce19a606659163The Android Open Source Project					the upper driver in order to update the NVS image.
111564064216a8433360745f69edddce19a606659163The Android Open Source Project					It received a parameter defining the type of update
111664064216a8433360745f69edddce19a606659163The Android Open Source Project					information required and provides an array of elements
111764064216a8433360745f69edddce19a606659163The Android Open Source Project					defining the data bytes to be written to the NVS image
111864064216a8433360745f69edddce19a606659163The Android Open Source Project					and the byte offset in which they should be written.
111964064216a8433360745f69edddce19a606659163The Android Open Source Project Params:     PltNvsResultsBuffer_t nvsUpdateBuffer  - see public_radio.h
112064064216a8433360745f69edddce19a606659163The Android Open Source Project
112164064216a8433360745f69edddce19a606659163The Android Open Source Project
112264064216a8433360745f69edddce19a606659163The Android Open Source Project*****************************************************************************/
112364064216a8433360745f69edddce19a606659163The Android Open Source Project
112464064216a8433360745f69edddce19a606659163The Android Open Source Project
112564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
112664064216a8433360745f69edddce19a606659163The Android Open Source Project
112764064216a8433360745f69edddce19a606659163The Android Open Source Project  TestCmdId :	TEST_CMD_PLT_GAIN_ADJUST
112864064216a8433360745f69edddce19a606659163The Android Open Source Project
112964064216a8433360745f69edddce19a606659163The Android Open Source Project	Description: retrieves the TX chain gain settings.
113064064216a8433360745f69edddce19a606659163The Android Open Source Project
113164064216a8433360745f69edddce19a606659163The Android Open Source Project	Params:     int32                txGainAdjust
113264064216a8433360745f69edddce19a606659163The Android Open Source Project
113364064216a8433360745f69edddce19a606659163The Android Open Source Project*****************************************************************************/
113464064216a8433360745f69edddce19a606659163The Android Open Source Project
113564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
113664064216a8433360745f69edddce19a606659163The Android Open Source Project
113764064216a8433360745f69edddce19a606659163The Android Open Source Project  TestCmdId :	TEST_CMD_PLT_RX_CALIBRATION
113864064216a8433360745f69edddce19a606659163The Android Open Source Project
113964064216a8433360745f69edddce19a606659163The Android Open Source Project	Description: Used as part of the  RX calibration procedure, call this
114064064216a8433360745f69edddce19a606659163The Android Open Source Project			function for every calibration channel.
114164064216a8433360745f69edddce19a606659163The Android Open Source Project			The response for that function indicates only that command had been received by th FW,
114264064216a8433360745f69edddce19a606659163The Android Open Source Project			and not that the calibration procedure had been finished.
114364064216a8433360745f69edddce19a606659163The Android Open Source Project			The upper layer need to wait amount of ((numOfSamples*intervalBetweenSamplesUsec).
114464064216a8433360745f69edddce19a606659163The Android Open Source Project			To make sure that the RX  calibration  completed. before calling to the next command.
114564064216a8433360745f69edddce19a606659163The Android Open Source Project
114664064216a8433360745f69edddce19a606659163The Android Open Source Project	Params:     PltRxCalibrationRequest_t	 rxCalibration
114764064216a8433360745f69edddce19a606659163The Android Open Source Project
114864064216a8433360745f69edddce19a606659163The Android Open Source Project  ******************************************************************************/
114964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct PltRxCalibrationRequest_t
115064064216a8433360745f69edddce19a606659163The Android Open Source Project{
115164064216a8433360745f69edddce19a606659163The Android Open Source Project	int32           expectedRssi;				/* The calibration generated signal power (db) */
115264064216a8433360745f69edddce19a606659163The Android Open Source Project	int32	        intervalBetweenSamplesUsec; /* uSec - recommended value 100 */
115364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8	        channel;
115464064216a8433360745f69edddce19a606659163The Android Open Source Project    RadioBand_e     band;
115564064216a8433360745f69edddce19a606659163The Android Open Source Project    int16	        numOfSamples;				/* recommended value  1000*/
115664064216a8433360745f69edddce19a606659163The Android Open Source Project}PltRxCalibrationRequest_t;
115764064216a8433360745f69edddce19a606659163The Android Open Source Project
115864064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
115964064216a8433360745f69edddce19a606659163The Android Open Source Project
116064064216a8433360745f69edddce19a606659163The Android Open Source ProjectTestCmdId :	TEST_CMD_PLT_TXPOWER_CAL_START
116164064216a8433360745f69edddce19a606659163The Android Open Source Project
116264064216a8433360745f69edddce19a606659163The Android Open Source ProjectDescription:
116364064216a8433360745f69edddce19a606659163The Android Open Source Project
116464064216a8433360745f69edddce19a606659163The Android Open Source ProjectParams:     PltTxCalibrationRequest_t
116564064216a8433360745f69edddce19a606659163The Android Open Source Project
116664064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
116764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
116864064216a8433360745f69edddce19a606659163The Android Open Source Project{
116964064216a8433360745f69edddce19a606659163The Android Open Source Project	uint8			refTxPower;
117064064216a8433360745f69edddce19a606659163The Android Open Source Project	uint8			padding[3];
117164064216a8433360745f69edddce19a606659163The Android Open Source Project}PltTxCalibrationRequest_t;
117264064216a8433360745f69edddce19a606659163The Android Open Source Project
117364064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
117464064216a8433360745f69edddce19a606659163The Android Open Source Project	TestCmd_t - the main PLT structure
117564064216a8433360745f69edddce19a606659163The Android Open Source Project*******************************************************************************/
117664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct TestCmd_t
117764064216a8433360745f69edddce19a606659163The Android Open Source Project{
117864064216a8433360745f69edddce19a606659163The Android Open Source Project    union
117964064216a8433360745f69edddce19a606659163The Android Open Source Project    {
118064064216a8433360745f69edddce19a606659163The Android Open Source Project           PERTxCfg_t	         			fcc;
118164064216a8433360745f69edddce19a606659163The Android Open Source Project           TestCmdChannelBand_t        			telec;
118264064216a8433360745f69edddce19a606659163The Android Open Source Project           PltGainGet_t          			gainGet;
118364064216a8433360745f69edddce19a606659163The Android Open Source Project           PltNvsResultsBuffer_t 			nvsUpdateBuffer;
118464064216a8433360745f69edddce19a606659163The Android Open Source Project           PltRxCalibrationRequest_t	 	rxCalibration;
118564064216a8433360745f69edddce19a606659163The Android Open Source Project           uint32               			txGainAdjust;
118664064216a8433360745f69edddce19a606659163The Android Open Source Project           TestCmdChannelBand_t     		radioTune;
118764064216a8433360745f69edddce19a606659163The Android Open Source Project		   PltTxCalibrationRequest_t		txCalibration;
118864064216a8433360745f69edddce19a606659163The Android Open Source Project    }testCmd_u;
118964064216a8433360745f69edddce19a606659163The Android Open Source Project    TestCmdID_e		testCmdId;
119064064216a8433360745f69edddce19a606659163The Android Open Source Project	int8			padding[3];
119164064216a8433360745f69edddce19a606659163The Android Open Source Project}TestCmd_t;
119264064216a8433360745f69edddce19a606659163The Android Open Source Project
119364064216a8433360745f69edddce19a606659163The Android Open Source Project
119464064216a8433360745f69edddce19a606659163The Android Open Source Project
119564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
119664064216a8433360745f69edddce19a606659163The Android Open Source Project
119764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_NOISE_HIST
119864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command starts/stops the noise histogram measurements.
119964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  NoiseHistRequest_t - see below.
120064064216a8433360745f69edddce19a606659163The Android Open Source Project
120164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
120264064216a8433360745f69edddce19a606659163The Android Open Source Project#define NOISE_HIST_LEN 8
120364064216a8433360745f69edddce19a606659163The Android Open Source Project
120464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
120564064216a8433360745f69edddce19a606659163The Android Open Source Project{
120664064216a8433360745f69edddce19a606659163The Android Open Source Project    NOISE_HIST_STOP,
120764064216a8433360745f69edddce19a606659163The Android Open Source Project    NOISE_HIST_START,
120864064216a8433360745f69edddce19a606659163The Android Open Source Project    NOISE_HIST_INVALID = MAX_POSITIVE16 /* Force to be 16 bits enum*/
120964064216a8433360745f69edddce19a606659163The Android Open Source Project} NoiseHistMode_enum;
121064064216a8433360745f69edddce19a606659163The Android Open Source Project
121164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
121264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint16 NoiseHistMode_e;
121364064216a8433360745f69edddce19a606659163The Android Open Source Project#else
121464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef NoiseHistMode_enum NoiseHistMode_e;
121564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
121664064216a8433360745f69edddce19a606659163The Android Open Source Project
121764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
121864064216a8433360745f69edddce19a606659163The Android Open Source Project{
121964064216a8433360745f69edddce19a606659163The Android Open Source Project    NoiseHistMode_e mode;             /* Start or stop the FW engine. */
122064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Possible values are 1 (Start) and 0 (Stop).*/
122164064216a8433360745f69edddce19a606659163The Android Open Source Project
122264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16 sampleIntervalUSec;        /* The time interval in usec between measurements.*/
122364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* Valid values are between 100us (default) and */
122464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* 2ms (with 100us jumps). This parameter is */
122564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* relevant only when Mode is Start (1).*/
122664064216a8433360745f69edddce19a606659163The Android Open Source Project
122764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8  thresholds[NOISE_HIST_LEN];/* An array of eight 8 bit thresholds. The FW */
122864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* takes noise measurements, once every */
122964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* SampleIntervalUSec interval. If the measured */
123064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* noise level is between the threshold[X] and */
123164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* threshold[X 1], then the FW increments the */
123264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* noise histogram counter[X]. */
123364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* The counters are read via the */
123464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* ACXNoiseHistogramResults IE. This parameter is */
123564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                  /* relevant only when Mode is Start (1).*/
123664064216a8433360745f69edddce19a606659163The Android Open Source Project} NoiseHistRequest_t;
123764064216a8433360745f69edddce19a606659163The Android Open Source Project
123864064216a8433360745f69edddce19a606659163The Android Open Source Project
123964064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
124064064216a8433360745f69edddce19a606659163The Android Open Source Project
124164064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_RX_RESET
124264064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command resets the MAC Rx path. After the command is issued,
124364064216a8433360745f69edddce19a606659163The Android Open Source Project	          the MAC Rx path is reset the next time a frame is received (in the PHY
124464064216a8433360745f69edddce19a606659163The Android Open Source Project			  Rx Header interrupt).
124564064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
124664064216a8433360745f69edddce19a606659163The Android Open Source Project	Note:     This command is for TI internal use only.
124764064216a8433360745f69edddce19a606659163The Android Open Source Project
124864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
124964064216a8433360745f69edddce19a606659163The Android Open Source Project
125064064216a8433360745f69edddce19a606659163The Android Open Source Project
125164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
125264064216a8433360745f69edddce19a606659163The Android Open Source Project
125364064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_LNA_CONTROL
125464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command controls the LNA state.
125564064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  LNAControl_t - see below.
125664064216a8433360745f69edddce19a606659163The Android Open Source Project
125764064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
125864064216a8433360745f69edddce19a606659163The Android Open Source Project
125964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
126064064216a8433360745f69edddce19a606659163The Android Open Source Project{
126164064216a8433360745f69edddce19a606659163The Android Open Source Project    LNA_MODE_MANUAL,    /* 0: The LNA is set to manual mode and is turned off.*/
126264064216a8433360745f69edddce19a606659163The Android Open Source Project	LNA_MODE_AUTO,      /* 1: The LNA is set to automatic mode.*/
126364064216a8433360745f69edddce19a606659163The Android Open Source Project    LNA_MODE_INVALID = 0xFF
126464064216a8433360745f69edddce19a606659163The Android Open Source Project} LnaMode_enum;
126564064216a8433360745f69edddce19a606659163The Android Open Source Project
126664064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
126764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 LnaMode_e;
126864064216a8433360745f69edddce19a606659163The Android Open Source Project#else
126964064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef LnaMode_enum LnaMode_e;
127064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
127164064216a8433360745f69edddce19a606659163The Android Open Source Project
127264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
127364064216a8433360745f69edddce19a606659163The Android Open Source Project{
127464064216a8433360745f69edddce19a606659163The Android Open Source Project	LnaMode_e LNAControlField; /* refer to LnaMode_enum*/
127564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8	  padding[3];      /* for alignment to 32 bits boundry*/
127664064216a8433360745f69edddce19a606659163The Android Open Source Project} LNAControl_t;
127764064216a8433360745f69edddce19a606659163The Android Open Source Project
127864064216a8433360745f69edddce19a606659163The Android Open Source Project
127964064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
128064064216a8433360745f69edddce19a606659163The Android Open Source Project
128164064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_MEASUREMENT
128264064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink device to begin a basic channel
128364064216a8433360745f69edddce19a606659163The Android Open Source Project	          load measurement on the specified channel. When the measurement
128464064216a8433360745f69edddce19a606659163The Android Open Source Project			  process actually starts running the WilLink device will raise the
128564064216a8433360745f69edddce19a606659163The Android Open Source Project			  Measurement Started event. When the measurement process completes as
128664064216a8433360745f69edddce19a606659163The Android Open Source Project			  a result of the end of the measurement duration or a STOP_MEASUREMENT
128764064216a8433360745f69edddce19a606659163The Android Open Source Project			  command, the WilLink device will raise a Measurement Complete event.
128864064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  MeasurementParameters_t - see below.
128964064216a8433360745f69edddce19a606659163The Android Open Source Project
129064064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
129164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
129264064216a8433360745f69edddce19a606659163The Android Open Source Project{
129364064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct rxFilter; /* This field is the Rx filter configuration for the */
129464064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* device while the measurement process is running. */
129564064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* When the process ends the previous Rx filter */
129664064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* configuration is reset. The filter configuration is*/
129764064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* composed of two 32 bit registers. When they are set*/
129864064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* to 0xFFFFFFFF the Rx filter configuration is not*/
129964064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* changed.*/
130064064216a8433360745f69edddce19a606659163The Android Open Source Project
130164064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 duration;            /* Specifies the measurement process duration in */
130264064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* microseconds. The value of 0 means infinite duration*/
130364064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* in which only a STOP_MEASUREMENT command can*/
130464064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* stop the measurement process.*/
130564064216a8433360745f69edddce19a606659163The Android Open Source Project
130664064216a8433360745f69edddce19a606659163The Android Open Source Project    Channel_e channel;          /* Channel number on which the measurement is performed,*/
130764064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* valid range 0-255 (1-14 for 802.11b).*/
130864064216a8433360745f69edddce19a606659163The Android Open Source Project
130964064216a8433360745f69edddce19a606659163The Android Open Source Project    RadioBand_e band;           /* Specifies the band to which the channel belongs. */
131064064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* 0 - 2.4GHz */
131164064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* 1 - 5GHz , */
131264064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* 0xFF - Current band.*/
131364064216a8433360745f69edddce19a606659163The Android Open Source Project
131464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 padding[2];           /* for alignment to 32 bits boundry*/
131564064216a8433360745f69edddce19a606659163The Android Open Source Project} MeasurementParameters_t;
131664064216a8433360745f69edddce19a606659163The Android Open Source Project
131764064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
131864064216a8433360745f69edddce19a606659163The Android Open Source Project
131964064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_STOP_MEASUREMENT
132064064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to terminate any measurement in
132164064216a8433360745f69edddce19a606659163The Android Open Source Project	          progress. After processing this command, the WiLink returns to its
132264064216a8433360745f69edddce19a606659163The Android Open Source Project			  previous state (the state before the measurement was started) and
132364064216a8433360745f69edddce19a606659163The Android Open Source Project			  generates the Measurment Complete event.
132464064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
132564064216a8433360745f69edddce19a606659163The Android Open Source Project
132664064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
132764064216a8433360745f69edddce19a606659163The Android Open Source Project
132864064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
132964064216a8433360745f69edddce19a606659163The Android Open Source Project
133064064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_DISCONNECT
133164064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink device to stop all BSS or IBSS activity.
133264064216a8433360745f69edddce19a606659163The Android Open Source Project	          The device will cancel all of its TSF dependent events and activities.
133364064216a8433360745f69edddce19a606659163The Android Open Source Project			  Power Save dependent activities are an exception to this, therefore
133464064216a8433360745f69edddce19a606659163The Android Open Source Project			  the host must exit Power Save mode by issuing the SET_PS_MODE command
133564064216a8433360745f69edddce19a606659163The Android Open Source Project			  before calling this command. When this command is complete the Disconnect
133664064216a8433360745f69edddce19a606659163The Android Open Source Project			  Complete event is raised to the host and the WiLink device is allowed
133764064216a8433360745f69edddce19a606659163The Android Open Source Project			  to enter the configured low power state.
133864064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  DisconnectParameters_t - see below.
133964064216a8433360745f69edddce19a606659163The Android Open Source Project
134064064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
134164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
134264064216a8433360745f69edddce19a606659163The Android Open Source Project{
134364064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct rxFilter; /* This field is the Rx filter configuration for the*/
134464064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* device that is set after the disconnection is */
134564064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* complete. */
134664064216a8433360745f69edddce19a606659163The Android Open Source Project
134764064216a8433360745f69edddce19a606659163The Android Open Source Project
134864064216a8433360745f69edddce19a606659163The Android Open Source Project} DisconnectParameters_t;
134964064216a8433360745f69edddce19a606659163The Android Open Source Project
135064064216a8433360745f69edddce19a606659163The Android Open Source Project
135164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
135264064216a8433360745f69edddce19a606659163The Android Open Source Project
135364064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_SET_PS_MODE
135464064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command turns ON/OFF Power save protocol on the WiLink.
135564064216a8433360745f69edddce19a606659163The Android Open Source Project	          After HW configuration, FW sends Null data packet to the AP with Power
135664064216a8433360745f69edddce19a606659163The Android Open Source Project			  Management bit set accordingly to the field "Mode" of this command
135764064216a8433360745f69edddce19a606659163The Android Open Source Project			  structure. After processing this command, the FW generates the
135864064216a8433360745f69edddce19a606659163The Android Open Source Project			  PS_COMPLETE event.
135964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  PSModeParameters_t - see below.
136064064216a8433360745f69edddce19a606659163The Android Open Source Project
136164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
136264064216a8433360745f69edddce19a606659163The Android Open Source Project
136364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef enum
136464064216a8433360745f69edddce19a606659163The Android Open Source Project{
136564064216a8433360745f69edddce19a606659163The Android Open Source Project    STATION_ACTIVE_MODE,
136664064216a8433360745f69edddce19a606659163The Android Open Source Project    STATION_POWER_SAVE_MODE
136764064216a8433360745f69edddce19a606659163The Android Open Source Project} StationPSMode_enum;
136864064216a8433360745f69edddce19a606659163The Android Open Source Project
136964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef HOST_COMPILE
137064064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef uint8 StationPowerSaveMode_e;
137164064216a8433360745f69edddce19a606659163The Android Open Source Project#else
137264064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef StationPSMode_enum StationPowerSaveMode_e;
137364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif
137464064216a8433360745f69edddce19a606659163The Android Open Source Project
137564064216a8433360745f69edddce19a606659163The Android Open Source Project/*
137664064216a8433360745f69edddce19a606659163The Android Open Source ProjectTxdRateSet_t definition
137764064216a8433360745f69edddce19a606659163The Android Open Source ProjectBit     Description
137864064216a8433360745f69edddce19a606659163The Android Open Source Project===     ===========
137964064216a8433360745f69edddce19a606659163The Android Open Source Project0-12    Every one of bits 0-12 specifies rate described in the column on left. Only
138064064216a8433360745f69edddce19a606659163The Android Open Source Project        one bit could be set for the command, all other should be zeroed.
138164064216a8433360745f69edddce19a606659163The Android Open Source Project0       1 MBPS
138264064216a8433360745f69edddce19a606659163The Android Open Source Project1       2 MBPS
138364064216a8433360745f69edddce19a606659163The Android Open Source Project2       5.5 MBPS
138464064216a8433360745f69edddce19a606659163The Android Open Source Project3       6 MBPS
138564064216a8433360745f69edddce19a606659163The Android Open Source Project4       9 MBPS
138664064216a8433360745f69edddce19a606659163The Android Open Source Project5       11 MBPS
138764064216a8433360745f69edddce19a606659163The Android Open Source Project6       12 MBPS
138864064216a8433360745f69edddce19a606659163The Android Open Source Project7       18 MBPS
138964064216a8433360745f69edddce19a606659163The Android Open Source Project8       22 MBPS
139064064216a8433360745f69edddce19a606659163The Android Open Source Project9       24 MBPS
139164064216a8433360745f69edddce19a606659163The Android Open Source Project10      36 MBPS
139264064216a8433360745f69edddce19a606659163The Android Open Source Project11      48 MBPS
139364064216a8433360745f69edddce19a606659163The Android Open Source Project12      54 MBPS
139464064216a8433360745f69edddce19a606659163The Android Open Source Project13      Unused (set to 0).
139564064216a8433360745f69edddce19a606659163The Android Open Source Project14      PBCC - When this bit is set, the WiLink transmits probe requests with PBCC
139664064216a8433360745f69edddce19a606659163The Android Open Source Project        modulation.
139764064216a8433360745f69edddce19a606659163The Android Open Source Project15      Preamble - When this bit is set, the WiLink transmits probe requests with a
139864064216a8433360745f69edddce19a606659163The Android Open Source Project                   short preamble. When this bit is clear, the WiLink transmits the
139964064216a8433360745f69edddce19a606659163The Android Open Source Project				   frame with a long preamble.
140064064216a8433360745f69edddce19a606659163The Android Open Source Project
140164064216a8433360745f69edddce19a606659163The Android Open Source ProjectIf neither the PBCC bit or OFDM rate are set, then the modulation format for probe
140264064216a8433360745f69edddce19a606659163The Android Open Source Projectrequests is CCK for 5.5 or 11 Mbps or DBPSK/DQPSK for 1 and 2 Mbps.
140364064216a8433360745f69edddce19a606659163The Android Open Source Project*/
140464064216a8433360745f69edddce19a606659163The Android Open Source Project
140564064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
140664064216a8433360745f69edddce19a606659163The Android Open Source Project{
140764064216a8433360745f69edddce19a606659163The Android Open Source Project    StationPowerSaveMode_e mode;         /* This field specifies the future Power save*/
140864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* protocol mode of the system. */
140964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* When set, Power save protocol is enabled. */
141064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* When cleared, Power save protocol is */
141164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* disabled (refer to StationPSMode_enum).*/
141264064216a8433360745f69edddce19a606659163The Android Open Source Project
141364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8                  needToSendNullData;
141464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 numberOfRetries;               /* This field specifies the maximum allowed */
141564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* number of retries of the Null data packet */
141664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* that FW will send after switching the */
141764064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* Power Save Protocol mode.*/
141864064216a8433360745f69edddce19a606659163The Android Open Source Project
141964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 hangOverPeriod;                /* This field specifies the hangover period, */
142064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* which is the time in TUs during which the */
142164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* WiLink remains awake after sending an MPDU */
142264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* with the Power Save bit set, indicating that*/
142364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* the station is to go into Power Save mode. */
142464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* Setting bit 0 does not affect the hangover */
142564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* period.*/
142664064216a8433360745f69edddce19a606659163The Android Open Source Project
142764064216a8433360745f69edddce19a606659163The Android Open Source Project    TxdRateSet_t rateToTransmitNullData; /* This bitwise field specifies the rate and */
142864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* modulation to transmit the Null data packet*/
142964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* to the AP. refer to above table */
143064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                     /* (TxdRateSet_t). */
143164064216a8433360745f69edddce19a606659163The Android Open Source Project
143264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 padding[2];                    /* for alignment to 32 bits boundry*/
143364064216a8433360745f69edddce19a606659163The Android Open Source Project} PSModeParameters_t;
143464064216a8433360745f69edddce19a606659163The Android Open Source Project
143564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
143664064216a8433360745f69edddce19a606659163The Android Open Source Project
143764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_CHANNEL_SWITCH
143864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to switch serving channel at the given
143964064216a8433360745f69edddce19a606659163The Android Open Source Project	          time. Once the channel switch is performed, the Channel Switch Complete
144064064216a8433360745f69edddce19a606659163The Android Open Source Project			  event is raised to the host.
144164064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  ChannelSwitchParameters_t - see below.
144264064216a8433360745f69edddce19a606659163The Android Open Source Project
144364064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
144464064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
144564064216a8433360745f69edddce19a606659163The Android Open Source Project{
144664064216a8433360745f69edddce19a606659163The Android Open Source Project    Channel_e channel;  /* The new serving channel.*/
144764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 switchTime;   /* Relative time of the serving channel switch in TBTT units.*/
144864064216a8433360745f69edddce19a606659163The Android Open Source Project    Bool_e txSuspend;   /* 1: Suspend TX till switch time; */
144964064216a8433360745f69edddce19a606659163The Android Open Source Project	                    /* 0: Do not suspend TX*/
145064064216a8433360745f69edddce19a606659163The Android Open Source Project    Bool_e flush;       /* 1: Flush TX at switch time; */
145164064216a8433360745f69edddce19a606659163The Android Open Source Project	                    /* 0: Do not flush*/
145264064216a8433360745f69edddce19a606659163The Android Open Source Project
145364064216a8433360745f69edddce19a606659163The Android Open Source Project} ChannelSwitchParameters_t;
145464064216a8433360745f69edddce19a606659163The Android Open Source Project
145564064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
145664064216a8433360745f69edddce19a606659163The Android Open Source Project
145764064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_STOP_CHANNEL_SWICTH
145864064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink device to cancel performing a
145964064216a8433360745f69edddce19a606659163The Android Open Source Project	          pending channel switch event command.
146064064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
146164064216a8433360745f69edddce19a606659163The Android Open Source Project
146264064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
146364064216a8433360745f69edddce19a606659163The Android Open Source Project
146464064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
146564064216a8433360745f69edddce19a606659163The Android Open Source Project
146664064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_AP_DISCOVERY
146764064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink device to perform an AP discovery
146864064216a8433360745f69edddce19a606659163The Android Open Source Project	          measurement on a single channel. This command can only be issued after
146964064216a8433360745f69edddce19a606659163The Android Open Source Project	          a measurement process has been started by the WiLink device as a result
147064064216a8433360745f69edddce19a606659163The Android Open Source Project	          of a previous Measurement command. The Measurement command specifies the
147164064216a8433360745f69edddce19a606659163The Android Open Source Project	          channel on which the AP discovery is performed. Once the "AP discovery"
147264064216a8433360745f69edddce19a606659163The Android Open Source Project	          measurement is completed either by a STOP_AP_DISCOVERY command or when
147364064216a8433360745f69edddce19a606659163The Android Open Source Project	          the duration has expired, it will send an "AP discovery complete event"
147464064216a8433360745f69edddce19a606659163The Android Open Source Project	          to the host.
147564064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  ApDiscoveryParameters_t - see below.
147664064216a8433360745f69edddce19a606659163The Android Open Source Project
147764064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
147864064216a8433360745f69edddce19a606659163The Android Open Source Project/*
147964064216a8433360745f69edddce19a606659163The Android Open Source ProjectTxdRateSet_t definition
148064064216a8433360745f69edddce19a606659163The Android Open Source ProjectBit     Description
148164064216a8433360745f69edddce19a606659163The Android Open Source Project===     ===========
148264064216a8433360745f69edddce19a606659163The Android Open Source Project0-12    Every one of bits 0-12 specifies rate described in the column on left. Only
148364064216a8433360745f69edddce19a606659163The Android Open Source Project        one bit could be set for the command, all other should be zeroed.
148464064216a8433360745f69edddce19a606659163The Android Open Source Project0       1 MBPS
148564064216a8433360745f69edddce19a606659163The Android Open Source Project1       2 MBPS
148664064216a8433360745f69edddce19a606659163The Android Open Source Project2       5.5 MBPS
148764064216a8433360745f69edddce19a606659163The Android Open Source Project3       6 MBPS
148864064216a8433360745f69edddce19a606659163The Android Open Source Project4       9 MBPS
148964064216a8433360745f69edddce19a606659163The Android Open Source Project5       11 MBPS
149064064216a8433360745f69edddce19a606659163The Android Open Source Project6       12 MBPS
149164064216a8433360745f69edddce19a606659163The Android Open Source Project7       18 MBPS
149264064216a8433360745f69edddce19a606659163The Android Open Source Project8       22 MBPS
149364064216a8433360745f69edddce19a606659163The Android Open Source Project9       24 MBPS
149464064216a8433360745f69edddce19a606659163The Android Open Source Project10      36 MBPS
149564064216a8433360745f69edddce19a606659163The Android Open Source Project11      48 MBPS
149664064216a8433360745f69edddce19a606659163The Android Open Source Project12      54 MBPS
149764064216a8433360745f69edddce19a606659163The Android Open Source Project13      Unused (set to 0).
149864064216a8433360745f69edddce19a606659163The Android Open Source Project14      PBCC - When this bit is set, the WiLink transmits probe requests with PBCC
149964064216a8433360745f69edddce19a606659163The Android Open Source Project        modulation.
150064064216a8433360745f69edddce19a606659163The Android Open Source Project        Notes:
150164064216a8433360745f69edddce19a606659163The Android Open Source Project           Does not apply (set to 0) for rates 1 and 2 Mbps.
150264064216a8433360745f69edddce19a606659163The Android Open Source Project           Does not apply (set to 0) for RevG-OFDM rates.
150364064216a8433360745f69edddce19a606659163The Android Open Source Project15      Preamble - When this bit is set, the WiLink transmits probe requests with a
150464064216a8433360745f69edddce19a606659163The Android Open Source Project                   short preamble. When this bit is clear, the WiLink transmits the
150564064216a8433360745f69edddce19a606659163The Android Open Source Project				   frame with a long preamble.
150664064216a8433360745f69edddce19a606659163The Android Open Source Project                   Notes:
150764064216a8433360745f69edddce19a606659163The Android Open Source Project                     Must be LONG (0) for 1Mbps rate.
150864064216a8433360745f69edddce19a606659163The Android Open Source Project				     Does not apply (set to 0) for RevG-OFDM rates.
150964064216a8433360745f69edddce19a606659163The Android Open Source Project
151064064216a8433360745f69edddce19a606659163The Android Open Source ProjectIf neither the PBCC bit or OFDM rate are set, then the modulation format for probe
151164064216a8433360745f69edddce19a606659163The Android Open Source Projectrequests is CCK for 5.5 or 11 Mbps or DBPSK/DQPSK for 1 and 2 Mbps.
151264064216a8433360745f69edddce19a606659163The Android Open Source Project*/
151364064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
151464064216a8433360745f69edddce19a606659163The Android Open Source Project{
151564064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct rxFilter; /* This field is the Rx filter configuration for the */
151664064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* device while the AP Discovery process is running. */
151764064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* When the process ends the previous Rx filter */
151864064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* configuration is reset. The filter configuration is*/
151964064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* composed of two 32 bit registers. When they are set */
152064064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* to 0xFFFFFFFF the Rx filter configuration is not */
152164064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* changed.*/
152264064216a8433360745f69edddce19a606659163The Android Open Source Project
152364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 scanDuration;        /* This field specifies the amount of time, in time*/
152464064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* units (TUs), to perform the AP discovery. The value*/
152564064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* can range from 0 to 65535 TUs (67.1 seconds). */
152664064216a8433360745f69edddce19a606659163The Android Open Source Project
152764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16 scanOptions;         /* This field specifies whether the AP discovery is */
152864064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* performed by an active scan or a passive scan. */
152964064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* 0 - ACTIVE, 1 - PASSIVE.*/
153064064216a8433360745f69edddce19a606659163The Android Open Source Project
153164064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8  numOfProbRqst;       /* This field indicates the number of probe requests to*/
153264064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* send per channel, when active scan is specified. */
153364064216a8433360745f69edddce19a606659163The Android Open Source Project                                /* Note: for EXC measurement this value should be set */
153464064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /*       to 1.*/
153564064216a8433360745f69edddce19a606659163The Android Open Source Project
153664064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 txPowerAttenuation;   /* TX power level to be used for sending probe requests*/
153764064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* when active scan is specified. */
153864064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* If 0, leave normal TX power level for this channel. */
153964064216a8433360745f69edddce19a606659163The Android Open Source Project
154064064216a8433360745f69edddce19a606659163The Android Open Source Project    TxdRateSet_t txdRateSet;    /* This bitwise field specifies the rate and modulation*/
154164064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* to transmit the probe request when an active scan is*/
154264064216a8433360745f69edddce19a606659163The Android Open Source Project	                            /* specified. Refer to above descrption ob TxdRateSet.*/
154364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8 padding[3];           /* for alignment to 32 bits boundry*/
154464064216a8433360745f69edddce19a606659163The Android Open Source Project} ApDiscoveryParameters_t;
154564064216a8433360745f69edddce19a606659163The Android Open Source Project
154664064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
154764064216a8433360745f69edddce19a606659163The Android Open Source Project
154864064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_STOP_AP_DISCOVERY
154964064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to terminate the AP Discovery
155064064216a8433360745f69edddce19a606659163The Android Open Source Project	          measurement in progress. After processing this command, the WiLink
155164064216a8433360745f69edddce19a606659163The Android Open Source Project			  returns to its previous state  and generates the AP Discovery Complete
155264064216a8433360745f69edddce19a606659163The Android Open Source Project			  Event.
155364064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
155464064216a8433360745f69edddce19a606659163The Android Open Source Project
155564064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
155664064216a8433360745f69edddce19a606659163The Android Open Source Project
155764064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
155864064216a8433360745f69edddce19a606659163The Android Open Source Project
155964064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_SPS_SCAN
156064064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to perform a scheduled passive
156164064216a8433360745f69edddce19a606659163The Android Open Source Project	          scan for BSS/IBSSs. The WiLink monitors the specified channel(s)
156264064216a8433360745f69edddce19a606659163The Android Open Source Project			  for beacons. The WiLink sends Scheduled Scan Complete event to notify
156364064216a8433360745f69edddce19a606659163The Android Open Source Project			  the host when it has completed a scan.
156464064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  InfoElement_t - see below.
156564064216a8433360745f69edddce19a606659163The Android Open Source Project
156664064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
156764064216a8433360745f69edddce19a606659163The Android Open Source Project/* Scheduled - General scan parameters.*/
156864064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
156964064216a8433360745f69edddce19a606659163The Android Open Source Project{
157064064216a8433360745f69edddce19a606659163The Android Open Source Project    ACXRxConfigStruct rxCfg;         /* Rx filter to be used for each channel scan. */
157164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* The BSSID filter enable will be set (by the scan*/
157264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* process) to ON for a specific channel if the*/
157364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* BSSID of this channel is a unicast address. */
157464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* Otherwise it will be set to OFF (Refer to */
157564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* ACXRxConfigStruct).*/
157664064216a8433360745f69edddce19a606659163The Android Open Source Project
157764064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32            scanCmdTime_h; /* This filed is the latest 32 MSBits of TSF known*/
157864064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* at the time the SPS command was issued. When the*/
157964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* scan process is about to begin, this value is */
158064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* used to determine if the AP has performed a */
158164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* recovery by comparing this value to the current*/
158264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* TSF. (An AP that has performed a recovery should*/
158364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* have a lower TSF then the one that was saved).*/
158464064216a8433360745f69edddce19a606659163The Android Open Source Project
158564064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32            scanCmdTime_l; /* This filed is the latest 32 LSBits of TSF known*/
158664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* at the time the SPS command was issued. */
158764064216a8433360745f69edddce19a606659163The Android Open Source Project
158864064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16            scanOptions;   /* This bitwise field indicates the scan options. */
158964064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* Bits [0,2:15] are reserved. */
159064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* Bit 1 is defined as follows:*/
159164064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*  Band Select - When this bit is set, the WiLink*/
159264064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*                scans the specified channels in */
159364064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*                the 5GHz band. */
159464064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*                When this bit is cleared, the */
159564064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*                WiLink scans the specified */
159664064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /*                channels in the 2.4GHz band. */
159764064216a8433360745f69edddce19a606659163The Android Open Source Project
159864064216a8433360745f69edddce19a606659163The Android Open Source Project
159964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8             numChannels;   /* Number of scan channels in the list (minimum */
160064064216a8433360745f69edddce19a606659163The Android Open Source Project	                                 /* (minimumis 1, maximum is 30).*/
160164064216a8433360745f69edddce19a606659163The Android Open Source Project
160264064216a8433360745f69edddce19a606659163The Android Open Source Project    uint8		      padding;       /* for alignment to 32 bits boundry*/
160364064216a8433360745f69edddce19a606659163The Android Open Source Project} ScheduledGeneralParameters_t;
160464064216a8433360745f69edddce19a606659163The Android Open Source Project
160564064216a8433360745f69edddce19a606659163The Android Open Source Project
160664064216a8433360745f69edddce19a606659163The Android Open Source Project/* Scheduled - Per-Channel scan parameters.*/
160764064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
160864064216a8433360745f69edddce19a606659163The Android Open Source Project{
160964064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 scanStartTime;      /* Duration in microseconds of the scan on this channel */
161064064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* (Scan could be aborted before this duration in case of*/
161164064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* early termination condition met on the channel). */
161264064216a8433360745f69edddce19a606659163The Android Open Source Project
161364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 scanMaxDuration;    /* Lower 4 bytes of TSF time in microseconds when the */
161464064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* scan should start listening on the desired channel. */
161564064216a8433360745f69edddce19a606659163The Android Open Source Project
161664064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32 bssIdL;             /* 32 LSBits of BSSID of the AP to scan for. If scanning */
161764064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* on this  channel any BSSID, this field shall be set */
161864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* to broadcast BSSID. */
161964064216a8433360745f69edddce19a606659163The Android Open Source Project
162064064216a8433360745f69edddce19a606659163The Android Open Source Project    uint16 bssIdH;             /* 16 MSBits of BSSID of the AP to scan for. */
162164064216a8433360745f69edddce19a606659163The Android Open Source Project
162264064216a8433360745f69edddce19a606659163The Android Open Source Project    ETCondCount_t ETCondCount; /* bit 0-3: Early Termination count - This field */
162364064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /*          defines the maximum number of beacons*/
162464064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /*          or probe responses or both (according*/
162564064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /*          to condition) to collect before ending*/
162664064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /*          a scan.*/
162764064216a8433360745f69edddce19a606659163The Android Open Source Project
162864064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* Bit 4-5: Early Termination Condition (refer */
162964064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /*          to ETCondition_enum).*/
163064064216a8433360745f69edddce19a606659163The Android Open Source Project    Channel_e     channel;     /* Channel number to scan, valid range 0-255 */
163164064216a8433360745f69edddce19a606659163The Android Open Source Project	                           /* (1-14 for 802.11b).*/
163264064216a8433360745f69edddce19a606659163The Android Open Source Project} ScheduledChannelParameters_t;
163364064216a8433360745f69edddce19a606659163The Android Open Source Project
163464064216a8433360745f69edddce19a606659163The Android Open Source Project
163564064216a8433360745f69edddce19a606659163The Android Open Source Project/* The Scheduled Scan command structure.*/
163664064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
163764064216a8433360745f69edddce19a606659163The Android Open Source Project{
163864064216a8433360745f69edddce19a606659163The Android Open Source Project    ScheduledGeneralParameters_t scheduledGeneralParameters;
163964064216a8433360745f69edddce19a606659163The Android Open Source Project    ScheduledChannelParameters_t scheduledChannelParameters[SCAN_MAX_NUM_OF_CHANNELS];
164064064216a8433360745f69edddce19a606659163The Android Open Source Project} ScheduledScanParameters_t;
164164064216a8433360745f69edddce19a606659163The Android Open Source Project
164264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
164364064216a8433360745f69edddce19a606659163The Android Open Source Project
164464064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_STOP_SPS_SCAN
164564064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to terminate a currently running
164664064216a8433360745f69edddce19a606659163The Android Open Source Project	          SPS or a pending SPS.. After processing this command, the WiLink
164764064216a8433360745f69edddce19a606659163The Android Open Source Project			  returns to its previous state and generates the Scheduled Scan
164864064216a8433360745f69edddce19a606659163The Android Open Source Project			  Complete Event.
164964064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
165064064216a8433360745f69edddce19a606659163The Android Open Source Project
165164064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
165264064216a8433360745f69edddce19a606659163The Android Open Source Project
165364064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
165464064216a8433360745f69edddce19a606659163The Android Open Source Project
165564064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_HEALTH_CHECK
165664064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:	  This command instructs the WiLink to raise a MAC status event
165764064216a8433360745f69edddce19a606659163The Android Open Source Project	          which contains the current FCS Error counter.
165864064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  None.
165964064216a8433360745f69edddce19a606659163The Android Open Source Project
166064064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
166164064216a8433360745f69edddce19a606659163The Android Open Source Project
166264064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************
166364064216a8433360745f69edddce19a606659163The Android Open Source Project
166464064216a8433360745f69edddce19a606659163The Android Open Source Project    ID:		  CMD_DEBUG
166564064216a8433360745f69edddce19a606659163The Android Open Source Project	Desc:
166664064216a8433360745f69edddce19a606659163The Android Open Source Project    Params:	  debugCommnad_t - see below.
166764064216a8433360745f69edddce19a606659163The Android Open Source Project
166864064216a8433360745f69edddce19a606659163The Android Open Source Project******************************************************************************/
166964064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_DEBUG_PARAMETERS 10
167064064216a8433360745f69edddce19a606659163The Android Open Source Project
167164064216a8433360745f69edddce19a606659163The Android Open Source Projecttypedef struct
167264064216a8433360745f69edddce19a606659163The Android Open Source Project{
167364064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32  id;
167464064216a8433360745f69edddce19a606659163The Android Open Source Project    uint32  params[MAX_DEBUG_PARAMETERS];
167564064216a8433360745f69edddce19a606659163The Android Open Source Project} debugCommnad_t;
167664064216a8433360745f69edddce19a606659163The Android Open Source Project
167764064216a8433360745f69edddce19a606659163The Android Open Source Project/* PLT public definitions*/
167864064216a8433360745f69edddce19a606659163The Android Open Source Project#define TEST_CONTINUOUS 0x04       /* transmit frames contimuously */
167964064216a8433360745f69edddce19a606659163The Android Open Source Project
168064064216a8433360745f69edddce19a606659163The Android Open Source Project
168164064216a8433360745f69edddce19a606659163The Android Open Source Project/*This typedef corresponds to the Fig 1 Frame Format for PER test given in PER test doc.*/
168264064216a8433360745f69edddce19a606659163The Android Open Source Project#define PER_MODE_TX 1
168364064216a8433360745f69edddce19a606659163The Android Open Source Project#define PER_MODE_RX 2
168464064216a8433360745f69edddce19a606659163The Android Open Source Project#define INFRA   0x2         /* BSS is in Infrastructure mode */
168564064216a8433360745f69edddce19a606659163The Android Open Source Project#define LOCAL_MEM_LAST      0x02000000
168664064216a8433360745f69edddce19a606659163The Android Open Source Project#define PBCC_MODULATION_MASK 0x80
168764064216a8433360745f69edddce19a606659163The Android Open Source Project#define OFDM_MODULATION_MASK 0x40
168864064216a8433360745f69edddce19a606659163The Android Open Source Project#define BAND_SELECT_5GHZ     0x10
168964064216a8433360745f69edddce19a606659163The Android Open Source Project#define CTL_PREAMBLE         0x01
169064064216a8433360745f69edddce19a606659163The Android Open Source Project
169164064216a8433360745f69edddce19a606659163The Android Open Source Project
169264064216a8433360745f69edddce19a606659163The Android Open Source Project
169364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* PUBLIC_COMMANDS_H*/
1694