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 api 19 */ 20 21 #ifndef _WLAN_IF_MGR_API_H_ 22 #define _WLAN_IF_MGR_API_H_ 23 24 #include "wlan_objmgr_psoc_obj.h" 25 #include "wlan_objmgr_vdev_obj.h" 26 #include "wlan_if_mgr_public_struct.h" 27 28 #ifdef WLAN_FEATURE_INTERFACE_MGR 29 30 /** 31 * if_mgr_deliver_event() - interface mgr event handler 32 * @vdev: vdev object 33 * @event: interface mangaer event 34 * @event_data: Interface mgr event data 35 * 36 * Return: QDF_STATUS 37 */ 38 QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev, 39 enum wlan_if_mgr_evt event, 40 struct if_mgr_event_data *event_data); 41 /** 42 * if_mgr_get_event_str() - get event string 43 * @event: interface manager event 44 * 45 * Return: Interface event string 46 */ 47 const char *if_mgr_get_event_str(enum wlan_if_mgr_evt event); 48 49 /** 50 * if_mgr_deliver_mbss_event() - interface mgr MBSS event handler 51 * @vdev: vdev object 52 * @event: interface mangaer event 53 * @event_data: Interface mgr event data 54 * 55 * Return: QDF_STATUS 56 */ 57 QDF_STATUS if_mgr_deliver_mbss_event(struct wlan_objmgr_vdev *vdev, 58 enum wlan_if_mgr_evt event, 59 struct if_mgr_event_data *event_data); 60 61 #else 62 static inline 63 QDF_STATUS if_mgr_deliver_event(struct wlan_objmgr_vdev *vdev, 64 enum wlan_if_mgr_evt event, 65 struct if_mgr_event_data *event_data) 66 { 67 return QDF_STATUS_SUCCESS; 68 } 69 70 static inline const char *if_mgr_get_event_str(enum wlan_if_mgr_evt event) 71 { 72 return ""; 73 } 74 75 #endif /* WLAN_FEATURE_INTERFACE_MGR */ 76 #endif 77