--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TWD/Ctrl/CmdBldDb.h Tue Jun 29 12:34:26 2010 +0100
@@ -0,0 +1,358 @@
+/*
+ * CmdBldDb.h
+ *
+ * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.
+ * All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 or BSD License which accompanies
+ * this distribution. The Eclipse Public License is available at
+ * http://www.eclipse.org/legal/epl-v10.html and the BSD License is as below.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name Texas Instruments nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+/** \file CmdBldDb.h
+ * \brief Command builder database
+ *
+ * \see CmdBld.h
+ */
+
+#ifndef CMDBLDDB_H
+#define CMDBLDDB_H
+
+
+#include "TWDriverInternal.h"
+#include "public_infoele.h"
+
+
+/*
+ * Dot11 params
+ * ------------
+ */
+typedef struct
+{
+ TI_UINT16 RtsThreshold;
+ TI_UINT8 CtsToSelf;
+ TRxTimeOut rxTimeOut;
+ TI_UINT16 FragmentThreshold;
+ TI_UINT8 ListenInterval;
+ TI_UINT16 Capabilities;
+ TI_UINT32 MaxTxMsduLifetime;
+ TI_UINT32 MaxRxMsduLifetime;
+ TI_UINT8 calibrationChannel2_4;
+ TI_UINT8 calibrationChannel5_0;
+ TI_UINT16 Aid;
+ TI_UINT8 CurrAntenna;
+ TI_UINT8 TxAntenna;
+ TI_UINT8 RxAntenna;
+ TI_UINT8 Hw_TxAntenna;
+ TI_UINT8 Hw_RxAntenna;
+ TI_UINT16 CwMin;
+ TI_UINT8 RateFallback;
+ TI_UINT32 RxConfigOption;
+ TI_UINT32 RxFilterOption;
+ TI_BOOL WiFiWmmPS;
+
+ /* Data interrupts pacing */
+ TI_UINT16 TxCompletePacingThreshold;
+ TI_UINT16 TxCompletePacingTimeout;
+ TI_UINT16 RxIntrPacingThreshold;
+ TI_UINT16 RxIntrPacingTimeout;
+
+ /* ARP IP Addr table */
+ TI_UINT32 arp_IP_ver;
+ TI_UINT32 isArpIpFilteringEnabled;
+ TIpAddr arp_IP_addr;
+
+ /* Mac addresses filter */
+ TI_UINT8 isMacAddrFilteringnabled;
+ TI_UINT8 numGroupAddrs;
+ TMacAddr aGroupAddr[MAX_MULTICAST_GROUP_ADDRS];
+
+ TI_UINT32 FeatureOptions;
+ TI_UINT32 FeatureDataFlowOptions;
+ TI_UINT8 SlotTime;
+ TI_UINT8 preamble;
+ TI_UINT8 RadioBand;
+ TI_UINT8 MacClock;
+ TI_UINT8 ArmClock;
+ TI_UINT8 CurrPowerSaveState;
+ ESoftGeminiEnableModes SoftGeminiEnable;
+ TSoftGeminiParams SoftGeminiParams;
+ TFmCoexParams tFmCoexParams;
+ TI_UINT8 maxSitesFragCollect;
+ TI_UINT8 hwAccessMethod;
+ TI_UINT32 nullTemplateSize;
+ TI_UINT32 disconnTemplateSize;
+ TI_UINT32 beaconTemplateSize;
+ TI_UINT32 probeRequestTemplateSize;
+ TI_UINT32 probeResponseTemplateSize;
+ TI_UINT32 PsPollTemplateSize;
+ TI_UINT32 qosNullDataTemplateSize;
+ TI_BOOL EnergyDetection;
+ TI_UINT8 PacketDetectionThreshold;
+ TI_UINT8 FcsErrThrsh;
+ TI_UINT8 UseDeviceErrorInterrupt;
+ TI_BOOL RetryPreemption;
+ /* This flag indicate if to discards all broadcast frames */
+ TI_BOOL RxDisableBroadcast;
+ /* Indicate if the station is joined */
+ TI_BOOL bJoin;
+ /* Indicate if the station is connected */
+ TI_BOOL bStaConnected;
+ TI_UINT8 AntDiversity;
+ /* Parameters for roaming triggers configuration */
+ TRroamingTriggerParams roamTriggers;
+ /* Power control param */
+ EPowerPolicy minPowerLevel;
+ TBcnBrcOptions BcnBrcOptions;
+ TBeaconFilterIeTable beaconFilterIETable;
+ TBeaconFilterInitParams beaconFilterParams;
+
+ /*Beacon Early Termination (Bet)*/
+ TI_UINT8 BetEnable;
+ TI_UINT8 MaximumConsecutiveET;
+ TI_UINT8 ConsecutivePsPollDeliveryFailureThreshold;
+
+ /* RSSI/SNR triggers */
+ RssiSnrTriggerCfg_t tRssiSnrTrigger[NUM_OF_RSSI_SNR_TRIGGERS];
+ RssiSnrAverageWeights_t tRssiSnrWeights;
+
+ TI_UINT32 uSlicedScanTimeOut;
+
+ /* HT capabilities */
+ TTwdHtCapabilities tTwdHtCapabilities;
+
+ /* PM Config params */
+ TI_UINT32 uHostClkSettlingTime;
+ TI_UINT8 uHostFastWakeupSupport;
+
+ TI_UINT8 TxPowerDbm;
+
+ /* CoexActivity Table */
+ THalCoexActivityTable tWlanParamsCoexActivityTable;
+
+ /* DCO Itrim params */
+ TI_BOOL dcoItrimEnabled;
+ TI_UINT32 dcoItrimModerationTimeoutUsec;
+
+} TWlanParams;
+
+
+/*
+ * BssInfo params
+ * --------------
+ */
+typedef struct
+{
+ TI_UINT8 ReqBssType;
+ TI_UINT8 BssType;
+ TI_UINT16 BeaconInterval;
+ TI_UINT8 DtimInterval;
+ TI_UINT8 RadioChannel;
+ TI_UINT8 BssId[MAC_ADDR_LEN];
+ TSsid tSsid;
+ /* Policy for recovery */
+ TTxRatePolicy TxRateClassParams;
+ TI_UINT32 BasicRateSet;
+ /* The ctrl field in the Join-Command (see StartJoinRequest_t) */
+ TI_UINT8 Ctrl;
+ /* ATIM window of IBSS*/
+ /* Note that when ATIM window is zero the*/
+ /* initiated IBSS does not support powersave*/
+ TI_UINT16 ATimWindow;
+ /* Specifies the PLCP preamble type used*/
+ /* 0 for long preamble*/
+ /* 1 for short preamble*/
+ TI_UINT8 DefaultPreamble;
+
+ /*
+ * HT setting
+ */
+ /* capabilities */
+ TI_BOOL bHtCap;
+ TI_UINT32 uHtCapabilites;
+ TMacAddr tMacAddress;
+ TI_UINT8 uAmpduMaxLeng;
+ TI_UINT8 uAmpduMinSpac;
+ /* Information */
+ TI_BOOL bHtInf;
+ TI_UINT8 uRifsMode;
+ TI_UINT8 uHtProtection;
+ TI_UINT8 uGfProtection;
+ TI_UINT8 uHtTxBurstLimit;
+ TI_UINT8 uDualCtsProtection;
+ /* BA session */
+ TI_BOOL bBaInitiator[MAX_NUM_OF_802_1d_TAGS];
+ TAxcBaSessionInitiatorResponderPolicy tBaSessionInitiatorPolicy[MAX_NUM_OF_802_1d_TAGS];
+ TI_BOOL bBaResponder[MAX_NUM_OF_802_1d_TAGS];
+ TAxcBaSessionInitiatorResponderPolicy tBaSessionResponderPolicy[MAX_NUM_OF_802_1d_TAGS];
+
+} TBssInfoParams;
+
+
+/*
+ * General counters
+ * ----------------
+ */
+typedef struct
+{
+ TI_UINT32 FcsErrCnt;
+
+} TGenCounters;
+
+
+/*
+ * queuesParam_T - Queue params for Quality Of Service
+ * ------------------------------------------
+ */
+typedef struct
+{
+ TQueueTrafficParams queues[MAX_NUM_OF_AC];
+ TI_BOOL isQueueConfigured[MAX_NUM_OF_AC];
+
+} TQueuesParams;
+
+
+typedef struct
+{
+ TAcQosParams ac[MAX_NUM_OF_AC];
+ TI_BOOL isAcConfigured[MAX_NUM_OF_AC];
+ TI_BOOL isBurstModeEnabled;
+} TAcConfParams;
+
+
+typedef struct
+{
+ TPsRxStreaming tid[MAX_NUM_OF_802_1d_TAGS];
+
+} TPsRxStreamingParams;
+
+
+/*
+ * Templates params
+ * ----------------
+ */
+typedef struct
+{
+ TTemplateParams Beacon;
+ TTemplateParams ProbeReq24;
+ TTemplateParams ProbeReq50;
+ TTemplateParams ProbeResp;
+ TTemplateParams NullData;
+ TTemplateParams PsPoll;
+ TTemplateParams QosNullData;
+ TTemplateParams KeepAlive[ KLV_MAX_TMPL_NUM ];
+ TTemplateParams Disconn;
+
+} TTemplateListParams;
+
+typedef struct
+{
+ TI_UINT8 enaDisFlag;
+ TKeepAliveParams keepAliveParams[ KLV_MAX_TMPL_NUM ];
+} TKeepAliveList;
+
+/* Security keys structure for reconfigure phase */
+typedef struct
+{
+ TI_BOOL bReconfHwEncEnable;
+ TI_BOOL bHwEncDecrEnableValid;
+ TI_UINT8 uReconfDefaultKeyId;
+ TI_BOOL bDefaultKeyIdValid;
+ TSecurityKeys* pReconfKeys;
+
+} TSecurReconf;
+
+
+/* Rx Data Filters */
+typedef struct
+{
+ TI_UINT8 uIndex;
+ TI_UINT8 uCommand;
+ filter_e eAction;
+ TI_UINT8 uNumFieldPatterns;
+ TI_UINT8 uLenFieldPatterns;
+ TI_UINT8 aFieldPattern[MAX_DATA_FILTER_SIZE];
+
+} TRxDataFilter;
+
+typedef struct
+{
+ TI_BOOL bEnabled;
+ filter_e eDefaultAction;
+ TRxDataFilter aRxDataFilter[MAX_DATA_FILTERS];
+
+} TRxDataFiltersTable;
+
+typedef struct
+{
+ ACXSmartReflexConfigParams_t tSmartReflexParams;
+ ACXSmartReflexDebugParams_t tSmartReflexDebugParams;
+ ACXSmartReflexState_t tSmartReflexState;
+
+}TSmartReflexParams ;
+
+typedef struct
+{
+ RateMangeParams_t rateMngParams;
+
+} TRateMngParams;
+
+
+
+/*
+ * ----------------------------------------------------------------
+ * MAIN PARAMETERS STRUCTURE
+ * ----------------------------------------------------------------
+ */
+typedef struct
+{
+ TDmaParams dma; /* Rx/Tx queue parameters */
+ TQueuesParams queues; /* Queues params for QOS */
+ TAcConfParams ac; /* AC params for QoS */
+ TPsRxStreamingParams psStream; /* PS-Rx-Streaming params */
+ TWlanParams wlan; /* Wlan parameters */
+ TBssInfoParams bss; /* Bss information */
+ TFwInfo hw; /* HW eeprom & versions info*/
+ TGenCounters counters; /* General counters */
+ TTemplateListParams templateList; /* Templates for recovery */
+ TKeepAliveList klvList; /* Keep-Alive paramters */
+ TSecurReconf keys; /* Security keys */
+ TRxDataFiltersTable rxDataFilters; /* Rx data filters */
+ IniFileGeneralParam tPlatformGenParams; /* platfrom gen params from public_radio.h */
+ IniFileRadioParam tRadioIniParams; /* Radio ini params from public_radio.h */
+ TSmartReflexParams tSmartReflex;
+ TRateMngParams tRateMngParams; /* rate management params */
+} TCmdBldDb;
+
+#endif
+
+
+