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