hal_tool.cpp revision 22a6563da9439798fa2a3bcbcd6e5ff16945afa8
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