Home | History | Annotate | Download | only in inc
      1 /****************************************************************************
      2 **+-----------------------------------------------------------------------+**
      3 **|                                                                       |**
      4 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved.      |**
      5 **| All rights reserved.                                                  |**
      6 **|                                                                       |**
      7 **| Redistribution and use in source and binary forms, with or without    |**
      8 **| modification, are permitted provided that the following conditions    |**
      9 **| are met:                                                              |**
     10 **|                                                                       |**
     11 **|  * Redistributions of source code must retain the above copyright     |**
     12 **|    notice, this list of conditions and the following disclaimer.      |**
     13 **|  * Redistributions in binary form must reproduce the above copyright  |**
     14 **|    notice, this list of conditions and the following disclaimer in    |**
     15 **|    the documentation and/or other materials provided with the         |**
     16 **|    distribution.                                                      |**
     17 **|  * Neither the name Texas Instruments nor the names of its            |**
     18 **|    contributors may be used to endorse or promote products derived    |**
     19 **|    from this software without specific prior written permission.      |**
     20 **|                                                                       |**
     21 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   |**
     22 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT     |**
     23 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
     24 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT  |**
     25 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
     26 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT      |**
     27 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
     28 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
     29 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT   |**
     30 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
     31 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  |**
     32 **|                                                                       |**
     33 **+-----------------------------------------------------------------------+**
     34 ****************************************************************************/
     35 
     36 /** \file roamingMngrTypes.h
     37  *  \brief Internal Roaming Manager Types API
     38  *
     39  *  \see roamingMngr.c
     40  */
     41 
     42 /****************************************************************************
     43  *                                                                          *
     44  *   MODULE:  Roaming Manager                                               *
     45  *   PURPOSE: Roaming Manager Module Types                                  *    *                                                                          *
     46  ****************************************************************************/
     47 
     48 #ifndef _ROAMING_MNGR_TYPES_H_
     49 #define _ROAMING_MNGR_TYPES_H_
     50 
     51 
     52 /* Constants */
     53 
     54 /* Enumerations */
     55 
     56 /* Typedefs */
     57 /* configuration of Roaming manager */
     58 #define ROAMING_ENABLED 		1
     59 #define ROAMING_DISABLED		0
     60 
     61 #pragma pack(1)
     62 typedef struct
     63 {
     64 	UINT16	enableDisable; 					/* ROAMING_ENABLED, ROAMING_DISABLED - BOOL is not used,
     65 												beacuse of misdefinition between the Driver and CU */
     66     UINT16	lowPassFilterRoamingAttempt;	/* Time to wait in sec, before roaming due to the low connection quality */
     67 	INT8	apQualityThreshold;				/* Quality indicator (RSSI) to be used when comparing AP List matching quality */
     68 
     69 } roamingMngrConfig_t;
     70 #pragma pack()
     71 
     72 #pragma pack(1)
     73 typedef struct
     74 {
     75     /* Roaming trigger thresholds */
     76 	/* Note - It's the applicatio's responsibility to chage the threshold when Voice is On */
     77 	UINT8	dataRetryThreshold;				/* Consecutive number of TX retries */
     78     UINT8	numExpectedTbttForBSSLoss;		/* number of expected TBTTs for BSS Loss event */
     79 	UINT8	txRateThreshold;				/* TX rate (fallback) threshold */
     80 	INT8	lowRssiThreshold;				/* low RSSI threshold */
     81 	UINT8	lowSnrThreshold;				/* low SNR threshold */
     82 	INT8	lowQualityForBackgroungScanCondition; /* Indicator used to increase the background scan period when quality is low. */
     83 	INT8	normalQualityForBackgroungScanCondition; /* Indicator used to reduce the background scan period when quality is normal. */
     84 	UINT8	rssiFilterWeight;				/* last RSSI weight in the AVG calculation */
     85 	UINT8	snrFilterWeight;				/* last SNR weight in the AVG calculation */
     86 } roamingMngrThresholdsConfig_t;
     87 #pragma pack()
     88 
     89 
     90 
     91 #pragma pack(1)
     92 typedef struct
     93 {
     94 	roamingMngrConfig_t				roamingMngrConfig;
     95 	roamingMngrThresholdsConfig_t	roamingMngrThresholdsConfig;
     96 } roamingMngrConfigParams_t;
     97 #pragma pack()
     98 
     99 
    100 
    101 #endif /*  _ROAMING_MNGR_TYPES_H_*/
    102 
    103