qcwcn: Update to use legacy hardware headers and newer nl headers
diff --git a/qcwcn/wifi_hal/Android.mk b/qcwcn/wifi_hal/Android.mk
index a5859bc..dd00ebb 100644
--- a/qcwcn/wifi_hal/Android.mk
+++ b/qcwcn/wifi_hal/Android.mk
@@ -181,7 +181,7 @@
LOCAL_C_INCLUDES += external/libnl-headers
endif
-LOCAL_HEADER_LIBRARIES := libcutils_headers libutils_headers libwifi-hal-ctrl_headers libcld80211_headers
+LOCAL_HEADER_LIBRARIES := libcutils_headers libutils_headers libwifi-hal-ctrl_headers libcld80211_headers wifi_legacy_headers
LOCAL_HEADER_LIBRARIES += generated_kernel_headers
LOCAL_SANITIZE := cfi integer_overflow
include $(BUILD_SHARED_LIBRARY)
diff --git a/qcwcn/wifi_hal/common.cpp b/qcwcn/wifi_hal/common.cpp
index 9a1362d..95e0bc3 100644
--- a/qcwcn/wifi_hal/common.cpp
+++ b/qcwcn/wifi_hal/common.cpp
@@ -18,11 +18,9 @@
#include <linux/pkt_sched.h>
#include <linux-private/linux/fib_rules.h>
#include <netlink/object-api.h>
-#include <netlink-private/object-api.h>
-#include <netlink-private/types.h>
#include <dlfcn.h>
#include <pthread.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include <errno.h>
diff --git a/qcwcn/wifi_hal/common.h b/qcwcn/wifi_hal/common.h
index c11306e..56f065d 100644
--- a/qcwcn/wifi_hal/common.h
+++ b/qcwcn/wifi_hal/common.h
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#ifndef __WIFI_HAL_COMMON_H__
#define __WIFI_HAL_COMMON_H__
diff --git a/qcwcn/wifi_hal/cpp_bindings.cpp b/qcwcn/wifi_hal/cpp_bindings.cpp
index 4ac01b7..db3bd5e 100644
--- a/qcwcn/wifi_hal/cpp_bindings.cpp
+++ b/qcwcn/wifi_hal/cpp_bindings.cpp
@@ -40,7 +40,7 @@
#include "nl80211_copy.h"
#include <ctype.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "vendor_definitions.h"
diff --git a/qcwcn/wifi_hal/cpp_bindings.h b/qcwcn/wifi_hal/cpp_bindings.h
index 4ddb93e..1ee5ce4 100644
--- a/qcwcn/wifi_hal/cpp_bindings.h
+++ b/qcwcn/wifi_hal/cpp_bindings.h
@@ -22,7 +22,7 @@
#ifndef __WIFI_HAL_CPP_BINDINGS_H__
#define __WIFI_HAL_CPP_BINDINGS_H__
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "sync.h"
diff --git a/qcwcn/wifi_hal/gscancommand.h b/qcwcn/wifi_hal/gscancommand.h
index 6fbc90b..7e8be88 100644
--- a/qcwcn/wifi_hal/gscancommand.h
+++ b/qcwcn/wifi_hal/gscancommand.h
@@ -26,7 +26,7 @@
#define PRINTF_FORMAT(a,b)
#define STRUCT_PACKED
#endif
-#include "gscan.h"
+#include <hardware_legacy/gscan.h>
#ifdef __cplusplus
extern "C"
diff --git a/qcwcn/wifi_hal/ifaceeventhandler.h b/qcwcn/wifi_hal/ifaceeventhandler.h
index c993a7e..02d8c27 100644
--- a/qcwcn/wifi_hal/ifaceeventhandler.h
+++ b/qcwcn/wifi_hal/ifaceeventhandler.h
@@ -39,7 +39,7 @@
#define STRUCT_PACKED
#endif
#include "vendor_definitions.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#ifdef __cplusplus
extern "C"
diff --git a/qcwcn/wifi_hal/llstats.cpp b/qcwcn/wifi_hal/llstats.cpp
index d479a9f..f68dbeb 100644
--- a/qcwcn/wifi_hal/llstats.cpp
+++ b/qcwcn/wifi_hal/llstats.cpp
@@ -20,7 +20,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "llstatscommand.h"
diff --git a/qcwcn/wifi_hal/llstatscommand.h b/qcwcn/wifi_hal/llstatscommand.h
index 86b9672..da2f8dd 100644
--- a/qcwcn/wifi_hal/llstatscommand.h
+++ b/qcwcn/wifi_hal/llstatscommand.h
@@ -37,7 +37,7 @@
#include "nl80211_copy.h"
#include "common.h"
#include "cpp_bindings.h"
-#include "link_layer_stats.h"
+#include <hardware_legacy/link_layer_stats.h>
#ifdef __GNUC__
#define PRINTF_FORMAT(a,b) __attribute__ ((format (printf, (a), (b))))
diff --git a/qcwcn/wifi_hal/nan.cpp b/qcwcn/wifi_hal/nan.cpp
index 2428e1d..12da69a 100644
--- a/qcwcn/wifi_hal/nan.cpp
+++ b/qcwcn/wifi_hal/nan.cpp
@@ -16,7 +16,7 @@
#include "sync.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "nan_i.h"
#include "common.h"
#include "cpp_bindings.h"
diff --git a/qcwcn/wifi_hal/nan_i.h b/qcwcn/wifi_hal/nan_i.h
index d9aa39c..8251a55 100644
--- a/qcwcn/wifi_hal/nan_i.h
+++ b/qcwcn/wifi_hal/nan_i.h
@@ -19,7 +19,7 @@
#include "common.h"
#include "cpp_bindings.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#ifdef __cplusplus
extern "C"
diff --git a/qcwcn/wifi_hal/nan_ind.cpp b/qcwcn/wifi_hal/nan_ind.cpp
index 834cc2a..e96324c 100644
--- a/qcwcn/wifi_hal/nan_ind.cpp
+++ b/qcwcn/wifi_hal/nan_ind.cpp
@@ -17,7 +17,7 @@
#include "sync.h"
#include <utils/Log.h>
#include <errno.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "nan_i.h"
#include "nancommand.h"
#include <errno.h>
diff --git a/qcwcn/wifi_hal/nan_req.cpp b/qcwcn/wifi_hal/nan_req.cpp
index 23461eb..4c8f89d 100644
--- a/qcwcn/wifi_hal/nan_req.cpp
+++ b/qcwcn/wifi_hal/nan_req.cpp
@@ -16,7 +16,7 @@
#include "sync.h"
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "nan_i.h"
#include "nancommand.h"
diff --git a/qcwcn/wifi_hal/nan_rsp.cpp b/qcwcn/wifi_hal/nan_rsp.cpp
index b461b88..88edddb 100644
--- a/qcwcn/wifi_hal/nan_rsp.cpp
+++ b/qcwcn/wifi_hal/nan_rsp.cpp
@@ -16,7 +16,7 @@
#include "sync.h"
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "nan_i.h"
#include "nancommand.h"
diff --git a/qcwcn/wifi_hal/nancommand.h b/qcwcn/wifi_hal/nancommand.h
index 8a16248..6f8d419 100644
--- a/qcwcn/wifi_hal/nancommand.h
+++ b/qcwcn/wifi_hal/nancommand.h
@@ -19,7 +19,7 @@
#include "common.h"
#include "cpp_bindings.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "nan_cert.h"
class NanCommand : public WifiVendorCommand
diff --git a/qcwcn/wifi_hal/nud_stats.h b/qcwcn/wifi_hal/nud_stats.h
index c88b3a9..280cf3b 100644
--- a/qcwcn/wifi_hal/nud_stats.h
+++ b/qcwcn/wifi_hal/nud_stats.h
@@ -43,7 +43,7 @@
#include <netlink/object-api.h>
#include <netlink/netlink.h>
#include <netlink/socket.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include <bits/in_addr.h>
#define INET6_ADDRSTRLEN 46
diff --git a/qcwcn/wifi_hal/radio_mode.cpp b/qcwcn/wifi_hal/radio_mode.cpp
index 913ddfd..2684c70 100644
--- a/qcwcn/wifi_hal/radio_mode.cpp
+++ b/qcwcn/wifi_hal/radio_mode.cpp
@@ -30,7 +30,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "radio_mode.h"
diff --git a/qcwcn/wifi_hal/rb_wrapper.cpp b/qcwcn/wifi_hal/rb_wrapper.cpp
index 9083725..695eaa2 100644
--- a/qcwcn/wifi_hal/rb_wrapper.cpp
+++ b/qcwcn/wifi_hal/rb_wrapper.cpp
@@ -30,7 +30,7 @@
#include <stdlib.h>
#include "sync.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "ring_buffer.h"
diff --git a/qcwcn/wifi_hal/rssi_monitor.cpp b/qcwcn/wifi_hal/rssi_monitor.cpp
index 832bbc3..aa8291a 100644
--- a/qcwcn/wifi_hal/rssi_monitor.cpp
+++ b/qcwcn/wifi_hal/rssi_monitor.cpp
@@ -32,7 +32,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "rssi_monitor.h"
diff --git a/qcwcn/wifi_hal/rtt.cpp b/qcwcn/wifi_hal/rtt.cpp
index 785af6d..291f057 100644
--- a/qcwcn/wifi_hal/rtt.cpp
+++ b/qcwcn/wifi_hal/rtt.cpp
@@ -35,8 +35,8 @@
#include "common.h"
#include "cpp_bindings.h"
-#include "rtt.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/rtt.h>
+#include <hardware_legacy/wifi_hal.h>
#include "wifihal_internal.h"
/* Implementation of the API functions exposed in rtt.h */
diff --git a/qcwcn/wifi_hal/sync.h b/qcwcn/wifi_hal/sync.h
index eaa9f11..664c2da 100644
--- a/qcwcn/wifi_hal/sync.h
+++ b/qcwcn/wifi_hal/sync.h
@@ -15,7 +15,7 @@
*/
#include <pthread.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#ifndef __WIFI_HAL_SYNC_H__
diff --git a/qcwcn/wifi_hal/tcp_params_update.cpp b/qcwcn/wifi_hal/tcp_params_update.cpp
index c13b1b0..5676e73 100644
--- a/qcwcn/wifi_hal/tcp_params_update.cpp
+++ b/qcwcn/wifi_hal/tcp_params_update.cpp
@@ -30,7 +30,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "vendor_definitions.h"
diff --git a/qcwcn/wifi_hal/tdls.cpp b/qcwcn/wifi_hal/tdls.cpp
index f12816f..6c1b364 100644
--- a/qcwcn/wifi_hal/tdls.cpp
+++ b/qcwcn/wifi_hal/tdls.cpp
@@ -32,7 +32,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "tdlsCommand.h"
diff --git a/qcwcn/wifi_hal/tdlsCommand.h b/qcwcn/wifi_hal/tdlsCommand.h
index 565e9b3..561940f 100644
--- a/qcwcn/wifi_hal/tdlsCommand.h
+++ b/qcwcn/wifi_hal/tdlsCommand.h
@@ -49,7 +49,7 @@
#include "nl80211_copy.h"
#include "common.h"
#include "cpp_bindings.h"
-#include "tdls.h"
+#include <hardware_legacy/tdls.h>
#ifdef __GNUC__
#define PRINTF_FORMAT(a,b) __attribute__ ((format (printf, (a), (b))))
diff --git a/qcwcn/wifi_hal/wifi_hal.cpp b/qcwcn/wifi_hal/wifi_hal.cpp
index ed58f45..168ae68 100644
--- a/qcwcn/wifi_hal/wifi_hal.cpp
+++ b/qcwcn/wifi_hal/wifi_hal.cpp
@@ -30,9 +30,12 @@
#include <netlink/object-api.h>
#include <netlink/netlink.h>
#include <netlink/socket.h>
+#if __has_include(<netlink-private/types.h>)
#include <netlink-private/object-api.h>
#include <netlink-private/types.h>
-
+#else
+#include <nl-priv-dynamic-core/nl-core.h>
+#endif
#include "nl80211_copy.h"
#include <dirent.h>
@@ -48,7 +51,7 @@
#define LOG_TAG "WifiHAL"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "wifi_hal_ctrl.h"
#include "common.h"
#include "cpp_bindings.h"
diff --git a/qcwcn/wifi_hal/wificonfigcommand.h b/qcwcn/wifi_hal/wificonfigcommand.h
index bbe89a0..9caef8d 100644
--- a/qcwcn/wifi_hal/wificonfigcommand.h
+++ b/qcwcn/wifi_hal/wificonfigcommand.h
@@ -38,7 +38,7 @@
#define PRINTF_FORMAT(a,b)
#define STRUCT_PACKED
#endif
-#include "wifi_config.h"
+#include <hardware_legacy/wifi_config.h>
#ifdef __cplusplus
extern "C"
diff --git a/qcwcn/wifi_hal/wifihal_internal.h b/qcwcn/wifi_hal/wifihal_internal.h
index 5cc78c3..6daf48a 100644
--- a/qcwcn/wifi_hal/wifihal_internal.h
+++ b/qcwcn/wifi_hal/wifihal_internal.h
@@ -34,7 +34,7 @@
* purposes of initialization, rtt and gscan.
*/
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "list.h"
#include "sys/un.h"
diff --git a/qcwcn/wifi_hal/wifihal_vendor.cpp b/qcwcn/wifi_hal/wifihal_vendor.cpp
index e94506f..9b7d932 100644
--- a/qcwcn/wifi_hal/wifihal_vendor.cpp
+++ b/qcwcn/wifi_hal/wifihal_vendor.cpp
@@ -33,7 +33,7 @@
#include <utils/Log.h>
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include "wifihal_vendorcommand.h"
diff --git a/qcwcn/wifi_hal/wifilogger.cpp b/qcwcn/wifi_hal/wifilogger.cpp
index fe33b09..cbb3113 100644
--- a/qcwcn/wifi_hal/wifilogger.cpp
+++ b/qcwcn/wifi_hal/wifilogger.cpp
@@ -28,7 +28,7 @@
#include "sync.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "common.h"
#include "cpp_bindings.h"
#include <errno.h>
diff --git a/qcwcn/wifi_hal/wifilogger_diag.h b/qcwcn/wifi_hal/wifilogger_diag.h
index fc23cb7..e7a0676 100644
--- a/qcwcn/wifi_hal/wifilogger_diag.h
+++ b/qcwcn/wifi_hal/wifilogger_diag.h
@@ -30,7 +30,7 @@
#define __WIFI_HAL_WIFILOGGER_DIAG_H__
#include "common.h"
-#include "wifi_hal.h"
+#include <hardware_legacy/wifi_hal.h>
#include "wifilogger_event_defs.h"
#include <netlink/genl/genl.h>
diff --git a/qcwcn/wifi_hal/wifiloggercmd.h b/qcwcn/wifi_hal/wifiloggercmd.h
index 9361821..e37b1f4 100644
--- a/qcwcn/wifi_hal/wifiloggercmd.h
+++ b/qcwcn/wifi_hal/wifiloggercmd.h
@@ -31,7 +31,7 @@
#include "common.h"
#include "cpp_bindings.h"
-#include "wifi_logger.h"
+#include <hardware_legacy/wifi_logger.h>
#include "wifilogger_diag.h"
#ifdef __cplusplus