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