summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--service/Android.mk24
-rw-r--r--service/jni/com_android_server_wifi_WifiNative.cpp101
-rw-r--r--service/jni/wifi_hal_stub.h79
-rw-r--r--service/lib/wifi_hal.cpp148
-rw-r--r--service/lib/wifi_hal_stub.cpp169
-rw-r--r--service/tools/halutil/halutil.cpp92
6 files changed, 419 insertions, 194 deletions
diff --git a/service/Android.mk b/service/Android.mk
index b2cd8e4..e847e45 100644
--- a/service/Android.mk
+++ b/service/Android.mk
@@ -38,6 +38,27 @@ LOCAL_MODULE := libwifi-hal
include $(BUILD_STATIC_LIBRARY)
+# Make HAL stub library 2
+# ============================================================
+
+include $(CLEAR_VARS)
+
+LOCAL_REQUIRED_MODULES :=
+
+LOCAL_CFLAGS += -Wno-unused-parameter
+
+LOCAL_C_INCLUDES += \
+ $(LOCAL_PATH)/jni \
+ external/libnl-headers \
+ $(call include-path-for, libhardware_legacy)/hardware_legacy
+
+LOCAL_SRC_FILES := \
+ lib/wifi_hal_stub.cpp
+
+LOCAL_MODULE := libwifi-hal-stub
+
+include $(BUILD_STATIC_LIBRARY)
+
# set correct hal library path
# ============================================================
LIB_WIFI_HAL := libwifi-hal
@@ -67,6 +88,7 @@ LOCAL_CFLAGS += -Wno-maybe-uninitialized -Wno-parentheses
LOCAL_CPPFLAGS += -Wno-conversion-null
LOCAL_C_INCLUDES += \
+ $(LOCAL_PATH)/jni \
external/stlport/stlport \
bionic \
$(call include-path-for, libhardware)/hardware \
@@ -81,6 +103,7 @@ LOCAL_SHARED_LIBRARIES += \
libutils \
libdl
+LOCAL_STATIC_LIBRARIES += libwifi-hal-stub
LOCAL_STATIC_LIBRARIES += $(LIB_WIFI_HAL)
LOCAL_SRC_FILES := \
@@ -116,6 +139,7 @@ LOCAL_SHARED_LIBRARIES += \
libnl \
libdl
+LOCAL_STATIC_LIBRARIES += libwifi-hal-stub
LOCAL_STATIC_LIBRARIES += $(LIB_WIFI_HAL)
LOCAL_SRC_FILES := \
diff --git a/service/jni/com_android_server_wifi_WifiNative.cpp b/service/jni/com_android_server_wifi_WifiNative.cpp
index 36707ce..eddf059 100644
--- a/service/jni/com_android_server_wifi_WifiNative.cpp
+++ b/service/jni/com_android_server_wifi_WifiNative.cpp
@@ -30,6 +30,7 @@
#include "wifi_hal.h"
#include "jni_helper.h"
#include "rtt.h"
+#include "wifi_hal_stub.h"
#define REPLY_BUF_SIZE 4096 // wpa_supplicant's maximum size.
#define EVENT_BUF_SIZE 2048
@@ -38,6 +39,49 @@ namespace android {
static jint DBG = false;
+//Please put all HAL function call here and call from the function table instead of directly call
+static wifi_hal_fn hal_fn;
+int init_wifi_hal_func_table(wifi_hal_fn *hal_fn) {
+ if (hal_fn == NULL) {
+ return -1;
+ }
+
+ hal_fn->wifi_initialize = wifi_initialize_stub;
+ hal_fn->wifi_cleanup = wifi_cleanup_stub;
+ hal_fn->wifi_event_loop = wifi_event_loop_stub;
+ hal_fn->wifi_get_error_info = wifi_get_error_info_stub;
+ hal_fn->wifi_get_supported_feature_set = wifi_get_supported_feature_set_stub;
+ hal_fn->wifi_get_concurrency_matrix = wifi_get_concurrency_matrix_stub;
+ hal_fn->wifi_set_scanning_mac_oui = wifi_set_scanning_mac_oui_stub;
+ hal_fn->wifi_get_supported_channels = wifi_get_supported_channels_stub;
+ hal_fn->wifi_is_epr_supported = wifi_is_epr_supported_stub;
+ hal_fn->wifi_get_ifaces = wifi_get_ifaces_stub;
+ hal_fn->wifi_get_iface_name = wifi_get_iface_name_stub;
+ hal_fn->wifi_reset_iface_event_handler = wifi_reset_iface_event_handler_stub;
+ hal_fn->wifi_start_gscan = wifi_start_gscan_stub;
+ hal_fn->wifi_stop_gscan = wifi_stop_gscan_stub;
+ hal_fn->wifi_get_cached_gscan_results = wifi_get_cached_gscan_results_stub;
+ hal_fn->wifi_set_bssid_hotlist = wifi_set_bssid_hotlist_stub;
+ hal_fn->wifi_reset_bssid_hotlist = wifi_reset_bssid_hotlist_stub;
+ hal_fn->wifi_set_significant_change_handler = wifi_set_significant_change_handler_stub;
+ hal_fn->wifi_reset_significant_change_handler = wifi_reset_significant_change_handler_stub;
+ hal_fn->wifi_get_gscan_capabilities = wifi_get_gscan_capabilities_stub;
+ hal_fn->wifi_set_link_stats = wifi_set_link_stats_stub;
+ hal_fn->wifi_get_link_stats = wifi_get_link_stats_stub;
+ hal_fn->wifi_clear_link_stats = wifi_clear_link_stats_stub;
+ hal_fn->wifi_get_valid_channels = wifi_get_valid_channels_stub;
+ hal_fn->wifi_rtt_range_request = wifi_rtt_range_request_stub;
+ hal_fn->wifi_rtt_range_cancel = wifi_rtt_range_cancel_stub;
+ hal_fn->wifi_get_rtt_capabilities = wifi_get_rtt_capabilities_stub;
+ hal_fn->wifi_set_nodfs_flag = wifi_set_nodfs_flag_stub;
+ hal_fn->wifi_start_logging = wifi_start_logging_stub;
+ hal_fn->wifi_set_epno_list = wifi_set_epno_list_stub;
+ hal_fn->wifi_set_country_code = wifi_set_country_code_stub;
+
+ return 0;
+}
+
+
static bool doCommand(JNIEnv* env, jstring javaCommand,
char* reply, size_t reply_len) {
ScopedUtfChars command(env, javaCommand);
@@ -254,11 +298,24 @@ static jboolean android_net_wifi_toggle_interface(JNIEnv* env, jclass cls, int t
static jboolean android_net_wifi_startHal(JNIEnv* env, jclass cls) {
wifi_handle halHandle = getWifiHandle(env, cls);
if (halHandle == NULL) {
+
+ if(init_wifi_hal_func_table(&hal_fn) != 0 ) {
+ ALOGD("Can not initialize the basic function pointer table");
+ return false;
+ }
+
+ wifi_error res = init_wifi_vendor_hal_func_table(&hal_fn);
+ if (res != WIFI_SUCCESS) {
+ ALOGD("Can not initialize the vendor function pointer table");
+ return false;
+ }
+
int ret = set_iface_flags("wlan0", 1);
if(ret != 0) {
return false;
}
- wifi_error res = wifi_initialize(&halHandle);
+
+ res = hal_fn.wifi_initialize(&halHandle);
if (res == WIFI_SUCCESS) {
setStaticLongField(env, cls, WifiHandleVarName, (jlong)halHandle);
ALOGD("Did set static halHandle = %p", halHandle);
@@ -286,7 +343,7 @@ static void android_net_wifi_stopHal(JNIEnv* env, jclass cls) {
ALOGD("In wifi stop Hal");
wifi_handle halHandle = getWifiHandle(env, cls);
- wifi_cleanup(halHandle, android_net_wifi_hal_cleaned_up_handler);
+ hal_fn.wifi_cleanup(halHandle, android_net_wifi_hal_cleaned_up_handler);
set_iface_flags("wlan0", 0);
}
@@ -295,14 +352,14 @@ static void android_net_wifi_waitForHalEvents(JNIEnv* env, jclass cls) {
ALOGD("waitForHalEvents called, vm = %p, obj = %p, env = %p", mVM, mCls, env);
wifi_handle halHandle = getWifiHandle(env, cls);
- wifi_event_loop(halHandle);
+ hal_fn.wifi_event_loop(halHandle);
}
static int android_net_wifi_getInterfaces(JNIEnv *env, jclass cls) {
int n = 0;
wifi_handle halHandle = getWifiHandle(env, cls);
wifi_interface_handle *ifaceHandles = NULL;
- int result = wifi_get_ifaces(halHandle, &n, &ifaceHandles);
+ int result = hal_fn.wifi_get_ifaces(halHandle, &n, &ifaceHandles);
if (result < 0) {
return result;
}
@@ -343,7 +400,7 @@ static jstring android_net_wifi_getInterfaceName(JNIEnv *env, jclass cls, jint i
jlong value = getStaticLongArrayField(env, cls, WifiIfaceHandleVarName, i);
wifi_interface_handle handle = (wifi_interface_handle) value;
- int result = ::wifi_get_iface_name(handle, buf, sizeof(buf));
+ int result = hal_fn.wifi_get_iface_name(handle, buf, sizeof(buf));
if (result < 0) {
return NULL;
} else {
@@ -469,14 +526,14 @@ static jboolean android_net_wifi_startScan(
handler.on_full_scan_result = &onFullScanResult;
handler.on_scan_event = &onScanEvent;
- return wifi_start_gscan(id, handle, params, handler) == WIFI_SUCCESS;
+ return hal_fn.wifi_start_gscan(id, handle, params, handler) == WIFI_SUCCESS;
}
static jboolean android_net_wifi_stopScan(JNIEnv *env, jclass cls, jint iface, jint id) {
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
ALOGD("stopping scan on interface[%d] = %p", iface, handle);
- return wifi_stop_gscan(id, handle) == WIFI_SUCCESS;
+ return hal_fn.wifi_stop_gscan(id, handle) == WIFI_SUCCESS;
}
static int compare_scan_result_timestamp(const void *v1, const void *v2) {
@@ -495,7 +552,7 @@ static jobject android_net_wifi_getScanResults(
ALOGD("getting scan results on interface[%d] = %p", iface, handle);
byte b = flush ? 0 : 0xFF;
- int result = wifi_get_cached_gscan_results(handle, b, num_scan_data, scan_data, &num_scan_data);
+ int result = hal_fn.wifi_get_cached_gscan_results(handle, b, num_scan_data, scan_data, &num_scan_data);
if (result == WIFI_SUCCESS) {
jobjectArray scanData = createObjectArray(env,
"android/net/wifi/WifiScanner$ScanData", num_scan_data);
@@ -571,7 +628,7 @@ static jboolean android_net_wifi_getScanCapabilities(
wifi_gscan_capabilities c;
memset(&c, 0, sizeof(c));
- int result = wifi_get_gscan_capabilities(handle, &c);
+ int result = hal_fn.wifi_get_gscan_capabilities(handle, &c);
if (result != WIFI_SUCCESS) {
ALOGD("failed to get capabilities : %d", result);
return JNI_FALSE;
@@ -799,7 +856,7 @@ static jboolean android_net_wifi_setHotlist(
handler.on_hotlist_ap_found = &onHotlistApFound;
handler.on_hotlist_ap_lost = &onHotlistApLost;
- return wifi_set_bssid_hotlist(id, handle, params, handler) == WIFI_SUCCESS;
+ return hal_fn.wifi_set_bssid_hotlist(id, handle, params, handler) == WIFI_SUCCESS;
}
static jboolean android_net_wifi_resetHotlist(
@@ -808,7 +865,7 @@ static jboolean android_net_wifi_resetHotlist(
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
ALOGD("resetting hotlist on interface[%d] = %p", iface, handle);
- return wifi_reset_bssid_hotlist(id, handle) == WIFI_SUCCESS;
+ return hal_fn.wifi_reset_bssid_hotlist(id, handle) == WIFI_SUCCESS;
}
void onSignificantWifiChange(wifi_request_id id,
@@ -922,7 +979,7 @@ static jboolean android_net_wifi_trackSignificantWifiChange(
memset(&handler, 0, sizeof(handler));
handler.on_significant_change = &onSignificantWifiChange;
- return wifi_set_significant_change_handler(id, handle, params, handler) == WIFI_SUCCESS;
+ return hal_fn.wifi_set_significant_change_handler(id, handle, params, handler) == WIFI_SUCCESS;
}
static jboolean android_net_wifi_untrackSignificantWifiChange(
@@ -931,7 +988,7 @@ static jboolean android_net_wifi_untrackSignificantWifiChange(
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
ALOGD("resetting significant wifi change on interface[%d] = %p", iface, handle);
- return wifi_reset_significant_change_handler(id, handle) == WIFI_SUCCESS;
+ return hal_fn.wifi_reset_significant_change_handler(id, handle) == WIFI_SUCCESS;
}
wifi_iface_stat link_stat;
@@ -959,7 +1016,7 @@ static jobject android_net_wifi_getLinkLayerStats (JNIEnv *env, jclass cls, jint
memset(&handler, 0, sizeof(handler));
handler.on_link_stats_results = &onLinkStatsResults;
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
- int result = wifi_get_link_stats(0, handle, handler);
+ int result = hal_fn.wifi_get_link_stats(0, handle, handler);
if (result < 0) {
ALOGE("android_net_wifi_getLinkLayerStats: failed to get link statistics\n");
return NULL;
@@ -1016,7 +1073,7 @@ static jint android_net_wifi_getSupportedFeatures(JNIEnv *env, jclass cls, jint
| WIFI_FEATURE_EPR;
*/
- result = wifi_get_supported_feature_set(handle, &set);
+ result = hal_fn.wifi_get_supported_feature_set(handle, &set);
if (result == WIFI_SUCCESS) {
ALOGD("wifi_get_supported_feature_set returned set = 0x%x", set);
return set;
@@ -1164,7 +1221,7 @@ static jboolean android_net_wifi_requestRange(
wifi_rtt_event_handler handler;
handler.on_rtt_results = &onRttResults;
- return wifi_rtt_range_request(id, handle, len, configs, handler) == WIFI_SUCCESS;
+ return hal_fn.wifi_rtt_range_request(id, handle, len, configs, handler) == WIFI_SUCCESS;
}
static jboolean android_net_wifi_cancelRange(
@@ -1192,7 +1249,7 @@ static jboolean android_net_wifi_cancelRange(
parseMacAddress(env, param, addrs[i]);
}
- return wifi_rtt_range_cancel(id, handle, len, addrs) == WIFI_SUCCESS;
+ return hal_fn.wifi_rtt_range_cancel(id, handle, len, addrs) == WIFI_SUCCESS;
}
static jboolean android_net_wifi_setScanningMacOui(JNIEnv *env, jclass cls,
@@ -1214,7 +1271,7 @@ static jboolean android_net_wifi_setScanningMacOui(JNIEnv *env, jclass cls,
return false;
}
- return wifi_set_scanning_mac_oui(handle, (byte *)bytes) == WIFI_SUCCESS;
+ return hal_fn.wifi_set_scanning_mac_oui(handle, (byte *)bytes) == WIFI_SUCCESS;
}
static jintArray android_net_wifi_getValidChannels(JNIEnv *env, jclass cls,
@@ -1226,7 +1283,7 @@ static jintArray android_net_wifi_getValidChannels(JNIEnv *env, jclass cls,
static const int MaxChannels = 64;
wifi_channel channels[64];
int num_channels = 0;
- wifi_error result = wifi_get_valid_channels(handle, band, MaxChannels,
+ wifi_error result = hal_fn.wifi_get_valid_channels(handle, band, MaxChannels,
channels, &num_channels);
if (result == WIFI_SUCCESS) {
@@ -1249,14 +1306,14 @@ static jboolean android_net_wifi_setDfsFlag(JNIEnv *env, jclass cls, jint iface,
ALOGD("setting dfs flag to %s, %p", dfs ? "true" : "false", handle);
u32 nodfs = dfs ? 0 : 1;
- wifi_error result = wifi_set_nodfs_flag(handle, nodfs);
+ wifi_error result = hal_fn.wifi_set_nodfs_flag(handle, nodfs);
return result == WIFI_SUCCESS;
}
static jobject android_net_wifi_get_rtt_capabilities(JNIEnv *env, jclass cls, jint iface) {
wifi_rtt_capabilities rtt_capabilities;
wifi_interface_handle handle = getIfaceHandle(env, cls, iface);
- wifi_error ret = wifi_get_rtt_capabilities(handle, &rtt_capabilities);
+ wifi_error ret = hal_fn.wifi_get_rtt_capabilities(handle, &rtt_capabilities);
if(WIFI_SUCCESS == ret) {
jobject capabilities = createObject(env, "android/net/wifi/RttManager$RttCapabilities");
@@ -1295,7 +1352,7 @@ static jboolean android_net_wifi_set_Country_Code_Hal(JNIEnv *env,jclass cls, ji
const char *country = env->GetStringUTFChars(country_code, NULL);
ALOGD("set country code: %s", country);
- wifi_error res = wifi_set_country_code(handle, country);
+ wifi_error res = hal_fn.wifi_set_country_code(handle, country);
env->ReleaseStringUTFChars(country_code, country);
return res == WIFI_SUCCESS;
diff --git a/service/jni/wifi_hal_stub.h b/service/jni/wifi_hal_stub.h
new file mode 100644
index 0000000..749508d
--- /dev/null
+++ b/service/jni/wifi_hal_stub.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __WIFI_HAL_STUB_H__
+#define __WIFI_HAL_STUB_H__
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#include "wifi_hal.h"
+/* declare all HAL stub API here*/
+wifi_error wifi_initialize_stub(wifi_handle *handle);
+void wifi_cleanup_stub(wifi_handle handle, wifi_cleaned_up_handler handler);
+void wifi_event_loop_stub(wifi_handle handle);
+void wifi_get_error_info_stub(wifi_error err, const char **msg);
+wifi_error wifi_get_supported_feature_set_stub(wifi_interface_handle handle, feature_set *set);
+wifi_error wifi_get_concurrency_matrix_stub(wifi_interface_handle handle, int set_size_max,
+ feature_set set[], int *set_size);
+wifi_error wifi_get_ifaces_stub(wifi_handle handle, int *num_ifaces, wifi_interface_handle **ifaces);
+wifi_error wifi_get_iface_name_stub(wifi_interface_handle iface, char *name, size_t size);
+wifi_error wifi_set_iface_event_handler_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_event_handler eh);
+wifi_error wifi_reset_iface_event_handler_stub(wifi_request_id id, wifi_interface_handle iface);
+wifi_error wifi_set_nodfs_flag_stub(wifi_interface_handle handle, u32 nodfs);
+wifi_error wifi_set_scanning_mac_oui_stub(wifi_interface_handle handle, unsigned char *oui);
+wifi_error wifi_get_supported_channels_stub(wifi_handle handle, int *size, wifi_channel *list);
+wifi_error wifi_is_epr_supported_stub(wifi_handle handle);
+wifi_error wifi_start_gscan_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_scan_cmd_params params, wifi_scan_result_handler handler);
+wifi_error wifi_stop_gscan_stub(wifi_request_id id, wifi_interface_handle iface);
+wifi_error wifi_get_cached_gscan_results_stub(wifi_interface_handle iface, byte flush,
+ int max, wifi_cached_scan_results *results, int *num);
+wifi_error wifi_set_bssid_hotlist_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_bssid_hotlist_params params, wifi_hotlist_ap_found_handler handler);
+wifi_error wifi_reset_bssid_hotlist_stub(wifi_request_id id, wifi_interface_handle iface);
+wifi_error wifi_set_significant_change_handler_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_significant_change_params params, wifi_significant_change_handler handler);
+wifi_error wifi_reset_significant_change_handler_stub(wifi_request_id id,
+ wifi_interface_handle iface);
+wifi_error wifi_get_gscan_capabilities_stub(wifi_interface_handle handle,
+ wifi_gscan_capabilities *capabilities);
+wifi_error wifi_set_link_stats_stub(wifi_interface_handle iface, wifi_link_layer_params params);
+wifi_error wifi_get_link_stats_stub(wifi_request_id id,
+ wifi_interface_handle iface, wifi_stats_result_handler handler);
+ wifi_error wifi_clear_link_stats_stub(wifi_interface_handle iface,
+ u32 stats_clear_req_mask, u32 *stats_clear_rsp_mask, u8 stop_req, u8 *stop_rsp);
+ wifi_error wifi_get_valid_channels_stub(wifi_interface_handle handle,
+ int band, int max_channels, wifi_channel *channels, int *num_channels);
+ wifi_error wifi_rtt_range_request_stub(wifi_request_id id, wifi_interface_handle iface,
+ unsigned num_rtt_config, wifi_rtt_config rtt_config[], wifi_rtt_event_handler handler);
+ wifi_error wifi_rtt_range_cancel_stub(wifi_request_id id, wifi_interface_handle iface,
+ unsigned num_devices, mac_addr addr[]);
+ wifi_error wifi_get_rtt_capabilities_stub(wifi_interface_handle iface,
+ wifi_rtt_capabilities *capabilities);
+ wifi_error wifi_set_nodfs_flag_stub(wifi_interface_handle iface, u32 nodfs);
+ wifi_error wifi_start_logging_stub(wifi_interface_handle iface, u32 verbose_level, u32 flags,
+ u32 max_interval_sec, u32 min_data_size, u8 *buffer_name,
+ wifi_ring_buffer_data_handler handler);
+ wifi_error wifi_set_epno_list_stub(int id, wifi_interface_info *iface, int num_networks,
+ wifi_epno_network *networks, wifi_epno_handler handler);
+ wifi_error wifi_set_country_code_stub(wifi_interface_handle iface, const char *code);
+#ifdef __cplusplus
+}
+#endif
+#endif //__WIFI_HAL_STUB_H__
diff --git a/service/lib/wifi_hal.cpp b/service/lib/wifi_hal.cpp
index c9f1b65..25bb373 100644
--- a/service/lib/wifi_hal.cpp
+++ b/service/lib/wifi_hal.cpp
@@ -1,152 +1,6 @@
#include <stdint.h>
#include "wifi_hal.h"
-wifi_error wifi_initialize(wifi_handle *handle) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-void wifi_cleanup(wifi_handle handle, wifi_cleaned_up_handler handler) {
-}
-
-void wifi_event_loop(wifi_handle handle) {
-
-}
-
-void wifi_get_error_info(wifi_error err, const char **msg) {
- *msg = NULL;
-}
-
-wifi_error wifi_get_supported_feature_set(wifi_interface_handle handle, feature_set *set) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_concurrency_matrix(wifi_interface_handle handle, int max_size,
- feature_set *matrix, int *size) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_set_scanning_mac_oui(wifi_interface_handle handle, unsigned char *oui) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-/* List of all supported channels, including 5GHz channels */
-wifi_error wifi_get_supported_channels(wifi_handle handle, int *size, wifi_channel *list) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-/* Enhanced power reporting */
-wifi_error wifi_is_epr_supported(wifi_handle handle) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-/* multiple interface support */
-wifi_error wifi_get_ifaces(wifi_handle handle, int *num_ifaces, wifi_interface_handle **ifaces) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_iface_name(wifi_interface_handle iface, char *name, size_t size) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_set_iface_event_handler(wifi_request_id id,
- wifi_interface_handle iface, wifi_event_handler eh) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_reset_iface_event_handler(wifi_request_id id, wifi_interface_handle iface) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_start_gscan(wifi_request_id id, wifi_interface_handle iface,
- wifi_scan_cmd_params params, wifi_scan_result_handler handler) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_stop_gscan(wifi_request_id id, wifi_interface_handle iface) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_cached_gscan_results(wifi_interface_handle iface, byte flush,
- int max, wifi_cached_scan_results *results, int *num) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_set_bssid_hotlist(wifi_request_id id, wifi_interface_handle iface,
- wifi_bssid_hotlist_params params, wifi_hotlist_ap_found_handler handler) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_reset_bssid_hotlist(wifi_request_id id, wifi_interface_handle iface) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_set_significant_change_handler(wifi_request_id id, wifi_interface_handle iface,
- wifi_significant_change_params params, wifi_significant_change_handler handler) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_reset_significant_change_handler(wifi_request_id id, wifi_interface_handle iface) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_gscan_capabilities(wifi_interface_handle handle,
- wifi_gscan_capabilities *capabilities) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_set_link_stats(wifi_interface_handle iface, wifi_link_layer_params params) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_link_stats(wifi_request_id id,
- wifi_interface_handle iface, wifi_stats_result_handler handler) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_clear_link_stats(wifi_interface_handle iface,
- u32 stats_clear_req_mask, u32 *stats_clear_rsp_mask, u8 stop_req, u8 *stop_rsp) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-wifi_error wifi_get_valid_channels(wifi_interface_handle handle,
- int band, int max_channels, wifi_channel *channels, int *num_channels) {
- return WIFI_ERROR_UNINITIALIZED;
-}
-
-/* API to request RTT measurement */
-wifi_error wifi_rtt_range_request(wifi_request_id id, wifi_interface_handle iface,
- unsigned num_rtt_config, wifi_rtt_config rtt_config[], wifi_rtt_event_handler handler) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-/* API to cancel RTT measurements */
-wifi_error wifi_rtt_range_cancel(wifi_request_id id, wifi_interface_handle iface,
- unsigned num_devices, mac_addr addr[]) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-/* API to get RTT capability */
-wifi_error wifi_get_rtt_capabilities(wifi_interface_handle iface,
- wifi_rtt_capabilities *capabilities)
-{
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-wifi_error wifi_set_nodfs_flag(wifi_interface_handle iface, u32 nodfs) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-wifi_error wifi_start_logging(wifi_interface_handle iface, u32 verbose_level, u32 flags,
- u32 max_interval_sec, u32 min_data_size, u8 *buffer_name,
- wifi_ring_buffer_data_handler handler) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-wifi_error wifi_set_epno_list(int id, wifi_interface_info *iface, int num_networks,
- wifi_epno_network *networks, wifi_epno_handler handler) {
- return WIFI_ERROR_NOT_SUPPORTED;
-}
-
-wifi_error wifi_set_country_code(wifi_interface_handle iface, const char *code) {
+wifi_error init_wifi_vendor_hal_func_table(wifi_hal_fn *fn) {
return WIFI_ERROR_NOT_SUPPORTED;
}
diff --git a/service/lib/wifi_hal_stub.cpp b/service/lib/wifi_hal_stub.cpp
new file mode 100644
index 0000000..10bda4b
--- /dev/null
+++ b/service/lib/wifi_hal_stub.cpp
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdint.h>
+#include "wifi_hal.h"
+#include "wifi_hal_stub.h"
+
+wifi_error wifi_initialize_stub(wifi_handle *handle) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+void wifi_cleanup_stub(wifi_handle handle, wifi_cleaned_up_handler handler) {
+}
+
+void wifi_event_loop_stub(wifi_handle handle) {
+
+}
+
+void wifi_get_error_info_stub(wifi_error err, const char **msg) {
+ *msg = NULL;
+}
+
+wifi_error wifi_get_supported_feature_set_stub(wifi_interface_handle handle, feature_set *set) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_concurrency_matrix_stub(wifi_interface_handle handle, int max_size,
+ feature_set *matrix, int *size) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_set_scanning_mac_oui_stub(wifi_interface_handle handle, unsigned char *oui) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+/* List of all supported channels, including 5GHz channels */
+wifi_error wifi_get_supported_channels_stub(wifi_handle handle, int *size, wifi_channel *list) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+/* Enhanced power reporting */
+wifi_error wifi_is_epr_supported_stub(wifi_handle handle) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+/* multiple interface support */
+wifi_error wifi_get_ifaces_stub(wifi_handle handle, int *num_ifaces, wifi_interface_handle **ifaces) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_iface_name_stub(wifi_interface_handle iface, char *name, size_t size) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_set_iface_event_handler_stub(wifi_request_id id,
+ wifi_interface_handle iface, wifi_event_handler eh) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_reset_iface_event_handler_stub(wifi_request_id id, wifi_interface_handle iface) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_start_gscan_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_scan_cmd_params params, wifi_scan_result_handler handler) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_stop_gscan_stub(wifi_request_id id, wifi_interface_handle iface) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_cached_gscan_results_stub(wifi_interface_handle iface, byte flush,
+ int max, wifi_cached_scan_results *results, int *num) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_set_bssid_hotlist_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_bssid_hotlist_params params, wifi_hotlist_ap_found_handler handler) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_reset_bssid_hotlist_stub(wifi_request_id id, wifi_interface_handle iface) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_set_significant_change_handler_stub(wifi_request_id id, wifi_interface_handle iface,
+ wifi_significant_change_params params, wifi_significant_change_handler handler) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_reset_significant_change_handler_stub(wifi_request_id id, wifi_interface_handle iface) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_gscan_capabilities_stub(wifi_interface_handle handle,
+ wifi_gscan_capabilities *capabilities) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_set_link_stats_stub(wifi_interface_handle iface, wifi_link_layer_params params) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_link_stats_stub(wifi_request_id id,
+ wifi_interface_handle iface, wifi_stats_result_handler handler) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_clear_link_stats_stub(wifi_interface_handle iface,
+ u32 stats_clear_req_mask, u32 *stats_clear_rsp_mask, u8 stop_req, u8 *stop_rsp) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+wifi_error wifi_get_valid_channels_stub(wifi_interface_handle handle,
+ int band, int max_channels, wifi_channel *channels, int *num_channels) {
+ return WIFI_ERROR_UNINITIALIZED;
+}
+
+/* API to request RTT measurement */
+wifi_error wifi_rtt_range_request_stub(wifi_request_id id, wifi_interface_handle iface,
+ unsigned num_rtt_config, wifi_rtt_config rtt_config[], wifi_rtt_event_handler handler) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+/* API to cancel RTT measurements */
+wifi_error wifi_rtt_range_cancel_stub(wifi_request_id id, wifi_interface_handle iface,
+ unsigned num_devices, mac_addr addr[]) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+/* API to get RTT capability */
+wifi_error wifi_get_rtt_capabilities_stub(wifi_interface_handle iface,
+ wifi_rtt_capabilities *capabilities)
+{
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+wifi_error wifi_set_nodfs_flag_stub(wifi_interface_handle iface, u32 nodfs) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+wifi_error wifi_start_logging_stub(wifi_interface_handle iface, u32 verbose_level, u32 flags,
+ u32 max_interval_sec, u32 min_data_size, u8 *buffer_name,
+ wifi_ring_buffer_data_handler handler) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+wifi_error wifi_set_epno_list_stub(int id, wifi_interface_info *iface, int num_networks,
+ wifi_epno_network *networks, wifi_epno_handler handler) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
+
+wifi_error wifi_set_country_code_stub(wifi_interface_handle iface, const char *code) {
+ return WIFI_ERROR_NOT_SUPPORTED;
+}
diff --git a/service/tools/halutil/halutil.cpp b/service/tools/halutil/halutil.cpp
index d2458cb..56d0513 100644
--- a/service/tools/halutil/halutil.cpp
+++ b/service/tools/halutil/halutil.cpp
@@ -12,8 +12,50 @@
#include <ctype.h>
#include <stdarg.h>
#include <semaphore.h>
+#include "wifi_hal_stub.h"
pthread_mutex_t printMutex;
+
+static wifi_hal_fn hal_fn;
+int init_wifi_hal_func_table(wifi_hal_fn *hal_fn) {
+ if (hal_fn == NULL) {
+ return -1;
+ }
+ hal_fn->wifi_initialize = wifi_initialize_stub;
+ hal_fn->wifi_cleanup = wifi_cleanup_stub;
+ hal_fn->wifi_event_loop = wifi_event_loop_stub;
+ hal_fn->wifi_get_error_info = wifi_get_error_info_stub;
+ hal_fn->wifi_get_supported_feature_set = wifi_get_supported_feature_set_stub;
+ hal_fn->wifi_get_concurrency_matrix = wifi_get_concurrency_matrix_stub;
+ hal_fn->wifi_set_scanning_mac_oui = wifi_set_scanning_mac_oui_stub;
+ hal_fn->wifi_get_supported_channels = wifi_get_supported_channels_stub;
+ hal_fn->wifi_is_epr_supported = wifi_is_epr_supported_stub;
+ hal_fn->wifi_get_ifaces = wifi_get_ifaces_stub;
+ hal_fn->wifi_get_iface_name = wifi_get_iface_name_stub;
+ hal_fn->wifi_reset_iface_event_handler = wifi_reset_iface_event_handler_stub;
+ hal_fn->wifi_start_gscan = wifi_start_gscan_stub;
+ hal_fn->wifi_stop_gscan = wifi_stop_gscan_stub;
+ hal_fn->wifi_get_cached_gscan_results = wifi_get_cached_gscan_results_stub;
+ hal_fn->wifi_set_bssid_hotlist = wifi_set_bssid_hotlist_stub;
+ hal_fn->wifi_reset_bssid_hotlist = wifi_reset_bssid_hotlist_stub;
+ hal_fn->wifi_set_significant_change_handler = wifi_set_significant_change_handler_stub;
+ hal_fn->wifi_reset_significant_change_handler = wifi_reset_significant_change_handler_stub;
+ hal_fn->wifi_get_gscan_capabilities = wifi_get_gscan_capabilities_stub;
+ hal_fn->wifi_set_link_stats = wifi_set_link_stats_stub;
+ hal_fn->wifi_get_link_stats = wifi_get_link_stats_stub;
+ hal_fn->wifi_clear_link_stats = wifi_clear_link_stats_stub;
+ hal_fn->wifi_get_valid_channels = wifi_get_valid_channels_stub;
+ hal_fn->wifi_rtt_range_request = wifi_rtt_range_request_stub;
+ hal_fn->wifi_rtt_range_cancel = wifi_rtt_range_cancel_stub;
+ hal_fn->wifi_get_rtt_capabilities = wifi_get_rtt_capabilities_stub;
+ hal_fn->wifi_set_nodfs_flag = wifi_set_nodfs_flag_stub;
+ hal_fn->wifi_start_logging = wifi_start_logging_stub;
+ hal_fn->wifi_set_epno_list = wifi_set_epno_list_stub;
+ hal_fn->wifi_set_country_code = wifi_set_country_code_stub;
+
+ return 0;
+}
+
void printMsg(const char *fmt, ...)
{
pthread_mutex_lock(&printMutex);
@@ -330,19 +372,19 @@ static int init() {
return ret;
}
- wifi_error res = wifi_initialize(&halHandle);
+ wifi_error res = hal_fn.wifi_initialize(&halHandle);
if (res < 0) {
return res;
}
- res = wifi_get_ifaces(halHandle, &numIfaceHandles, &ifaceHandles);
+ res = hal_fn.wifi_get_ifaces(halHandle, &numIfaceHandles, &ifaceHandles);
if (res < 0) {
return res;
}
char buf[EVENT_BUF_SIZE];
for (int i = 0; i < numIfaceHandles; i++) {
- if (wifi_get_iface_name(ifaceHandles[i], buf, sizeof(buf)) == WIFI_SUCCESS) {
+ if (hal_fn.wifi_get_iface_name(ifaceHandles[i], buf, sizeof(buf)) == WIFI_SUCCESS) {
if (strcmp(buf, "wlan0") == 0) {
printMsg("found interface %s\n", buf);
wlan0Handle = ifaceHandles[i];
@@ -364,7 +406,7 @@ static void cleaned_up_handler(wifi_handle handle) {
static void cleanup() {
printMsg("cleaning up HAL\n");
- wifi_cleanup(halHandle, cleaned_up_handler);
+ hal_fn.wifi_cleanup(halHandle, cleaned_up_handler);
}
sem_t event_thread_mutex;
@@ -373,7 +415,7 @@ static void *eventThreadFunc(void *context) {
printMsg("starting wifi event loop\n");
sem_post( &event_thread_mutex );
- wifi_event_loop(halHandle);
+ hal_fn.wifi_event_loop(halHandle);
printMsg("out of wifi event loop\n");
return NULL;
@@ -519,7 +561,7 @@ static bool startScan( void (*pfnOnResultsAvailable)(wifi_request_id, unsigned),
/* Get capabilties */
wifi_gscan_capabilities capabilities;
- int result = wifi_get_gscan_capabilities(wlan0Handle, &capabilities);
+ int result = hal_fn.wifi_get_gscan_capabilities(wlan0Handle, &capabilities);
if (result < 0) {
printMsg("failed to get scan capabilities - %d\n", result);
printMsg("trying scan anyway ..\n");
@@ -599,7 +641,7 @@ static bool startScan( void (*pfnOnResultsAvailable)(wifi_request_id, unsigned),
scanCmdId = getNewCmdId();
printMsg("Starting scan --->\n");
- return wifi_start_gscan(scanCmdId, wlan0Handle, params, handler) == WIFI_SUCCESS;
+ return hal_fn.wifi_start_gscan(scanCmdId, wlan0Handle, params, handler) == WIFI_SUCCESS;
}
static void stopScan() {
@@ -607,7 +649,7 @@ static void stopScan() {
if (id == 0)
id = -1;
- wifi_stop_gscan(id, wlan0Handle);
+ hal_fn.wifi_stop_gscan(id, wlan0Handle);
scanCmdId = 0;
}
@@ -663,7 +705,7 @@ static int scanOnce(wifi_band band, wifi_scan_result **results, int num_results)
int scanCmdId = getNewCmdId();
printMsg("Starting scan --->\n");
- if (wifi_start_gscan(scanCmdId, wlan0Handle, params, handler) == WIFI_SUCCESS) {
+ if (hal_fn.wifi_start_gscan(scanCmdId, wlan0Handle, params, handler) == WIFI_SUCCESS) {
int events = 0;
while (true) {
EventInfo info;
@@ -679,7 +721,7 @@ static int scanOnce(wifi_band band, wifi_scan_result **results, int num_results)
printMsg("fetched %d scan results\n", retrieved_num_results);
printMsg("Scan once completed, stopping scan\n");
- wifi_stop_gscan(scanCmdId, wlan0Handle);
+ hal_fn.wifi_stop_gscan(scanCmdId, wlan0Handle);
saved_scan_results = NULL;
max_saved_scan_results = 0;
num_saved_scan_results = 0;
@@ -698,7 +740,7 @@ static void retrieveScanResults() {
wifi_cached_scan_results results[64];
memset(results, 0, sizeof(wifi_cached_scan_results) * num_results);
printMsg("Retrieve Scan results available -->\n");
- int result = wifi_get_cached_gscan_results(wlan0Handle, 1, num_results, results, &num_results);
+ int result = hal_fn.wifi_get_cached_gscan_results(wlan0Handle, 1, num_results, results, &num_results);
if (result < 0) {
printMsg("failed to fetch scan results : %d\n", result);
return;
@@ -1079,7 +1121,7 @@ static void testRTT()
if (!rtt_to_file) {
if (num_ap) {
printMsg("Configuring RTT for %d APs\n", num_ap);
- int result = wifi_rtt_range_request(rttCmdId, wlan0Handle, num_ap, params, handler);
+ int result = hal_fn.wifi_rtt_range_request(rttCmdId, wlan0Handle, num_ap, params, handler);
if (result == WIFI_SUCCESS) {
printMsg("\nWaiting for RTT results\n");
while (true) {
@@ -1104,7 +1146,7 @@ static void getRTTCapability()
{
int ret;
wifi_rtt_capabilities rtt_capability;
- ret = wifi_get_rtt_capabilities(wlan0Handle, &rtt_capability);
+ ret = hal_fn.wifi_get_rtt_capabilities(wlan0Handle, &rtt_capability);
if (ret == WIFI_SUCCESS) {
printMsg("Supported Capabilites of RTT :\n");
if (rtt_capability.rtt_one_sided_supported)
@@ -1140,7 +1182,7 @@ static int GetCachedGScanResults(int max, wifi_scan_result *results, int *num)
int num_results = 64;
wifi_cached_scan_results results2[64];
memset(results2, 0, sizeof(wifi_cached_scan_results) * num_results);
- int result = wifi_get_cached_gscan_results(wlan0Handle, 1, num_results, results2, &num_results);
+ int result = hal_fn.wifi_get_cached_gscan_results(wlan0Handle, 1, num_results, results2, &num_results);
if (result < 0) {
printMsg("failed to fetch scan results : %d\n", result);
return result;
@@ -1220,16 +1262,16 @@ static wifi_error setHotlistAPs() {
handler.on_hotlist_ap_lost = &onHotlistAPLost;
hotlistCmdId = getNewCmdId();
printMsg("Setting hotlist APs threshold\n");
- return wifi_set_bssid_hotlist(hotlistCmdId, wlan0Handle, params, handler);
+ return hal_fn.wifi_set_bssid_hotlist(hotlistCmdId, wlan0Handle, params, handler);
}
static void resetHotlistAPs() {
printMsg(", stoping Hotlist AP scanning\n");
- wifi_reset_bssid_hotlist(hotlistCmdId, wlan0Handle);
+ hal_fn.wifi_reset_bssid_hotlist(hotlistCmdId, wlan0Handle);
}
static void setPnoMacOui() {
- wifi_set_scanning_mac_oui(wlan0Handle, mac_oui);
+ hal_fn.wifi_set_scanning_mac_oui(wlan0Handle, mac_oui);
}
static void testHotlistAPs(){
@@ -1277,7 +1319,7 @@ static void testPNO(){
printMsg("configuring ePNO SSIDs num %u\n", num_epno_ssids);
memset(&info, 0, sizeof(info));
epnoCmdId = getNewCmdId();
- int result = wifi_set_epno_list(epnoCmdId, wlan0Handle, num_epno_ssids, epno_ssid, handler);
+ int result = hal_fn.wifi_set_epno_list(epnoCmdId, wlan0Handle, num_epno_ssids, epno_ssid, handler);
if (result == WIFI_SUCCESS) {
bool startScanResult = startScan(&onScanResultsAvailable, stest_max_ap,
stest_base_period, stest_threshold_percent, stest_threshold_num_scans);
@@ -1362,13 +1404,13 @@ static int SelectSignificantAPsFromScanResults() {
handler.on_significant_change = &onSignificantWifiChange;
int id = getNewCmdId();
- return wifi_set_significant_change_handler(id, wlan0Handle, params, handler);
+ return hal_fn.wifi_set_significant_change_handler(id, wlan0Handle, params, handler);
}
static void untrackSignificantChange() {
printMsg(", Stop tracking SignificantChange\n");
- wifi_reset_bssid_hotlist(hotlistCmdId, wlan0Handle);
+ hal_fn.wifi_reset_bssid_hotlist(hotlistCmdId, wlan0Handle);
}
static void trackSignificantChange() {
@@ -1762,7 +1804,7 @@ void getChannelList(void)
wifi_channel channel[MAX_CH_BUF_SIZE];
int num_channels = 0, i;
- int result = wifi_get_valid_channels(wlan0Handle, band, MAX_CH_BUF_SIZE,
+ int result = hal_fn.wifi_get_valid_channels(wlan0Handle, band, MAX_CH_BUF_SIZE,
channel, &num_channels);
printMsg("Number of channels - %d\nChannel List:\n",num_channels);
for (i = 0; i < num_channels; i++) {
@@ -1773,7 +1815,7 @@ void getChannelList(void)
void getFeatureSet(void)
{
feature_set set;
- int result = wifi_get_supported_feature_set(wlan0Handle, &set);
+ int result = hal_fn.wifi_get_supported_feature_set(wlan0Handle, &set);
if (result < 0) {
printMsg("Error %d\n",result);
@@ -1789,7 +1831,7 @@ void getFeatureSetMatrix(void)
feature_set set[MAX_FEATURE_SET];
int size;
- int result = wifi_get_concurrency_matrix(wlan0Handle, MAX_FEATURE_SET, set, &size);
+ int result = hal_fn.wifi_get_concurrency_matrix(wlan0Handle, MAX_FEATURE_SET, set, &size);
if (result < 0) {
printMsg("Error %d\n",result);
@@ -1897,7 +1939,7 @@ int main(int argc, char *argv[]) {
u32 nodfs = 0;
if (argc > 2)
nodfs = (u32)atoi(argv[2]);
- wifi_set_nodfs_flag(wlan0Handle, nodfs);
+ hal_fn.wifi_set_nodfs_flag(wlan0Handle, nodfs);
} else if ((strcmp(argv[1], "-ePNO") == 0)) {
memset(epno_ssid, 0, 16 * sizeof(epno_ssid[0]));
num_epno_ssids = -1;
@@ -1908,7 +1950,7 @@ int main(int argc, char *argv[]) {
char *country_code;
if (argc > 2)
country_code = argv[2];
- wifi_set_country_code(wlan0Handle, country_code);
+ hal_fn.wifi_set_country_code(wlan0Handle, country_code);
} else if (strcmp(argv[1], "-help") == 0) {
printUsage();
}