wlan_mlme_api.h 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. /*
  2. * Copyright (c) 2018 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. * DOC: declare public APIs exposed by the mlme component
  20. */
  21. #ifndef _WLAN_MLME_API_H_
  22. #define _WLAN_MLME_API_H_
  23. #include <wlan_mlme_public_struct.h>
  24. #include <wlan_objmgr_psoc_obj.h>
  25. #include <wlan_cmn.h>
  26. #include "sme_api.h"
  27. /**
  28. * wlan_mlme_get_ht_cap_info() - Get the HT cap info config
  29. * @psoc: pointer to psoc object
  30. * @value: pointer to the value which will be filled for the caller
  31. *
  32. * Return: QDF Status
  33. */
  34. QDF_STATUS wlan_mlme_get_ht_cap_info(struct wlan_objmgr_psoc *psoc,
  35. struct mlme_ht_capabilities_info
  36. *ht_cap_info);
  37. /**
  38. * wlan_mlme_set_ht_cap_info() - Set the HT cap info config
  39. * @psoc: pointer to psoc object
  40. * @value: Value that needs to be set from the caller
  41. *
  42. * Return: QDF Status
  43. */
  44. QDF_STATUS wlan_mlme_set_ht_cap_info(struct wlan_objmgr_psoc *psoc,
  45. struct mlme_ht_capabilities_info
  46. ht_cap_info);
  47. /**
  48. *
  49. * wlan_mlme_get_sap_inactivity_override() - Check if sap max inactivity
  50. * override flag is set.
  51. * @psoc: pointer to psoc object
  52. * @sme_config - Sme config struct
  53. *
  54. * Return: QDF Status
  55. */
  56. void wlan_mlme_get_sap_inactivity_override(struct wlan_objmgr_psoc *psoc,
  57. bool *value);
  58. /**
  59. * wlan_mlme_get_ignore_peer_ht_mode() - Get the ignore peer ht opmode flag
  60. * @psoc: pointer to psoc object
  61. * @value: Value that needs to be set from the caller
  62. *
  63. * Return: QDF Status
  64. */
  65. QDF_STATUS wlan_mlme_get_ignore_peer_ht_mode(struct wlan_objmgr_psoc *psoc,
  66. bool *value);
  67. /**
  68. * wlan_mlme_get_tx_chainmask_cck() - Get the tx_chainmask_cfg value
  69. *
  70. * @psoc: pointer to psoc object
  71. * @value: Value that needs to be set from the caller
  72. *
  73. * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
  74. */
  75. QDF_STATUS wlan_mlme_get_tx_chainmask_cck(struct wlan_objmgr_psoc *psoc,
  76. bool *value);
  77. /**
  78. * wlan_mlme_get_tx_chainmask_1ss() - Get the tx_chainmask_1ss value
  79. *
  80. * @psoc: pointer to psoc object
  81. * @value: Value that needs to be set from the caller
  82. *
  83. * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
  84. */
  85. QDF_STATUS wlan_mlme_get_tx_chainmask_1ss(struct wlan_objmgr_psoc *psoc,
  86. uint8_t *value);
  87. /**
  88. * wlan_mlme_get_num_11b_tx_chains() - Get the number of 11b only tx chains
  89. *
  90. * @psoc: pointer to psoc object
  91. * @value: Value that needs to be set from the caller
  92. *
  93. * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
  94. */
  95. QDF_STATUS wlan_mlme_get_num_11b_tx_chains(struct wlan_objmgr_psoc *psoc,
  96. uint16_t *value);
  97. /**
  98. * wlan_mlme_get_num_11ag_tx_chains() - get the total number of 11a/g tx chains
  99. *
  100. * @psoc: pointer to psoc object
  101. * @value: Value that needs to be set from the caller
  102. *
  103. * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
  104. */
  105. QDF_STATUS wlan_mlme_get_num_11ag_tx_chains(struct wlan_objmgr_psoc *psoc,
  106. uint16_t *value);
  107. /**
  108. * wlan_mlme_configure_chain_mask() - configure chainmask parameters
  109. *
  110. * @psoc: pointer to psoc object
  111. * @session_id: vdev_id
  112. *
  113. * Return: QDF_STATUS_FAILURE or QDF_STATUS_SUCCESS
  114. */
  115. QDF_STATUS wlan_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
  116. uint8_t session_id);
  117. /**
  118. * wlan_mlme_set_sap_listen_interval() - Set the sap listen interval
  119. * @psoc: pointer to psoc object
  120. * @value: Value that needs to be set from the caller
  121. *
  122. * Return: QDF Status
  123. */
  124. QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
  125. int value);
  126. /**
  127. * wlan_mlme_set_assoc_sta_limit() - Set the assoc sta limit
  128. * @psoc: pointer to psoc object
  129. * @value: Value that needs to be set from the caller
  130. *
  131. * Return: QDF Status
  132. */
  133. QDF_STATUS wlan_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
  134. int value);
  135. /**
  136. * wlan_mlme_set_rmc_action_period_freq() - Set the rmc action period frequency
  137. * @psoc: pointer to psoc object
  138. * @value: Value that needs to be set from the caller
  139. *
  140. * Return: QDF Status
  141. */
  142. QDF_STATUS wlan_mlme_set_rmc_action_period_freq(struct wlan_objmgr_psoc *psoc,
  143. int value);
  144. /**
  145. * wlan_mlme_set_sap_get_peer_info() - get the sap get peer info
  146. * @psoc: pointer to psoc object
  147. * @value: Value that needs to be set from the caller
  148. *
  149. * Return: QDF Status
  150. */
  151. QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
  152. bool *value);
  153. /**
  154. * wlan_mlme_get_sap_allow_all_channels() - get the value of sap allow all
  155. * channels
  156. * @psoc: pointer to psoc object
  157. * @value: Value that needs to be set from the caller
  158. *
  159. * Return: QDF Status
  160. */
  161. QDF_STATUS wlan_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc *psoc,
  162. bool *value);
  163. /**
  164. * wlan_mlme_get_sap_allow_all_channels() - get the value sap max peers
  165. * @psoc: pointer to psoc object
  166. * @value: Value that needs to be set from the caller
  167. *
  168. * Return: QDF Status
  169. */
  170. QDF_STATUS wlan_mlme_get_sap_max_peers(struct wlan_objmgr_psoc *psoc,
  171. int *value);
  172. /**
  173. * wlan_mlme_set_sap_max_peers() - set the value sap max peers
  174. * @psoc: pointer to psoc object
  175. * @value: Value that needs to be set from the caller
  176. *
  177. * Return: QDF Status
  178. */
  179. QDF_STATUS wlan_mlme_set_sap_max_peers(struct wlan_objmgr_psoc *psoc,
  180. int value);
  181. /**
  182. * wlan_mlme_get_sap_max_offload_peers() - get the value sap max offload peers
  183. * @psoc: pointer to psoc object
  184. * @value: Value that needs to be set from the caller
  185. *
  186. * Return: QDF Status
  187. */
  188. QDF_STATUS wlan_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc *psoc,
  189. int *value);
  190. /**
  191. * wlan_mlme_get_sap_max_offload_reorder_buffs() - get the value sap max offload
  192. * reorder buffs.
  193. * @psoc: pointer to psoc object
  194. * @value: Value that needs to be set from the caller
  195. *
  196. * Return: QDF Status
  197. */
  198. QDF_STATUS wlan_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc
  199. *psoc, int *value);
  200. /**
  201. * wlan_mlme_get_sap_chn_switch_bcn_count() - get the value sap max channel
  202. * switch beacon count
  203. * @psoc: pointer to psoc object
  204. * @value: Value that needs to be set from the caller
  205. *
  206. * Return: QDF Status
  207. */
  208. QDF_STATUS wlan_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc *psoc,
  209. int *value);
  210. /**
  211. * wlan_mlme_get_sap_chn_switch_mode() - get the sap channel
  212. * switch mode
  213. * @psoc: pointer to psoc object
  214. * @value: Value that needs to be set from the caller
  215. *
  216. * Return: QDF Status
  217. */
  218. QDF_STATUS wlan_mlme_get_sap_chn_switch_mode(struct wlan_objmgr_psoc *psoc,
  219. bool *value);
  220. /**
  221. * wlan_mlme_get_sap_internal_restart() - get the sap internal
  222. * restart
  223. * @psoc: pointer to psoc object
  224. * @value: Value that needs to be set from the caller
  225. *
  226. * Return: QDF Status
  227. */
  228. QDF_STATUS wlan_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc *psoc,
  229. bool *value);
  230. /**
  231. * wlan_mlme_get_sap_reduced_beacon_interval() - get the sap reduced
  232. * beacon interval
  233. * @psoc: pointer to psoc object
  234. * @value: Value that needs to be set from the caller
  235. *
  236. * Return: QDF Status
  237. */
  238. QDF_STATUS wlan_mlme_get_sap_reduced_beacon_interval(struct wlan_objmgr_psoc
  239. *psoc, int *value);
  240. /**
  241. * wlan_mlme_get_sap_chan_switch_rate_enabled() - get the sap rate hostapd
  242. * enabled beacon interval
  243. * @psoc: pointer to psoc object
  244. * @value: Value that needs to be set from the caller
  245. *
  246. * Return: QDF Status
  247. */
  248. QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
  249. *psoc, bool *value);
  250. /**
  251. * wlan_mlme_get_oce_sta_enabled_info() - Get the OCE feature enable
  252. * info for STA
  253. * @psoc: pointer to psoc object
  254. * @value: pointer to the value which will be filled for the caller
  255. *
  256. * Return: QDF Status
  257. */
  258. QDF_STATUS wlan_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc *psoc,
  259. bool *value);
  260. /**
  261. * wlan_mlme_get_oce_sap_enabled_info() - Get the OCE feature enable
  262. * info for SAP
  263. * @psoc: pointer to psoc object
  264. * @value: pointer to the value which will be filled for the caller
  265. *
  266. * Return: QDF Status
  267. */
  268. QDF_STATUS wlan_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
  269. bool *value);
  270. /**
  271. * wlan_mlme_get_fils_enabled_info() - Get the fils enable info for driver
  272. * @psoc: pointer to psoc object
  273. * @value: pointer to the value which will be filled for the caller
  274. *
  275. * Return: QDF Status
  276. */
  277. QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
  278. bool *value);
  279. /**
  280. * wlan_mlme_set_fils_enabled_info() - Set the fils enable info for driver
  281. * @psoc: pointer to psoc object
  282. * @value: value that needs to be set from the caller
  283. *
  284. * Return: QDF Status
  285. */
  286. QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
  287. bool value);
  288. /**
  289. * wlan_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
  290. * @psoc: pointer to psoc object
  291. * @value: value that needs to be set from the caller
  292. *
  293. * Return: QDF Status
  294. */
  295. QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
  296. bool value);
  297. #endif /* _WLAN_MLME_API_H_ */