1 /** \file apConn.h 2 * \brief AP Connection Module API 3 * 4 * \see apConn.c 5 */ 6 /**************************************************************************** 7 **+-----------------------------------------------------------------------+** 8 **| |** 9 **| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |** 10 **| All rights reserved. |** 11 **| |** 12 **| Redistribution and use in source and binary forms, with or without |** 13 **| modification, are permitted provided that the following conditions |** 14 **| are met: |** 15 **| |** 16 **| * Redistributions of source code must retain the above copyright |** 17 **| notice, this list of conditions and the following disclaimer. |** 18 **| * Redistributions in binary form must reproduce the above copyright |** 19 **| notice, this list of conditions and the following disclaimer in |** 20 **| the documentation and/or other materials provided with the |** 21 **| distribution. |** 22 **| * Neither the name Texas Instruments nor the names of its |** 23 **| contributors may be used to endorse or promote products derived |** 24 **| from this software without specific prior written permission. |** 25 **| |** 26 **| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |** 27 **| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |** 28 **| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |** 29 **| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |** 30 **| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |** 31 **| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |** 32 **| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |** 33 **| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |** 34 **| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |** 35 **| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |** 36 **| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |** 37 **| |** 38 **+-----------------------------------------------------------------------+** 39 ****************************************************************************/ 40 41 /**************************************************************************** 42 * * 43 * MODULE: AP Connection * 44 * PURPOSE: AP Connection Module API * 45 * * 46 ****************************************************************************/ 47 48 #ifndef _AP_CONNECTION_H_ 49 #define _AP_CONNECTION_H_ 50 51 #include "802_11Defs.h" 52 #include "apConnApi.h" 53 54 /* Typedefs */ 55 /* This struct is used for ROAMING_TRIGGER_AP_DISCONNECT */ 56 typedef struct 57 { 58 UINT16 uStatusCode; /* status code of deauth/disassoc packet */ 59 BOOL bDeAuthenticate; /* Whether this packet is DeAuth ( if DisAssoc than FALSE) */ 60 } APDisconnect_t; 61 62 typedef union 63 { 64 APDisconnect_t APDisconnect; 65 rate_e rate; 66 } roamingEventData_u; 67 /* Structures */ 68 69 /* External data definitions */ 70 71 /* External functions definitions */ 72 73 /* Function prototypes */ 74 75 /* Called by Config Manager */ 76 TI_HANDLE apConn_create(TI_HANDLE hOs); 77 TI_STATUS apConn_unload(TI_HANDLE hAPConnection); 78 TI_STATUS apConn_config(TI_HANDLE hAPConnection, 79 TI_HANDLE hReport, 80 TI_HANDLE hCurrAP, 81 TI_HANDLE hRoamMng, 82 TI_HANDLE hSme, 83 TI_HANDLE hSiteMgr, 84 TI_HANDLE hExcMngr, 85 TI_HANDLE hConnSm, 86 TI_HANDLE hPrivacy, 87 TI_HANDLE hQos, 88 TI_HANDLE hCtrl, 89 TI_HANDLE hEvHandler, 90 TI_HANDLE hScr, 91 TI_HANDLE hAssoc, 92 TI_HANDLE hRegulatoryDomain, 93 apConnParams_t *pApConnParams); 94 95 /* Called by SME and Site Manager */ 96 TI_STATUS apConn_start(TI_HANDLE hAPConnection, BOOLEAN roamingEnabled); 97 TI_STATUS apConn_stop(TI_HANDLE hAPConnection, BOOLEAN removeKeys, BOOLEAN radioOn); 98 99 void apConn_printStatistics(TI_HANDLE hAPConnection); 100 101 102 /* Called by Connection SM */ 103 TI_STATUS apConn_ConnCompleteInd(TI_HANDLE hAPConnection, mgmtStatus_e status, UINT32 uStatusCode); 104 105 TI_STATUS apConn_DisconnCompleteInd(TI_HANDLE hAPConnection, mgmtStatus_e status, UINT32 uStatusCode); 106 107 /* Called by Current BSS, Rate Adaptation, RSN and other modules generating roaming events */ 108 TI_STATUS apConn_reportRoamingEvent(TI_HANDLE hAPConnection, 109 apConn_roamingTrigger_e roamingEventType, 110 roamingEventData_u *pRoamingEventData); 111 112 /* Called by EXC Manager */ 113 void apConn_RoamHandoffFinished(TI_HANDLE hAPConnection); 114 void apConn_getRoamingStatistics(TI_HANDLE hAPConnection, UINT8 *roamingCount, UINT16 *roamingDelay); 115 void apConn_resetRoamingStatistics(TI_HANDLE hAPConnection); 116 117 void apConn_updateNeighborAPsList(TI_HANDLE hAPConnection, neighborAPList_t *pListOfpriorityAps); 118 119 /* Called by Switch Channel */ 120 TI_STATUS apConn_indicateSwitchChannelInProgress(TI_HANDLE hAPConnection); 121 TI_STATUS apConn_indicateSwitchChannelFinished(TI_HANDLE hAPConnection); 122 123 /* Called by Association SM */ 124 TI_STATUS apConn_getVendorSpecificIE(TI_HANDLE hAPConnection, UINT8 *pRequest, UINT32 *len); 125 126 BOOLEAN apConn_isPsRequiredBeforeScan(TI_HANDLE hAPConnection); 127 128 #endif /* _AP_CONNECTION_H_*/ 129 130