xref: /wlan-dirver/qca-wifi-host-cmn/umac/cp_stats/core/src/wlan_cp_stats_obj_mgr_handler.h (revision 97f44cd39e4ff816eaa1710279d28cf6b9e65ad9)
1 /*
2  * Copyright (c) 2018, 2020 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_cp_stats_obj_mgr_handler.h
21  *
22  * This header file provide declarations for APIs to handle events from object
23  * manager for registered events from wlan_cp_stats_init()
24  */
25 
26 #ifndef __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__
27 #define __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__
28 
29 #ifdef QCA_SUPPORT_CP_STATS
30 #include <wlan_objmgr_cmn.h>
31 #include <wlan_objmgr_global_obj.h>
32 #include <wlan_objmgr_psoc_obj.h>
33 #include <wlan_objmgr_pdev_obj.h>
34 #include <wlan_objmgr_vdev_obj.h>
35 #include <wlan_objmgr_peer_obj.h>
36 
37 #include "wlan_cp_stats_defs.h"
38 
39 /**
40  * wlan_cp_stats_psoc_obj_create_handler() - psoc create notification handler
41  * callback function
42  * @psoc:		pointer to psoc object
43  * @data:		pointer to arg data
44  *
45  * Return: QDF_STATUS - Success or Failure
46  */
47 QDF_STATUS wlan_cp_stats_psoc_obj_create_handler(
48 		struct wlan_objmgr_psoc *psoc, void *data);
49 
50 /**
51  * wlan_cp_stats_psoc_obj_destroy_handler() - psoc destroy notification handler
52  * callback function
53  * @psoc:		pointer to psoc object
54  * @data:		pointer to arg data
55  *
56  * Return: QDF_STATUS - Success or Failure
57  */
58 QDF_STATUS wlan_cp_stats_psoc_obj_destroy_handler(
59 		struct wlan_objmgr_psoc *psoc, void *data);
60 
61 /**
62  * wlan_cp_stats_pdev_obj_create_handler() - Pdev create notification handler
63  * callback function
64  * @pdev:		pointer to pdev object
65  * @data:		pointer to arg data
66  *
67  * Return: QDF_STATUS - Success or Failure
68  */
69 QDF_STATUS wlan_cp_stats_pdev_obj_create_handler(
70 		struct wlan_objmgr_pdev *pdev, void *data);
71 
72 /**
73  * wlan_cp_stats_pdev_obj_destroy_handler() - Pdev destroy notification handler
74  * callback function
75  * @pdev:		pointer to pdev object
76  * @data:		pointer to arg data
77  *
78  * Return: QDF_STATUS - Success or Failure
79  */
80 QDF_STATUS wlan_cp_stats_pdev_obj_destroy_handler(
81 		struct wlan_objmgr_pdev *pdev, void *data);
82 
83 /**
84  * wlan_cp_stats_vdev_obj_create_handler() - vdev create notification handler
85  * callback function
86  * @vdev:		pointer to vdev object
87  * @data:		pointer to arg data
88  *
89  * Return: QDF_STATUS - Success or Failure
90  */
91 QDF_STATUS wlan_cp_stats_vdev_obj_create_handler(
92 		struct wlan_objmgr_vdev *vdev, void *data);
93 
94 /**
95  * wlan_cp_stats_vdev_obj_destroy_handler() - vdev destroy notification handler
96  * callback function
97  * @vdev:		pointer to vdev object
98  * @data:		pointer to arg data
99  *
100  * Return: QDF_STATUS - Success or Failure
101  */
102 QDF_STATUS wlan_cp_stats_vdev_obj_destroy_handler(
103 		struct wlan_objmgr_vdev *vdev, void *data);
104 
105 /**
106  * wlan_cp_stats_peer_obj_create_handler() - peer create notification handler
107  * callback function
108  * @peer:		pointer to peer object
109  * @data:		pointer to arg data
110  *
111  * Return: QDF_STATUS - Success or Failure
112  */
113 QDF_STATUS wlan_cp_stats_peer_obj_create_handler(
114 		struct wlan_objmgr_peer *peer, void *data);
115 
116 /**
117  * wlan_cp_stats_peer_obj_destroy_handler() - peer destroy notification handler
118  * callback function
119  * @peer:		pointer to peer object
120  * @data:		pointer to arg data
121  *
122  * Return: QDF_STATUS - Success or Failure
123  */
124 QDF_STATUS wlan_cp_stats_peer_obj_destroy_handler(
125 		struct wlan_objmgr_peer *peer, void *data);
126 
127 
128 #endif /* QCA_SUPPORT_CP_STATS */
129 #endif /* __WLAN_CP_STATS_OBJ_MGR_HANDLER_H__ */
130