1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*
2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * STADExternalIf.h
3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.
5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved.
6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without
8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions
9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met:
10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions of source code must retain the above copyright
12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer.
13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Redistributions in binary form must reproduce the above copyright
14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    notice, this list of conditions and the following disclaimer in
15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    the documentation and/or other materials provided with the
16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    distribution.
17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  * Neither the name Texas Instruments nor the names of its
18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    contributors may be used to endorse or promote products derived
19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *    from this software without specific prior written permission.
20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************************************************************/
36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                          */
37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*    MODULE:   TiWlnIf.h                                       */
38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*    PURPOSE:                                                              */
39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*                                                                          */
40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/****************************************************************************/
41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#ifndef __TIWLNIF_NEW_H__
42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define __TIWLNIF_NEW_H__
43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \file  STADExternalIf.h
45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *  \brief STAD External APIs
46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "tidef.h"
49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "report.h"
50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "osDot11.h"
51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TI_IPC_Api.h"
52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "bssTypes.h"
53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "roamingMngrTypes.h"
54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "version.h"
55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "privateCmd.h"
56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "CmdInterfaceCodes.h"
57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "coreDefaultParams.h"
58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "scanMngrTypes.h"
59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriver.h"
60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***********/
62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* defines */
63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***********/
64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
65653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt#define NUM_OF_CONFIG_PARAMS_IN_SG  	    2
66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define NUM_OF_STATUS_PARAMS_IN_SG  		11
67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define NUM_OF_COEX_ACTIVITY_PARAMS_IN_SG 	6
68653850f71f9caaa41af19cadbab24bb5e655daf4Dmitry Shmidt#define NUM_OF_RATE_MNGT_PARAMS_MAX			14
69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define SET_SSID_WITHOUT_SUPPL      		0x8000
70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define TX_RETRY_HISTOGRAM_SIZE 			16
72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define RX_DATA_FILTER_MAX_MASK_SIZE        8
74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define RX_DATA_FILTER_MAX_PATTERN_SIZE     64
75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define KEEP_ALIVE_TEMPLATE_MAX_LENGTH      64
77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#define KEEP_ALIVE_MAX_USER_MESSAGES     	2
79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*********************/
82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* enumeration types */
83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/*********************/
84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum TxDelayRanges_e
86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TX Delay Ranges
87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * The Tx path delay histogram (host + MAC)ranges in msec
90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used as indexes in tx Delay Histogram Ranges (including Start & End of ranges) Table
91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_MIN        = 0,		/**< */
97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_0_TO_1     = 0,		/**< */
99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_1_TO_10    = 1,		/**< */
100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_10_TO_20   = 2,		/**< */
101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_20_TO_40   = 3,		/**< */
102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_40_TO_60   = 4,		/**< */
103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_60_TO_80   = 5,		/**< */
104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_80_TO_100  = 6,		/**< */
105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_100_TO_200 = 7,		/**< */
106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_ABOVE_200  = 8,		/**< */
107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGE_MAX        = 8,		/**< */
109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TX_DELAY_RANGES_NUM       = 9		/**< */
110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TxDelayRanges_e;
111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum TIWLN_SIMPLE_CONFIG_MODE
113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TI WLAN Simple Configuration Mode
114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used for indicating WiFi Simple Configuration mode
117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TIWLN_SIMPLE_CONFIG_OFF = 0,		/**< Simple Configuration OFF			*/
123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TIWLN_SIMPLE_CONFIG_PIN_METHOD,		/**< Simple Configuration PIN Method	*/
124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TIWLN_SIMPLE_CONFIG_PBC_METHOD		/**< Simple Configuration PBC Method	*/
125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TIWLN_SIMPLE_CONFIG_MODE;
126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \enum EDraftNumber
128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Draft Number
129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Site Manager / Exteranl Rate use draft number
132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef enum
136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    DRAFT_5_AND_EARLIER = 5,	/**< */
138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    DRAFT_6_AND_LATER   = 6		/**< */
139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} EDraftNumber;
141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/********************/
143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* Structures types */
144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/********************/
145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TTxDataCounters
148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TX Data Counters
149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Tx statistics per Tx-queue
152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      XmitOk;                 /**< The number of frames that were transferred to TNET without errors 						*/
158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      DirectedBytesXmit;      /**< The number of bytes in directed packets that are transmitted without errors 			*/
159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      DirectedFramesXmit;     /**< The number of directed packets that are transmitted without errors 						*/
160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      MulticastBytesXmit;     /**< The number of bytes in multicast/functional packets that are transmitted without errors */
161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      MulticastFramesXmit;    /**< The number of multicast/functional packets that are transmitted without errors			*/
162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      BroadcastBytesXmit;     /**< The number of bytes in broadcast packets that are transmitted without errors 			*/
163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      BroadcastFramesXmit;    /**< The number of broadcast packets that are transmitted without errors 					*/
164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      RetryHistogram[ TX_RETRY_HISTOGRAM_SIZE ];	/**< Histogram counting the number of packets xfered with any retry number	*/
166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      RetryFailCounter;       /**< Number of packets that failed transmission due to retry number exceeded 				*/
168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      TxTimeoutCounter;       /**< Number of packets that failed transmission due to lifetime expiry 						*/
169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      NoLinkCounter;          /**< Number of packets that failed transmission due to link failure 							*/
170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      OtherFailCounter;       /**< Number of packets that failed transmission due to other reasons 						*/
171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      MaxConsecutiveRetryFail;/**< Maximum consecutive packets that failed transmission due to retry limit exceeded 		*/
172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    /*  TX path delay statistics  */
174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      txDelayHistogram[TX_DELAY_RANGES_NUM];	/**< Histogram of Tx path delay (host + MAC) 								*/
175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      NumPackets;             /**< For average calculation - Total packets counted 										*/
176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      SumTotalDelayMs;        /**< For average calculation - the sum of packets total delay 								*/
177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      SumFWDelayUs;           /**< For average calculation - The sum of packets FW delay 									*/
178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32      SumMacDelayUs;          /**< For average calculation - the sum of packets MAC delay 									*/
179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TTxDataCounters;
180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TIWLN_TX_STATISTICS
182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TI WLAN TX Statistics
183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All Tx statistics of all Tx Queues Tx-queue
186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TTxDataCounters  txCounters[MAX_NUM_OF_AC];	/**< Table which holds Tx statistics of each Tx-queue */
192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TIWLN_TX_STATISTICS;
193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TDfsChannelRange
195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief DFS Channel Range
196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Range of Dynamic Frequency Selection Channel
199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT16   minDFS_channelNum;	/**< Lower limit of DFS Channel Range		*/
205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT16   maxDFS_channelNum;	/**< Higher limit of DFS Channel Range		*/
206981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TDfsChannelRange;
207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TDebugRegisterReq
209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Debug Register Request
210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used for reading HW register (for debug)
213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32 regSize;			/**< Register Size			*/
219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32 regAddr;			/**< Register Address  		*/
220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32 regValue;			/**< Register value read	*/
221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TDebugRegisterReq;
222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TIWLN_REG_RW
224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TI WLAN Register R/W
225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used for writing HW register (for debug)
228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TI_UINT32 regSize;		/**< Register Size			*/
234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TI_UINT32 regAddr;		/**< Register Address  		*/
235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt        TI_UINT32 regValue;		/**< Register write value	*/
236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TIWLN_REG_RW;
237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TCountry
239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Country Parameters
240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Parameters of Country Informatino Element
243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            elementId;		/**< Country IE ID 										*/
249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            len;			/**< Country IE data length 							*/
250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    dot11_countryIE_t   countryIE;	   	/**< Country IE (country string and tripple channel)	*/
251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TCountry;
252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TRates
254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Rates Parameters
255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Site Manager Supported rates parameters
258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       len;											/**< Number of entries in the rates list													*/
264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       ratesString[DOT11_MAX_SUPPORTED_RATES];		/**< Rates List. From each entry - a different bitrate (in bps) can be driven as followed:
265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																((ratesString[i] & 0x7F) * 500000). Bits 1-7 are used for the bitrate and bit 8 is MASK used
266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																for indicating if NET Basic
267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																*/
268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TRates;
269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TRxDataFilterRequest
271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief RX Data Filter Request
272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Use for handling RX Data Filter (Add, Remove, parse, usage)
275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
277981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
278981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
279981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
280981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       offset; 									/**< Pattern Start Offset (0-255) 										*/
281981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       maskLength; 								/**< Byte-Mask Length, 1-8 bytes of mask, 0- match all packets 			*/
282981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       patternLength; 							/**< Should correspond to the number of asserted bits in the Byte-Mask 	*/
283981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       mask[RX_DATA_FILTER_MAX_MASK_SIZE]; 		/**< Byte-Mask 															*/
284981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8       pattern[RX_DATA_FILTER_MAX_PATTERN_SIZE];/**< Data Filter PAttern												*/
285981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TRxDataFilterRequest;
286981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
287981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TIWLN_COUNTERS
288981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief TI WLAN Counters
289981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
290981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
291981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Use for handling RX Data Filter (Add, Remove, parse, usage)
292981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
293981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
294981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
295981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
296981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
297981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  RecvOk;              /**< Number of frames that the NIC receives without errors										*/
298981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  RecvError;           /**< Number of frames that a NIC receives but does not indicate to the protocols due to errors	*/
299981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  RecvNoBuffer;        /**< Number of frames that the NIC cannot receive due to lack of NIC receive buffer space     	*/
300981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  DirectedBytesRecv;   /**< Number of bytes in directed packets that are received without errors                     	*/
301981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  DirectedFramesRecv;  /**< Number of directed packets that are received without errors                              	*/
302981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  MulticastBytesRecv;  /**< Number of bytes in multicast/functional packets that are received without errors         	*/
303981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  MulticastFramesRecv; /**< Number of multicast/functional packets that are received without errors                  	*/
304981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  BroadcastBytesRecv;  /**< Number of bytes in broadcast packets that are received without errors.                   	*/
305981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  BroadcastFramesRecv; /**< Number of broadcast packets that are received without errors.                            	*/
306981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
307981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  FragmentsRecv;		/**< Number of Fragments Received 															  	*/
308981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  FrameDuplicates;		/**< Number of Farme Duplicates						  											*/
309981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  FcsErrors;			/**< Number of frames that a NIC receives but does not indicate to the protocols due to errors	*/
310981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
311981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  BeaconsXmit;			/**< Number of Beacons Sent																		*/
312981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  BeaconsRecv;			/**< Number of Beacons Reveived																	*/
313981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  AssocRejects;		/**< Number of Rejected Assoc.			  		  												*/
314981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  AssocTimeouts;		/**< Number of Assoc. Time Outs																	*/
315981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  AuthRejects;			/**< Number of Authentication rejects 															*/
316981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32  AuthTimeouts;		/**< Number of Authentication Time Outs 														*/
317981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
318981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TIWLN_COUNTERS;
319981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
320981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TPowerMgr_PowerMode
321981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Power Mode Parameters
322981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
323981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
324981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
325981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
326981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
327981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
328981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
329981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    PowerMgr_PowerMode_e    PowerMode;			/**< Power Mode	Type		*/
330981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    PowerMgr_Priority_e     PowerMngPriority; 	/**< Power Mode	Priority	*/
331981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TPowerMgr_PowerMode;
332981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
333981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TWscMode
334981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief WSC Mode
335981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
336981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
337981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * This structure is used whenever the WiFi Simple Configuration Mode is modified between ON and OFF.
338981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Upon enabling the Simple Configuration, the user must fill the probeReqWSCIE fields
339981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
340981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
341981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
342981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
343981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
344981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TIWLN_SIMPLE_CONFIG_MODE  WSCMode;						/**< WiFi Simple Configuration mode 			   			*/
345981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8 probeReqWSCIE[DOT11_WSC_PROBE_REQ_MAX_LENGTH];	/**< Buffer which holds the parameters of ProbeReq - WSC IE	*/
346981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt}  TWscMode;
347981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
348981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TKeepAliveTemplate
349981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Keep Alive Template
350981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
351981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
352981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used for Add/Remove to/from FW Keep Alive Configuration (Parameters & Template)
353981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
354981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
355981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
356981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
357981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
358981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TKeepAliveParams    keepAliveParams;								/**< Keep Alive Parameters						*/
359981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8            msgBuffer[ KEEP_ALIVE_TEMPLATE_MAX_LENGTH ];	/**< Buffer which holds the Keep Alive Template	*/
360981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT32           msgBufferLength;								/**< Length of Keep Alive Template				*/
361981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
362981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TKeepAliveTemplate;
363981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
364981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/** \struct TKeepAliveConfig
365981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \brief Keep Alive Configuration
366981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
367981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \par Description
368981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Used for Get/Set Keep Alive Configuration (Parameters & Template)
369981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *
370981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * \sa
371981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */
372981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidttypedef struct
373981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{
374981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TI_UINT8                enaDisFlag;									/**< Indicates if Keep Alive is Enabled/Disabled	*/
375981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt    TKeepAliveTemplate      templates[ KEEP_ALIVE_MAX_USER_MESSAGES ];	/**< Buffer which holds the maximum Keep Alive Template
376981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																		* possible (according to maximum Keep Alive user messages
377981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																		possible)
378981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt																		*/
379981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} TKeepAliveConfig;
380981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt
381981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#endif /* __TIWLNIF_H__*/
382