• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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