1 /* 2 * 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 * 文 件 名 : hmac_psm_ap.h 15 * 生成日期 : 2015年1月26日 16 * 功能描述 : hmac_psm_ap.c 的头文件 17 */ 18 19 20 #ifndef __HMAC_PSM_AP_H__ 21 #define __HMAC_PSM_AP_H__ 22 23 24 /***************************************************************************** 25 1 其他头文件包含 26 *****************************************************************************/ 27 #include "hmac_vap.h" 28 #include "hmac_user.h" 29 30 #ifdef __cplusplus 31 #if __cplusplus 32 extern "C" { 33 #endif 34 #endif 35 36 37 #undef THIS_FILE_ID 38 #define THIS_FILE_ID OAM_FILE_ID_HMAC_PSM_AP_H 39 /***************************************************************************** 40 2 宏定义 41 *****************************************************************************/ 42 43 /***************************************************************************** 44 10 函数声明 45 *****************************************************************************/ 46 osal_u32 hmac_psm_doze(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user); 47 osal_u32 hmac_psm_resv_ps_poll(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user); 48 osal_void hmac_psm_set_local_bitmap(const hmac_vap_stru *hmac_vap, const hmac_user_stru *hmac_user, 49 osal_u8 bitmap_flg); 50 osal_u32 hmac_psm_send_null_data(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, 51 oal_bool_enum_uint8 ps, oal_bool_enum_uint8 is_from_ps_queue); 52 osal_void hmac_psm_user_ps_structure_init(hmac_user_stru *hmac_user); 53 osal_void hmac_psm_user_ps_structure_destroy(hmac_user_stru *hmac_user); 54 osal_void hmac_psm_delete_ps_queue_head(hmac_user_stru *hmac_user, osal_u32 psm_delete_num); 55 osal_void hmac_psm_clear_ps_queue(hmac_user_stru *hmac_user); 56 osal_u32 hmac_psm_ps_enqueue(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *net_buffer); 57 osal_void hmac_psm_queue_flush(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user); 58 osal_u8 hmac_psm_pkt_need_buff(const hmac_device_stru *hmac_device, hmac_vap_stru *hmac_vap, 59 const hmac_user_stru *hmac_user, oal_netbuf_stru *netbuf); 60 osal_void hmac_psm_rx_process(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *net_buf); 61 osal_s32 hmac_psm_reset(hmac_vap_stru *vap, osal_u16 user_id); 62 osal_u32 hmac_psm_tx_set_more_data(hmac_user_stru *hmac_user, mac_tx_ctl_stru *tx_cb); 63 osal_u32 hmac_rx_data_ps_process(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, 64 oal_netbuf_stru *netbuf); 65 66 #ifdef __cplusplus 67 #if __cplusplus 68 } 69 #endif 70 #endif 71 72 #endif /* end of hmac_psm_ap.h */ 73