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 * Description: hmac_blacklist.c 的头文件 15 */ 16 17 #ifndef HMAC_BLAKLIST_H 18 #define HMAC_BLAKLIST_H 19 20 /***************************************************************************** 21 1 其他头文件包含 22 *****************************************************************************/ 23 #include "oal_ext_if.h" 24 #include "mac_vap_ext.h" 25 #include "hmac_vap.h" 26 27 #ifdef __cplusplus 28 #if __cplusplus 29 extern "C" { 30 #endif 31 #endif 32 33 /***************************************************************************** 34 2 宏定义 35 *****************************************************************************/ 36 #define CS_INVALID_AGING_TIME 0 37 #define CS_DEFAULT_AGING_TIME 3600 38 #define CS_DEFAULT_RESET_TIME 3600 39 #define CS_DEFAULT_THRESHOLD 100 40 41 42 /***************************************************************************** 43 3 枚举定义 44 *****************************************************************************/ 45 46 /* 黑名单类型 */ 47 typedef enum { 48 CS_BLACKLIST_TYPE_ADD, /* 增加 */ 49 CS_BLACKLIST_TYPE_DEL, /* 删除 */ 50 51 CS_BLACKLIST_TYPE_BUTT 52 } cs_blacklist_type_enum; 53 typedef osal_u8 cs_blacklist_type_enum_uint8; 54 55 /***************************************************************************** 56 4 全局变量声明 57 *****************************************************************************/ 58 59 60 /***************************************************************************** 61 5 消息头定义 62 *****************************************************************************/ 63 64 65 /***************************************************************************** 66 6 消息定义 67 *****************************************************************************/ 68 69 70 /***************************************************************************** 71 7 STRUCT定义 72 *****************************************************************************/ 73 /* 自动黑名单配置参数 */ 74 typedef struct { 75 osal_u8 enabled; /* 使能标志 0:未使能 1:使能 */ 76 osal_u8 reserved[3]; /* 字节对齐 */ 77 osal_u32 ul_threshold; /* 门限 */ 78 osal_u32 reset_time; /* 重置时间 */ 79 osal_u32 aging_time; /* 老化时间 */ 80 } hmac_autoblacklist_cfg_stru; 81 82 /* 黑白名单配置 */ 83 typedef struct { 84 osal_u8 type; /* 配置类型 */ 85 osal_u8 mode; /* 配置模式 */ 86 osal_u8 sa[6]; /* mac地址 */ 87 } hmac_blacklist_cfg_stru; 88 89 /***************************************************************************** 90 8 UNION定义 91 *****************************************************************************/ 92 93 94 /***************************************************************************** 95 9 OTHERS定义 96 *****************************************************************************/ 97 98 99 /***************************************************************************** 100 10 函数声明 101 *****************************************************************************/ 102 typedef osal_u32 (*hmac_ap_up_rx_mgmt_blacklist_filter_cb)(hmac_vap_stru *hmac_vap, osal_u8 *mac_hdr); 103 typedef oal_bool_enum_uint8 (*hmac_blacklist_filter_etc_cb)(hmac_vap_stru *hmac_vap, osal_u8 *mac_addr); 104 typedef osal_void (*hmac_blacklist_get_pointer_cb)(wlan_vap_mode_enum vap_mod, hmac_vap_stru *hmac_vap, 105 osal_u8 chip_id, osal_u8 device_id, osal_u8 vap_id); 106 107 static osal_u32 hmac_blacklist_init_weakref(osal_void) 108 __attribute__ ((weakref("hmac_blacklist_register_init"), used)); 109 static osal_void hmac_blacklist_deinit_weakref(osal_void) 110 __attribute__ ((weakref("hmac_blacklist_register_deinit"), used)); 111 112 #ifdef __cplusplus 113 #if __cplusplus 114 } 115 #endif 116 #endif 117 #endif 118