prima: WLAN Driver Release 3.1.7.9
This is the initial release of the Prima WLAN Driver
diff --git a/CORE/SME/inc/sme_FTApi.h b/CORE/SME/inc/sme_FTApi.h
new file mode 100644
index 0000000..30465c6
--- /dev/null
+++ b/CORE/SME/inc/sme_FTApi.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2012, Code Aurora Forum. All rights reserved.
+ *
+ * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
+ *
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#if !defined( __SME_FTAPI_H )
+#define __SME_FTAPI_H
+
+#include <limFTDefs.h>
+#include <palTimer.h>
+
+/**=========================================================================
+
+ \brief macros and prototype for SME APIs
+
+ Copyright 2008 (c) Qualcomm, Incorporated. All Rights Reserved.
+
+ Qualcomm Confidential and Proprietary.
+
+ ========================================================================*/
+typedef enum eFTIEState
+{
+ eFT_START_READY, // Start before and after 11r assoc
+ eFT_AUTH_REQ_READY, // When we have recvd the 1st or nth auth req
+ eFT_WAIT_AUTH2, // Sent auth1 and waiting auth2
+ eFT_AUTH_COMPLETE, // We are now ready for FT phase, send auth1, recd auth2
+ eFT_REASSOC_REQ_WAIT, // Now we have sent Auth Rsp to the supplicant and waiting
+ // Reassoc Req from the supplicant.
+ eFT_SET_KEY_WAIT, // We have received the Reassoc request from
+ // supplicant. Waiting for the keys.
+} tFTIEStates;
+
+
+typedef struct sFTSMEContext
+{
+ tANI_U8 *auth_ft_ies;
+ tANI_U32 auth_ft_ies_length;
+
+ tANI_U8 *reassoc_ft_ies;
+ tANI_U16 reassoc_ft_ies_length;
+
+ // Pre-Auth info
+ tFTIEStates FTState; // The state of FT in the current 11rAssoc
+ tSirMacAddr preAuthbssId; // BSSID to preauth to
+ tANI_U32 smeSessionId;
+
+ // Saved pFTPreAuthRsp
+ tpSirFTPreAuthRsp psavedFTPreAuthRsp;
+
+ // Time to trigger reassoc once pre-auth is successful
+ tPalTimerHandle preAuthReassocIntvlTimer;
+
+} tftSMEContext, *tpftSMEContext;
+
+/*--------------------------------------------------------------------------
+ Prototype functions
+ ------------------------------------------------------------------------*/
+void sme_FTOpen(tHalHandle hHal);
+void sme_FTClose(tHalHandle hHal);
+void sme_SetFTIEs( tHalHandle hHal, tANI_U8 sessionId, tANI_U8 *ft_ies, tANI_U16 ft_ies_length );
+eHalStatus sme_FTUpdateKey( tHalHandle hHal, tCsrRoamSetKey * pFTKeyInfo );
+void csrFTPreAuthRspProcessor( tHalHandle hHal, tpSirFTPreAuthRsp pFTPreAuthRsp );
+void sme_GetFTPreAuthResponse( tHalHandle hHal, tANI_U8 *ft_ies, tANI_U32 ft_ies_ip_len, tANI_U16 *ft_ies_length );
+void sme_GetRICIEs( tHalHandle hHal, tANI_U8 *ric_ies, tANI_U32 ric_ies_ip_len, tANI_U32 *ric_ies_length );
+void sme_PreauthReassocIntvlTimerCallback(void *context);
+
+
+#endif //#if !defined( __SME_FTAPI_H )