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