wlan: CCX upload support for statically linked driver

jb_mr2 enforces drivers must be statically linked and
does not support dynamically linked driver. CCX feature
has 7 proprietary files which cannot be pushed to public domain.

The changes in the 7 files are pushed to wpa_supplicant.
These are the changes required to support uploaded
approach and as well as support backward compatibility.

1. Traffic stream Metrics and TSR IE structures are moved
to common header files
2. Forwarding the IAPP data frame to wpa_supplicant incase
of CCX connection along with LLC header
3. Implementation of driver private commands
   3.1 SETCCKMIE
   3.2 GETTSMSTATS
   3.3 SETCCXROAMSCANCHANNELS
4. Implementation of IWEVCUSTOM events
   4.1 Sending CCKMPREAUTHNOTIFY event with bssid and TSF
   4.2 Sending TSMIE event
   4.3 Sending CCXADJAPREP event with roam delay info
5. New feature macro FEATURE_WLAN_CCX_UPLOAD added

Change-Id: Ic185d531de6e5b13984df1c563b0453f313afa27
CRs-Fixed:  555470
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index 98487f5..ea04d05 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -228,6 +228,14 @@
 
 #endif
 
+struct statsContext
+{
+   struct completion completion;
+   hdd_adapter_t *pAdapter;
+   unsigned int magic;
+};
+
+#define STATS_CONTEXT_MAGIC 0x53544154   //STAT
 
 typedef struct hdd_tx_rx_stats_s
 {
@@ -950,6 +958,9 @@
    eHDD_BATCH_SCAN_STATE batchScanState;
 #endif
 
+#if defined(FEATURE_WLAN_CCX) && defined(FEATURE_WLAN_CCX_UPLOAD)
+   tAniTrafStrmMetrics tsmStats;
+#endif
 };
 
 #define WLAN_HDD_GET_STATION_CTX_PTR(pAdapter) (&(pAdapter)->sessionCtx.station)