xref: /wlan-dirver/qca-wifi-host-cmn/umac/cfr/core/inc/cfr_defs_i.h (revision 6d768494e5ce14eb1603a695c86739d12ecc6ec2)
1 /*
2  * Copyright (c) 2019-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 #ifndef _CFR_DEFS_I_H_
20 #define _CFR_DEFS_I_H_
21 
22 #include <wlan_objmgr_cmn.h>
23 #include <wlan_objmgr_global_obj.h>
24 #include <wlan_objmgr_psoc_obj.h>
25 #include <wlan_objmgr_pdev_obj.h>
26 #include <wlan_objmgr_vdev_obj.h>
27 #include <wlan_objmgr_peer_obj.h>
28 #include <qdf_list.h>
29 #include <qdf_timer.h>
30 #include <qdf_util.h>
31 #include <qdf_types.h>
32 #include <wlan_cfr_utils_api.h>
33 
34 #define CFR_STOP_STR           "CFR-CAPTURE-STOPPED"
35 
36 /**
37  * wlan_cfr_psoc_obj_create_handler() - psoc object create handler for cfr
38  * @psoc - pointer to psoc object
39  * @args - void pointer in case it needs arguments
40  *
41  * Return: status of object creation
42  */
43 QDF_STATUS
44 wlan_cfr_psoc_obj_create_handler(struct wlan_objmgr_psoc *psoc, void *arg);
45 
46 /**
47  * wlan_cfr_psoc_obj_destroy_handler() - psoc object destroy handler for cfr
48  * @psoc - pointer to psoc object
49  * @args - void pointer in case it needs arguments
50  *
51  * Return: status of destroy object
52  */
53 QDF_STATUS
54 wlan_cfr_psoc_obj_destroy_handler(struct wlan_objmgr_psoc *psoc, void *arg);
55 
56 /**
57  * wlan_cfr_pdev_obj_create_handler() - pdev object create handler for cfr
58  * @pdev - pointer to pdev object
59  * @args - void pointer in case it needs arguments
60  *
61  * Return: status of object creation
62  */
63 QDF_STATUS
64 wlan_cfr_pdev_obj_create_handler(struct wlan_objmgr_pdev *pdev, void *arg);
65 
66 /**
67  * wlan_cfr_pdev_obj_destroy_handler() - pdev object destroy handler for cfr
68  * @pdev - pointer to pdev object
69  * @args - void pointer in case it needs arguments
70  *
71  * Return: status of destroy object
72  */
73 QDF_STATUS
74 wlan_cfr_pdev_obj_destroy_handler(struct wlan_objmgr_pdev *pdev, void *arg);
75 
76 /**
77  * wlan_cfr_peer_obj_create_handler() - peer object create handler for cfr
78  * @peer - pointer to peer object
79  * @args - void pointer in case it needs arguments
80  *
81  * Return: status of object creation
82  */
83 QDF_STATUS
84 wlan_cfr_peer_obj_create_handler(struct wlan_objmgr_peer *peer, void *arg);
85 
86 /**
87  * wlan_cfr_peer_obj_destroy_handler() - peer object destroy handler for cfr
88  * @peer - pointer to peer object
89  * @args - void pointer in case it needs arguments
90  *
91  * Return: status ofi destry object
92  */
93 QDF_STATUS
94 wlan_cfr_peer_obj_destroy_handler(struct wlan_objmgr_peer *peer, void *arg);
95 
96 /**
97  * cfr_streamfs_init() - stream filesystem init
98  * @pdev - pointer to pdev object
99  *
100  * Return: status of fs init
101  */
102 QDF_STATUS
103 cfr_streamfs_init(struct wlan_objmgr_pdev *pdev);
104 
105 /**
106  * cfr_streamfs_remove() - stream filesystem remove
107  * @pdev - pointer to pdev object
108  *
109  * Return: status of fs remove
110  */
111 QDF_STATUS
112 cfr_streamfs_remove(struct wlan_objmgr_pdev *pdev);
113 
114 /**
115  * cfr_streamfs_write() - write to stream filesystem
116  * @pa - pointer to pdev_cfr object
117  * @write_data - Pointer to data
118  * @write_len - data len
119  *
120  * Return: status of fs write
121  */
122 QDF_STATUS
123 cfr_streamfs_write(struct pdev_cfr *pa, const void *write_data,
124 		   size_t write_len);
125 
126 /**
127  * cfr_streamfs_flush() - flush the write to streamfs
128  * @pa - pointer to pdev_cfr object
129  *
130  * Return: status of fs flush
131  */
132 QDF_STATUS
133 cfr_streamfs_flush(struct pdev_cfr *pa);
134 
135 /**
136  * cfr_stop_indication() - write cfr stop string
137  * @vdev - pointer to vdev object
138  *
139  * Write stop string and indicate to up layer.
140  *
141  * Return: status of write CFR stop string
142  */
143 QDF_STATUS cfr_stop_indication(struct wlan_objmgr_vdev *vdev);
144 
145 #endif
146