OSDN Git Service

original
[gb-231r1-is01/GB_2.3_IS01.git] / system / wlan / ti / wilink_6_1 / stad / src / AirLink_Managment / regulatoryDomain.h
diff --git a/system/wlan/ti/wilink_6_1/stad/src/AirLink_Managment/regulatoryDomain.h b/system/wlan/ti/wilink_6_1/stad/src/AirLink_Managment/regulatoryDomain.h
new file mode 100644 (file)
index 0000000..e8a5106
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * regulatoryDomain.h
+ *
+ * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved.      
+ * All rights reserved.                                                  
+ *                                                                       
+ * 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 regulatoryDomain.h
+ *  \brief regulatoryDomain module internal header file
+ *
+ *  \see regulatoryDomain.c
+ */
+
+/***************************************************************************/
+/*                                                                          */
+/*    MODULE:   regulatoryDomain.h                                          */
+/*    PURPOSE:  regulatoryDomain module internal header file                */
+/*                                                                          */
+/***************************************************************************/
+#ifndef __REGULATORY_DOMAIN_H__
+#define __REGULATORY_DOMAIN_H__
+
+#include "paramOut.h"
+#include "fsm.h"
+#include "802_11Defs.h"
+
+#define BG_24G_BAND_CHANNEL_HOPS    1
+#define BG_24G_BAND_MIN_CHANNEL     1
+
+#define A_5G_BAND_CHANNEL_HOPS      4
+
+#define A_5G_BAND_MIN_MIDDLE_BAND_DFS_CHANNEL   52
+#define A_5G_BAND_MAX_MIDDLE_BAND_DFS_CHANNEL   64
+#define A_5G_BAND_MIN_UPPER_BAND_DFS_CHANNEL    100
+#define A_5G_BAND_MAX_UPPER_BAND_DFS_CHANNEL    140
+
+
+typedef struct
+{
+    TI_BOOL    channelValidityPassive; /*TI_TRUE-valid, TI_FALSE-invalid */
+    TI_BOOL    channelValidityActive; /*TI_TRUE-valid, TI_FALSE-invalid */
+    TI_BOOL    bChanneInCountryIe;
+
+    TI_UINT8   uMaxTxPowerDomain;     /* 
+                                                                         * Holds ONLY the default limitation (Application) 
+                                                                         * or according to 11d country code IE 
+                                                                         * Updated on init phase or upon receiving new country code IE                           
+                                                                         */ 
+    TI_UINT32  timestamp;
+}   channelCapability_t;
+
+
+typedef struct 
+{
+    /* Variables read from registry */
+    /********************************/   
+    /* 802.11h enabled or disabled */
+    TI_BOOL                                    spectrumManagementEnabled;
+    /* 802.11d enabled or disabled */
+    TI_BOOL                                    regulatoryDomainEnabled;
+    /* scan availability channels from registry */
+    scanControlTable_t                 scanControlTable;
+    /* Desired Temp Tx Power */
+    TI_UINT8                                   uDesiredTemporaryTxPower; 
+    /* Actual Temp Tx Power */
+    TI_UINT8                                   uTemporaryTxPower;      
+    /* User configuration for max Tx power */
+    TI_UINT8                                   uUserMaxTxPower; 
+    /* Tx Power Control adjustment flag on=TI_TRUE\off=TI_FALSE */
+    TI_BOOL                             bTemporaryTxPowerEnable;
+
+    /* Internal reg domain variables */
+    /*********************************/
+
+    /* Power Constraint IE 32 in DBM/10, valid only when 802.11h is enabled  */
+    TI_UINT8                                   uPowerConstraint;    
+    /* External TX Power Control in DBM/10, valid only when 802.11h is disabled */
+    TI_UINT8                                   uExternTxPowerPreferred;       
+
+    TI_UINT8                                   minDFS_channelNum;
+    TI_UINT8                                   maxDFS_channelNum;
+
+    TCountry                                   country24;   /* Detected County IE for 2.4 Ghz */
+    TCountry                                   country5;    /* Detected County IE for 5 Ghz */
+    TI_BOOL                                    country_2_4_WasFound;
+    TI_BOOL                                    country_5_WasFound;
+    TI_UINT32                                  uLastCountryReceivedTS;
+    TI_UINT32                                  uTimeOutToResetCountryMs;
+    channelCapability_t                supportedChannels_band_5[A_5G_BAND_NUM_CHANNELS];
+    channelCapability_t                supportedChannels_band_2_4[NUM_OF_CHANNELS_24];
+
+       /* set the size of the array to max of B_G & A, so that the array doesnt overflow. +3 for word alignment */
+       TI_UINT8                                pDefaultChannels[A_5G_BAND_NUM_CHANNELS+3];
+    /* merge 4.02/4.03 evaluate the +3 above and adjust or hSiteMgr and below will be 
+       will be unaligned accesses.  Expect it might now be +1 since 2 UINT8 variable 
+       have been added in 4.03 (max and min DFS_channelNum above) */
+    
+    
+    /* Handles to other objects */
+    TI_HANDLE                          hSiteMgr;
+    TI_HANDLE                          hTWD;
+    TI_HANDLE                          hSwitchChannel;
+    TI_HANDLE                          hReport;
+    TI_HANDLE                          hOs;
+
+
+} regulatoryDomain_t;
+
+
+
+
+
+#endif /* __REGULATORY_DOMAIN_H__*/