xref: /wlan-dirver/qca-wifi-host-cmn/umac/scan/dispatcher/inc/wlan_scan_api.h (revision 1397a33f48ea6455be40871470b286e535820eb8)
1 /*
2  * Copyright (c) 2017-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 /*
20  * DOC: contains scan api
21  */
22 
23 #ifndef _WLAN_SCAN_API_H_
24 #define _WLAN_SCAN_API_H_
25 
26 #include <wlan_objmgr_psoc_obj.h>
27 #include <wlan_objmgr_pdev_obj.h>
28 #include <wlan_objmgr_vdev_obj.h>
29 #include "../../core/src/wlan_scan_main.h"
30 
31 /**
32  * wlan_scan_cfg_set_active_dwelltime() - API to set scan active dwelltime
33  * @psoc: pointer to psoc object
34  * @dwell_time: scan active dwell time
35  *
36  * Return: none
37  */
38 void wlan_scan_cfg_set_active_dwelltime(struct wlan_objmgr_psoc *psoc,
39 					uint32_t dwell_time);
40 /**
41  * wlan_scan_cfg_get_active_dwelltime() - API to get active dwelltime
42  * @psoc: pointer to psoc object
43  * @dwell_time: scan active dwelltime
44  *
45  * Return: scan active dwell time
46  */
47 void wlan_scan_cfg_get_active_dwelltime(struct wlan_objmgr_psoc *psoc,
48 					uint32_t *dwell_time);
49 
50 /**
51  * wlan_scan_cfg_set_passive_dwelltime() - API to set scan passive dwelltime
52  * @psoc: pointer to psoc object
53  * @dwell_time: scan passive dwell time
54  *
55  * Return: none
56  */
57 void wlan_scan_cfg_set_passive_dwelltime(struct wlan_objmgr_psoc *psoc,
58 					 uint32_t dwell_time);
59 /**
60  * wlan_scan_cfg_get_passive_dwelltime() - API to get passive dwelltime
61  * @psoc: pointer to psoc object
62  * @dwell_time: scan passive dwelltime
63  *
64  * Return: scan passive dwell time
65  */
66 void wlan_scan_cfg_get_passive_dwelltime(struct wlan_objmgr_psoc *psoc,
67 					 uint32_t *dwell_time);
68 
69 /**
70  * wlan_scan_cfg_get_conc_active_dwelltime() - Get concurrent active dwelltime
71  * @psoc: pointer to psoc object
72  * @dwell_time: scan active dwelltime
73  *
74  * Return: scan concurrent active dwell time
75  */
76 void wlan_scan_cfg_get_conc_active_dwelltime(struct wlan_objmgr_psoc *psoc,
77 					     uint32_t *dwell_time);
78 
79 /**
80  * wlan_scan_cfg_set_conc_active_dwelltime() - Set concurrent active dwelltime
81  * @psoc: pointer to psoc object
82  * @dwell_time: scan active dwelltime
83  *
84  * Return: scan concurrent active dwell time
85  */
86 void wlan_scan_cfg_set_conc_active_dwelltime(struct wlan_objmgr_psoc *psoc,
87 					     uint32_t dwell_time);
88 
89 /**
90  * wlan_scan_cfg_get_conc_passive_dwelltime() - Get passive concurrent dwelltime
91  * @psoc: pointer to psoc object
92  * @dwell_time: scan passive dwelltime
93  *
94  * Return: scan concurrent passive dwell time
95  */
96 void wlan_scan_cfg_get_conc_passive_dwelltime(struct wlan_objmgr_psoc *psoc,
97 					      uint32_t *dwell_time);
98 
99 /**
100  * wlan_scan_cfg_set_conc_passive_dwelltime() - Set passive concurrent dwelltime
101  * @psoc: pointer to psoc object
102  * @dwell_time: scan passive dwelltime
103  *
104  * Return: scan concurrent passive dwell time
105  */
106 void wlan_scan_cfg_set_conc_passive_dwelltime(struct wlan_objmgr_psoc *psoc,
107 					      uint32_t dwell_time);
108 
109 /**
110  * wlan_scan_cfg_get_conc_max_resttime() - API to get max rest time
111  * @psoc: pointer to psoc object
112  * @rest_time: scan concurrent max resttime
113  *
114  * Return: scan concurrent max rest time
115  */
116 void wlan_scan_cfg_get_conc_max_resttime(struct wlan_objmgr_psoc *psoc,
117 					 uint32_t *rest_time);
118 
119 /**
120  * wlan_scan_cfg_get_dfs_chan_scan_allowed() - API to get dfs scan enabled
121  * @psoc: pointer to psoc object
122  * @enable_dfs_scan: DFS scan enabled or not.
123  *
124  * Return: None
125  */
126 void wlan_scan_cfg_get_dfs_chan_scan_allowed(struct wlan_objmgr_psoc *psoc,
127 					     bool *enable_dfs_scan);
128 
129 /**
130  * wlan_scan_cfg_set_dfs_chan_scan_allowed() - API to set dfs scan enabled.
131  * @psoc: pointer to psoc object
132  * @enable_dfs_scan: Set dfs scan enabled or not.
133  *
134  * Return: None
135  */
136 void wlan_scan_cfg_set_dfs_chan_scan_allowed(struct wlan_objmgr_psoc *psoc,
137 					     bool enable_dfs_scan);
138 
139 /**
140  * wlan_scan_cfg_get_conc_min_resttime() - API to get concurrent min rest time
141  * @psoc: pointer to psoc object
142  * @rest_time: scan concurrent min rest time
143  *
144  * Return: scan concurrent min rest time
145  */
146 void wlan_scan_cfg_get_conc_min_resttime(struct wlan_objmgr_psoc *psoc,
147 					 uint32_t *rest_time);
148 #endif
149