xref: /wlan-dirver/qca-wifi-host-cmn/os_if/linux/cp_stats/inc/wlan_cfg80211_ic_cp_stats.h (revision 6ecd284e5a94a1c96e26d571dd47419ac305990d)
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 /**
20  * DOC: wlan_cfg80211_ic_cp_stats.h
21  *
22  * This Header file provide declaration for cfg80211 command handler API
23  * registered cp stats and specific with ic
24  */
25 
26 #ifndef __WLAN_CFG80211_IC_CP_STATS_H__
27 #define __WLAN_CFG80211_IC_CP_STATS_H__
28 
29 #ifdef QCA_SUPPORT_CP_STATS
30 #include <linux/version.h>
31 #include <linux/netdevice.h>
32 #include <net/cfg80211.h>
33 #include <wlan_objmgr_cmn.h>
34 
35 /**
36  * wlan_cfg80211_register_cp_stats_cmd_handler() - api to register cfg80211
37  * command handler for cp_stats
38  * @pdev:    Pointer to pdev
39  * @idx:     Index in function table
40  * @handler: Pointer to function handler
41  *
42  * Return: void
43  */
44 void wlan_cfg80211_register_cp_stats_cmd_handler
45 			(struct wlan_objmgr_pdev *pdev,
46 			 int idx, void *handler);
47 
48 /**
49  * wlan_cfg80211_unregister_cp_stats_cmd_handler() - api to unregister cfg80211
50  * command handler for cp_stats
51  * @pdev:    Pointer to pdev
52  * @idx:     Index in function table
53  * @handler: Pointer to function handler
54  *
55  * Return: void
56  */
57 void wlan_cfg80211_unregister_cp_stats_cmd_handler
58 			(struct wlan_objmgr_pdev *pdev,
59 			 int idx, void *handler);
60 
61 /**
62  * wlan_cfg80211_cp_stats_get_atf_stats() - api to get atf stats
63  * @wiphy: Pointer to wireless phy
64  * @wdev: Pointer to wireless device
65  * @data: Pointer to data
66  * @data_len: Length of @data
67  *
68  * Return: Return: 0 on success, negative errno on failure
69  */
70 int wlan_cfg80211_cp_stats_get_atf_stats
71 			(struct wiphy *wiphy,
72 			 struct wlan_objmgr_pdev *pdev,
73 			 const void *data,
74 			 int data_len);
75 
76 /**
77  * wlan_cfg80211_cp_stats_get_vow_ext_stats() - api to get vow stats
78  * @wiphy: Pointer to wireless phy
79  * @wdev: Pointer to wireless device
80  * @data: Pointer to data
81  * @data_len: Length of @data
82  *
83  * Return: Return: 0 on success, negative errno on failure
84  */
85 int wlan_cfg80211_cp_stats_get_vow_ext_stats
86 			(struct wiphy *wiphy,
87 			 struct wlan_objmgr_pdev *pdev,
88 			 const void *data,
89 			 int data_len);
90 
91 #endif /* QCA_SUPPORT_CP_STATS */
92 #endif /* __WLAN_CFG80211_IC_CP_STATS_H__ */
93