1 /* 2 * Copyright (c) 2017-2019 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 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 /** 20 * DOC: Declare packet filter feature API's 21 */ 22 23 #ifndef _WLAN_PMO_PKT_FILTER_H_ 24 #define _WLAN_PMO_PKT_FILTER_H_ 25 26 #ifdef WLAN_POWER_MANAGEMENT_OFFLOAD 27 28 #include "wlan_pmo_pkt_filter_public_struct.h" 29 30 struct wlan_objmgr_psoc; 31 32 /** 33 * pmo_get_num_packet_filters() - get the number of packet filters 34 * @psoc: the psoc to query 35 * 36 * Return: number of packet filters 37 */ 38 uint32_t pmo_get_num_packet_filters(struct wlan_objmgr_psoc *psoc); 39 40 /** 41 * pmo_core_set_pkt_filter() - Set packet filter 42 * @psoc: objmgr psoc 43 * @pmo_set_pkt_fltr_req: packet filter set param 44 * @vdev_id: vdev id 45 * 46 * API to set packet filter 47 * 48 * Return: QDF_STATUS_SUCCESS in case of success else return error 49 */ 50 QDF_STATUS pmo_core_set_pkt_filter(struct wlan_objmgr_psoc *psoc, 51 struct pmo_rcv_pkt_fltr_cfg *pmo_set_pkt_fltr_req, 52 uint8_t vdev_id); 53 54 /** 55 * pmo_core_clear_pkt_filter() - Clear packet filter 56 * @psoc: objmgr psoc 57 * @pmo_clr_pkt_fltr_param: packet filter clear param 58 * @vdev_id: vdev id 59 * 60 * API to clear packet filter 61 * 62 * Return: QDF_STATUS_SUCCESS in case of success else return error 63 */ 64 QDF_STATUS pmo_core_clear_pkt_filter(struct wlan_objmgr_psoc *psoc, 65 struct pmo_rcv_pkt_fltr_clear_param *pmo_clr_pkt_fltr_param, 66 uint8_t vdev_id); 67 68 #endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */ 69 70 #endif /* _WLAN_PMO_PKT_FILTER_H_ */ 71 72