Support for sending BTM request frame to upper layer

Framework need to get MBO attributes and WNM mode fields from BTM request frame
Support the feature of BTM request notification

To take this feature, "btm_offload=1" add to wpa_supplicant.conf

Plus, call "MBO CELL_DATA_CAP" private command to advertise cellular capability to AP

Bug: b/154372567
Test: Test with manipulated BTM frames in Hikey960 (Android R-os)

1. Add "btm_offload=1" to "/data/vendor/wifi/wpa/wpa_supplicant.conf"
2. Setup SoftAP and assoc
3. "wl -i [SoftAP if] actframe [STA_MAC_ADDR] 0a07AA010000ff340d02904c07a4d900000000000b00340d02904c0e54d900000000009500dd07506f9a16060100" in SoftAP

the log below is seen in logcat
wpa_supplicant: wlan0: WNM: Send BSS Transition Management Request frame to upper layer

Signed-off-by: Dennis Jeon <dennis.jeon@broadcom.com>
Change-Id: I07137848cef47ee15f750871520119e7181f4c26
diff --git a/wpa_supplicant/config.h b/wpa_supplicant/config.h
index 0b9e3db..868a8b3 100644
--- a/wpa_supplicant/config.h
+++ b/wpa_supplicant/config.h
@@ -45,6 +45,7 @@
 #define DEFAULT_DISASSOC_IMMINENT_RSSI_THRESHOLD -75
 #define DEFAULT_OCE_SUPPORT OCE_STA
 #define DEFAULT_EXTENDED_KEY_ID 0
+#define DEFAULT_BTM_OFFLOAD 0
 
 #include "config_ssid.h"
 #include "wps/wps.h"
@@ -377,6 +378,7 @@
 #define CFG_CHANGED_WOWLAN_TRIGGERS BIT(18)
 #define CFG_CHANGED_DISABLE_BTM BIT(19)
 #define CFG_CHANGED_BGSCAN BIT(20)
+#define CFG_CHANGED_DISABLE_BTM_NOTIFY BIT(21)
 
 /**
  * struct wpa_config - wpa_supplicant configuration data
@@ -1451,6 +1453,14 @@
 	 *  - Set BIT(1) to enable OCE in STA-CFON mode
 	 */
 	unsigned int oce;
+
+	/**
+	 * btm_offload - Set where to perform roaming logic
+	 *  - Set to 0 to handle fully roaming logic in supplicant
+	 *  - Set to 1 to skip roaming logic in supplicant for firmware roaming
+	 *    just parse BTM frame and notify framework
+	 */
+        int btm_offload;
 #endif /* CONFIG_MBO */
 
 	/**