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