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 feature 15 * Create: 2023-2-17 16 */ 17 18 #ifndef HMAC_FEATURE_EXT_INTERFACE_H 19 #define HMAC_FEATURE_EXT_INTERFACE_H 20 21 #include "mac_vap_ext.h" 22 #include "mac_device_ext.h" 23 #include "mac_user_ext.h" 24 25 #ifdef __cplusplus 26 #if __cplusplus 27 extern "C" { 28 #endif 29 #endif 30 31 typedef enum { 32 /* CSA特性对外接口 */ 33 HMAC_FHOOK_CSA_AP_IS_SWITCH, 34 HMAC_FHOOK_CSA_AP_ENCAP_BEACON_CSA_IE, 35 HMAC_FHOOK_CSA_AP_CSA_PRESENT_IN_BCN, 36 HMAC_FHOOK_CSA_AP_SWITCH_NEW_CHANNEL, 37 HMAC_FHOOK_CSA_STA_FSM_IS_WAITING, 38 /* SR特性对外接口 */ 39 HMAC_FHOOK_SR_UPDATE_IE_INFO, 40 /* SLP特性对外接口 */ 41 HMAC_FHOOK_SLP_TX_DISABLE, 42 /* sdp特性对外接口 */ 43 HMAC_FHOOK_SDP_IS_INIT, 44 HMAC_FHOOK_IS_SDP_FRAME, 45 HMAC_FHOOK_SDP_PROC_RX_MGMT, 46 /* m2u特性对外接口 */ 47 HMAC_FHOOK_M2U_TX_CLASSIFY_SPECIAL, 48 HMAC_FHOOK_M2U_SNOOP_INSPECTING, 49 HMAC_FHOOK_M2U_CLEANUP_SNOOPWDS_NODE, 50 HMAC_FHOOK_M2U_SNOOP_CONVERT, 51 HMAC_FHOOK_M2U_UNICAST_CONVERT_MULTICAST, 52 HMAC_FHOOK_M2U_ATTACH, 53 HMAC_FHOOK_M2U_DETACH, 54 /* REPEATER特性对外接口 */ 55 HMAC_FHOOK_REPEATER_BRIDGE_TX_PROCESS, 56 HMAC_FHOOK_REPEATER_BRIDGE_RX_PROCESS, 57 /* LATENCY特性对外接口 */ 58 HMAC_FHOOK_LATENCY_STAT_TX_ENTRY, 59 HMAC_FHOOK_RECORD_LATENCY_TX, 60 /* 分片和分片重组对外接口 */ 61 HMAC_FHOOK_FRAG_START, 62 HMAC_FHOOK_FRAG_DERAG_START, 63 HMAC_FHOOK_FRAG_DERAG_CLEAR, 64 /* 蓝牙共存特性对外接口 */ 65 HMAC_FHOOK_BTCOEX_BA_CHECK, 66 HMAC_FHOOK_BTCOEX_BA_ADDBA, 67 HMAC_FHOOK_BTCOEX_M2S_M2S_ALLOW_CHECK, 68 HMAC_FHOOK_BTCOEX_M2S_BACK_MIMO_CHECK, 69 HMAC_FHOOK_BTCOEX_M2S_BACK_MIMO, 70 HMAC_FHOOK_BTCOEX_M2S_UPDATE_HAL_DEVICE, 71 HMAC_FHOOK_BTCOEX_M2S_CHOOSE_MIMO_SISO, 72 HMAC_FHOOK_BTCOEX_M2S_S2M_ALLOW_CHECK, 73 HMAC_FHOOK_BTCOEX_NOTIFY_SET_WIFI_STATUS, 74 HMAC_FHOOK_BTCOEX_NOTIFY_INOUT_SISO, 75 HMAC_FHOOK_BTCOEX_PS_ONE_PKT_TYPE_UPDATE, 76 HMAC_FHOOK_BTCOEX_PS_STOP_CHECK, 77 HMAC_FHOOK_BTCOEX_PS_SET_SW_PREEMPT_TYPE, 78 HMAC_FHOOK_BTCOEX_SET_WLAN_PRIORITY, 79 HMAC_FHOOK_BTCOEX_RECOVER_COEX_PRIORITY, 80 HMAC_FHOOK_BTCOEX_RECOVER_COEX_PRIORITY_CLEAR, 81 HMAC_FHOOK_BTCOEX_UPDATE_THRESHOLD, 82 HMAC_FHOOK_BTCOEX_LINKLOSS_OCCUPIED, 83 HMAC_FHOOK_BTCOEX_RX_PROCESS_ECT, 84 HMAC_FHOOK_BTCOEX_ASSOC_STATE_SYN, 85 HMAC_FHOOK_BTCOEX_ROAM_SUCC_HANDLER, 86 HMAC_FHOOK_BTCOEX_CHECK_IN_LIST, 87 HMAC_FHOOK_BTCOEX_PROC_USER_ADD, 88 HMAC_FHOOK_BTCOEX_PROC_VAP_ADD, 89 HMAC_FHOOK_BTCOEX_TX_MGMT_FRAME, 90 HMAC_FHOOK_BTCOEX_TX_VIP_FRAME, 91 HMAC_FHOOK_BTCOEX_USER_SPATIAL_STREAM_CHANGE, 92 HMAC_FHOOK_BTCOEX_CHECK_RX_SAME_BAW_START_FROM_ADDBA_REQ, 93 HMAC_FHOOK_BTCOEX_CHECK_USER_REQ_DECLINED, 94 HMAC_FHOOK_BTCOEX_SET_TXOP_ALG, 95 HMAC_FHOOK_BTCOEX_UPDATE_BSS_LIST_PROTOCOL, 96 HMAC_FHOOK_BTCOEX_CHECK_AP_TYPE_BLACKLIST, 97 HMAC_FHOOK_BTCOEX_CLEAR_ARP_TIMER, 98 HMAC_FHOOK_BTCOEX_KEEPALIVE_TIMER_ECT, 99 HMAC_FHOOK_BTCOEX_COMPATIBILITY_SET_PS_TYPE, 100 HMAC_FHOOK_BTCOEX_COMPATIBILITY_SET_AP_TYPE, 101 HMAC_FHOOK_BTCOEX_VAP_RESUME_TX_BY_CHL, 102 HMAC_FHOOK_BTCOEX_VAP_CONFIG_SW_PREEMPT_SUBTYPE, 103 HMAC_FHOOK_BTCOEX_DEVICE_EXIT_DESTROY_TIMER, 104 HMAC_FHOOK_BTCOEX_REPORT_LINKLOSS_INFO, 105 HMAC_FHOOK_BTCOEX_SW_PREEMPT_TYPE_CHECK, 106 HMAC_FHOOK_BTCOEX_HAL_GET_BTSTATUS_BTON, 107 HMAC_FHOOK_BTCOEX_HAL_LINKLOSS_CLEAN, 108 HMAC_FHOOK_BTCOEX_HAL_CHECK_SET_AGING_TIME, 109 HMAC_FHOOK_BTCOEX_HAL_CHECK_SW_PREEMPT_TYPE, 110 HMAC_FHOOK_BTCOEX_HAL_SET_BTCOEX_WIFI_STATUS, 111 HMAC_FHOOK_BTCOEX_HAL_END_SCAN_CHECK_PS, 112 HMAC_FHOOK_BTCOEX_HAL_USER_ADD_HANDLE, 113 HMAC_FHOOK_BTCOEX_HAL_WIFI_BUSY_NOTIFY, 114 /* 自动调频对外接口 */ 115 HMAC_FHOOK_AUTO_FREQ_FRAME_COUNT, 116 HMAC_FHOOK_AUTO_FREQ_PPS, 117 HMAC_FHOOK_AUTO_FREQ_BTCOEX, 118 /* wapi对外接口 */ 119 HMAC_FHOOK_WAPI_RX_FRAME, 120 HMAC_FHOOK_WAPI_TX_FRAME, 121 HMAC_FHOOK_WAPI_TX_LAN2WLAN, 122 HMAC_FHOOK_WAPI_RESET, 123 HMAC_FHOOK_WAPI_ADD_KEY, 124 HMAC_FHOOK_WAPI_UPDATE_LEGCY_ONLY, 125 HMAC_FHOOK_WAPI_ETHER_TYPE_CHECK, 126 HMAC_FHOOK_WAPI_CONNECT_BSS_DSCR, 127 HMAC_FHOOK_WAPI_DISABLE, 128 HMAC_FHOOK_WAPI_UPDATE_ROAM, 129 HMAC_FHOOK_WAPI_USER_ADD_CHECK, 130 HMAC_FHOOK_WAPI_INIT, 131 HMAC_FHOOK_WAPI_DEINIT, 132 HMAC_FHOOK_WAPI_GET_ETHER_TYPE, 133 HMAC_FHOOK_WAPI_CONNECT_CHECK, 134 HMAC_FHOOK_WAPI_UPDATE_CONNECT_PARAM, 135 /* NFRP特性对外接口 */ 136 HMAC_FHOOK_NFRP_UPDATE_PARAMS, 137 /* AMSDU TX特性对外接口 */ 138 HMAC_FHOOK_AMSDU_TX_ENCAP_LARGE_SKB, 139 HMAC_FHOOK_AMSDU_TX_NOTIFY_ETC, 140 HMAC_FHOOK_AMSDU_TX_INIT_USER_ETC, 141 HMAC_FHOOK_AMSDU_TID_INFO_CLEAR, 142 /* MBO对外接口 */ 143 HMAC_FHOOK_MBO_STA_ASSOC_ADD_MBO_SOC_IE, 144 HMAC_FHOOK_MBO_STA_HANDLE_MBO_IE, 145 HMAC_FHOOK_MBO_STA_CHECK_IS_ASSOC_ALLOWED, 146 HMAC_FHOOK_MBO_STA_UPDATE_IS_ASSOC_ALLOWED, 147 HMAC_FHOOK_MBO_STA_SET_DELAY_PARAM, 148 HMAC_FHOOK_MBO_STA_ATTACH_MBO_IE_AUTH, 149 HMAC_FHOOK_MBO_STA_UPDATE_RRM_SCAN_PARAM, 150 HMAC_FHOOK_MBO_STA_MODIFY_CHAN_PARAM, 151 HMAC_FHOOK_MBO_STA_SCAN_ADD_MBO_IE, 152 HMAC_FHOOK_MBO_STA_REMOVE_MBO_IE, 153 /* 11k特性对外接口 */ 154 HMAC_FHOOK_11K_STA_RX_RADIO_MEASUREMENT, 155 HMAC_FHOOK_11K_STA_UPDATE_RRM_CAP, 156 HMAC_FHOOK_11K_AP_UPDATE_RRM_CAP, 157 HMAC_FHOOK_11K_SET_RRM_CAP, 158 HMAC_FHOOK_11K_GET_TSF, 159 HMAC_FHOOK_11K_UPDATE_BSS_LIST_RRM, 160 HMAC_FHOOK_11K_SET_TSF, 161 HMAC_FHOOK_GET_11K_CAP, 162 /* 11R特性对外接口 */ 163 HMAC_FHOOK_11R_SET_MD_IE, 164 HMAC_FHOOK_11R_SET_AUTHENTICATION_MODE, 165 HMAC_FHOOK_11R_MIB_INIT_CFG, 166 HMAC_FHOOK_11R_ENCAP_AUTH_REQ_FT_IE, 167 HMAC_FHOOK_11R_AUTH_SEQ2_PROCESS, 168 HMAC_FHOOK_11R_PROCESS_ASSOC_RSP, 169 HMAC_FHOOK_11R_ROAM_CONNECT_START_ETC, 170 HMAC_FHOOK_11R_ROAM_CONNECT_TO_BSS, 171 HMAC_FHOOK_11R_ROAM_CHANGE_APP_IE, 172 HMAC_FHOOK_11R_VAP_INIT, 173 HMAC_FHOOK_11R_ROAM_CONNECT_FSM_INIT, 174 HMAC_FHOOK_11R_GET_11R_CAP, 175 HMAC_FHOOK_11R_SET_MD_FT_OVER_DS, 176 /* CSI特性对外接口 */ 177 HMAC_FHOOK_CSI_EXIT, 178 /* 黑白名单特性对外接口 */ 179 HMAC_FHOOK_RX_MGMT_BLACKLIST_FILTER, 180 HMAC_FHOOK_BLACKLIST_FILTER_ETC, 181 HMAC_FHOOK_BLACKLIST_GET_POINTER, 182 /* WPS特性对外接口 */ 183 HMAC_FHOOK_SCAN_DEL_WPS_IE, 184 /* DFX特性对外接口 */ 185 HMAC_FHOOK_DFX_USER_CONN_ABNORMAL_RECORD, 186 HMAC_FHOOK_DFX_USER_CONN_STATISTIC_RECORD, 187 HMAC_FHOOK_DFX_FRAME_REPORT_HSO, 188 HMAC_FHOOK_DFX_USER_RATE_RX_INFO_RECORD, 189 HMAC_FHOOK_DFX_SCAN_FRAME_REPORT_HSO, 190 /* 混杂模式PROMIS对外接口 */ 191 HMAC_FHOOK_PROMIS_RX_DEAUTH_REQ_PROC, 192 HMAC_FHOOK_PROMIS_SEND_CUSTOM_FRAME, 193 /* 漫游对外接口 */ 194 HMAC_FHOOK_ROAM_START, 195 HMAC_FHOOK_ROAM_GET_INFO, 196 HMAC_FHOOK_ROAM_PROC_CONNECT_CMD, 197 HMAC_FHOOK_ROAM_CHECK_BKSCAN, 198 HMAC_FHOOK_ROAM_ADD_KEY_DONE, 199 HMAC_FHOOK_ROAM_UPDATE_PMF, 200 HMAC_FHOOK_ROAM_TRIGGER_SEND, 201 HMAC_FHOOK_ROAM_CHANGE_APP_IE, 202 HMAC_FHOOK_ROAM_UPDATE_USER_MAC, 203 HMAC_FHOOK_ROAM_SET_LINKLOSS_DONE, 204 /* psd特性对外接口 */ 205 HMAC_FHOOK_PSD_GET_SWITCH, 206 /* 11v特性对外接口 */ 207 HMAC_FHOOK_11V_SET_BSS_TRANSITION, 208 HMAC_FHOOK_11V_SET_EXT_CAP_BSS_TRANSITION, 209 HMAC_FHOOK_11V_SET_SCAN_PARAMS, 210 HMAC_FHOOK_11V_CHECK_BSS_DSCR, 211 HMAC_FHOOK_11V_CHECK_SCAN_RESULT, 212 HMAC_FHOOK_11V_TRIGGER_ROAM_CHECK, 213 HMAC_FHOOK_GET_11V_CAP, 214 /* sta uapsd对外接口 */ 215 HMAC_FHOOK_STA_UAPSD_SET_QOS_INFO, 216 HMAC_FHOOK_STA_UAPSD_GET_UAPSD_INFO, 217 /* twt对外接口 */ 218 HMAC_FHOOK_TWT_IS_SESSION_ENABLE, 219 HMAC_FHOOK_TWT_NOT_NEED_BUFF, 220 HMAC_FHOOK_TWT_NEED_BUFF, 221 HMAC_FHOOK_TWT_TX_ACTION, 222 HMAC_FHOOK_TWT_P2P_TEARDOWN_SESSION, 223 HMAC_FHOOK_TWT_PROCESS_UPDATE_INFO, 224 HMAC_FHOOK_TWT_GET_REQ_BIT, 225 HMAC_FHOOK_TWT_SET_EXT_CAP_TWT_REQ, 226 /* 动态窄带2.0对外接口 */ 227 HMAC_FHOOK_DNB_ADD_PRIVATE_IE, 228 /* ap uapsd对外接口 */ 229 HMAC_FHOOK_AP_UAPSD_UPDATE_USER_PARA, 230 HMAC_FHOOK_AP_UAPSD_CHECK_TRIGGER, 231 HMAC_FHOOK_AP_UAPSD_FLUSH_QUEUE, 232 HMAC_FHOOK_AP_UAPSD_ENQUEUE_PROC, 233 HMAC_FHOOK_AP_UAPSD_IS_QUEUE_EMPTY, 234 HMAC_FHOOK_AP_UAPSD_GET_USER_INFO, 235 HMAC_FHOOK_ACHBA_ADD_CHBA_INFO_IE, 236 HMAC_FHOOK_ACHBA_UPDATE_PROCESS, 237 HMAC_FHOOK_ACHBA_DEL_LINK_ID, 238 /* 系统低功耗对外接口 */ 239 HMAC_FHOOK_PM_STA_STAT, 240 HMAC_FHOOK_PM_STA_WAKEUP_DEV, 241 HMAC_FHOOK_PM_LINKLOSS_IGNOR, 242 /* 雷达感知特性对外接口 */ 243 HMAC_FHOOK_RADAR_SENSOR_GET_WORK_CHAN, 244 HMAC_FHOOK_RADAR_SENSOR_DEL_VAP_NOTIFY, 245 HMAC_FHOOK_INDEX_BUTT 246 } hmac_fhook_index_enum; 247 248 osal_void hmac_feature_hook_register(hmac_fhook_index_enum fhook_idx, osal_void *fun); 249 osal_void hmac_feature_hook_unregister(hmac_fhook_index_enum fhook_idx); 250 osal_void *hmac_get_feature_fhook(hmac_fhook_index_enum fhook_idx); 251 osal_u8 hmac_vap_id_param_check(osal_u8 vap_id); 252 osal_u8 hmac_vap_mode_param_check(const hmac_vap_stru *hmac_vap); 253 osal_u8 hmac_user_assoc_id_param_check(osal_u16 assoc_id); 254 255 #ifdef __cplusplus 256 #if __cplusplus 257 } 258 #endif 259 #endif 260 261 #endif 262