• 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  * 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