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