1 /* 2 * Copyright: Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 * Description: hmac_btcoex_ps.c的头文件 15 * Date: 2023-01-28 15:24 16 */ 17 18 #ifndef __HMAC_BTCOEX_PS_H__ 19 #define __HMAC_BTCOEX_PS_H__ 20 21 #include "hal_ext_if.h" 22 #include "hmac_btcoex.h" 23 24 #ifdef __cplusplus 25 #if __cplusplus 26 extern "C" { 27 #endif 28 #endif 29 typedef osal_u8 hmac_btcoex_ps_switch_enum_uint8; 30 31 osal_void hmac_btcoex_init_preempt(hmac_vap_stru *hmac_vap, const hmac_user_stru *hmac_user, osal_u8 preempt_enable); 32 osal_void hmac_btcoex_set_ps_flag(hal_to_dmac_device_stru *hal_device); 33 osal_void hmac_btcoex_set_vap_ps_frame(hmac_vap_stru *hmac_vap, osal_u32 enable); 34 osal_void hmac_btcoex_set_dev_ps_frame(hal_to_dmac_device_stru *hal_device); 35 osal_void hmac_btcoex_ps_timeout_update_time(hal_to_dmac_device_stru *hal_device); 36 osal_void hmac_btcoex_ps_stop_check_and_notify(hal_to_dmac_device_stru *hal_device); 37 osal_u32 hmac_btcoex_pow_save_callback(osal_void *arg); 38 osal_void hmac_btcoex_ps_on_proc(hmac_device_stru *hmac_device, 39 hal_to_dmac_device_stru *h2d_device, hal_chip_stru *hal_chip); 40 osal_void hmac_btcoex_ps_off_scan_state_proc(hmac_device_stru *hmac_device, hal_to_dmac_device_stru *h2d_device); 41 osal_void hmac_btcoex_ps_off_no_scan_state_proc(hal_to_dmac_device_stru *h2d_device); 42 43 typedef osal_u32 (*hmac_btcoex_set_sw_preempt_type_cb)(hal_to_dmac_device_stru *hal_device, 44 hal_coex_sw_preempt_subtype_uint8 type); 45 typedef osal_void (*hmac_btcoex_ps_stop_check_and_notify_cb)(hal_to_dmac_device_stru *hal_device); 46 typedef osal_void (*hmac_btcoex_one_pkt_type_and_duration_update_cb)(const mac_fcs_mgr_stru *fcs_mgr, 47 hal_one_packet_cfg_stru *one_packet_cfg, hmac_vap_stru *hmac_vap); 48 osal_u32 hmac_btcoex_ps_init(osal_void); 49 osal_void hmac_btcoex_ps_deinit(osal_void); 50 51 #ifdef __cplusplus 52 #if __cplusplus 53 } 54 #endif 55 #endif 56 57 #endif /* end of __HMAC_BTCOEX_PS_H__ */ 58