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