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