1ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* 2ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * Copyright (C) 2016 The Android Open Source Project 3ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * 4ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * Licensed under the Apache License, Version 2.0 (the "License"); 5ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * you may not use this file except in compliance with the License. 6ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * You may obtain a copy of the License at 7ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * 8ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * http://www.apache.org/licenses/LICENSE-2.0 9ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * 10ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * Unless required by applicable law or agreed to in writing, software 11ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * distributed under the License is distributed on an "AS IS" BASIS, 12ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * See the License for the specific language governing permissions and 14ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley * limitations under the License. 15ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley */ 16ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 1722a6563da9439798fa2a3bcbcd6e5ff16945afa8Roshan Pius#include "wifi_hal/hal_tool.h" 18ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 1904d8e4e828b70f0178f90e5816f4dfbadbb7d988Christopher Wiley#include <android-base/logging.h> 20ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 21ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileynamespace android { 22ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileynamespace wifi_system { 23ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileynamespace { 24ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 25ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_initialize_stub(wifi_handle* handle) { 26ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 27ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 28ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 2971cc6e23470b43ded78950a6eefda312ca4b17cdAhmed ElArabawywifi_error wifi_wait_for_driver_ready_stub(void) { 3071cc6e23470b43ded78950a6eefda312ca4b17cdAhmed ElArabawy return WIFI_ERROR_NOT_SUPPORTED; 3171cc6e23470b43ded78950a6eefda312ca4b17cdAhmed ElArabawy} 3271cc6e23470b43ded78950a6eefda312ca4b17cdAhmed ElArabawy 33ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileyvoid wifi_cleanup_stub(wifi_handle handle, wifi_cleaned_up_handler handler) {} 34ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 35ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileyvoid wifi_event_loop_stub(wifi_handle handle) {} 36ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 37ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileyvoid wifi_get_error_info_stub(wifi_error err, const char** msg) { *msg = NULL; } 38ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 39ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_supported_feature_set_stub(wifi_interface_handle handle, 40ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley feature_set* set) { 41ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 42ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 43ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 44ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_concurrency_matrix_stub(wifi_interface_handle handle, 45ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley int max_size, feature_set* matrix, 46ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley int* size) { 47ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 48ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 49ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 50ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_scanning_mac_oui_stub(wifi_interface_handle handle, 51ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley unsigned char* oui_data) { 52ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 53ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 54ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 55ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* List of all supported channels, including 5GHz channels */ 56ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_supported_channels_stub(wifi_handle handle, int* size, 57ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_channel* list) { 58ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 59ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 60ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 61ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* Enhanced power reporting */ 62ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_is_epr_supported_stub(wifi_handle handle) { 63ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 64ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 65ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 66ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* multiple interface support */ 67ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_ifaces_stub(wifi_handle handle, int* num_ifaces, 68ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle** ifaces) { 69ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 70ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 71ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 72ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_iface_name_stub(wifi_interface_handle iface, char* name, 73ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley size_t size) { 74ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 75ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 76ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 77ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_iface_event_handler_stub(wifi_request_id id, 78ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 79ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_event_handler eh) { 80ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 81ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 82ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 83ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_iface_event_handler_stub(wifi_request_id id, 84ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 85ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 86ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 87ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 88ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_start_gscan_stub(wifi_request_id id, 89ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 90ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_scan_cmd_params params, 91ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_scan_result_handler handler) { 92ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 93ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 94ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 95ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_stop_gscan_stub(wifi_request_id id, 96ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 97ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 98ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 99ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 100ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_cached_gscan_results_stub(wifi_interface_handle iface, 101ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley byte flush, int max, 102ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_cached_scan_results* results, 103ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley int* num) { 104ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 105ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 106ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 107ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_bssid_hotlist_stub(wifi_request_id id, 108ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 109ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_bssid_hotlist_params params, 110ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_hotlist_ap_found_handler handler) { 111ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 112ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 113ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 114ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_bssid_hotlist_stub(wifi_request_id id, 115ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 116ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 117ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 118ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 119ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_significant_change_handler_stub( 120ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_request_id id, wifi_interface_handle iface, 121ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_significant_change_params params, 122ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_significant_change_handler handler) { 123ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 124ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 125ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 126ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_significant_change_handler_stub( 127ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_request_id id, wifi_interface_handle iface) { 128ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 129ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 130ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 131ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_gscan_capabilities_stub( 132ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle handle, wifi_gscan_capabilities* capabilities) { 133ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 134ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 135ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 136ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_link_stats_stub(wifi_interface_handle iface, 137ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_link_layer_params params) { 138ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 139ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 140ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 141ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_link_stats_stub(wifi_request_id id, 142ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 143ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_stats_result_handler handler) { 144ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 145ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 146ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 147ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_clear_link_stats_stub(wifi_interface_handle iface, 148ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u32 stats_clear_req_mask, 149ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u32* stats_clear_rsp_mask, u8 stop_req, 150ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u8* stop_rsp) { 151ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 152ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 153ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 154ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_valid_channels_stub(wifi_interface_handle handle, int band, 155ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley int max_channels, 156ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_channel* channels, 157ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley int* num_channels) { 158ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_UNINITIALIZED; 159ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 160ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 161ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to request RTT measurement */ 162ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_rtt_range_request_stub(wifi_request_id id, 163ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 164ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley unsigned num_rtt_config, 165ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_rtt_config rtt_config[], 166ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_rtt_event_handler handler) { 167ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 168ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 169ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 170ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to cancel RTT measurements */ 171ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_rtt_range_cancel_stub(wifi_request_id id, 172ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 173ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley unsigned num_devices, mac_addr addr[]) { 174ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 175ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 176ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 177ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to get RTT capability */ 178ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_rtt_capabilities_stub(wifi_interface_handle iface, 179ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_rtt_capabilities* capabilities) { 180ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 181ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 182ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 183ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to enable RTT responder role */ 184ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_enable_responder_stub(wifi_request_id id, 185ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 186ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_channel_info channel_hint, 187ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley unsigned max_duration_seconds, 188ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_channel_info* channel_used) { 189ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 190ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 191ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 192ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to disable RTT responder role */ 193ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_disable_responder_stub(wifi_request_id id, 194ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 195ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 196ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 197ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 198ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley/* API to get available channel for RTT responder role */ 199ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_rtt_get_available_channel_stub(wifi_interface_handle iface, 200ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_channel_info* channel) { 201ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 202ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 203ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 204ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_nodfs_flag_stub(wifi_interface_handle iface, u32 nodfs) { 205ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 206ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 207ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 208ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_start_logging_stub(wifi_interface_handle iface, 209ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u32 verbose_level, u32 flags, 210ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u32 max_interval_sec, u32 min_data_size, 211ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* buffer_name) { 212ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 213ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 214ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 215ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_epno_list_stub(int id, wifi_interface_info* iface, 216ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley const wifi_epno_params* params, 217ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_epno_handler handler) { 218ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 219ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 220ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 221ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_epno_list_stub(int id, wifi_interface_info* iface) { 222ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 223ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 224ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 225ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_country_code_stub(wifi_interface_handle iface, 226ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley const char* code) { 227ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 228ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 229ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 230ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_firmware_memory_dump_stub( 231ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, wifi_firmware_memory_dump_handler handler) { 232ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 233ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 234ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 235ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_log_handler_stub(wifi_request_id id, 236ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 237ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_ring_buffer_data_handler handler) { 238ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 239ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 240ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 241ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_log_handler_stub(wifi_request_id id, 242ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 243ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 244ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 245ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 246ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_alert_handler_stub(wifi_request_id id, 247ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 248ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_alert_handler handler) { 249ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 250ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 251ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 252ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_reset_alert_handler_stub(wifi_request_id id, 253ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 254ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 255ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 256ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 257ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_firmware_version_stub(wifi_interface_handle iface, 258ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* buffer, int buffer_size) { 259ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 260ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 261ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 262ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_ring_buffers_status_stub(wifi_interface_handle iface, 263ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u32* num_rings, 264ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_ring_buffer_status* status) { 265ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 266ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 267ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 268ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_logger_supported_feature_set_stub( 269ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, unsigned int* support) { 270ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 271ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 272ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 273ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_ring_data_stub(wifi_interface_handle iface, 274ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* ring_name) { 275ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 276ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 277ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 278ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_driver_version_stub(wifi_interface_handle iface, 279ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* buffer, int buffer_size) { 280ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 281ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 282ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 283ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_enable_tdls_stub(wifi_interface_handle iface, mac_addr addr, 284ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_tdls_params* params, 285ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_tdls_handler handler) { 286ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 287ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 288ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 289ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_disable_tdls_stub(wifi_interface_handle iface, mac_addr addr) { 290ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 291ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 292ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 293ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_tdls_status_stub(wifi_interface_handle iface, mac_addr addr, 294ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_tdls_status* status) { 295ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 296ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 297ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 298ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_tdls_capabilities_stub( 299ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, wifi_tdls_capabilities* capabilities) { 300ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 301ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 302ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 303ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_start_sending_offloaded_packet_stub( 304ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_request_id id, wifi_interface_handle iface, u8* ip_packet, 305ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u16 ip_packet_len, u8* src_mac_addr, u8* dst_mac_addr, u32 period_msec) { 306ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 307ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 308ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 309ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_stop_sending_offloaded_packet_stub( 310ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_request_id id, wifi_interface_handle iface) { 311ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 312ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 313ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 314ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_wake_reason_stats_stub( 315ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 316ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley WLAN_DRIVER_WAKE_REASON_CNT* wifi_wake_reason_cnt) { 317ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 318ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 319ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 320ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_configure_nd_offload_stub(wifi_interface_handle iface, 321ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley u8 enable) { 322ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 323ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 324ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 325ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_driver_memory_dump_stub( 326ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, wifi_driver_memory_dump_callbacks callbacks) { 327ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 328ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 329ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 330ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_start_pkt_fate_monitoring_stub(wifi_interface_handle iface) { 331ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 332ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 333ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 334ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_tx_pkt_fates_stub(wifi_interface_handle handle, 335ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_tx_report* tx_report_bufs, 336ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley size_t n_requested_fates, 337ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley size_t* n_provided_fates) { 338ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 339ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 340ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 341ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_rx_pkt_fates_stub(wifi_interface_handle handle, 342ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_rx_report* rx_report_bufs, 343ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley size_t n_requested_fates, 344ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley size_t* n_provided_fates) { 345ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 346ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 347ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_enable_request_stub(transaction_id id, 348ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 349ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanEnableRequest* msg) { 350ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 351ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 352ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 353ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_disable_request_stub(transaction_id id, 354ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 355ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 356ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 357ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 358ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_publish_request_stub(transaction_id id, 359ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 360ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanPublishRequest* msg) { 361ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 362ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 363ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 364ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_publish_cancel_request_stub(transaction_id id, 365ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 366ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanPublishCancelRequest* msg) { 367ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 368ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 369ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 370ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_subscribe_request_stub(transaction_id id, 371ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 372ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanSubscribeRequest* msg) { 373ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 374ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 375ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 376ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_subscribe_cancel_request_stub( 377ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley transaction_id id, wifi_interface_handle iface, 378ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanSubscribeCancelRequest* msg) { 379ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 380ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 381ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 382ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_transmit_followup_request_stub( 383ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley transaction_id id, wifi_interface_handle iface, 384ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanTransmitFollowupRequest* msg) { 385ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 386ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 387ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 388ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_stats_request_stub(transaction_id id, 389ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 390ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanStatsRequest* msg) { 391ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 392ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 393ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 394ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_config_request_stub(transaction_id id, 395ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 396ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanConfigRequest* msg) { 397ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 398ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 399ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 400ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_tca_request_stub(transaction_id id, 401ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 402ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanTCARequest* msg) { 403ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 404ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 405ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 406ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_beacon_sdf_payload_request_stub( 407ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley transaction_id id, wifi_interface_handle iface, 408ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanBeaconSdfPayloadRequest* msg) { 409ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 410ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 411ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 412ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_register_handler_stub(wifi_interface_handle iface, 413ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanCallbackHandler handlers) { 414ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 415ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 416ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 417ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_get_version_stub(wifi_handle handle, NanVersion* version) { 418ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 419ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 420ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 421ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_get_capabilities_stub(transaction_id id, 422ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface) { 423ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 424ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 425ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 426ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_data_interface_create_stub(transaction_id id, 427ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 428ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* iface_name) { 429ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 430ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 431ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 432ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_data_interface_delete_stub(transaction_id id, 433ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 434ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley char* iface_name) { 435ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 436ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 437ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 438ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_data_request_initiator_stub( 439ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley transaction_id id, wifi_interface_handle iface, 440ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanDataPathInitiatorRequest* msg) { 441ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 442ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 443ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 444ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_data_indication_response_stub( 445ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley transaction_id id, wifi_interface_handle iface, 446ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanDataPathIndicationResponse* msg) { 447ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 448ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 449ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 450ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_nan_data_end_stub(transaction_id id, 451ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle iface, 452ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley NanDataPathEndRequest* msg) { 453ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 454ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 455ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 456ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_get_packet_filter_capabilities_stub( 457ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_interface_handle handle, u32* version, u32* max_len) { 458ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 459ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 460ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 461ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileywifi_error wifi_set_packet_filter_stub(wifi_interface_handle handle, 462ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley const u8* program, u32 len) { 463ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return WIFI_ERROR_NOT_SUPPORTED; 464ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 465ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 466ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wileybool init_wifi_stub_hal_func_table(wifi_hal_fn* hal_fn) { 467ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley if (hal_fn == NULL) { 468ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return false; 469ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley } 470ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_initialize = wifi_initialize_stub; 47171cc6e23470b43ded78950a6eefda312ca4b17cdAhmed ElArabawy hal_fn->wifi_wait_for_driver_ready = wifi_wait_for_driver_ready_stub; 472ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_cleanup = wifi_cleanup_stub; 473ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_event_loop = wifi_event_loop_stub; 474ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_error_info = wifi_get_error_info_stub; 475ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_supported_feature_set = wifi_get_supported_feature_set_stub; 476ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_concurrency_matrix = wifi_get_concurrency_matrix_stub; 477ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_scanning_mac_oui = wifi_set_scanning_mac_oui_stub; 478ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_supported_channels = wifi_get_supported_channels_stub; 479ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_is_epr_supported = wifi_is_epr_supported_stub; 480ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_ifaces = wifi_get_ifaces_stub; 481ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_iface_name = wifi_get_iface_name_stub; 482ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_reset_iface_event_handler = wifi_reset_iface_event_handler_stub; 483ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_start_gscan = wifi_start_gscan_stub; 484ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_stop_gscan = wifi_stop_gscan_stub; 485ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_cached_gscan_results = wifi_get_cached_gscan_results_stub; 486ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_bssid_hotlist = wifi_set_bssid_hotlist_stub; 487ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_reset_bssid_hotlist = wifi_reset_bssid_hotlist_stub; 488ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_significant_change_handler = 489ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_set_significant_change_handler_stub; 490ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_reset_significant_change_handler = 491ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_reset_significant_change_handler_stub; 492ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_gscan_capabilities = wifi_get_gscan_capabilities_stub; 493ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_link_stats = wifi_set_link_stats_stub; 494ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_link_stats = wifi_get_link_stats_stub; 495ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_clear_link_stats = wifi_clear_link_stats_stub; 496ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_valid_channels = wifi_get_valid_channels_stub; 497ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_rtt_range_request = wifi_rtt_range_request_stub; 498ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_rtt_range_cancel = wifi_rtt_range_cancel_stub; 499ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_rtt_capabilities = wifi_get_rtt_capabilities_stub; 500ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_start_logging = wifi_start_logging_stub; 501ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_epno_list = wifi_set_epno_list_stub; 502ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_country_code = wifi_set_country_code_stub; 503ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_enable_tdls = wifi_enable_tdls_stub; 504ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_disable_tdls = wifi_disable_tdls_stub; 505ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_tdls_status = wifi_get_tdls_status_stub; 506ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_tdls_capabilities = wifi_get_tdls_capabilities_stub; 507ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_nodfs_flag = wifi_set_nodfs_flag_stub; 508ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_firmware_memory_dump = wifi_get_firmware_memory_dump_stub; 509ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_log_handler = wifi_set_log_handler_stub; 510ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_reset_log_handler = wifi_reset_log_handler_stub; 511ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_alert_handler = wifi_set_alert_handler_stub; 512ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_reset_alert_handler = wifi_reset_alert_handler_stub; 513ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_firmware_version = wifi_get_firmware_version_stub; 514ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_ring_buffers_status = wifi_get_ring_buffers_status_stub; 515ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_logger_supported_feature_set = 516ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_get_logger_supported_feature_set_stub; 517ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_ring_data = wifi_get_ring_data_stub; 518ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_driver_version = wifi_get_driver_version_stub; 519ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_start_sending_offloaded_packet = 520ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_start_sending_offloaded_packet_stub; 521ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_stop_sending_offloaded_packet = 522ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_stop_sending_offloaded_packet_stub; 523ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_wake_reason_stats = wifi_get_wake_reason_stats_stub; 524ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_configure_nd_offload = wifi_configure_nd_offload_stub; 525ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_driver_memory_dump = wifi_get_driver_memory_dump_stub; 526ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_start_pkt_fate_monitoring = wifi_start_pkt_fate_monitoring_stub; 527ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_tx_pkt_fates = wifi_get_tx_pkt_fates_stub; 528ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_rx_pkt_fates = wifi_get_rx_pkt_fates_stub; 529ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_enable_request = wifi_nan_enable_request_stub; 530ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_disable_request = wifi_nan_disable_request_stub; 531ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_publish_request = wifi_nan_publish_request_stub; 532ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_publish_cancel_request = 533ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_publish_cancel_request_stub; 534ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_subscribe_request = wifi_nan_subscribe_request_stub; 535ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_subscribe_cancel_request = 536ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_subscribe_cancel_request_stub; 537ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_transmit_followup_request = 538ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_transmit_followup_request_stub; 539ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_stats_request = wifi_nan_stats_request_stub; 540ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_config_request = wifi_nan_config_request_stub; 541ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_tca_request = wifi_nan_tca_request_stub; 542ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_beacon_sdf_payload_request = 543ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_beacon_sdf_payload_request_stub; 544ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_register_handler = wifi_nan_register_handler_stub; 545ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_get_version = wifi_nan_get_version_stub; 546ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_get_capabilities = wifi_nan_get_capabilities_stub; 547ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_data_interface_create = wifi_nan_data_interface_create_stub; 548ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_data_interface_delete = wifi_nan_data_interface_delete_stub; 549ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_data_request_initiator = 550ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_data_request_initiator_stub; 551ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_data_indication_response = 552ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_nan_data_indication_response_stub; 553ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_nan_data_end = wifi_nan_data_end_stub; 554ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_get_packet_filter_capabilities = 555ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley wifi_get_packet_filter_capabilities_stub; 556ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley hal_fn->wifi_set_packet_filter = wifi_set_packet_filter_stub; 557ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 558ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return true; 559ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 560ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 561ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} // namespace 562ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 563ddf9ccd8144d8d381d1f5b5a625d17113229febfChristopher Wileybool HalTool::InitFunctionTable(wifi_hal_fn* hal_fn) { 564ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley if (!init_wifi_stub_hal_func_table(hal_fn)) { 56504d8e4e828b70f0178f90e5816f4dfbadbb7d988Christopher Wiley LOG(ERROR) << "Can not initialize the basic function pointer table"; 566ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return false; 567ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley } 568ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 569ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley if (init_wifi_vendor_hal_func_table(hal_fn) != WIFI_SUCCESS) { 57004d8e4e828b70f0178f90e5816f4dfbadbb7d988Christopher Wiley LOG(ERROR) << "Can not initialize the vendor function pointer table"; 571ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return false; 572ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley } 573ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 574ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley return true; 575ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 576ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 577ddf9ccd8144d8d381d1f5b5a625d17113229febfChristopher Wileybool HalTool::CanGetValidChannels(wifi_hal_fn* hal_fn) { 5786842fee9c6df2db54f4f7381e32fe02f4e777050Christopher Wiley return hal_fn && 5796842fee9c6df2db54f4f7381e32fe02f4e777050Christopher Wiley (hal_fn->wifi_get_valid_channels != wifi_get_valid_channels_stub); 580ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} 581ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley 582ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} // namespace wifi_system 583ad1367edfa4bc735c46fa8919753cbd05575c4efChristopher Wiley} // namespace android 584