prima: WLAN Driver Release 3.1.7.9
This is the initial release of the Prima WLAN Driver
diff --git a/CORE/SME/inc/smeRrmInternal.h b/CORE/SME/inc/smeRrmInternal.h
new file mode 100644
index 0000000..072a5e0
--- /dev/null
+++ b/CORE/SME/inc/smeRrmInternal.h
@@ -0,0 +1,109 @@
+/*
+ * 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( __SMERRMINTERNAL_H )
+#define __SMERRMINTERNAL_H
+
+
+/**=========================================================================
+
+ \file smeRrmInternal.h
+
+ \brief prototype for SME RRM APIs
+
+ Copyright 2008 (c) Qualcomm, Incorporated. All Rights Reserved.
+
+ Qualcomm Confidential and Proprietary.
+
+ ========================================================================*/
+
+/* $Header$ */
+
+/*--------------------------------------------------------------------------
+ Include Files
+ ------------------------------------------------------------------------*/
+#include "vos_lock.h"
+#include "vos_trace.h"
+#include "vos_memory.h"
+#include "vos_types.h"
+#include "palTimer.h"
+#include "rrmGlobal.h"
+
+/*--------------------------------------------------------------------------
+ Type declarations
+ ------------------------------------------------------------------------*/
+typedef struct sRrmConfigParam
+{
+ tANI_U8 rrmEnabled;
+ tANI_U8 maxRandnInterval;
+}tRrmConfigParam, *tpRrmConfigParam;
+
+typedef struct sRrmNeighborReportDesc
+{
+ tListElem List;
+ tSirNeighborBssDescription *pNeighborBssDescription;
+ tANI_U32 roamScore;
+} tRrmNeighborReportDesc, *tpRrmNeighborReportDesc;
+
+
+typedef void (*NeighborReportRspCallback) (void *context, VOS_STATUS vosStatus);
+
+typedef struct sRrmNeighborRspCallbackInfo
+{
+ tANI_U32 timeout; //in ms.. min value is 10 (10ms)
+ NeighborReportRspCallback neighborRspCallback;
+ void *neighborRspCallbackContext;
+} tRrmNeighborRspCallbackInfo, *tpRrmNeighborRspCallbackInfo;
+
+typedef struct sRrmNeighborRequestControlInfo
+{
+ tANI_BOOLEAN isNeighborRspPending; //To check whether a neighbor req is already sent and response pending
+ vos_timer_t neighborRspWaitTimer;
+ tRrmNeighborRspCallbackInfo neighborRspCallbackInfo;
+} tRrmNeighborRequestControlInfo, *tpRrmNeighborRequestControlInfo;
+
+typedef struct sRrmSMEContext
+{
+ tANI_U16 token;
+ tCsrBssid sessionBssId;
+ tANI_U8 regClass;
+ tCsrChannelInfo channelList; //list of all channels to be measured.
+ tANI_U8 currentIndex;
+ tAniSSID ssId; //SSID used in the measuring beacon report.
+ tSirMacAddr bssId; //bssid used for beacon report measurement.
+ tANI_U16 randnIntvl; //Randomization interval to be used in subsequent measurements.
+ tANI_U16 duration;
+ tANI_U16 measMode;
+ tRrmConfigParam rrmConfig;
+ vos_timer_t IterMeasTimer;
+ tDblLinkList neighborReportCache;
+ tRrmNeighborRequestControlInfo neighborReqControlInfo;
+}tRrmSMEContext, *tpRrmSMEContext;
+
+typedef struct sRrmNeighborReq
+{
+ tANI_U8 no_ssid;
+ tSirMacSSid ssid;
+}tRrmNeighborReq, *tpRrmNeighborReq;
+
+#endif //#if !defined( __SMERRMINTERNAL_H )