WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
dmac_ext_if_hcm.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2020. All rights reserved.
3 * Description: Header file of the DMAC external public interface.
4 * Create: 2020-7-9
5 */
6
7#ifndef __DMAC_EXT_IF_HCM_H__
8#define __DMAC_EXT_IF_HCM_H__
9
10/*****************************************************************************
11 1 其他头文件包含
12*****************************************************************************/
13#include "oal_types.h"
14#include "oal_ext_if.h"
15#include "oam_ext_if.h"
16#include "oal_mm.h"
17#include "oal_netbuf_ext.h"
18#include "frw_ext_if.h"
19#include "wlan_types_common.h"
20#include "mac_frame.h"
21#include "mac_device_ext.h"
22#include "mac_user_ext.h"
23#include "mac_vap_ext.h"
24#include "mac_data.h"
25#include "dmac_ext_if_type.h"
26#include "dmac_ext_if_device.h"
27
28#ifdef __cplusplus
29#if __cplusplus
30extern "C" {
31#endif
32#endif
33
34/*****************************************************************************
35 2 宏定义
36*****************************************************************************/
37#define MAC_INVALID_RX_BA_LUT_INDEX HAL_MAX_RX_BA_LUT_SIZE
38
39/* 安全加密 : bss_info 中记录AP 能力标识, WPA or WPA2 */
40#define HMAC_WPA_802_11I BIT0
41#define HMAC_RSNA_802_11I BIT1
42
43#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
44/* 抛往dmac侧消息头的长度 */
45#define CUSTOM_MSG_DATA_HDR_LEN (sizeof(custom_cfgid_enum_uint32) + sizeof(osal_u32))
46#endif /* _PRE_PLAT_FEATURE_CUSTOMIZE */
47
48/* DMAC CB中用于不同算法对帧进行标记 */
49#define HMAC_CB_ALG_TAGS_MUCTRL_MASK 0x1 /* CB中用于多用户流控算法对帧进行标记 */
50#define HMAC_CB_ALG_TAGS_TIDSCH_MASK 0x2 /* CB中用于调度算法对队列调度的帧标记 */
51
52#define HMAC_BA_SEQNO_MASK 0x0FFF /* max sequece number */
53#define HMAC_BA_MAX_SEQNO_BY_TWO 2048
54#define HMAC_BA_RX_ALLOW_MIN_SEQNO_BY_TWO 64
55#define HMAC_BA_RX_ALLOW_MAX_SEQNO_BY_TWO 4032
56
57#define HMAC_BA_GREATER_THAN_SEQHI 1
58#define HMAC_BA_BETWEEN_SEQLO_SEQHI 2
59#define HMAC_BA_AMSDU_BACK_SUPPORTED_FLAG 1 /* BA会话对AMSDU的支持标识 */
60
61#define HMAC_BA_DELBA_TIMEOUT 0
62#define HMAC_BATX_WIN_STALL_THRESHOLD 6
63
64#define MAC_TX_CTL_SIZE OAL_NETBUF_CB_SIZE()
65
66/* DMAC TID中TCP ACK比例 */
67#define HMAC_TID_TCK_ACK_PROPORTION_MAX 32
68#define HMAC_TID_TCK_ACK_PROPORTION_MIN 1
69#define HMAC_TID_TCK_ACK_PROPORTION_THRES 28
70
71#define hmac_ba_seq_add(_seq1, _seq2) ((osal_u32)((_seq1) + (_seq2)) & HMAC_BA_SEQNO_MASK)
72#define hmac_ba_seq_sub(_seq1, _seq2) ((osal_u32)((_seq1) - (_seq2)) & HMAC_BA_SEQNO_MASK)
73
74#define HMAC_BA_BMP_SIZE 64
75
76#define HMAC_INVALID_SIGNAL_DELTA (30)
77#define HMAC_RSSI_SIGNAL_MIN (-103) /* 信号强度极小值 */
78#define HMAC_RSSI_SIGNAL_MAX (5) /* 信号强度极大值 */
79#define HMAC_INVALID_SIGNAL_INITIAL (100) /* 非法初始信号极大值 */
80
81/* 发送BA窗口记录seq number的最大个数,必须是2的整数次幂 */
82#define HMAC_TID_MAX_BUFS 128
83/* 发送BA窗口记录seq number的bitmap所使用的类型长度 */
84#define DMAC_TX_BUF_BITMAP_WORD_SIZE 32
85/* 发送BA窗口记录seq number的bit map的长度 */
86#define HMAC_TX_BUF_BITMAP_WORDS \
87 ((HMAC_TID_MAX_BUFS + DMAC_TX_BUF_BITMAP_WORD_SIZE - 1) / DMAC_TX_BUF_BITMAP_WORD_SIZE)
88
89#define HMAC_TX_MAX_RISF_NUM 6
90#define DMAX_TX_QUEUE_SINGLE_DEPTH 2
91#define HMAC_TX_QEUEU_MAX_PPDU_NUM 2
92#define HMAC_TX_QUEUE_FAIL_CHECK_NUM 1000
93
94#define HMAC_SCAN_MAX_AP_NUM_TO_GNSS 32
95#define GNSS_DMAC_SCAN_RESULTS_VALID_MS 5000
96#define HMAC_TX_ONE_MPDU_AMSDU_NUM_MAX 4
97
98#define THRUPUT_BYPASS_LEN 1300 /* WIFI侧hw bypass发送长度:仅bypass iperf跑流长包 */
99
100/* 不区分offload架构的CB字段 */
101#define mac_get_cb_is_4address(_pst_tx_ctrl) ((_pst_tx_ctrl)->use_4_addr)
102#define mac_get_cb_is_amsdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_amsdu)
103#define mac_get_cb_is_large_skb_amsdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_large_skb_amsdu)
104#define mac_get_cb_has_ether_head(_pst_tx_ctrl) ((_pst_tx_ctrl)->ether_head_including)
105#define mac_get_cb_is_first_msdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_first_msdu)
106#define mac_get_cb_is_need_resp(_pst_tx_ctrl) ((_pst_tx_ctrl)->need_rsp)
107#define mac_get_cb_is_eapol_key_ptk(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_eapol_key_ptk)
108#define mac_get_cb_is_roam_data(_pst_tx_ctrl) ((_pst_tx_ctrl)->roam_data)
109#define mac_get_cb_is_from_ps_queue(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_get_from_ps_queue)
110#define mac_get_cb_is_mcast(_pst_tx_ctrl) ((_pst_tx_ctrl)->ismcast)
111#define mac_get_cb_is_needretry(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_needretry)
112#define mac_get_cb_get_probe_data_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->probe_data_type)
113#define mac_get_cb_alg_tags(_pst_tx_ctrl) ((_pst_tx_ctrl)->alg_frame_tag)
114
115#define mac_get_cb_mgmt_frame_id(_pst_tx_ctrl) ((_pst_tx_ctrl)->mgmt_frame_id)
116#define mac_get_cb_mpdu_len(_pst_tx_ctrl) ((_pst_tx_ctrl)->mpdu_payload_len)
117#define mac_get_cb_frame_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_type)
118#define mac_get_cb_frame_subtype(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_subtype)
119
120/* VIP数据帧 */
121#define mac_get_cb_is_vipframe(_pst_tx_ctrl) \
122 ((WLAN_CB_FRAME_TYPE_DATA == mac_get_cb_frame_type(_pst_tx_ctrl)) && \
123 (MAC_DATA_VIP_FRAME >= mac_get_cb_frame_subtype(_pst_tx_ctrl)))
124
125#define mac_get_cb_is_smps_frame(_pst_tx_ctrl) \
126 ((WLAN_CB_FRAME_TYPE_ACTION == mac_get_cb_frame_type(_pst_tx_ctrl)) && \
127 (WLAN_ACTION_SMPS_FRAME_SUBTYPE == mac_get_cb_frame_subtype(_pst_tx_ctrl)))
128#define mac_get_cb_is_opmode_frame(_pst_tx_ctrl) \
129 ((WLAN_CB_FRAME_TYPE_ACTION == mac_get_cb_frame_type(_pst_tx_ctrl)) && \
130 (WLAN_ACTION_OPMODE_FRAME_SUBTYPE == mac_get_cb_frame_subtype(_pst_tx_ctrl)))
131
132/* 模块发送流程控制信息结构体的信息元素获取 */
133#define mac_get_cb_mpdu_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->mpdu_num)
134#define mac_get_cb_netbuf_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->netbuf_num)
135#define mac_get_cb_frame_header_length(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_header_length)
136#define mac_get_cb_ack_polacy(_pst_tx_ctrl) ((_pst_tx_ctrl)->ack_policy)
137#define mac_get_cb_tx_vap_index(_pst_tx_ctrl) ((_pst_tx_ctrl)->tx_vap_index)
138#define mac_get_cb_tx_user_idx(_pst_tx_ctrl) ((_pst_tx_ctrl)->tx_user_idx)
139#define mac_get_cb_wme_ac_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->ac)
140#define mac_get_cb_wme_tid_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->tid)
141#define mac_get_cb_retried_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->retried_num)
142#define mac_get_cb_alg_pktno(_pst_tx_ctrl) ((_pst_tx_ctrl)->alg_pktno)
143#define mac_get_cb_tcp_ack(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_tcp_ack)
144#define mac_get_cb_msdu_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->msdu_num)
145#define mac_get_cb_pk_mode(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_6)
146#define mac_get_cb_icmp(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_2)
147#define mac_get_cb_vip_tcp_ack(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_3)
148
149#define mac_get_cb_is_data_frame(_pst_tx_ctrl) \
150 ((WLAN_DATA_BASICTYPE == mac_get_cb_wlan_frame_type(_pst_tx_ctrl)) && \
151 ((WLAN_DATA == mac_get_cb_wlan_frame_subtype(_pst_tx_ctrl)) || \
152 (WLAN_QOS_DATA == mac_get_cb_wlan_frame_subtype(_pst_tx_ctrl))))
153
154#define mac_get_cb_wlan_frame_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.frame_type)
155#define mac_get_cb_wlan_frame_subtype(_pst_tx_ctrl) \
156 (((_pst_tx_ctrl)->frame_header)->frame_control.sub_type)
157#define mac_get_cb_seq_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.seqnum)
158#define mac_get_cb_frame_header_addr(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.frame_header)
159#define mac_set_cb_is_qos_data(_pst_tx_ctrl, _flag)
160#define mac_get_cb_is_qos_data(_pst_tx_ctrl) OAL_FALSE
161
162#define mac_get_rx_cb_frame_len(_pst_rx_ctl) ((_pst_rx_ctl)->frame_len)
163#define mac_get_rx_cb_mac_header_len(_pst_rx_ctl) ((_pst_rx_ctl)->mac_header_len)
164#define mac_get_rx_cb_mac_vap_id(_pst_rx_ctl) ((_pst_rx_ctl)->mac_vap_id)
165#define mac_get_rx_cb_hal_vap_idx(_pst_rx_ctl) ((_pst_rx_ctl)->vap_id)
166
167/* DMAC模块接收流程控制信息结构体的信息元素获取 */
168#define mac_get_rx_cb_ta_user_idx(_pst_rx_ctl) ((_pst_rx_ctl)->ta_user_idx)
169#define mac_get_rx_cb_payload_len(_pst_rx_ctl) \
170 ((_pst_rx_ctl)->frame_len - (_pst_rx_ctl)->mac_header_len)
171#define mac_get_rx_cb_mac_header_addr(_pst_rx_ctl) ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl)))
172#define mac_get_rx_payload_addr(_pst_rx_ctl, _pst_buf) \
173 ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl)) + mac_get_rx_cb_mac_header_len(_pst_rx_ctl))
174/*****************************************************************************
175 3 枚举定义
176*****************************************************************************/
177/*****************************************************************************
178 枚举名 : hmac_wlan_ctx_event_sub_type_enum_uint8
179 协议表格:
180 枚举说明: WLAN CTX事件子类型定义
181*****************************************************************************/
182typedef enum {
183 HMAC_WLAN_CTX_EVENT_SUB_TYPE_MGMT = 0, /* 管理帧处理 */
187
188 HMAC_WLAN_CTX_EVENT_SUB_TYPE_BA_SYNC, /* 收到wlan的Delba和addba rsp用于到dmac的同步 */
189 HMAC_WLAN_CTX_EVENT_SUB_TYPE_PRIV_REQ, /* 11N自定义的请求的事件类型 */
190
193 HMAC_WLAN_CTX_EVENT_SUB_TYPE_RESET_PSM, /* 收到认证请求 关联请求,复位用户的节能状态 */
194
198
199 HMAC_WLAN_CTX_EVENT_SUB_TYPE_ASOC_WRITE_REG, /* AP侧处理关联时,修改SEQNUM_DUPDET_CTRL寄存器 */
200
201 HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_EDCA_REG, /* STA收到beacon和assoc rsp时,更新EDCA寄存器 */
202 HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_DEFAULT_VO_REG, /* 如果AP不是WMM的,则STA会去使能EDCA寄存器,并设置VO寄存器 */
203
208#ifdef _PRE_WLAN_FEATURE_DFS
209 HMAC_WLAN_CTX_EVENT_SUB_TYPR_DFS_TEST,
210 HMAC_WALN_CTX_EVENT_SUB_TYPR_DFS_CAC_CTRL_TX, /* DFS 1min CAC把vap状态位置为pause或者up,同时禁止或者开启硬件发送 */
211#endif
212
217 HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_MU_EDCA_REG, /* STA收到beacon和assoc rsp时,更新MU EDCA寄存器 */
218 HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_AFFECTED_ACS_REG, /* STA收到MU EDCA Control Frame时,更新相关寄存器 */
222
223#ifdef _PRE_WLAN_FEATURE_TWT
224 HMAC_WLAN_CTX_EVENT_SUB_TYPE_UPDATE_TWT, /* STA收到twt 时,更新寄存器 */
225#endif
226
227#ifdef _PRE_WLAN_FEATURE_WUR_TX
228 HMAC_WLAN_CTX_EVENT_SUB_TYPE_UPDATE_WUR, /* STA收到WUR相关帧时,更新相关参数 */
229#endif
230
232
234
236 HMAC_WLAN_CTX_EVENT_SUB_TYPE_NEW_FRW_MGMT, /* 新frw机制的管理帧发送处理消息,
237 此 ID为保证新老机制共存而增加,待调好之后删除 */
241
242/* MISC杂散事件 */
243typedef enum {
248// #ifdef _PRE_SUPPORT_ACS
250// #endif
251
252#ifdef _PRE_WLAN_ONLINE_DPD
253 HMAC_TO_HMAC_DPD,
254#endif
255
258
259typedef enum {
260 THRUPUT_NOACK, /* 使用最大速率NOACK测试峰值性能 */
261 THRUPUT_DEV_WIFI, /* DEV wifi线程峰值性能测试 frw死循环noack发包 */
262 THRUPUT_HAL_BYPASS, /* 逻辑bypass峰值性能测试,不写入FIFO队列软件产生发送完成中断 */
263 THRUPUT_HMAC_PK, /* HMAC pk版本,bypass不相关流程 */
264 THRUPUT_FIX_AGGR, /* 配置强制聚合数 */
265 THRUPUT_COMP_SCHE_BYPASS, /* 发送完成上报HMAC消息bypass使能 */
266 THRUPUT_CACHE_MISS_STATISTIC, /* CACHE MISS DFX */
267 THRUPUT_DELAY_START_NUM, /* 延时统计开始序号 */
268 THRUPUT_DELAY_END_NUM, /* 延时统计结束序号 */
269 THRUPUT_TX_BEFORE_HCC, /* TX HCC之前丢包 */
270 THRUPUT_RX_AFTER_HCC, /* RX HCC之后丢包 */
271 THRUPUT_RX_REPORT, /* RX 流量上报 */
272 THRUPUT_TASK_CPU, /* 查看任务CPU使用率 */
273 THRUPUT_TX_PK, /* TX PK流程 */
274 THRUPUT_RX_PK, /* RX PK流程 */
275 THRUPUT_HCC_STAT, /* HCC队列查询 */
276 THRUPUT_RESUME_FRW_TX_DATA, /* 数据通路TX恢复走wifi_frw_txdata任务 */
277 THRUPUT_ALG_BYPASS, /* bypass host侧tx rx逐包通知 */
278 THRUPUT_RESUME_FRW_RX_DATA, /* 数据通路RX恢复走wifi_frw_txdata任务 */
279 THRUPUT_TEST_SCHEDULE, /* 开关打开后,下行数据报文入tid队列 */
280 THRUPUT_TEST_NO_SCHEDULE, /* 开关打开后,下行数据报文都不入tid队列 */
281 THRUPUT_TX_ENQUE_TID, /* 开关打开后,TX方向性能模式关闭 */
282 THRUPUT_TEST_QUERY_RATE_STAT, /* 查询一段时间收发包速率统计 */
285
286/*****************************************************************************
287 7 STRUCT定义
288*****************************************************************************/
289
290/* DMAC与HMAC模块共用的WLAN DRX事件结构体 */
291typedef struct {
292 oal_netbuf_stru *netbuf; /* netbuf链表一个元素 */
293 osal_u16 netbuf_num; /* netbuf链表的个数 */
294 osal_u8 resv[2]; /* 2字节对齐 */
296
297/* DMAC与HMAC模块共用的WLAN CRX事件结构体 */
298typedef struct {
299 oal_netbuf_stru *netbuf; /* 指向管理帧对应的netbuf */
300 // osal_u8 *chtxt; /* Shared Key认证用的challenge text */
302
303/* DMAC与HMAC模块共用的DTX事件结构体 */
304typedef struct {
305 oal_netbuf_stru *netbuf; /* netbuf链表一个元素 */
310
320
321/* 扫描请求事件payload结构体 */
322typedef struct {
323 mac_scan_req_stru *scan_params; /* 将扫描参数传下去 */
325
326/* 处理MPDU的MSDU的处理状态的结构体的定义 */
327typedef struct {
328 oal_netbuf_stru *curr_netbuf; /* 当前处理的netbuf指针 */
329 osal_u8 *curr_netbuf_data; /* 当前处理的netbuf的data指针 */
330 osal_u16 submsdu_offset; /* 当前处理的submsdu的偏移量, */
331 osal_u8 msdu_nums_in_netbuf; /* 当前netbuf包含的总的msdu数目 */
332 osal_u8 procd_msdu_in_netbuf; /* 当前netbuf中已处理的msdu数目 */
333 osal_u8 netbuf_nums_in_mpdu; /* 当前MPDU的中的总的netbuf的数目 */
334 osal_u8 procd_netbuf_nums; /* 当前MPDU中已处理的netbuf的数目 */
335 osal_u8 procd_msdu_nums_in_mpdu; /* 当前MPDU中已处理的MSDU数目 */
336
339
340/* 每一个MSDU包含的内容的结构体的定义 */
341typedef struct {
342 osal_u8 sa[WLAN_MAC_ADDR_LEN]; /* MSDU发送的源地址 */
343 osal_u8 da[WLAN_MAC_ADDR_LEN]; /* MSDU接收的目的地址 */
344 osal_u8 ta[WLAN_MAC_ADDR_LEN]; /* MSDU接收的发送地址 */
346 osal_u8 resv[1];
347
348 oal_netbuf_stru *netbuf; /* MSDU对应的netbuf指针(可以使clone的netbuf) */
350
351typedef struct {
352 osal_char signal; /* 信号强度 */
353 osal_u16 asoc_id; /* Association ID of the STA */
354 osal_u32 rx_packets; /* total packets received */
355 osal_u32 tx_packets; /* total packets transmitted */
356 osal_u32 rx_bytes; /* total bytes received */
357 osal_u32 tx_bytes; /* total bytes transmitted */
358 osal_u32 tx_retries; /* 发送重传次数 */
359 osal_u32 rx_dropped_misc; /* 接收失败次数 */
360 osal_u32 tx_failed; /* 发送失败次数 */
361 osal_s16 free_power; /* 底噪 */
362 osal_u16 chload; /* 信道繁忙程度 */
364 mac_rate_info_stru txrate; /* vap当前速率 */
366
367#ifdef _PRE_WLAN_FEATURE_M2S
368typedef struct {
370 oal_bool_enum_uint8 m2s_result;
371 osal_u8 m2s_mode; /* 当前切换业务 */
372 osal_u8 m2s_state; /* 当前m2s状态 */
373 osal_u8 vap_num;
374} hmac_m2s_complete_syn_stru;
375#endif
376
377/* MU EDCA Control Field */
378typedef struct {
379 /* 协议中规定的B0~B3分别对应BK、BE、VI、VO,而硬件刚好相反,对应VO、VI、BE、BK */
386
392
402
407
413
420
421#ifdef _PRE_WLAN_FEATURE_WMMAC
422/* 挂载在hmac_ctx_action_event_stru.resv[2]传递给dmac */
423typedef struct {
424 osal_u8 ac;
425 osal_u8 psb : 1;
426 osal_u8 direction : 7;
427} hmac_addts_info_stru;
428#endif
429
430/* DMAC与HMAC模块共用的CTX子类型ACTION对应的事件的结构体,当DMAC自身产生DELBA帧时,使用该结构体向HMAC模块抛事件 */
431typedef struct {
432 mac_category_enum_uint8 action_category; /* ACTION帧的类型 */
433 osal_u8 action; /* 不同ACTION类下的子帧类型 */
435 osal_u16 frame_len; /* 帧长度 */
436 osal_u8 hdr_len; /* 帧头长度 */
437 osal_u8 tidno; /* tidno,部分action帧使用 */
438 osal_u8 initiator; /* 触发端方向 */
439
440 /* 以下为接收到req帧,发送rsp帧后,需要同步到dmac的内容 */
441 osal_u8 status; /* rsp帧中的状态 */
442 osal_u16 baw_start; /* 窗口开始序列号 */
443 osal_u16 baw_size; /* 窗口大小 */
444 osal_u8 ampdu_max_num; /* BA会话下的最多聚合的AMPDU的个数 */
445 oal_bool_enum_uint8 amsdu_supp; /* 是否支持AMSDU */
446 osal_u16 ba_timeout; /* BA会话交互超时时间 */
447 mac_back_variant_enum_uint8 back_var; /* BA会话的变体 */
448 osal_u8 dialog_token; /* ADDBA交互帧的dialog token */
449 osal_u8 ba_policy; /* Immediate=1 Delayed=0 */
450 osal_u8 lut_index; /* LUT索引 */
451 osal_u8 mac_addr[WLAN_MAC_ADDR_LEN]; /* 用于DELBA/DELTS查找HMAC用户 */
452#ifdef _PRE_WLAN_FEATURE_WMMAC
453 osal_u8 tsid; /* TS相关Action帧中的tsid值 */
454 osal_u8 ts_dialog_token; /* ADDTS交互帧的dialog token */
455 hmac_addts_info_stru addts_info;
456#endif
458
459/* Update join req 参数写寄存器的结构体定义 */
460typedef struct {
461 osal_u8 bssid[WLAN_MAC_ADDR_LEN]; /* 加入的AP的BSSID */
463 mac_channel_stru current_channel; /* 要切换的信道信息 */
464 osal_u32 beacon_filter; /* 过滤beacon帧的滤波器开启标识位 */
465 osal_u32 non_frame_filter; /* 过滤no_frame帧的滤波器开启标识位 */
466 osal_u8 ssid[WLAN_SSID_MAX_LEN]; /* 加入的AP的SSID */
467 osal_u8 dtim_period; /* dtim period */
468 oal_bool_enum_uint8 dot11_40mhz_operation_implemented; /* dot11FortyMHzOperationImplemented */
470 hmac_set_rate_stru min_rate; /* Update join req 需要配置的速率集参数 */
472
473#ifdef _PRE_WLAN_FEATURE_11AX
474typedef struct {
476} hmac_ctx_sta_asoc_set_sr_reg_stru;
477#endif
478
480
481/* hmac to dmac配置同步消息结构体 */
482typedef struct {
483 wlan_cfgid_enum_uint16 syn_id; /* 同步事件ID */
484 osal_u16 len; /* 事件payload长度 */
485 osal_u8 msg_body[0]; /* 事件payload */
487
488/* HMAC到DMAC配置同步操作结构体 */
489typedef struct {
491 osal_u8 resv[2];
492 osal_u32(*set_func)(hmac_vap_stru *hmac_vap, osal_u8 len, osal_u8 *param);
494
495/* 1字节对齐 */
496#pragma pack(push, 1)
497#pragma pack(pop)
498
499/*****************************************************************************
500 函数定义
501*****************************************************************************/
502/*****************************************************************************
503 功能描述 : 从当前的netbuf指针开始,释放后续n个netbuf元素
504*****************************************************************************/
505static INLINE__ osal_u32 hmac_rx_free_netbuf_list(
506 oal_netbuf_head_stru *netbuf_hdr,
507 oal_netbuf_stru **pst_netbuf,
508 osal_u16 nums)
509{
510 oal_netbuf_stru *netbuf_temp;
511 osal_u16 us_netbuf_num;
512
513 if (OAL_UNLIKELY((netbuf_hdr == OAL_PTR_NULL) || (pst_netbuf == OAL_PTR_NULL))) {
515 }
516
517 for (us_netbuf_num = 0; us_netbuf_num < nums; us_netbuf_num++) {
518 netbuf_temp = oal_get_netbuf_next(*pst_netbuf);
519
520 oal_netbuf_delete(*pst_netbuf, netbuf_hdr);
522 }
523 *pst_netbuf = netbuf_temp;
524 if (netbuf_hdr == (oal_netbuf_head_stru *)(*pst_netbuf)) {
525 break;
526 }
527 }
528 return OAL_SUCC;
529}
530
531/*****************************************************************************
532 功能描述 : 根据netbuf获取payload地址
533*****************************************************************************/
534static INLINE__ osal_u8* mac_netbuf_get_payload(const oal_netbuf_stru *pst_netbuf)
535{
536#if defined(_PRE_PRODUCT_ID_HIMPXX_DEV)
537 return OAL_NETBUF_PAYLOAD(pst_netbuf);
538#else
539 /* 注意!对51而言,此处只偏移了24字节,所以如果mac header长度不是24字节的不要使用该函数 */
540 return OAL_NETBUF_PAYLOAD(pst_netbuf) + MAC_80211_FRAME_LEN;
541#endif
542}
543
544#define mac_get_netbuf_by_cb(ptr) \
545 ((oal_netbuf_stru *)((osal_s8 *)(ptr) - (osal_ulong)(&((oal_netbuf_stru *)0)->cb)))
546
547/*****************************************************************************
548 函 数 名 : mac_get_wlan_frame_type
549 功能描述 : 根据tx control block获取帧类型
550*****************************************************************************/
551static INLINE__ osal_u16 mac_get_wlan_frame_type(const mac_tx_ctl_stru *tx_ctl)
552{
553 oal_netbuf_stru *netbuf = mac_get_netbuf_by_cb(tx_ctl);
554 return ((mac_ieee80211_frame_stru *)(oal_netbuf_header(netbuf)))->frame_control.type;
555}
556
557/*****************************************************************************
558 函 数 名 : mac_get_wlan_frame_subtype
559 功能描述 : 根据tx control block获取帧子类型
560*****************************************************************************/
561static INLINE__ osal_u16 mac_get_wlan_frame_subtype(const mac_tx_ctl_stru *tx_ctl)
562{
563 oal_netbuf_stru *netbuf = mac_get_netbuf_by_cb(tx_ctl);
564 return ((mac_ieee80211_frame_stru *)(oal_netbuf_header(netbuf)))->frame_control.sub_type;
565}
566
567/*****************************************************************************
568 函 数 名 : mac_get_is_data_frame
569 功能描述 : 判断一个帧是否为数据帧中的data帧或qos data帧
570*****************************************************************************/
571static INLINE__ osal_u8 mac_get_is_data_frame(const mac_tx_ctl_stru *tx_ctrl)
572{
573 if ((mac_get_wlan_frame_type(tx_ctrl) == WLAN_DATA_BASICTYPE) &&
574 (mac_get_wlan_frame_subtype(tx_ctrl) == WLAN_DATA ||
575 mac_get_wlan_frame_subtype(tx_ctrl) == WLAN_QOS_DATA)) {
576 return OSAL_TRUE;
577 }
578 return OSAL_FALSE;
579}
580
581/*****************************************************************************
582 函 数 名 : mac_get_is_qos_data
583 功能描述 : 判断一个帧是否为数据帧中的qos data帧或qos null data帧
584*****************************************************************************/
585static INLINE__ osal_u8 mac_get_is_qos_data(const mac_tx_ctl_stru *tx_ctrl)
586{
587 if ((mac_get_wlan_frame_type(tx_ctrl) == WLAN_DATA_BASICTYPE) &&
588 (mac_get_wlan_frame_subtype(tx_ctrl) == WLAN_QOS_DATA ||
589 mac_get_wlan_frame_subtype(tx_ctrl) == WLAN_QOS_NULL_FRAME)) {
590 return OSAL_TRUE;
591 }
592 return OSAL_FALSE;
593}
594
595/*****************************************************************************
596 函 数 名 : mac_get_is_bar
597 功能描述 : 判断一个帧是否为控制帧中的block ack req帧
598*****************************************************************************/
599static INLINE__ osal_u8 mac_get_is_bar(const mac_tx_ctl_stru *tx_ctrl)
600{
601 if (mac_get_wlan_frame_type(tx_ctrl) == WLAN_CONTROL &&
602 mac_get_wlan_frame_subtype(tx_ctrl) == WLAN_BLOCKACK_REQ) {
603 return OSAL_TRUE;
604 }
605 return OSAL_FALSE;
606}
607/*****************************************************************************
608 函 数 名 : mac_set_rx_cb_mac_hdr
609 功能描述 : 设置mac头的值
610
611*****************************************************************************/
612static INLINE__ osal_void mac_set_rx_cb_mac_hdr(mac_rx_ctl_stru *cb_ctrl, osal_u32 *mac_hdr_start_addr)
613{
614 unref_param(cb_ctrl);
615 unref_param(mac_hdr_start_addr);
616 return;
617}
618
619/* to do */
620/*****************************************************************************
621 函 数 名 : mac_get_frame_header_addr
622 功能描述 : 根据tx control block获取对应的帧头地址
623*****************************************************************************/
624static INLINE__ mac_ieee80211_frame_stru *mac_get_frame_header_addr(const mac_tx_ctl_stru *tx_ctl)
625{
626 oal_netbuf_stru *netbuf = mac_get_netbuf_by_cb(tx_ctl);
627 return (mac_ieee80211_frame_stru *)(oal_netbuf_header(netbuf));
628}
629
630/*****************************************************************************
631 函 数 名 : mac_get_rx_cb_mac_hdr
632 功能描述 : 获取mac头的值
633
634*****************************************************************************/
635static INLINE__ osal_u32 *mac_get_rx_cb_mac_hdr(mac_rx_ctl_stru *cb_ctrl)
636{
637 oal_netbuf_stru *netbuf = mac_get_netbuf_by_cb(cb_ctrl);
638 return (osal_u32 *)(oal_netbuf_header(netbuf));
639}
640
641static INLINE__ osal_bool mac_pk_mode(const oal_netbuf_stru *netbuf)
642{
644}
645
646osal_void mac_set_rx_cb_mac_hdr(mac_rx_ctl_stru *cb_ctrl, osal_u32 *mac_hdr_start_addr);
648
649#ifdef __cplusplus
650#if __cplusplus
651}
652#endif
653#endif
654
655#endif /* end of file */
@ OAL_ERR_CODE_OAL_MEM_ALREADY_FREE
Definition common_error_code_rom.h:275
@ OAL_SUCC
Definition common_error_code_rom.h:18
@ OAL_ERR_CODE_PTR_NULL
Definition common_error_code_rom.h:34
hmac_misc_sub_type_enum
Definition dmac_ext_if_hcm.h:243
@ HMAC_MISC_SUB_TYPE_HMAC_TO_CALI
Definition dmac_ext_if_hcm.h:247
@ HMAC_MISC_SUB_TYPE_CALI_TO_HMAC
Definition dmac_ext_if_hcm.h:246
@ HMAC_MISC_SUB_TYPE_DISASOC
Definition dmac_ext_if_hcm.h:245
@ HMAC_MISC_SUB_TYPE_BUTT
Definition dmac_ext_if_hcm.h:256
@ HMAC_MISC_SUB_TYPE_RADAR_DETECT
Definition dmac_ext_if_hcm.h:244
@ HMAC_MISC_SUB_TYPE_RESCAN
Definition dmac_ext_if_hcm.h:249
hmac_thruput_enum
Definition dmac_ext_if_hcm.h:259
@ THRUPUT_RX_PK
Definition dmac_ext_if_hcm.h:274
@ THRUPUT_DEV_WIFI
Definition dmac_ext_if_hcm.h:261
@ THRUPUT_HAL_BYPASS
Definition dmac_ext_if_hcm.h:262
@ THRUPUT_TEST_NO_SCHEDULE
Definition dmac_ext_if_hcm.h:280
@ THRUPUT_ALG_BYPASS
Definition dmac_ext_if_hcm.h:277
@ THRUPUT_TEST_QUERY_RATE_STAT
Definition dmac_ext_if_hcm.h:282
@ THRUPUT_HCC_STAT
Definition dmac_ext_if_hcm.h:275
@ THRUPUT_FIX_AGGR
Definition dmac_ext_if_hcm.h:264
@ THRUPUT_CACHE_MISS_STATISTIC
Definition dmac_ext_if_hcm.h:266
@ THRUPUT_TYPE_BUTT
Definition dmac_ext_if_hcm.h:283
@ THRUPUT_TX_ENQUE_TID
Definition dmac_ext_if_hcm.h:281
@ THRUPUT_COMP_SCHE_BYPASS
Definition dmac_ext_if_hcm.h:265
@ THRUPUT_RESUME_FRW_RX_DATA
Definition dmac_ext_if_hcm.h:278
@ THRUPUT_DELAY_START_NUM
Definition dmac_ext_if_hcm.h:267
@ THRUPUT_TEST_SCHEDULE
Definition dmac_ext_if_hcm.h:279
@ THRUPUT_TX_BEFORE_HCC
Definition dmac_ext_if_hcm.h:269
@ THRUPUT_TASK_CPU
Definition dmac_ext_if_hcm.h:272
@ THRUPUT_RX_AFTER_HCC
Definition dmac_ext_if_hcm.h:270
@ THRUPUT_NOACK
Definition dmac_ext_if_hcm.h:260
@ THRUPUT_TX_PK
Definition dmac_ext_if_hcm.h:273
@ THRUPUT_HMAC_PK
Definition dmac_ext_if_hcm.h:263
@ THRUPUT_RX_REPORT
Definition dmac_ext_if_hcm.h:271
@ THRUPUT_RESUME_FRW_TX_DATA
Definition dmac_ext_if_hcm.h:276
@ THRUPUT_DELAY_END_NUM
Definition dmac_ext_if_hcm.h:268
hmac_wlan_ctx_event_sub_type_enum
Definition dmac_ext_if_hcm.h:182
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_ADD_USER
Definition dmac_ext_if_hcm.h:184
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_CALI_HMAC2DMAC
Definition dmac_ext_if_hcm.h:213
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_MGMT
Definition dmac_ext_if_hcm.h:183
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_SCHED_SCAN_REQ
Definition dmac_ext_if_hcm.h:192
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_DEFAULT_VO_REG
Definition dmac_ext_if_hcm.h:202
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_CONN_RESULT
Definition dmac_ext_if_hcm.h:197
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_MU_EDCA_REG
Definition dmac_ext_if_hcm.h:217
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_RESET_PSM
Definition dmac_ext_if_hcm.h:193
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_AFFECTED_ACS_REG
Definition dmac_ext_if_hcm.h:218
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_CLOSE_11AX_RELATED_PARA
Definition dmac_ext_if_hcm.h:221
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_CALI_MATRIX_HMAC2DMAC
Definition dmac_ext_if_hcm.h:215
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_JOIN_DTIM_TSF_REG
Definition dmac_ext_if_hcm.h:196
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_BUTT
Definition dmac_ext_if_hcm.h:238
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_DSCR_OPT
Definition dmac_ext_if_hcm.h:214
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_MULTI_BSSID_SET
Definition dmac_ext_if_hcm.h:233
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_EDCA_REG
Definition dmac_ext_if_hcm.h:201
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_SCAN_REQ
Definition dmac_ext_if_hcm.h:191
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_ASOC_WRITE_REG
Definition dmac_ext_if_hcm.h:199
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_NEW_FRW_MGMT
Definition dmac_ext_if_hcm.h:236
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_BA_SYNC
Definition dmac_ext_if_hcm.h:188
@ HMAC_WALN_CTX_EVENT_SUB_TYPR_ENABLE_TX
Definition dmac_ext_if_hcm.h:207
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_PRIV_REQ
Definition dmac_ext_if_hcm.h:189
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_SWITCH_TO_NEW_CHAN
Definition dmac_ext_if_hcm.h:204
@ HMAC_WALN_CTX_EVENT_SUB_TYPR_DISABLE_TX
Definition dmac_ext_if_hcm.h:206
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_FEEDBACK_STATUS
Definition dmac_ext_if_hcm.h:219
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_NOTIFY_ALG_ADD_USER
Definition dmac_ext_if_hcm.h:185
@ HMAC_WALN_CTX_EVENT_SUB_TYPR_SELECT_CHAN
Definition dmac_ext_if_hcm.h:205
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_DEL_USER
Definition dmac_ext_if_hcm.h:186
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SEND_PROBE_REQUEST_FRAME
Definition dmac_ext_if_hcm.h:231
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_STA_SET_SPATIAL_REUSE_REG
Definition dmac_ext_if_hcm.h:220
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_APP_IE_H2D
Definition dmac_ext_if_hcm.h:216
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_APF_CMD
Definition dmac_ext_if_hcm.h:235
@ HMAC_WLAN_CTX_EVENT_SUB_TYPE_JOIN_SET_REG
Definition dmac_ext_if_hcm.h:195
osal_u32 hmac_vap_set_cb_tx_user_idx(hmac_vap_stru *hmac_vap, mac_tx_ctl_stru *tx_ctl, const osal_u8 *data)
hal_rx_ctl_stru mac_rx_ctl_stru
Definition dmac_ext_if_hcm.h:479
osal_u8 hmac_wlan_ctx_event_sub_type_enum_uint8
Definition dmac_ext_if_hcm.h:240
#define mac_get_cb_pk_mode(_pst_tx_ctrl)
Definition dmac_ext_if_hcm.h:145
#define mac_get_netbuf_by_cb(ptr)
Definition dmac_ext_if_hcm.h:544
osal_u16 dmac_disasoc_misc_reason_enum_uint16
Definition dmac_ext_if_type.h:27
#define unref_param(P)
Definition dmac_misc_type.h:33
osal_u8 hal_reset_hw_type_enum_uint8
Definition hal_commom_ops_type_rom.h:152
osal_u8 hal_reset_mac_submod_enum_uint8
Definition hal_common_ops_device_rom.h:427
#define WLAN_MAC_ADDR_LEN
Definition mac_addr.c:28
#define MAC_80211_FRAME_LEN
Definition mac_frame_common_rom.h:27
osal_u8 mac_category_enum_uint8
Definition mac_frame_common_rom.h:94
osal_u8 resv1
Definition oal_net.h:1
#define OAL_NETBUF_PAYLOAD(_pst_buf)
Definition oal_netbuf_ext.h:30
#define OAL_NETBUF_CB(_pst_buf)
Definition oal_netbuf_ext.h:32
td_u32 oal_netbuf_free(oal_netbuf_stru *netbuf)
#define OAL_UNLIKELY(_expr)
Definition oal_plat_type.h:43
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
#define OAL_PTR_NULL
Definition oal_types_device_rom.h:30
#define INLINE__
Definition osal_list.h:25
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
#define OSAL_FALSE
Definition osal_types.h:56
char osal_char
Definition osal_types.h:16
short osal_s16
Definition osal_types.h:18
void osal_void
Definition osal_types.h:29
#define OSAL_TRUE
Definition osal_types.h:57
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition dmac_ext_if_hcm.h:304
oal_netbuf_stru * netbuf
Definition dmac_ext_if_hcm.h:305
osal_u16 frame_len
Definition dmac_ext_if_hcm.h:306
osal_u16 remain
Definition dmac_ext_if_hcm.h:307
Definition dmac_ext_if_hcm.h:489
wlan_cfgid_enum_uint16 cfgid
Definition dmac_ext_if_hcm.h:490
Definition dmac_ext_if_hcm.h:387
osal_u8 scan_idx
Definition dmac_ext_if_hcm.h:388
wlan_scan_chan_stats_stru chan_result
Definition dmac_ext_if_hcm.h:390
Definition dmac_ext_if_hcm.h:431
osal_u8 initiator
Definition dmac_ext_if_hcm.h:438
osal_u16 baw_start
Definition dmac_ext_if_hcm.h:442
osal_u8 dialog_token
Definition dmac_ext_if_hcm.h:448
mac_category_enum_uint8 action_category
Definition dmac_ext_if_hcm.h:432
osal_u8 ampdu_max_num
Definition dmac_ext_if_hcm.h:444
osal_u8 ba_policy
Definition dmac_ext_if_hcm.h:449
oal_bool_enum_uint8 amsdu_supp
Definition dmac_ext_if_hcm.h:445
osal_u16 user_idx
Definition dmac_ext_if_hcm.h:434
mac_back_variant_enum_uint8 back_var
Definition dmac_ext_if_hcm.h:447
osal_u16 baw_size
Definition dmac_ext_if_hcm.h:443
osal_u8 action
Definition dmac_ext_if_hcm.h:433
osal_u8 tidno
Definition dmac_ext_if_hcm.h:437
osal_u8 status
Definition dmac_ext_if_hcm.h:441
osal_u16 ba_timeout
Definition dmac_ext_if_hcm.h:446
osal_u8 hdr_len
Definition dmac_ext_if_hcm.h:436
osal_u8 lut_index
Definition dmac_ext_if_hcm.h:450
osal_u16 frame_len
Definition dmac_ext_if_hcm.h:435
Definition dmac_ext_if_hcm.h:460
hmac_set_rate_stru min_rate
Definition dmac_ext_if_hcm.h:470
oal_bool_enum_uint8 dot11_40mhz_operation_implemented
Definition dmac_ext_if_hcm.h:468
osal_u16 beacon_period
Definition dmac_ext_if_hcm.h:462
osal_u8 resv
Definition dmac_ext_if_hcm.h:469
mac_channel_stru current_channel
Definition dmac_ext_if_hcm.h:463
osal_u8 dtim_period
Definition dmac_ext_if_hcm.h:467
osal_u32 non_frame_filter
Definition dmac_ext_if_hcm.h:465
osal_u32 beacon_filter
Definition dmac_ext_if_hcm.h:464
Definition dmac_ext_if_hcm.h:322
mac_scan_req_stru * scan_params
Definition dmac_ext_if_hcm.h:323
Definition dmac_ext_if_hcm.h:403
osal_u16 user_idx
Definition dmac_ext_if_hcm.h:405
dmac_disasoc_misc_reason_enum_uint16 disasoc_reason
Definition dmac_ext_if_hcm.h:404
Definition dmac_ext_if_hcm.h:327
osal_u8 procd_msdu_nums_in_mpdu
Definition dmac_ext_if_hcm.h:335
osal_u8 msdu_nums_in_netbuf
Definition dmac_ext_if_hcm.h:331
osal_u8 flag
Definition dmac_ext_if_hcm.h:337
osal_u16 submsdu_offset
Definition dmac_ext_if_hcm.h:330
oal_netbuf_stru * curr_netbuf
Definition dmac_ext_if_hcm.h:328
osal_u8 * curr_netbuf_data
Definition dmac_ext_if_hcm.h:329
osal_u8 netbuf_nums_in_mpdu
Definition dmac_ext_if_hcm.h:333
osal_u8 procd_msdu_in_netbuf
Definition dmac_ext_if_hcm.h:332
osal_u8 procd_netbuf_nums
Definition dmac_ext_if_hcm.h:334
Definition dmac_ext_if_hcm.h:341
oal_netbuf_stru * netbuf
Definition dmac_ext_if_hcm.h:348
osal_u8 priority
Definition dmac_ext_if_hcm.h:345
Definition dmac_ext_if_hcm.h:393
hal_reset_mac_submod_enum_uint8 reset_mac_mod
Definition dmac_ext_if_hcm.h:395
hal_reset_hw_type_enum_uint8 reset_type
Definition dmac_ext_if_hcm.h:394
osal_u8 reset_phy_reg
Definition dmac_ext_if_hcm.h:396
osal_u8 resv
Definition dmac_ext_if_hcm.h:399
osal_u8 reset_mac_reg
Definition dmac_ext_if_hcm.h:397
osal_u8 is_rx_dscrlist_reset
Definition dmac_ext_if_hcm.h:398
Definition dmac_ext_if_hcm.h:311
mac_ch_switch_info_stru ch_switch_info
Definition dmac_ext_if_hcm.h:313
oal_bool_enum_uint8 switch_immediately
Definition dmac_ext_if_hcm.h:315
oal_bool_enum_uint8 check_cac
Definition dmac_ext_if_hcm.h:316
mac_channel_stru channel
Definition dmac_ext_if_hcm.h:312
oal_bool_enum_uint8 dot11_40mhz_intolerant
Definition dmac_ext_if_hcm.h:317
Definition mac_vap_ext.h:789
Definition dmac_ext_if_hcm.h:351
osal_u32 tx_packets
Definition dmac_ext_if_hcm.h:355
osal_u32 rx_dropped_misc
Definition dmac_ext_if_hcm.h:359
osal_u32 tx_bytes
Definition dmac_ext_if_hcm.h:357
osal_u16 chload
Definition dmac_ext_if_hcm.h:362
osal_u16 asoc_id
Definition dmac_ext_if_hcm.h:353
mac_rate_info_stru txrate
Definition dmac_ext_if_hcm.h:364
osal_u32 rx_bytes
Definition dmac_ext_if_hcm.h:356
osal_u32 rx_packets
Definition dmac_ext_if_hcm.h:354
osal_u32 tx_retries
Definition dmac_ext_if_hcm.h:358
station_info_extend_stru station_info_extend
Definition dmac_ext_if_hcm.h:363
osal_u32 tx_failed
Definition dmac_ext_if_hcm.h:360
osal_char signal
Definition dmac_ext_if_hcm.h:352
osal_s16 free_power
Definition dmac_ext_if_hcm.h:361
Definition dmac_ext_if_hcm.h:482
wlan_cfgid_enum_uint16 syn_id
Definition dmac_ext_if_hcm.h:483
osal_u16 len
Definition dmac_ext_if_hcm.h:484
Definition dmac_ext_if_hcm.h:408
osal_u16 user_id
Definition dmac_ext_if_hcm.h:409
oal_bool_enum_uint8 need_delba
Definition dmac_ext_if_hcm.h:411
osal_u8 ba_size
Definition dmac_ext_if_hcm.h:410
Definition dmac_ext_if_hcm.h:414
wlan_m2s_type_enum_uint8 m2s_type
Definition dmac_ext_if_hcm.h:417
wlan_nss_enum_uint8 m2s_nss
Definition dmac_ext_if_hcm.h:416
osal_u8 device_id
Definition dmac_ext_if_hcm.h:415
Definition mac_vap_ext.h:2019
Definition dmac_ext_if_hcm.h:298
oal_netbuf_stru * netbuf
Definition dmac_ext_if_hcm.h:299
Definition dmac_ext_if_hcm.h:291
osal_u16 netbuf_num
Definition dmac_ext_if_hcm.h:293
oal_netbuf_stru * netbuf
Definition dmac_ext_if_hcm.h:292
Definition mac_vap_ext.h:468
Definition wlan_types_base_rom.h:258
Definition mac_frame_common_rom.h:575
Definition dmac_ext_if_hcm.h:378
osal_u8 affected_acs_b0
Definition dmac_ext_if_hcm.h:380
osal_u8 reserved
Definition dmac_ext_if_hcm.h:384
osal_u8 affected_acs_b3
Definition dmac_ext_if_hcm.h:383
osal_u8 affected_acs_b2
Definition dmac_ext_if_hcm.h:382
osal_u8 affected_acs_b1
Definition dmac_ext_if_hcm.h:381
Definition mac_vap_ext.h:656
Definition hal_common_ops_device_rom.h:978
Definition mac_device_ext.h:682
Definition dmac_ext_if_device_rom.h:98
Definition oal_skbuff.h:73
Definition oal_skbuff.h:82
Definition mac_vap_ext.h:1867
Definition wlan_types.h:776
Definition wlan_types.h:783
Definition hal_uart_v151_regs_def.h:38
osal_u16 wlan_cfgid_enum_uint16
Definition wlan_mib_hcm.h:27
osal_u8 mac_back_variant_enum_uint8
Definition wlan_resource_common_rom.h:40
#define WLAN_SERVICE_STA_MAX_NUM_PER_DEVICE
Definition wlan_spec_rom.h:58
#define WLAN_SSID_MAX_LEN
Definition wlan_types.h:55
osal_u8 wlan_nss_enum_uint8
Definition wlan_types_base_rom.h:240
@ WLAN_BLOCKACK_REQ
Definition wlan_types_base_rom.h:311
osal_u8 wlan_m2s_type_enum_uint8
Definition wlan_types_base_rom.h:444
@ WLAN_CONTROL
Definition wlan_types_base_rom.h:294
@ WLAN_DATA_BASICTYPE
Definition wlan_types_base_rom.h:295
@ WLAN_QOS_NULL_FRAME
Definition wlan_types_base_rom.h:337
@ WLAN_DATA
Definition wlan_types_base_rom.h:325
@ WLAN_QOS_DATA
Definition wlan_types_base_rom.h:333