1 /*
2  * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _WMI_UNIFIED_EXTSCAN_API_H_
20 #define _WMI_UNIFIED_EXTSCAN_API_H_
21 
22 /**
23  * wmi_unified_reset_passpoint_network_list_cmd() - reset passpoint network list
24  * @wmi_handle: wmi handle
25  * @req: passpoint network request structure
26  *
27  * This function sends down WMI command with network id set to wildcard id.
28  * firmware shall clear all the config entries
29  *
30  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
31  */
32 QDF_STATUS wmi_unified_reset_passpoint_network_list_cmd(
33 		wmi_unified_t wmi_handle,
34 		struct wifi_passpoint_req_param *req);
35 
36 /**
37  * wmi_unified_set_passpoint_network_list_cmd() - set passpoint network list
38  * @wmi_handle: wmi handle
39  * @req: passpoint network request structure
40  *
41  * This function reads the incoming @req and fill in the destination
42  * WMI structure and send down the passpoint configs down to the firmware
43  *
44  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
45  */
46 
47 QDF_STATUS wmi_unified_set_passpoint_network_list_cmd(
48 		wmi_unified_t wmi_handle,
49 		struct wifi_passpoint_req_param *req);
50 
51 /** wmi_unified_set_epno_network_list_cmd() - set epno network list
52  * @wmi_handle: wmi handle
53  * @req: epno config params request structure
54  *
55  * This function reads the incoming epno config request structure
56  * and constructs the WMI message to the firmware.
57  *
58  * Returns: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failures,
59  *          error number otherwise
60  */
61 QDF_STATUS wmi_unified_set_epno_network_list_cmd(
62 		wmi_unified_t wmi_handle,
63 		struct wifi_enhanced_pno_params *req);
64 
65 /**
66  * wmi_unified_extscan_get_capabilities_cmd() - extscan get capabilities
67  * @wmi_handle: wmi handle
68  * @pgetcapab: get capabilities params
69  *
70  * This function send request to fw to get extscan capabilities.
71  *
72  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
73  */
74 QDF_STATUS wmi_unified_extscan_get_capabilities_cmd(
75 		wmi_unified_t wmi_handle,
76 		struct extscan_capabilities_params *pgetcapab);
77 
78 /**
79  * wmi_unified_extscan_get_cached_results_cmd() - extscan get cached results
80  * @wmi_handle: wmi handle
81  * @pcached_results: cached results parameters
82  *
83  * This function send request to fw to get cached results.
84  *
85  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
86  */
87 QDF_STATUS wmi_unified_extscan_get_cached_results_cmd(
88 		wmi_unified_t wmi_handle,
89 		struct extscan_cached_result_params *pcached_results);
90 
91 /**
92  * wmi_unified_extscan_stop_change_monitor_cmd() - send stop change monitor cmd
93  * @wmi_handle: wmi handle
94  * @reset_req: Reset change request params
95  *
96  * This function sends stop change monitor request to fw.
97  *
98  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
99  */
100 QDF_STATUS wmi_unified_extscan_stop_change_monitor_cmd(
101 		wmi_unified_t wmi_handle,
102 		struct extscan_capabilities_reset_params *reset_req);
103 
104 /**
105  * wmi_unified_extscan_start_change_monitor_cmd() - start change monitor cmd
106  * @wmi_handle: wmi handle
107  * @psigchange: change monitor request params
108  *
109  * This function sends start change monitor request to fw.
110  *
111  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
112  */
113 QDF_STATUS wmi_unified_extscan_start_change_monitor_cmd(
114 		wmi_unified_t wmi_handle,
115 		struct extscan_set_sig_changereq_params *psigchange);
116 
117 /**
118  * wmi_unified_extscan_stop_hotlist_monitor_cmd() - stop hotlist monitor
119  * @wmi_handle: wmi handle
120  * @photlist_reset: hotlist reset params
121  *
122  * This function configures hotlist monitor to stop in fw.
123  *
124  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
125  */
126 QDF_STATUS wmi_unified_extscan_stop_hotlist_monitor_cmd(
127 		wmi_unified_t wmi_handle,
128 		struct extscan_bssid_hotlist_reset_params *photlist_reset);
129 
130 /**
131  * wmi_unified_extscan_start_hotlist_monitor_cmd() - start hotlist monitor
132  * @wmi_handle: wmi handle
133  * @params: hotlist params
134  *
135  * This function configures hotlist monitor to start in fw.
136  *
137  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
138  */
139 QDF_STATUS wmi_unified_extscan_start_hotlist_monitor_cmd(
140 		wmi_unified_t wmi_handle,
141 		struct extscan_bssid_hotlist_set_params *params);
142 
143 /**
144  * wmi_unified_stop_extscan_cmd() - stop extscan command to fw.
145  * @wmi_handle: wmi handle
146  * @pstopcmd: stop scan command request params
147  *
148  * This function sends stop extscan request to fw.
149  *
150  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure.
151  */
152 QDF_STATUS wmi_unified_stop_extscan_cmd(
153 		wmi_unified_t wmi_handle,
154 		struct extscan_stop_req_params *pstopcmd);
155 
156 /**
157  * wmi_unified_start_extscan_cmd() - start extscan command to fw.
158  * @wmi_handle: wmi handle
159  * @pstart: scan command request params
160  *
161  * This function sends start extscan request to fw.
162  *
163  * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure.
164  */
165 QDF_STATUS wmi_unified_start_extscan_cmd(
166 		wmi_unified_t wmi_handle,
167 		struct wifi_scan_cmd_req_params *pstart);
168 
169 #endif /* _WMI_UNIFIED_EXTSCAN_API_H_ */
170