TWD/Ctrl/CmdBldDb.h
changeset 0 10c42ec6c05f
--- /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
+
+
+