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