xref: /wlan-driver/qca-wifi-host-cmn/umac/cmn_services/interface_mgr/inc/wlan_if_mgr_sta.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
3  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 /*
19  * DOC: contains interface manager public file containing STA event handlers
20  */
21 
22 #ifndef _WLAN_IF_MGR_STA_H_
23 #define _WLAN_IF_MGR_STA_H_
24 
25 /**
26  * if_mgr_connect_start() - connect start event handler
27  * @vdev: vdev object
28  * @event_data: Interface mgr event data
29  *
30  * Interface manager connect start event handler
31  *
32  * Context: It should run in thread context
33  *
34  * Return: QDF_STATUS
35  */
36 QDF_STATUS if_mgr_connect_start(struct wlan_objmgr_vdev *vdev,
37 				struct if_mgr_event_data *event_data);
38 
39 /**
40  * if_mgr_connect_active() - connect active event handler
41  * @vdev: vdev object
42  * @event_data: Interface mgr event data
43  *
44  * Interface manager connect active event handler, disable roaming of other
45  * sta.
46  *
47  * Context: It should run in thread context
48  *
49  * Return: QDF_STATUS
50  */
51 QDF_STATUS if_mgr_connect_active(struct wlan_objmgr_vdev *vdev,
52 				 struct if_mgr_event_data *event_data);
53 
54 /**
55  * if_mgr_connect_complete() - connect complete event handler
56  * @vdev: vdev object
57  * @event_data: Interface manager complete event data
58  *
59  * Interface manager connect complete event handler
60  *
61  * Context: It should run in thread context
62  *
63  * Return: QDF_STATUS
64  */
65 QDF_STATUS if_mgr_connect_complete(struct wlan_objmgr_vdev *vdev,
66 				   struct if_mgr_event_data *event_data);
67 
68 /**
69  * if_mgr_disconnect_start() - Disconnect start event handler
70  * @vdev: vdev object
71  * @event_data: Interface mgr event data
72  *
73  * This function handles the disconnect start event for interface manager
74  *
75  * Context: It should run in thread context
76  *
77  * Return: QDF_STATUS
78  */
79 QDF_STATUS if_mgr_disconnect_start(struct wlan_objmgr_vdev *vdev,
80 				   struct if_mgr_event_data *event_data);
81 
82 /**
83  * if_mgr_disconnect_complete() - Disconnect complete event handler
84  * @vdev: vdev object
85  * @event_data: Interface mgr event data
86  *
87  * This function handles the disconnect complete event for interface
88  * manager
89  *
90  * Context: It should run in thread context
91  *
92  * Return: QDF_STATUS
93  */
94 QDF_STATUS if_mgr_disconnect_complete(struct wlan_objmgr_vdev *vdev,
95 				      struct if_mgr_event_data *event_data);
96 
97 /**
98  * if_mgr_validate_candidate() - Validate the selected candidate
99  * @vdev: vdev object
100  * @event_data: Interface mgr event data
101  *
102  * This function handles candidate validation as part of connection
103  * manager
104  *
105  * Context: It should run in thread context
106  *
107  * Return: QDF_STATUS
108  */
109 QDF_STATUS if_mgr_validate_candidate(struct wlan_objmgr_vdev *vdev,
110 				     struct if_mgr_event_data *event_data);
111 
112 /**
113  * if_mgr_sta_csa_complete() - CSA event complete handler
114  * @vdev: vdev object
115  * @event_data: Interface mgr event data
116  *
117  * Interface manager csa complete event handler
118  *
119  * Context: It should run in thread context
120  *
121  * Return: QDF_STATUS
122  */
123 QDF_STATUS
124 if_mgr_sta_csa_complete(struct wlan_objmgr_vdev *vdev,
125 			struct if_mgr_event_data *event_data);
126 #endif
127