1  /*
2   * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
3   * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4   *
5   * Permission to use, copy, modify, and/or distribute this software for
6   * any purpose with or without fee is hereby granted, provided that the
7   * above copyright notice and this permission notice appear in all
8   * copies.
9   *
10   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11   * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12   * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13   * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14   * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15   * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16   * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17   * PERFORMANCE OF THIS SOFTWARE.
18   */
19  
20  /**
21   * DOC: Contains p2p configures interface definitions
22   */
23  
24  #ifndef _WLAN_TDLS_CFG_API_H_
25  #define _WLAN_TDLS_CFG_API_H_
26  
27  #include <qdf_types.h>
28  
29  struct wlan_objmgr_psoc;
30  
31  #ifdef FEATURE_WLAN_TDLS
32  /**
33   * cfg_tdls_get_support_enable() - get tdls support enable
34   * @psoc:        pointer to psoc object
35   * @val:         pointer to tdls support enable/disable
36   *
37   * This function gets tdls support enable
38   */
39  QDF_STATUS
40  cfg_tdls_get_support_enable(struct wlan_objmgr_psoc *psoc,
41  			    bool *val);
42  
43  /**
44   * cfg_tdls_set_support_enable() - set tdls support enable
45   * @psoc:        pointer to psoc object
46   * @val:         set tdls support enable/disable
47   *
48   * This function sets tdls support enable
49   */
50  QDF_STATUS
51  cfg_tdls_set_support_enable(struct wlan_objmgr_psoc *psoc,
52  			    bool val);
53  
54  /**
55   * cfg_tdls_get_external_control() - get tdls external control
56   * @psoc:        pointer to psoc object
57   * @val:         pointer to tdls external control enable/disable
58   *
59   * This function gets tdls external control
60   */
61  QDF_STATUS
62  cfg_tdls_get_external_control(struct wlan_objmgr_psoc *psoc,
63  			      bool *val);
64  
65  /**
66   * cfg_tdls_get_uapsd_mask() - get tdls uapsd mask
67   * @psoc:        pointer to psoc object
68   * @val:         pointer to tdls uapsd mask
69   *
70   * This function gets tdls uapsd mask
71   */
72  QDF_STATUS
73  cfg_tdls_get_uapsd_mask(struct wlan_objmgr_psoc *psoc,
74  			uint32_t *val);
75  
76  /**
77   * cfg_tdls_get_buffer_sta_enable() - get tdls buffer sta enable
78   * @psoc:        pointer to psoc object
79   * @val:         pointer to tdls buffer sta enable
80   *
81   * This function gets tdls buffer sta enable
82   */
83  QDF_STATUS
84  cfg_tdls_get_buffer_sta_enable(struct wlan_objmgr_psoc *psoc,
85  			       bool *val);
86  
87  /**
88   * cfg_tdls_set_buffer_sta_enable() - set tdls buffer sta enable
89   * @psoc:        pointer to psoc object
90   * @val:         tdls buffer sta enable
91   *
92   * This function sets tdls buffer sta enable
93   */
94  QDF_STATUS
95  cfg_tdls_set_buffer_sta_enable(struct wlan_objmgr_psoc *psoc,
96  			       bool val);
97  
98  /**
99   * cfg_tdls_get_uapsd_inactivity_time() - get tdls uapsd inactivity time
100   * @psoc:        pointer to psoc object
101   * @val:         pointer to tdls uapsd inactivity time
102   *
103   * This function gets tdls uapsd inactivity time
104   */
105  QDF_STATUS
106  cfg_tdls_get_uapsd_inactivity_time(struct wlan_objmgr_psoc *psoc,
107  				   uint32_t *val);
108  
109  /**
110   * cfg_tdls_get_rx_pkt_threshold() - get tdls rx pkt threshold
111   * @psoc:        pointer to psoc object
112   * @val:         pointer to tdls tdls rx pkt threshold
113   *
114   * This function gets tdls rx pkt threshold
115   */
116  QDF_STATUS
117  cfg_tdls_get_rx_pkt_threshold(struct wlan_objmgr_psoc *psoc,
118  			      uint32_t *val);
119  
120  /**
121   * cfg_tdls_get_off_channel_enable() - get tdls off channel enable
122   * @psoc:        pointer to psoc object
123   * @val:         pointer to tdls off channel enable
124   *
125   * This function gets tdls off channel enable
126   */
127  QDF_STATUS
128  cfg_tdls_get_off_channel_enable(struct wlan_objmgr_psoc *psoc,
129  				bool *val);
130  
131  /**
132   * cfg_tdls_set_off_channel_enable() - set tdls off channel enable
133   * @psoc:        pointer to psoc object
134   * @val:         tdls off channel enable
135   *
136   * This function sets tdls off channel enable
137   */
138  QDF_STATUS
139  cfg_tdls_set_off_channel_enable(struct wlan_objmgr_psoc *psoc,
140  				bool val);
141  
142  /**
143   * cfg_tdls_get_off_channel_enable_orig() - get tdls off channel enable orig
144   * @psoc:        pointer to psoc object
145   * @val:         pointer to tdls off channel enable
146   *
147   * This function gets tdls off channel enable orig
148   */
149  QDF_STATUS
150  cfg_tdls_get_off_channel_enable_orig(struct wlan_objmgr_psoc *psoc,
151  				     bool *val);
152  
153  /**
154   * cfg_tdls_restore_off_channel_enable() - set tdls off channel enable to
155   *                                         tdls_off_chan_enable_orig
156   * @psoc:        pointer to psoc object
157   *
158   * Return: NULL
159   */
160  void cfg_tdls_restore_off_channel_enable(struct wlan_objmgr_psoc *psoc);
161  
162  /**
163   * cfg_tdls_store_off_channel_enable() - save tdls off channel enable to
164   *                                       tdls_off_chan_enable_orig
165   * @psoc:        pointer to psoc object
166   *
167   * Return: NULL
168   */
169  void cfg_tdls_store_off_channel_enable(struct wlan_objmgr_psoc *psoc);
170  
171  /**
172   * cfg_tdls_get_wmm_mode_enable() - get tdls wmm mode enable
173   * @psoc:        pointer to psoc object
174   * @val:         pointer to tdls wmm mode enable
175   *
176   * This function gets tdls wmm mode enable
177   */
178  QDF_STATUS
179  cfg_tdls_get_wmm_mode_enable(struct wlan_objmgr_psoc *psoc,
180  			     bool *val);
181  
182  /**
183   * cfg_tdls_set_vdev_nss_2g() - set tdls vdev nss 2g
184   * @psoc:        pointer to psoc object
185   * @val:         tdls vdev nss 2g
186   *
187   * This function sets tdls vdev nss 2g
188   */
189  QDF_STATUS
190  cfg_tdls_set_vdev_nss_2g(struct wlan_objmgr_psoc *psoc,
191  			 uint8_t val);
192  
193  /**
194   * cfg_tdls_set_vdev_nss_5g() - set tdls vdev nss 5g
195   * @psoc:        pointer to psoc object
196   * @val:         tdls vdev nss 5g
197   *
198   * This function sets tdls vdev nss 5g
199   */
200  QDF_STATUS
201  cfg_tdls_set_vdev_nss_5g(struct wlan_objmgr_psoc *psoc,
202  			 uint8_t val);
203  
204  /**
205   * cfg_tdls_get_sleep_sta_enable() - get tdls sleep sta enable
206   * @psoc:        pointer to psoc object
207   * @val:         pointer to tdls sleep sta enable
208   *
209   * This function gets tdls sleep sta enable
210   */
211  QDF_STATUS
212  cfg_tdls_get_sleep_sta_enable(struct wlan_objmgr_psoc *psoc,
213  			      bool *val);
214  
215  /**
216   * cfg_tdls_set_sleep_sta_enable() - set tdls sleep sta enable
217   * @psoc:        pointer to psoc object
218   * @val:         tdls sleep sta enable
219   *
220   * This function sets tdls sleep sta enable
221   */
222  QDF_STATUS
223  cfg_tdls_set_sleep_sta_enable(struct wlan_objmgr_psoc *psoc,
224  			      bool val);
225  
226  /**
227   * cfg_tdls_get_scan_enable() - get tdls scan enable
228   * @psoc:        pointer to psoc object
229   * @val:         pointer to tdls scan enable
230   *
231   * This function gets tdls scan enable
232   */
233  QDF_STATUS
234  cfg_tdls_get_scan_enable(struct wlan_objmgr_psoc *psoc,
235  			 bool *val);
236  
237  /**
238   * cfg_tdls_get_link_id() - get tdls link id
239   * @psoc:        pointer to psoc object
240   *
241   * This function gets tdls link id
242   *
243   * Return: int
244   */
245  int cfg_tdls_get_link_id(struct wlan_objmgr_psoc *psoc);
246  
247  /**
248   * cfg_tdls_set_link_id() - get tdls link id
249   * @psoc:        pointer to psoc object
250   * @val:         the value of link id
251   *
252   * This function gets tdls link id
253   *
254   * Return: QDF_STATUS
255   */
256  QDF_STATUS
257  cfg_tdls_set_link_id(struct wlan_objmgr_psoc *psoc,
258  		     int val);
259  /**
260   * cfg_tdls_set_scan_enable() - set tdls scan enable
261   * @psoc:        pointer to psoc object
262   * @val:         tdls scan enable
263   *
264   * This function sets tdls scan enable
265   */
266  QDF_STATUS
267  cfg_tdls_set_scan_enable(struct wlan_objmgr_psoc *psoc,
268  			 bool val);
269  
270  /**
271   * cfg_tdls_get_max_peer_count() - get tdls max peer count
272   * @psoc:        pointer to psoc object
273   *
274   * This function gets tdls max peer count
275   */
276  uint16_t cfg_tdls_get_max_peer_count(struct wlan_objmgr_psoc *psoc);
277  
278  /**
279   * cfg_tdls_get_connected_peer_count() - get tdls connected peer count
280   * @psoc: pointer to psoc object
281   *
282   * This function gets tdls connected peer count
283   */
284  uint16_t cfg_tdls_get_connected_peer_count(struct wlan_objmgr_psoc *psoc);
285  #else
286  static inline QDF_STATUS
cfg_tdls_get_support_enable(struct wlan_objmgr_psoc * psoc,bool * val)287  cfg_tdls_get_support_enable(struct wlan_objmgr_psoc *psoc,
288  			    bool *val)
289  {
290  	*val = false;
291  
292  	return QDF_STATUS_SUCCESS;
293  }
294  
295  static inline QDF_STATUS
cfg_tdls_set_support_enable(struct wlan_objmgr_psoc * psoc,bool val)296  cfg_tdls_set_support_enable(struct wlan_objmgr_psoc *psoc,
297  			    bool val)
298  {
299  	return QDF_STATUS_SUCCESS;
300  }
301  
302  static inline QDF_STATUS
cfg_tdls_get_external_control(struct wlan_objmgr_psoc * psoc,bool * val)303  cfg_tdls_get_external_control(struct wlan_objmgr_psoc *psoc,
304  			      bool *val)
305  {
306  	*val = false;
307  
308  	return QDF_STATUS_SUCCESS;
309  }
310  
311  static inline QDF_STATUS
cfg_tdls_get_uapsd_mask(struct wlan_objmgr_psoc * psoc,uint32_t * val)312  cfg_tdls_get_uapsd_mask(struct wlan_objmgr_psoc *psoc,
313  			uint32_t *val)
314  {
315  	*val = 0;
316  
317  	return QDF_STATUS_SUCCESS;
318  }
319  
320  static inline QDF_STATUS
cfg_tdls_get_buffer_sta_enable(struct wlan_objmgr_psoc * psoc,bool * val)321  cfg_tdls_get_buffer_sta_enable(struct wlan_objmgr_psoc *psoc,
322  			       bool *val)
323  {
324  	*val = false;
325  
326  	return QDF_STATUS_SUCCESS;
327  }
328  
329  static inline QDF_STATUS
cfg_tdls_set_buffer_sta_enable(struct wlan_objmgr_psoc * psoc,bool val)330  cfg_tdls_set_buffer_sta_enable(struct wlan_objmgr_psoc *psoc,
331  			       bool val)
332  {
333  	return QDF_STATUS_SUCCESS;
334  }
335  
336  static inline QDF_STATUS
cfg_tdls_get_uapsd_inactivity_time(struct wlan_objmgr_psoc * psoc,uint32_t * val)337  cfg_tdls_get_uapsd_inactivity_time(struct wlan_objmgr_psoc *psoc,
338  				   uint32_t *val)
339  {
340  	*val = 0;
341  
342  	return QDF_STATUS_SUCCESS;
343  }
344  
345  static inline QDF_STATUS
cfg_tdls_get_rx_pkt_threshold(struct wlan_objmgr_psoc * psoc,uint32_t * val)346  cfg_tdls_get_rx_pkt_threshold(struct wlan_objmgr_psoc *psoc,
347  			      uint32_t *val)
348  {
349  	*val = 0;
350  
351  	return QDF_STATUS_SUCCESS;
352  }
353  
354  static inline QDF_STATUS
cfg_tdls_get_off_channel_enable(struct wlan_objmgr_psoc * psoc,bool * val)355  cfg_tdls_get_off_channel_enable(struct wlan_objmgr_psoc *psoc,
356  				bool *val)
357  {
358  	*val = false;
359  
360  	return QDF_STATUS_SUCCESS;
361  }
362  
363  static inline QDF_STATUS
cfg_tdls_set_off_channel_enable(struct wlan_objmgr_psoc * psoc,bool val)364  cfg_tdls_set_off_channel_enable(struct wlan_objmgr_psoc *psoc,
365  				bool val)
366  {
367  	return QDF_STATUS_SUCCESS;
368  }
369  
370  static inline QDF_STATUS
cfg_tdls_get_off_channel_enable_orig(struct wlan_objmgr_psoc * psoc,bool * val)371  cfg_tdls_get_off_channel_enable_orig(struct wlan_objmgr_psoc *psoc,
372  				     bool *val)
373  {
374  	*val = false;
375  
376  	return QDF_STATUS_SUCCESS;
377  }
378  
379  static inline void
cfg_tdls_restore_off_channel_enable(struct wlan_objmgr_psoc * psoc)380  cfg_tdls_restore_off_channel_enable(struct wlan_objmgr_psoc *psoc)
381  {
382  }
383  
384  static inline void
cfg_tdls_store_off_channel_enable(struct wlan_objmgr_psoc * psoc)385  cfg_tdls_store_off_channel_enable(struct wlan_objmgr_psoc *psoc)
386  {
387  }
388  
389  static inline QDF_STATUS
cfg_tdls_get_wmm_mode_enable(struct wlan_objmgr_psoc * psoc,bool * val)390  cfg_tdls_get_wmm_mode_enable(struct wlan_objmgr_psoc *psoc,
391  			     bool *val)
392  {
393  	*val = false;
394  
395  	return QDF_STATUS_SUCCESS;
396  }
397  
398  static inline QDF_STATUS
cfg_tdls_set_vdev_nss_2g(struct wlan_objmgr_psoc * psoc,uint8_t val)399  cfg_tdls_set_vdev_nss_2g(struct wlan_objmgr_psoc *psoc,
400  			 uint8_t val)
401  {
402  	return QDF_STATUS_SUCCESS;
403  }
404  
405  static inline QDF_STATUS
cfg_tdls_set_vdev_nss_5g(struct wlan_objmgr_psoc * psoc,uint8_t val)406  cfg_tdls_set_vdev_nss_5g(struct wlan_objmgr_psoc *psoc,
407  			 uint8_t val)
408  {
409  	return QDF_STATUS_SUCCESS;
410  }
411  
412  static inline QDF_STATUS
cfg_tdls_get_sleep_sta_enable(struct wlan_objmgr_psoc * psoc,bool * val)413  cfg_tdls_get_sleep_sta_enable(struct wlan_objmgr_psoc *psoc,
414  			      bool *val)
415  {
416  	*val = false;
417  
418  	return QDF_STATUS_SUCCESS;
419  }
420  
421  static inline QDF_STATUS
cfg_tdls_set_sleep_sta_enable(struct wlan_objmgr_psoc * psoc,bool val)422  cfg_tdls_set_sleep_sta_enable(struct wlan_objmgr_psoc *psoc,
423  			      bool val)
424  {
425  	return QDF_STATUS_SUCCESS;
426  }
427  
428  static inline QDF_STATUS
cfg_tdls_get_scan_enable(struct wlan_objmgr_psoc * psoc,bool * val)429  cfg_tdls_get_scan_enable(struct wlan_objmgr_psoc *psoc,
430  			 bool *val)
431  {
432  	*val = false;
433  
434  	return QDF_STATUS_SUCCESS;
435  }
436  
437  static inline QDF_STATUS
cfg_tdls_set_scan_enable(struct wlan_objmgr_psoc * psoc,bool val)438  cfg_tdls_set_scan_enable(struct wlan_objmgr_psoc *psoc,
439  			 bool val)
440  {
441  	return QDF_STATUS_SUCCESS;
442  }
443  
444  static inline int
cfg_tdls_get_link_id(struct wlan_objmgr_psoc * psoc)445  cfg_tdls_get_link_id(struct wlan_objmgr_psoc *psoc)
446  {
447  	return 0;
448  }
449  
450  static inline QDF_STATUS
cfg_tdls_set_link_id(struct wlan_objmgr_psoc * psoc,int val)451  cfg_tdls_set_link_id(struct wlan_objmgr_psoc *psoc,
452  		     int val)
453  {
454  	return QDF_STATUS_SUCCESS;
455  }
456  static inline uint16_t
cfg_tdls_get_max_peer_count(struct wlan_objmgr_psoc * psoc)457  cfg_tdls_get_max_peer_count(struct wlan_objmgr_psoc *psoc)
458  {
459  	return 0;
460  }
461  
462  static inline uint16_t
cfg_tdls_get_connected_peer_count(struct wlan_objmgr_psoc * psoc)463  cfg_tdls_get_connected_peer_count(struct wlan_objmgr_psoc *psoc)
464  {
465  	return 0;
466  }
467  
468  #endif /* FEATURE_WLAN_TDLS */
469  #endif /* _WLAN_TDLS_CFG_API_H_ */
470