wlan: ccx upload: Support ccx beacon report
This is to provide support for CCX radio measument beacon report.
Summary of changes include:
1. Support for CCXBEACONREQ device private command to receive
measurement request IE information.
2. Driver initiates scan and return the BSSID information using
IWEVCUSTOM event supporting 4 BSSID info per channel.
3. Fix for scan type and duration getting over-written with the
last channel scan type and duration.
4. IWEVCUSTOM has limitation of 256 bytes of event data, hence fill-in
only the mandatory IEs in the beacon report as per the spec.
Change-Id: If0324b1732ea537f64a48c22c5e702c49356504e
CRs-Fixed: 573479
diff --git a/CORE/MAC/src/include/parserApi.h b/CORE/MAC/src/include/parserApi.h
index e5b4e0a..e625061 100644
--- a/CORE/MAC/src/include/parserApi.h
+++ b/CORE/MAC/src/include/parserApi.h
@@ -278,6 +278,29 @@
#endif
} tSirAssocRsp, *tpSirAssocRsp;
+#if defined(FEATURE_WLAN_CCX_UPLOAD)
+// Structure to hold CCX Beacon report mandatory IEs
+typedef struct sSirCcxBcnReportMandatoryIe
+{
+ tSirMacSSid ssId;
+ tSirMacRateSet supportedRates;
+ tSirMacFHParamSet fhParamSet;
+ tSirMacDsParamSetIE dsParamSet;
+ tSirMacCfParamSet cfParamSet;
+ tSirMacIBSSParams ibssParamSet;
+ tSirMacTim tim;
+ tSirMacRRMEnabledCap rmEnabledCapabilities;
+
+ tANI_U8 ssidPresent;
+ tANI_U8 suppRatesPresent;
+ tANI_U8 fhParamPresent;
+ tANI_U8 dsParamsPresent;
+ tANI_U8 cfPresent;
+ tANI_U8 ibssParamPresent;
+ tANI_U8 timPresent;
+} tSirCcxBcnReportMandatoryIe, *tpSirCcxBcnReportMandatoryIe;
+#endif /* FEATURE_WLAN_CCX_UPLOAD */
+
tANI_U8
sirIsPropCapabilityEnabled(struct sAniSirGlobal *pMac, tANI_U32 bitnum);
@@ -373,6 +396,15 @@
tANI_U8 *pPayload,
tANI_U32 payloadLength);
+#if defined(FEATURE_WLAN_CCX_UPLOAD)
+tSirRetStatus
+sirFillBeaconMandatoryIEforCcxBcnReport(tpAniSirGlobal pMac,
+ tANI_U8 *pPayload,
+ const tANI_U32 payloadLength,
+ tANI_U8 **outIeBuf,
+ tANI_U32 *pOutIeLen);
+#endif /* FEATURE_WLAN_CCX_UPLOAD */
+
tSirRetStatus
sirConvertBeaconFrame2Struct(struct sAniSirGlobal *pMac,
tANI_U8 *pBeaconFrame,