• 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_opmode.h
15  * 生成日期   : 2016年9月1日
16  * 功能描述   : hmac_opmode.c 的头文件
17  */
18 #ifndef __HMAC_OPMODE_H__
19 #define __HMAC_OPMODE_H__
20 
21 #ifdef _PRE_WLAN_FEATURE_OPMODE_NOTIFY
22 
23 /*****************************************************************************
24   1 其他头文件包含
25 *****************************************************************************/
26 #include "oal_ext_if.h"
27 #include "hmac_ext_if.h"
28 #include "oam_ext_if.h"
29 #include "mac_resource_ext.h"
30 #include "dmac_ext_if_hcm.h"
31 #include "mac_user_ext.h"
32 #include "mac_ie.h"
33 #include "hmac_vap.h"
34 #include "hmac_config.h"
35 
36 #ifdef __cplusplus
37 #if __cplusplus
38 extern "C" {
39 #endif
40 #endif
41 
42 #undef  THIS_FILE_ID
43 #define THIS_FILE_ID OAM_FILE_ID_HMAC_OPMODE_H
44 /*****************************************************************************
45   2 宏定义
46 *****************************************************************************/
47 
48 
49 /*****************************************************************************
50   3 枚举定义
51 *****************************************************************************/
52 
53 
54 /*****************************************************************************
55   4 全局变量声明
56 *****************************************************************************/
57 
58 
59 /*****************************************************************************
60   5 消息头定义
61 *****************************************************************************/
62 
63 
64 /*****************************************************************************
65   6 消息定义
66 *****************************************************************************/
67 
68 
69 /*****************************************************************************
70   7 STRUCT定义
71 *****************************************************************************/
72 typedef osal_void (*encap_opmode_action)(hmac_vap_stru *hmac_vap, oal_netbuf_stru *pst_netbuf, osal_u16 *len,
73     wlan_nss_enum_uint8 nss);
74 
75 typedef struct {
76     encap_opmode_action encap_opmode_action_cb;
77 } hmac_opmode_cb;
78 
79 /*****************************************************************************
80   8 UNION定义
81 *****************************************************************************/
82 
83 
84 /*****************************************************************************
85   9 OTHERS定义
86 *****************************************************************************/
87 
88 
89 /*****************************************************************************
90   10 函数声明
91 *****************************************************************************/
92 extern osal_u32 hmac_check_opmode_notify_etc(hmac_vap_stru *hmac_vap, osal_u8 *mac_hdr,
93     osal_u8 *payload_offset, osal_u32 msg_len, hmac_user_stru *hmac_user);
94 extern osal_u32  hmac_mgmt_rx_opmode_notify_frame_etc(hmac_vap_stru *hmac_vap,
95     hmac_user_stru *hmac_user, oal_netbuf_stru *pst_netbuf);
96 extern osal_s32 hmac_config_set_opmode_notify_etc(hmac_vap_stru *hmac_vap, frw_msg *msg);
97 
98 osal_void hmac_mgmt_encap_opmode_notify_action(hmac_vap_stru *hmac_vap, oal_netbuf_stru *netbuf, osal_u16 *len,
99     oal_bool_enum_uint8 bool_code, wlan_nss_enum_uint8 nss);
100 osal_u32 hmac_mgmt_send_opmode_notify_action(hmac_vap_stru *hmac_vap, wlan_nss_enum_uint8 nss,
101     oal_bool_enum_uint8 bool_code);
102 osal_u32 hmac_rx_beacon_check_opmode_notify(hmac_vap_stru *hmac_vap, osal_u8 *payload, osal_u32 msg_len,
103     hmac_user_stru *hmac_user);
104 osal_u32 hmac_mgmt_rx_opmode_notify_frame(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user,
105     oal_netbuf_stru *netbuf);
106 osal_u32 hmac_ie_proc_opmode_notify(hmac_user_stru *hmac_user, hmac_vap_stru *hmac_vap,
107     mac_opmode_notify_stru *opmode_notify);
108 
109 #ifdef __cplusplus
110 #if __cplusplus
111 }
112 #endif
113 #endif
114 
115 #endif /* end of _PRE_WLAN_FEATURE_OPMODE_NOTIFY */
116 
117 #endif /* end of hmac_opmode.h */
118