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