blob: f3454676980d18778630cd1e5345860134d1f7d6 [file] [log] [blame]
Vignesh Viswanathan21c58cb2018-05-24 15:53:58 +05301/*
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 internal API related to the mlme component
20 */
21
22#ifndef _WLAN_MLME_UCFG_API_H_
23#define _WLAN_MLME_UCFG_API_H_
24
25#include <wlan_mlme_public_struct.h>
26#include <wlan_objmgr_psoc_obj.h>
27#include <wlan_objmgr_global_obj.h>
28#include <wlan_cmn.h>
29
30/**
31 * mlme_psoc_open() - MLME component Open
32 * @psoc: pointer to psoc object
33 *
34 * Open the MLME component and initialize the MLME strucutre
35 *
36 * Return: QDF Status
37 */
38QDF_STATUS mlme_psoc_open(struct wlan_objmgr_psoc *psoc);
39
40/**
41 * mlme_psoc_close() - MLME component close
42 * @psoc: pointer to psoc object
43 *
44 * Close the MLME component and clear the MLME structures
45 *
46 * Return: None
47 */
48void mlme_psoc_close(struct wlan_objmgr_psoc *psoc);
49
50/**
51 * wlan_mlme_get_ht_cap_info() - Get the HT cap info config
52 * @psoc: pointer to psoc object
53 * @value: pointer to the value which will be filled for the caller
54 *
55 * Return: QDF Status
56 */
57QDF_STATUS wlan_mlme_get_ht_cap_info(struct wlan_objmgr_psoc *psoc,
58 struct mlme_ht_capabilities_info
59 *ht_cap_info);
60
61/**
62 * wlan_mlme_set_ht_cap_info() - Set the HT cap info config
63 * @psoc: pointer to psoc object
64 * @value: Value that needs to be set from the caller
65 *
66 * Return: QDF Status
67 */
68QDF_STATUS wlan_mlme_set_ht_cap_info(struct wlan_objmgr_psoc *psoc,
69 struct mlme_ht_capabilities_info
70 ht_cap_info);
71
72/**
73 * ucfg_mlme_get_ht_cap_info() - Get the HT cap info config
74 * @psoc: pointer to psoc object
75 * @value: pointer to the value which will be filled for the caller
76 *
77 * Inline UCFG API to be used by HDD/OSIF callers
78 *
79 * Return: QDF Status
80 */
81static inline
82QDF_STATUS ucfg_mlme_get_ht_cap_info(struct wlan_objmgr_psoc *psoc,
83 struct mlme_ht_capabilities_info
84 *ht_cap_info)
85{
86 return wlan_mlme_get_ht_cap_info(psoc, ht_cap_info);
87}
88
89/**
90 * ucfg_mlme_set_ht_cap_info() - Set the HT cap info config
91 * @psoc: pointer to psoc object
92 * @value: Value that needs to be set from the caller
93 *
94 * Inline UCFG API to be used by HDD/OSIF callers
95 *
96 * Return: QDF Status
97 */
98static inline
99QDF_STATUS ucfg_mlme_set_ht_cap_info(struct wlan_objmgr_psoc *psoc,
100 struct mlme_ht_capabilities_info
101 ht_cap_info)
102{
103 return wlan_mlme_set_ht_cap_info(psoc, ht_cap_info);
104}
105#endif /* _WLAN_MLME_UCFG_API_H_ */