1 /* 2 * roamingMngrTypes.h 3 * 4 * Copyright(c) 1998 - 2009 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 * * 37 * MODULE: Roaming Manager * 38 * PURPOSE: Roaming Manager Module Types * 39 * * 40 ****************************************************************************/ 41 42 #ifndef _ROAMING_MNGR_TYPES_H_ 43 #define _ROAMING_MNGR_TYPES_H_ 44 45 /** \file roamingMngrTypes.h 46 * \brief Internal Roaming Manager Types API 47 */ 48 49 /*-----------*/ 50 /* Constants */ 51 /*-----------*/ 52 #define ROAMING_ENABLED 1 53 #define ROAMING_DISABLED 0 54 55 #define ROAMING_OPERATIONAL_MODE_MANUAL 0 56 #define ROAMING_OPERATIONAL_MODE_AUTO 1 57 58 /*--------------*/ 59 /* Enumerations */ 60 /*--------------*/ 61 62 63 /*----------*/ 64 /* Typedefs */ 65 /*----------*/ 66 67 /** \struct roamingMngrConfig_t 68 * \brief Roaming Manager Configuration 69 * 70 * \par Description 71 * This Structure defines the Roaming Manager Configuration Type 72 * 73 * \sa 74 */ 75 typedef struct 76 { 77 TI_UINT16 enableDisable; /**< Indicates if roaming is enabled/disabled: 78 * ROAMING_ENABLED: Enables roaming manager 79 * ROAMING _DISABLED: Disables roaming manager 80 * TI recommended default: roaming is disabled 81 * Note: TI_BOOL is not used, beacuse of misdefinition between the Driver and CU 82 */ 83 TI_UINT16 lowPassFilterRoamingAttempt; /**< Time to wait in seconds before roaming caused by low connection quality; 84 * TI recommended default: 30 seconds 85 */ 86 TI_INT8 apQualityThreshold; /**< Quality indicator (RSSI) to be used when comparing AP List matching quality 87 * TI recommended default: 0 88 */ 89 } roamingMngrConfig_t; 90 91 /** \struct roamingMngrThresholdsConfig_t 92 * \brief Roaming Manager Thresholds Configuration 93 * 94 * \par Description 95 * This Structure defines the Roaming Manager Trigger Thresholds Configuration type \n 96 * Note - It is the applicatio's responsibility to change the threshold when Voice is On 97 * 98 * \sa 99 */ 100 typedef struct 101 { 102 TI_UINT8 dataRetryThreshold; /**< Consecutive number of TX retries per roaming event; 103 * TI recommended default: 20 104 */ 105 TI_UINT8 numExpectedTbttForBSSLoss; /**< Number of expected TBTTs for BSS Loss event 106 * TI recommended default: 10 107 */ 108 TI_UINT8 txRateThreshold; /**< Low TX rate roaming even threshold; 109 * TI recommended default: 2 Mbps 110 */ 111 TI_INT8 lowRssiThreshold; /**< When the low RSSI threshold is crossed, the low RSSI roaming event is initiated in dBm; 112 * TI recommended default: -80 dBm 113 */ 114 TI_UINT8 lowSnrThreshold; /**< When the low SNR threshold is crossed, the low SNR roaming event is initiated. 115 * TI recommended default: 0 116 */ 117 TI_INT8 lowQualityForBackgroungScanCondition; /**< Indicator used to increase the background scan period when quality is low 118 * TI recommended default: -80 119 */ 120 TI_INT8 normalQualityForBackgroungScanCondition;/**< Indicator used to reduce the background scan period when quality is normal 121 * TI recommended default: -80 122 */ 123 } roamingMngrThresholdsConfig_t; 124 125 /** \struct roamingMngrConfigParams_t 126 * \brief Roaming Manager Configuration Parameters 127 * 128 * \par Description 129 * 130 * \sa 131 */ 132 typedef struct 133 { 134 roamingMngrConfig_t roamingMngrConfig; /**< Roaming Manager Configuration */ 135 roamingMngrThresholdsConfig_t roamingMngrThresholdsConfig; /**< Roaming Manager Thresholds Configuration */ 136 } roamingMngrConfigParams_t; 137 138 /** \struct TUserDefinedQualityTrigger 139 * \brief User Defined Quality Trigger 140 * 141 * \par Description 142 * This struct defines the User Defined Quality Trigger Parameters \n 143 * Used for setting Roaming User Defined Trigger 144 * 145 * \sa 146 */ 147 typedef struct 148 { 149 TI_INT16 iThreshold; /**< Input Trigger Threshold. Units: dBm / dB ; Range: (-100 .. 100) */ 150 TI_UINT16 uPacing; /**< Minimum delay between consecutive triggers. Units: milliseconds ; Range: (0 .. 60000) */ 151 TI_UINT8 uMetric; /**< 0 - RSSI Beacon, 1 - RSSI Packet, 2 - SNR Beacon, 3 - SNR Packet */ 152 TI_UINT8 uType; /**< 0 - Level, 1 - Edge */ 153 TI_UINT8 uDirection; /**< 0 - Low, 1 - High, 2 - Bidirectional */ 154 TI_UINT8 uHystersis; /**< Hysteresis range around the threshold value. Units: dB ; Threshold range: (0 .. 255) */ 155 TI_UINT8 uIndex; /**< User Index (0 .. 1) */ 156 TI_UINT8 uEnable; /**< User trigger Enable. 0 - Disable, 1 - Enable */ 157 TI_UINT8 padding[2]; /**< */ 158 TI_UINT16 uClientID; /**< the client ID that registered for the trigger event */ 159 } TUserDefinedQualityTrigger; 160 161 162 #endif /* _ROAMING_MNGR_TYPES_H_*/ 163 164