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