WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
mac_user_ext.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2023. All rights reserved.
3 * Description: Header file of mac_user_ext.c.
4 * Create: 2020-7-8
5 */
6#ifndef __MAC_USER_EXT_H__
7#define __MAC_USER_EXT_H__
8
9/* 文件合一后去掉HMAC、DMAC两个宏 */
10#include "mac_device_ext.h"
11#include "frw_ext_if.h"
12#include "wlan_spec.h"
13#include "wlan_types_common.h"
14#include "wlan_mib_hcm.h"
15#include "mac_frame.h"
16#include "mac_device_ext.h"
17#include "oal_util.h"
18#include "oal_ext_if.h"
19#include "hal_ext_if.h"
20#include "mac_user_common.h"
23
24#ifdef __cplusplus
25#if __cplusplus
26extern "C" {
27#endif
28#endif
29
30/* 发送BA窗口记录seq number的最大个数,必须是2的整数次幂 */
31#define HMAC_TID_MAX_BUFS 128
32/* 发送BA窗口记录seq number的bitmap所使用的类型长度 */
33#define DMAC_TX_BUF_BITMAP_WORD_SIZE 32
34/* 发送BA窗口记录seq number的bit map的长度 */
35#define HMAC_TX_BUF_BITMAP_WORDS ((HMAC_TID_MAX_BUFS + DMAC_TX_BUF_BITMAP_WORD_SIZE - 1) / DMAC_TX_BUF_BITMAP_WORD_SIZE)
36
37/*****************************************************************************
38 宏定义
39*****************************************************************************/
40
41/* 与发送描述符和CB字段,实际申请user idx三者同时对应,无效用户id取最大值,为全board最大用户LIMIT */
42#define MAC_INVALID_USER_ID WLAN_USER_MAX_USER_LIMIT
43
44#ifdef _PRE_WLAN_FEATURE_WAPI
45#define WAPI_KEY_LEN 16
46#define WAPI_PN_LEN 16
47#define HMAC_WAPI_MAX_KEYID 2
48#endif
49
50#ifdef _PRE_WLAN_FEATURE_TX_CLASSIFY_LAN_TO_WLAN
51#define MAX_JUDGE_CACHE_LENGTH 20 /* 业务识别-用户待识别队列长度 */
52#define MAX_CONFIRMED_FLOW_NUM 2 /* 业务识别-用户已识别业务总数 */
53#endif
54/* 特性宏END,第二阶段需要挪走 */
55
56/*****************************************************************************
57 枚举定义
58*****************************************************************************/
59
60/* 特性枚举START,第二阶段需要挪走 */
61typedef enum {
62 WLAN_TX_TCP_DATA = 0, /* 发送TCP data */
63 WLAN_RX_TCP_DATA = 1, /* 接收TCP data */
64 WLAN_TX_UDP_DATA = 2, /* 发送UDP data */
65 WLAN_RX_UDP_DATA = 3, /* 接收UDP data */
66
70
78
79/* 特性枚举END,第二阶段需要挪走 */
80
81/* BA会话的状态枚举 */
82typedef enum {
83 HMAC_BA_INIT = 0, /* BA会话未建立 */
84 HMAC_BA_INPROGRESS, /* BA会话建立过程中 */
85 HMAC_BA_COMPLETE, /* BA会话建立完成 */
86 HMAC_BA_HALTED, /* BA会话节能暂停 */
87 HMAC_BA_FAILED, /* BA会话建立失败 */
88
92
93/*****************************************************************************
94 STRUCT定义
95*****************************************************************************/
96#ifdef _PRE_WLAN_FEATURE_WUR_TX
97typedef enum {
98 HMAC_USER_WUR_MODE_OFF = 0,
99 HMAC_USER_WUR_MODE_ON = 1,
100 HMAC_USER_WUR_MODE_SUSPEND = 2
101} hmac_user_wur_status_enum;
102
103/* 用户WUR能力字段信息 */
104typedef struct {
105 osal_u8 support_2g : 1, support_5g : 1, rsvd : 6; /* 支持频段 */
106 osal_u8 transition_delay; /* 转换时延 */
107 osal_u8 vl_wur_frame_support : 1,
108 wur_group_ids_support : 2,
109 rsvd1 : 1,
110 wur_basic_ppdu_hdr_support_20mhz : 1,
111 wur_fdma_support : 1,
112 wur_short_wakeup_frame_support : 1,
113 rsvd2 : 1; /* 能力信息 */
114 osal_u8 rsvd3; /* 保留1字节对齐 */
115} mac_user_wur_cap_ie_stru;
116
117typedef struct hmac_user_wur_info {
118 osal_u8 multi_time_cnt; /* 组播缓存/BSS参数更新,发送完WUR FL WAKE UP帧后计时 */
119 osal_u8 wur_status : 2, /* WUR服务的状态 */
120 unicast_buffered : 1, /* 用户标记单播缓存 */
121 multi_buffered : 1, /* 组播用户标记组播缓存 */
122 wur_ps_enqueue : 1, /* 是否进节能队列 */
123 send_multi_wakeup : 1, /* WUR FL WAKE UP帧已发送标记 */
124 rsvd : 2;
125 osal_u16 wur_id; /* WUR ID单播用户标识 */
126} hmac_user_wur_info_stru;
127#endif
128
129typedef struct {
130 osal_u16 spectrum_mgmt : 1, /* 频谱管理: 0=不支持, 1=支持 */
131 qos : 1, /* QOS: 0=非QOS站点, 1=QOS站点 */
132 barker_preamble_mode : 1, /* 供STA保存BSS中站点是否都支持short preamble.0=支持.1=不支持 */
133 apsd : 1, /* 自动节能: 0=不支持, 1=支持 */
134 /* 目前apsd只有写没有读,wifi联盟已自己定义了WMM
135 节能IE代替cap apsd功能, 此处预留为后续可能出的兼容性问题提供接口 */
136 pmf_active : 1, /* 管理帧加密使能开关 */
137 erp_use_protect : 1, /* 供STA保存AP是否启用了ERP保护 */
141 cap_1024qam : 1, /* Support 1024QAM */
142 bss_transition : 1, /* Support bss transition */
143 mdie : 1, /* mobility domain IE presented, for 11r cap */
145 smps_cap : 1, /* sta模式下,标识对端是否支持smps */
150
151#ifdef _PRE_WLAN_FEATURE_11AX
152typedef struct {
153osal_u32 max_mcs_1ss : 3, /* 一个空间流的MCS最大支持MAP */
154 max_mcs_2ss : 3, /* 一个空间流的MCS最大支持MAP */
155 max_mcs_3ss : 3, /* 一个空间流的MCS最大支持MAP */
156 max_mcs_4ss : 3, /* 一个空间流的MCS最大支持MAP */
157 max_mcs_5ss : 3, /* 一个空间流的MCS最大支持MAP */
158 max_mcs_6ss : 3, /* 一个空间流的MCS最大支持MAP */
159 max_mcs_7ss : 3, /* 一个空间流的MCS最大支持MAP */
160 max_mcs_8ss : 3; /* 一个空间流的MCS最大支持MAP */
161} mac_max_he_mcs_map_stru;
162typedef mac_max_he_mcs_map_stru mac_tx_max_he_mcs_map_stru;
163typedef mac_max_he_mcs_map_stru mac_rx_max_he_mcs_map_stru;
164#endif
165
166/* user结构体,对SA Query流程信息的保存结构 */
167typedef struct {
168 osal_u32 sa_query_start_time; /* sa_query 流程开始时间,单位ms */
170 osal_u16 sa_query_count; /* number of pending SA Query requests, 0 = no SA Query in progress */
171 frw_timeout_stru sa_query_interval_timer; /* SA Query 间隔定时器,相关dot11AssociationSAQueryRetryTimeout */
173
174#if (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION)
183#endif
184
185#ifdef _PRE_WLAN_FEATURE_WMMAC
186/* user结构中,ts信息的保存结果 */
187typedef struct mac_ts {
188 osal_u32 medium_time;
189 osal_u8 tsid;
190 osal_u8 up;
191 mac_wmmac_direction_enum_uint8 direction;
192 mac_ts_conn_status_enum_uint8 ts_status;
193 osal_u8 ts_dialog_token;
194 osal_u8 vap_id;
195 osal_u16 mac_user_idx;
196#if defined(_PRE_PRODUCT_ID_HOST)
197 /* 每个ts下都需要建立定时器,此处不放到hmac_user_stru */
198 frw_timeout_stru addts_timer;
199 osal_u8 second_flag;
200 osal_u8 rsv[3];
201#endif
202} mac_ts_stru;
203#endif
204
205/*
206 * 802.1X-port 状态结构体
207 * 1X端口状态说明:
208 * 1) portvalid && keydone 都是 TRUE: 表示端口处于合法状态
209 * 2) portvalid == TRUE && keydone == FALSE:表示端口处于未知状态密钥还未生效
210 * 3) portValid == FALSE && keydone== TRUE:表示端口处于非法状态密钥获取失败
211 * 4) portValid && keyDone are FALSE: 表示端口处于合法状态密钥还未生效
212 */
213typedef struct {
214 oal_bool_enum_uint8 keydone; /* 端口合法性是否允许测试 */
215 oal_bool_enum_uint8 portvalid; /* 端口合法性标识 */
216 osal_u8 resv0[2];
218
219
220/* 供AP查看STA是否被统计到对应项 */
221typedef struct {
222 osal_u8 no_short_slot_stats_flag : 1; /* user是否被统计到no short slot num中, 0未被统计, 1已被统计 */
223 osal_u8 no_short_preamble_stats_flag : 1; /* user是否被统计到no short preamble num中 */
224 osal_u8 no_erp_stats_flag : 1; /* user是否被统计到no erp num中 */
225 osal_u8 no_ht_stats_flag : 1; /* user是否被统计到no ht num中 */
226 osal_u8 no_gf_stats_flag : 1; /* user是否被统计到no gf num中 */
227 osal_u8 only_stats_20m_flag : 1; /* user是否被统计到no 20M only num中 */
228 osal_u8 no_40dsss_stats_flag : 1; /* user是否被统计到no 40dsss num中 */
229 osal_u8 no_lsig_txop_stats_flag : 1; /* user是否被统计到no lsig txop num中 */
230 osal_u8 resv0[3];
232
233/* AP侧keepalive活动的控制结构体 */
234typedef struct {
235 osal_u8 keepalive_count_ap; /* AP定时保活检测操作计数器 */
236 osal_u8 timer_to_keepalive_count; /* 复用aging timer/STA省电模式定时清醒策略,定时发送keepalive帧的计数器 */
237 osal_u8 delay_flag; /* 标志用户进入睡眠状态或者其他不能马上收帧反馈的状态 */
238 osal_u8 auc_resv[1];
240
241/* 空间流信息结构体 */
242typedef struct {
244 wlan_nss_enum_uint8 avail_num_spatial_stream; /* Tx和Rx支持Nss的交集,供算法调用 */
245 wlan_nss_enum_uint8 user_num_spatial_stream; /* 用户支持的空间流个数 */
247
248/* m2s user信息结构体 */
249typedef struct {
251 wlan_nss_enum_uint8 user_num_spatial_stream; /* 用户自身空间流能力 */
252 wlan_nss_enum_uint8 avail_num_spatial_stream; /* Tx和Rx支持Nss的交集,供算法调用 */
253
254 wlan_nss_enum_uint8 avail_bf_num_spatial_stream; /* 用户支持的Beamforming空间流个数 */
255 wlan_bw_cap_enum_uint8 avail_bandwidth; /* 用户和VAP带宽能力交集,供算法调用 */
256 wlan_bw_cap_enum_uint8 cur_bandwidth; /* 默认值与avail_bandwidth相同,供算法调用修改 */
259
260/* ------- hmac_user_rom.h START ---------- */
261typedef struct {
262 osal_spinlock lock_ps; /* 对队列和ul_mpdu_num操作时需要加锁 */
263 oal_netbuf_head_stru ps_queue_head; /* 用户节能缓存队列头 */
264 osal_atomic mpdu_num; /* 用户节能缓存队列中已存在的mpdu个数 */
266 osal_u8 auc_resv[3]; /* 保留2个字节用作对齐 */
268
269/* ------- hmac_user_rom.h END ---------- */
270
271/* ------- hmac_ext_if_hcm.h START ---------- */
272typedef struct {
274 osal_u32 rate_kbps; /* 速率大小(单位:kbps) */
275 osal_u8 aggr_subfrm_size; /* 聚合子帧数门限值 */
276 osal_u8 per; /* 该速率的PER(单位:%) */
277#ifdef _PRE_WLAN_DFT_STAT
278 osal_u8 best_rate_per; /* 最优速率的PER(单位:%) */
279 osal_u8 resv[1];
280#else
281 osal_u8 resv[2]; /* 预留2字节对齐 */
282#endif
284
285typedef struct {
286 osal_u16 baw_start; /* 第一个未确认的MPDU的序列号 */
287 osal_u16 last_seq_num; /* 最后一个发送的MPDU的序列号 */
288 osal_u16 baw_size; /* Block_Ack会话的buffer size大小 */
289 osal_u16 baw_head; /* bitmap中记录的第一个未确认的包的位置 */
290 osal_u16 baw_tail; /* bitmap中下一个未使用的位置 */
291 oal_bool_enum_uint8 is_ba; /* Session Valid Flag */
293 mac_back_variant_enum_uint8 back_var; /* BA会话的变体 */
294 osal_u8 dialog_token; /* ADDBA交互帧的dialog token */
295 osal_u8 ba_policy; /* Immediate=1 Delayed=0 */
296 oal_bool_enum_uint8 amsdu_supp; /* BLOCK ACK支持AMSDU的标识 */
297 osal_u8 *dst_addr; /* BA会话接收端地址 */
298 osal_u16 ba_timeout; /* BA会话交互超时时间 */
299 osal_u8 ampdu_max_num; /* BA会话下,能够聚合的最大的mpdu的个数 */
300 osal_u8 tx_ba_lut; /* BA会话LUT session index */
302 osal_u16 pre_baw_start; /* 记录前一次判断ba窗是否卡死时的ssn */
303 osal_u16 pre_last_seq_num; /* 记录前一次判断ba窗是否卡死时的lsn */
304 osal_u16 ba_jamed_cnt; /* BA窗卡死统计次数 */
307
308/* 一个站点下的每一个TID下的聚合接收的状态信息 */
309typedef struct {
311 osal_u8 lut_index; /* 接收端Session H/w LUT Index */
312 mac_ba_policy_enum_uint8 ba_policy; /* Immediate=1 Delayed=0 */
315/* ------- hmac_ext_if_hcm.h END ---------- */
316
317/* ================= FEATURE Start 特性相关 =========================== */
318
319/* ================= FEATURE End 特性相关 =========================== */
320
321/*****************************************************************************
322 结构体定义
323*****************************************************************************/
324#ifdef _PRE_WLAN_FEATURE_TX_CLASSIFY_LAN_TO_WLAN
325/* 业务识别-五元组结构体: 用于唯一地标识业务流 */
326typedef struct {
327 osal_u32 sip; /* ip */
328 osal_u32 dip;
329
330 osal_u16 sport; /* 端口 */
331 osal_u16 dport;
332
333 osal_u32 proto; /* 协议 */
334} hmac_tx_flow_info_stru;
335
336/* 业务识别-待识别队列结构体: */
337typedef struct {
338 hmac_tx_flow_info_stru flow_info;
339
340 osal_u32 len; /* 来包长度 */
341 osal_u8 flag; /* 有效位,用于计数 */
342
343 osal_u8 udp_flag; /* udp flag为1即为UDP帧 */
344 osal_u8 tcp_flag; /* tcp flag为1即为TCP帧 */
345
346 osal_u8 rtpver; /* RTP version */
347 osal_u32 rtpssrc; /* RTP SSRC */
348 osal_u32 payload_type; /* RTP:标记1bit、有效载荷类型(PT)7bit */
349} hmac_tx_judge_info_stru;
350
351/* 业务识别-待识别队列主要业务结构体: */
352typedef struct {
353 hmac_tx_flow_info_stru flow_info;
354
355 osal_u32 average_len; /* 业务来包平均长度 */
356 osal_u8 flag; /* 有效位 */
357
358 osal_u8 udp_flag; /* udp flag为1即为UDP帧 */
359 osal_u8 tcp_flag; /* tcp flag为1即为TCP帧 */
360
361 osal_u8 rtpver; /* RTP version */
362 osal_u32 rtpssrc; /* RTP SSRC */
363 osal_u32 payload_type; /* 标记1bit、有效载荷类型(PT)7bit */
364
365 osal_u32 wait_check_num; /* 待检测列表中此业务包个数 */
366} hmac_tx_major_flow_stru;
367
368/* 业务识别-用户已识别结构体: */
369typedef struct {
370 hmac_tx_flow_info_stru cfm_flow_info; /* 已识别业务的五元组信息 */
371
372 osal_ulong last_jiffies; /* 记录已识别业务的最新来包时间 */
373 osal_u16 cfm_tid; /* 已识别业务tid */
374
375 osal_u16 cfm_flag; /* 有效位 */
376} hmac_tx_cfm_flow_stru;
377
378/* 业务识别-用户待识别业务队列: */
379typedef struct {
380 osal_ulong jiffies_st; /* 记录待识别业务队列的起始时间与最新来包时间 */
381 osal_ulong jiffies_end;
382 osal_u32 to_judge_num; /* 用户待识别业务队列长度 */
383
384 hmac_tx_judge_info_stru judge_cache[MAX_JUDGE_CACHE_LENGTH]; /* 待识别流队列 */
385} hmac_tx_judge_list_stru;
386#endif
387
388typedef struct {
389 oal_bool_enum_uint8 in_use; /* 缓存BUF是否被使用 */
390 osal_u8 num_buf; /* 占用的netbuf个数与head中的qlen作用一致 */
391 osal_u16 seq_num; /* MPDU对应的序列号 */
392 oal_netbuf_head_stru netbuf_head; /* MPDU对应的描述符首地址 */
393 osal_u32 rx_time; /* 报文被缓存的时间戳 */
395
405
406/* TID对应的发送BA会话的状态 */
407typedef struct {
410
411 hmac_ba_conn_status_enum_uint8 ba_status; /* 该TID对应的BA会话的状态 */
412 osal_u8 addba_attemps; /* 启动建立BA会话的次数 */
413 osal_u8 dialog_token; /* 随机标记数 */
414 oal_bool_enum_uint8 ba_policy; /* Immediate=1 Delayed=0 */
415 osal_spinlock ba_status_lock; /* 该TID对应的BA会话的状态锁 */
417
418typedef struct {
419 osal_u32 short_preamble : 1, /* 是否支持802.11b短前导码 0=不支持, 1=支持 */
420 erp : 1, /* AP保存STA能力使用,指示user是否有ERP能力, 0=不支持,1=支持 */
421 short_slot_time : 1, /* 短时隙: 0=不支持, 1=支持 */
423 owe : 1,
426
427typedef struct {
428 osal_u8 rs_nrates; /* 个数 */
429 osal_u8 rs_rates[WLAN_USER_MAX_SUPP_RATES]; /* 速率 */
431
432/* Hmac侧接收侧BA会话句柄 */
433typedef struct {
434 osal_spinlock ba_lock; /* 02用于hcc线程和事件线程并发 */
435 osal_u16 baw_start; /* 第一个未收到的MPDU的序列号 */
436 osal_u16 baw_end; /* 最后一个可以接收的MPDU的序列号 */
437 osal_u16 baw_tail; /* 目前Re-Order队列中,最大的序列号 */
438 osal_u16 baw_size : 10; /* Block_Ack会话的buffer size大小 */
439 osal_u16 timer_triggered : 1; /* 上一次上报是否为定时器上报 */
440 osal_u16 is_ba : 1; /* Session Valid Flag */
441 osal_u16 ba_status : 4; /* 该TID对应的BA会话的状态 */
442
443 /* 以下action帧相关 */
444 osal_u8 dialog_token; /* ADDBA交互帧的dialog token */
445 osal_u8 back_var : 6; /* BA会话的变体 */
446 osal_u8 ba_policy : 1; /* Immediate=1 Delayed=0 */
447 osal_u8 amsdu_supp : 1; /* BLOCK ACK支持AMSDU的标识 */
448 osal_u16 status_code; /* 返回状态码 */
449 osal_u8 *transmit_addr; /* BA会话发送端地址 */
450 osal_u32 rx_buf_bitmap[2];
451 osal_u16 ba_timeout; /* BA会话交互超时时间 */
452 osal_u16 baw_head; /* bitmap的起始序列号 */
453 osal_u8 ba_resp_buf_size; /* ADDBA Response帧回复的buffer size大小 */
454 osal_u8 lut_index; /* 接收端Session H/w LUT Index */
455
457 osal_u8 mpdu_cnt; /* 当前Re-Order队列中,MPDU的数目 */
458 hmac_rx_buf_stru re_order_list[WLAN_AMPDU_RX_BUFFER_SIZE]; /* Re-Order队列 */
461
462/* user结构中,TID对应的BA信息的保存结构 */
463typedef struct {
464 osal_u8 tid : 4; /* 通信标识符 */
465 osal_u8 is_paused : 2; /* TID被暂停调度 */
466 osal_u8 tx_mode : 2; /* 发送模式: rifs,aggr,normal发送 */
467
468 osal_u8 is_delba_ing : 1; /* 该tid是否正在发delba */
470
471 osal_u8 rx_wrong_ampdu_num; /* 该tid未建立BA会话时收到的聚合子帧数(一般是DELBA失败) */
472 oal_bool_enum_uint8 ba_handle_tx_enable : 1; /* 该tid下发送方向是否允许建BA,配置命令需求 */
473 oal_bool_enum_uint8 ba_handle_rx_enable : 1; /* 该tid下接送方向是否允许建BA,配置命令需求 */
475
476 osal_u16 mpdu_num; /* MPDU个数 */
477 osal_u16 user_idx; /* 无效值为MAC_RES_MAC_USER_NUM */
478 osal_u32 in_num; /* 进入队列的包的个数 */
479 osal_u32 out_num; /* 出队列的包的个数 */
480 osal_u32 dispatch_num; /* 发生tid队列调度的次数 */
481 osal_u32 tid_buffer_frame_len; /* 各tid缓存帧长 */
482 struct osal_list_head retry_q;
483 oal_netbuf_head_stru buff_head; /* 发送缓存队列链表 */
484 osal_void *alg_priv; /* TID级别算法私有结构体 */
485 hmac_ba_rx_hdl_stru ba_rx_hdl; /* dmac rx ba info */
487 hmac_ba_rx_stru *ba_rx_info; /* 由于部分处理上移,这部分内存到LocalMem中申请 */
488 frw_timeout_stru ba_timer; /* 接收重排序缓冲超时 */
490
491typedef struct {
492 oal_netbuf_head_stru msdu_head; /* msdu链表头 */
494 osal_spinlock amsdu_lock; /* amsdu task lock */
495
496 osal_u16 amsdu_size; /* Present size of the AMSDU */
497
499 osal_u8 msdu_num : 4; /* Number of sub-MSDUs accumulated */
500 osal_u8 last_pad_len; // 51合入后可删除/* 最后一个msdu的pad长度 */
502
503typedef struct {
504 osal_u32 drv_rx_pkts; /* 接收数据(硬件上报,包含rx描述符不成功的帧)数目,仅仅统计数据帧 */
505 osal_u32 drv_rx_bytes; /* 驱动接收字节数,不包括80211头尾 */
506 osal_u32 rx_dropped_misc; /* 接收失败(决定丢弃的帧)次数 */
508/* 特性结构体END,第二阶段需要挪走 */
509
510/* 判断重传auth帧 */
511#define HMAC_RETRY_AUTH_PROTECT_DURATION 100 /* auth重复帧保护时间100ms */
512typedef struct {
513 oal_bool_enum_uint8 is_rx_auth; /* 是否收到过auth帧 */
514 osal_u8 resv; /* 增加1字节rsv字段,保持4字节对齐 */
515 osal_u16 rx_auth_seqnum; /* 上一次收到auth帧的sequence num */
516 osal_u32 rx_auth_timestamp; /* 上一次接收auth帧的时间 */
518/* 声明该结构体变量后请一定要调用 memset_s 0 */
519typedef struct {
520 /* -->> Public Start */
521 osal_u8 device_id; /* 设备ID */
522 osal_u8 chip_id; /* 芯片ID */
523 osal_u8 resv0[2];
524 osal_atomic use_cnt; /* 用于user引用计数使用,该值在自增自减时需要使用原子操作 */
525
526 /* 当前VAP工作在AP或STA模式,以下字段为user是STA或AP时公共字段,新添加字段请注意!!! */
527 struct osal_list_head user_dlist; /* 用于用户遍历 */
528
529 osal_u8 user_mac_addr[WLAN_MAC_ADDR_LEN]; /* user对应的MAC地址 */
530
531 /* user对应资源池索引值; user为STA时,表示填在管理帧中的AID,值为用户的资源池索引值1~32(协议规定范围为1~2007) */
533 osal_u8 vap_id; /* vap ID */
534
535 osal_u8 protocol_mode : 4; /* 用户工作协议 */
536 osal_u8 avail_protocol_mode : 4; /* 用户和VAP协议模式交集, 供算法调用 */
537
538 osal_u8 cur_protocol_mode : 4; /* 默认值与en_avail_protocol_mode值相同, 供算法调用修改 */
540 osal_u8 avail_num_spatial_stream : 3; /* Tx和Rx支持Nss的交集,供算法调用 */
541
542 osal_u8 user_num_spatial_stream : 3; /* 用户支持的空间流个数 */
543 osal_u8 avail_bf_num_spatial_stream : 3; /* 用户支持的Beamforming空间流个数 */
544 osal_u8 port_valid : 1; /* 802.1X端口合法性标识 */
545 osal_u8 is_user_alloced : 1; /* 标志此user资源是否已经被申请 */
546
548
549 mac_rate_stru avail_op_rates; /* 用户和VAP可用的11a/b/g速率交集,供算法调用 */
551
552 osal_u8 bandwidth_cap : 4; /* 用户带宽能力信息 */
553 osal_u8 avail_bandwidth : 4; /* 用户和VAP带宽能力交集,供算法调用 */
554
555 osal_u8 cur_bandwidth : 4; /* 默认值与avail_bandwidth相同,供算法调用修改 */
556 osal_u8 qos_enhance_sta_state : 4; /* 判断是否是远端设备 */
557
559 oal_bool_enum_uint8 flag_change_user_state_to_auth_complete : 1; /* 已关联状态收到auth帧,将标志置为1 */
560 osal_u8 is_wds : 1; /* 是否是wds用户 */
563
564 mac_user_cap_info_stru cap_info; /* user基本能力信息位 */
565 mac_user_ht_hdl_stru ht_hdl; /* HT capability IE和 operation IE的解析信息 */
566 mac_vht_hdl_stru vht_hdl; /* VHT capability IE和 operation IE的解析信息 */
567
569
570 /* --------- Public STA成员 Start ----------------- */
571 /* --------- Public STA成员 End ------------------- */
572
573 /* --------- Public AP成员 Start ----------------- */
574 /* --------- Public AP成员 End ------------------- */
575
576 /* -->> Public End */
577
578 /* -->> Private Start */
579 /* 当前VAP工作在AP或STA模式,以下字段为user是STA或AP时公共字段,新添加字段请注意!!! */
580 osal_u8 amsdu_supported; /* 每个位代表某个TID是否支持AMSDU */
582 osal_u16 amsdu_maxsize; /* amsdu最大长度 */
583
584 hmac_amsdu_stru hmac_amsdu[WLAN_TID_MAX_NUM]; /* asmdu数组 */
585
586 osal_u32 last_timestamp[WLAN_TID_MAX_NUM]; /* 时间戳用于实现5个连续报文建立BA */
587 osal_u8 *ch_text; /* WEP用的挑战明文 */
588
589 frw_timeout_stru mgmt_timer; /* 认证关联用定时器 */
590 /* 该标志表示该TID是否可以建立BA会话,大于等于5时可以建立BA会话。该标志在用户初始化、删除BA会话时清零 */
592 /* user可选速率,记录对端assoc req或者assoc rsp帧中supported rates和assoc rsp宣称的速率 */
594 hmac_user_cap_info_stru hmac_cap_info; /* hmac侧用户能力标志位 */
595 osal_u32 rssi_last_timestamp; /* 获取user rssi所用时间戳, 1s最多更新一次rssi */
596
597 osal_u32 rx_pkt_drop; /* 接收数据包host侧被drop的计数 */
598
599 osal_u32 first_add_time; /* 用户创建时的时间,用于统计用户在线时长 */
600
601 /* dmac配置同步信息 */
605
606 /* --------- Private STA成员 Start ----------------- */
607 /* 当前VAP工作在STA模式,以下字段为user是AP时独有字段,新添加字段请注意!!! */
608 mac_user_stats_flag_stru user_stats_flag; /* 当user是sta时候,指示user是否被统计到对应项 */
609 /* --------- Private STA成员 End ------------------- */
610
611 /* --------- Private AP成员 Start ----------------- */
612 /* 当前VAP工作在AP模式,以下字段为user是STA时独有字段,新添加字段请注意!!! */
618 /* --------- Private AP成员 End ------------------- */
619
620 /* -->> Private End */
621
622 /* -->> Features Start */
623#ifdef _PRE_WLAN_FEATURE_PMF
624 mac_sa_query_stru sa_query_info; /* sa query流程的控制信息 */
625#endif
626#ifdef _PRE_WLAN_FEATURE_TX_CLASSIFY_LAN_TO_WLAN
627 osal_u8 cfm_num; /* 用户已被识别业务个数 */
628 osal_u8 resv5[3];
629 hmac_tx_cfm_flow_stru cfm_flow_list[MAX_CONFIRMED_FLOW_NUM]; /* 已识别业务 */
630 hmac_tx_judge_list_stru judge_list; /* 待识别流队列 */
631#endif
632
633#ifdef _PRE_WLAN_FEATURE_WUR_TX
634 hmac_user_wur_info_stru wur_info; /* wur用户的信息 */
635 mac_user_wur_cap_ie_stru wur_cap_ie; /* 用户WUR的能力字段信息 */
636#endif
637#ifdef _PRE_WLAN_FEATURE_WMMAC
638 mac_ts_stru ts_info[WLAN_WME_AC_BUTT]; /* 保存ts相关信息 */
639#endif
640#ifdef _PRE_WLAN_FEATURE_11AX
641 mac_he_hdl_stru he_hdl; /* HE Capability IE */
642#endif
643 /* -->> Features End */
644
645 /* -->> Private Start */
646 /* 添加信息上报字段 */
648
650 osal_u8 lut_index; /* user对应的硬件索引,活跃用户id */
651 osal_u8 resv7[2]; /* 对齐预留2字节 */
652
653 osal_u64 last_active_timestamp; /* user最后活跃时刻时间戳,user老化和活跃用户替换使用(使用OSAL提供的时间戳函数赋值) */
654
655 /* 当前VAP工作在AP或STA模式,以下字段为user是STA或AP时公共字段,新添加字段请注意!!! */
656 /* 发送tid缓存队列 */
658 osal_void *alg_priv; /* 用户级别算法私有结构体 */
660 osal_s16 rx_rssi; /* 用户接收RSSI统计量 */
661
662 /* --------- Private STA成员 Start ------------------ */
663
664 /* --------- Private STA成员 End ------------------ */
665
666 /* --------- Private AP成员 Start ------------------ */
667 /* 当前VAP工作在AP模式,以下字段为user是STA时独有字段,新添加字段请注意!!! */
668 osal_u8 ps_mode : 1; /* ap保留的用户节能模式,PSM用 */
669 osal_u8 active_user : 1; /* 是否活跃用户,用户管理用 */
670 osal_u8 new_add_user : 1; /* 1: 是否是新创建用户(不执行通知算法),0为其他状态需要执行算法通知,例如替换状态 */
672
673 osal_u8 vip_flag : 1; /* 只算法调度用,通过配置命令配置,TRUE: VIP用户, FALSE: 非VIP用户 */
674 osal_u8 delete_ba_flag : 1; /* 删除ba标志,只算法通过接口修改,autorate降协议模式时置为true */
675 osal_u8 ptk_need_install : 1; /* 需要更新单播秘钥 */
676 osal_u8 is_rx_eapol_key_open : 1; /* 记录接收的eapol-key 是否为加密 */
677 osal_u8 eapol_key_4_4_tx_succ : 1; /* eapol-key 4/4 发送成功 */
678 osal_u8 ptk_key_idx : 3; /* 保存单播秘钥key_idx */
679
681
682 /* 用户的节能结构,单播用户与组播用户都会用 */
684 /* --------- Private AP成员 End ------------------ */
685
686 /* -->> Private End */
687
688 /* -->> HAL Start */
689#ifdef _PRE_WLAN_FIT_BASED_REALTIME_CALI
691#endif
692 /* 用户级别功率信息结构体 */
693 /* -->> HAL End */
694
695 /* -->> Features Start */
696 osal_u8 resv10[3];
698
699 /* -->> Features End */
700
701 /* -->> Features Array Start */
703 /* -->> Features Array Start */
705#ifdef _PRE_WLAN_FEATURE_WPA3
706 osal_u32 owe_ie_len;
707 osal_u8 *owe_ie;
708 osal_u16 auth_alg;
709 osal_u8 resv11[2];
710#endif
711 osal_u8 _rom[4];
713
714/* ****************************************************************************
715 9 OTHERS定义
716**************************************************************************** */
717/*****************************************************************************
718 函数声明
719*****************************************************************************/
723
725
727
733 wlan_bw_cap_enum_uint8 cur_bandwidth);
742void hmac_user_set_avail_op_rates_etc(hmac_user_stru *hmac_user, osal_u8 rs_nrates, osal_u8 *rs_rates);
745
746#ifdef _PRE_WLAN_FEATURE_11AX
747void mac_user_set_he_hdl(hmac_user_stru *hmac_user, mac_he_hdl_stru *he_hdl);
748void mac_user_get_he_hdl(hmac_user_stru *hmac_user, mac_he_hdl_stru *he_hdl);
749#endif
750
754#ifdef _PRE_WLAN_FEATURE_SMPS
755void hmac_user_set_sm_power_save(hmac_user_stru *hmac_user, osal_u8 sm_power_save);
756#endif
761
763
766
771
772/*****************************************************************************
773 10 函数声明
774*****************************************************************************/
777
779
781
782#ifdef __cplusplus
783#if __cplusplus
784 }
785#endif
786#endif
787
788#endif
#define WLAN_MAC_ADDR_LEN
Definition mac_addr.c:28
#define WLAN_USER_MAX_SUPP_RATES
Definition mac_device_ext.h:46
osal_u8 mac_ba_policy_enum_uint8
Definition mac_frame_common_rom.h:225
osal_u8 mac_delba_initiator_enum_uint8
Definition mac_frame_common_rom.h:234
osal_u8 mac_user_asoc_state_enum_uint8
Definition mac_user_common_rom.h:30
osal_u8 mac_user_type_enum_uint8
Definition mac_user_common_rom.h:38
void hmac_user_set_ht_capable_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 ht_capable)
wlan_priv_key_param_stru * hmac_user_get_key_etc(hmac_user_stru *hmac_user, osal_u8 key_id)
void hmac_user_set_ht_hdl_etc(hmac_user_stru *hmac_user, mac_user_ht_hdl_stru *ht_hdl)
void hmac_user_get_ht_hdl_etc(hmac_user_stru *hmac_user, mac_user_ht_hdl_stru *ht_hdl)
osal_s32 hmac_user_sync(hmac_user_stru *hmac_user)
hmac_ba_conn_status_enum
Definition mac_user_ext.h:82
@ HMAC_BA_COMPLETE
Definition mac_user_ext.h:85
@ HMAC_BA_INPROGRESS
Definition mac_user_ext.h:84
@ HMAC_BA_BUTT
Definition mac_user_ext.h:89
@ HMAC_BA_HALTED
Definition mac_user_ext.h:86
@ HMAC_BA_FAILED
Definition mac_user_ext.h:87
@ HMAC_BA_INIT
Definition mac_user_ext.h:83
void hmac_user_set_avail_protocol_mode_etc(hmac_user_stru *hmac_user, wlan_protocol_enum_uint8 avail_protocol_mode)
osal_u32 mac_user_update_bandwidth(hmac_user_stru *hmac_user, wlan_bw_cap_enum_uint8 bwcap)
oal_bool_enum_uint8 hmac_ip_is_zero_etc(osal_u8 *ip_addr)
void hmac_user_set_bandwidth_info_etc(hmac_user_stru *hmac_user, wlan_bw_cap_enum_uint8 avail_bandwidth, wlan_bw_cap_enum_uint8 cur_bandwidth)
osal_u8 hmac_ba_conn_status_enum_uint8
Definition mac_user_ext.h:91
void hmac_user_set_vht_hdl_etc(hmac_user_stru *hmac_user, mac_vht_hdl_stru *vht_hdl)
void hmac_user_set_pmf_active_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 pmf_active)
void hmac_user_avail_bf_num_spatial_stream_etc(hmac_user_stru *hmac_user, osal_u8 value)
void hmac_user_set_avail_num_spatial_stream_etc(hmac_user_stru *hmac_user, osal_u8 value)
btcoex_blacklist_type_enum
Definition mac_user_ext.h:71
@ BTCOEX_BLACKLIST_TPYE_NOT_AGGR
Definition mac_user_ext.h:73
@ BTCOEX_BLACKLIST_TPYE_BUTT
Definition mac_user_ext.h:75
@ BTCOEX_BLACKLIST_TPYE_FIX_BASIZE
Definition mac_user_ext.h:72
osal_void hmac_user_set_assoc_id_etc(hmac_user_stru *hmac_user, osal_u16 assoc_id)
osal_u32 hmac_user_add_wep_key_etc(hmac_user_stru *hmac_user, osal_u8 key_index, mac_key_params_stru *key)
osal_void hmac_user_set_barker_preamble_mode_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 barker_preamble_mode)
osal_u8 btcoex_blacklist_type_enum_uint8
Definition mac_user_ext.h:77
osal_void hmac_user_init_key_etc(hmac_user_stru *hmac_user)
osal_u32 hmac_user_add_bip_key_etc(hmac_user_stru *hmac_user, osal_u8 key_index, mac_key_params_stru *key)
void hmac_user_set_asoc_state(hmac_user_stru *hmac_user, mac_user_asoc_state_enum_uint8 value)
void hmac_user_get_vht_hdl_etc(hmac_user_stru *hmac_user, mac_vht_hdl_stru *vht_hdl)
void hmac_user_set_spectrum_mgmt_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 spectrum_mgmt)
void hmac_user_set_avail_op_rates_etc(hmac_user_stru *hmac_user, osal_u8 rs_nrates, osal_u8 *rs_rates)
void hmac_user_set_num_spatial_stream_etc(hmac_user_stru *hmac_user, osal_u8 value)
oal_bool_enum_uint8 hmac_addr_is_zero_etc(osal_u8 *mac)
osal_void * mac_res_get_mac_user_etc(osal_u16 idx)
osal_u32 hmac_user_update_ap_bandwidth_cap(hmac_user_stru *hmac_user)
osal_u32 hmac_user_update_wep_key_etc(hmac_user_stru *hmac_user, osal_u16 multi_user_idx)
void hmac_user_set_qos_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 qos_mode)
osal_void hmac_user_set_port_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 port_valid)
void hmac_user_set_cur_protocol_mode_etc(hmac_user_stru *hmac_user, wlan_protocol_enum_uint8 cur_protocol_mode)
wlan_txrx_data_type_enum
Definition mac_user_ext.h:61
@ WLAN_TXRX_DATA_BUTT
Definition mac_user_ext.h:67
@ WLAN_RX_TCP_DATA
Definition mac_user_ext.h:63
@ WLAN_TX_UDP_DATA
Definition mac_user_ext.h:64
@ WLAN_RX_UDP_DATA
Definition mac_user_ext.h:65
@ WLAN_TX_TCP_DATA
Definition mac_user_ext.h:62
void hmac_user_get_sta_cap_bandwidth_etc(hmac_user_stru *hmac_user, wlan_bw_cap_enum_uint8 *bandwidth_cap)
osal_u8 wlan_txrx_data_enum_uint8
Definition mac_user_ext.h:69
void hmac_user_set_bandwidth_cap_etc(hmac_user_stru *hmac_user, wlan_bw_cap_enum_uint8 bandwidth_value)
#define HMAC_TX_BUF_BITMAP_WORDS
Definition mac_user_ext.h:35
osal_u32 hmac_user_add_rsn_key_etc(hmac_user_stru *hmac_user, osal_u8 key_index, mac_key_params_stru *key)
void hmac_user_set_cur_bandwidth_etc(hmac_user_stru *hmac_user, wlan_bw_cap_enum_uint8 cur_bandwidth)
osal_void hmac_user_set_key_etc(hmac_user_stru *multiuser, wlan_cipher_key_type_enum_uint8 keytype, wlan_ciper_protocol_type_enum_uint8 ciphertype, osal_u8 keyid)
void hmac_user_set_protocol_mode_etc(hmac_user_stru *hmac_user, wlan_protocol_enum_uint8 protocol_mode)
void hmac_user_set_apsd_etc(hmac_user_stru *hmac_user, oal_bool_enum_uint8 apsd)
osal_u8 resv1
Definition oal_net.h:1
osal_u8 spectrum_mgmt
Definition oal_net.h:3
osal_u8 apsd
Definition oal_net.h:5
osal_u8 rsv[3]
Definition oal_net.h:2
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
unsigned long long osal_u64
Definition osal_types.h:14
short osal_s16
Definition osal_types.h:18
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
unsigned long osal_ulong
Definition osal_types.h:15
Definition frw_ext_common_rom.h:20
Definition hal_common_ops_device_rom.h:1218
Definition mac_user_ext.h:491
osal_spinlock amsdu_lock
Definition mac_user_ext.h:494
oal_netbuf_head_stru msdu_head
Definition mac_user_ext.h:492
frw_timeout_stru amsdu_timer
Definition mac_user_ext.h:493
osal_u8 msdu_num
Definition mac_user_ext.h:499
osal_u16 amsdu_size
Definition mac_user_ext.h:496
osal_u8 amsdu_maxnum
Definition mac_user_ext.h:498
osal_u8 last_pad_len
Definition mac_user_ext.h:500
Definition mac_user_ext.h:512
osal_u8 resv
Definition mac_user_ext.h:514
oal_bool_enum_uint8 is_rx_auth
Definition mac_user_ext.h:513
osal_u16 rx_auth_seqnum
Definition mac_user_ext.h:515
osal_u32 rx_auth_timestamp
Definition mac_user_ext.h:516
Definition mac_user_ext.h:396
osal_u16 timeout_times
Definition mac_user_ext.h:403
osal_u8 tid
Definition mac_user_ext.h:398
osal_u8 vap_id
Definition mac_user_ext.h:401
mac_delba_initiator_enum_uint8 direction
Definition mac_user_ext.h:399
osal_u16 mac_user_idx
Definition mac_user_ext.h:402
osal_void * ba
Definition mac_user_ext.h:397
Definition mac_user_ext.h:309
osal_u8 resv
Definition mac_user_ext.h:313
hmac_ba_conn_status_enum_uint8 ba_conn_status
Definition mac_user_ext.h:310
mac_ba_policy_enum_uint8 ba_policy
Definition mac_user_ext.h:312
osal_u8 lut_index
Definition mac_user_ext.h:311
Definition mac_user_ext.h:433
hmac_ba_alarm_stru alarm_data
Definition mac_user_ext.h:459
osal_u8 ba_resp_buf_size
Definition mac_user_ext.h:453
osal_u16 baw_tail
Definition mac_user_ext.h:437
osal_u16 timer_triggered
Definition mac_user_ext.h:439
osal_spinlock ba_lock
Definition mac_user_ext.h:434
osal_u8 resv
Definition mac_user_ext.h:456
osal_u8 back_var
Definition mac_user_ext.h:445
osal_u8 amsdu_supp
Definition mac_user_ext.h:447
osal_u16 status_code
Definition mac_user_ext.h:448
osal_u8 mpdu_cnt
Definition mac_user_ext.h:457
osal_u8 * transmit_addr
Definition mac_user_ext.h:449
osal_u16 baw_end
Definition mac_user_ext.h:436
osal_u8 dialog_token
Definition mac_user_ext.h:444
osal_u8 lut_index
Definition mac_user_ext.h:454
osal_u16 ba_status
Definition mac_user_ext.h:441
osal_u16 is_ba
Definition mac_user_ext.h:440
osal_u16 baw_start
Definition mac_user_ext.h:435
osal_u8 ba_policy
Definition mac_user_ext.h:446
osal_u16 ba_timeout
Definition mac_user_ext.h:451
osal_u16 baw_size
Definition mac_user_ext.h:438
osal_u16 baw_head
Definition mac_user_ext.h:452
Definition mac_user_ext.h:285
osal_u16 mac_user_idx
Definition mac_user_ext.h:301
mac_back_variant_enum_uint8 back_var
Definition mac_user_ext.h:293
osal_u16 ba_timeout
Definition mac_user_ext.h:298
osal_u16 pre_last_seq_num
Definition mac_user_ext.h:303
oal_bool_enum_uint8 amsdu_supp
Definition mac_user_ext.h:296
osal_u16 pre_baw_start
Definition mac_user_ext.h:302
osal_u16 last_seq_num
Definition mac_user_ext.h:287
osal_u8 dialog_token
Definition mac_user_ext.h:294
osal_u16 baw_size
Definition mac_user_ext.h:288
osal_u16 baw_start
Definition mac_user_ext.h:286
osal_u16 ba_jamed_cnt
Definition mac_user_ext.h:304
oal_bool_enum_uint8 is_ba
Definition mac_user_ext.h:291
osal_u8 * dst_addr
Definition mac_user_ext.h:297
osal_u16 baw_head
Definition mac_user_ext.h:289
osal_u8 ba_policy
Definition mac_user_ext.h:295
osal_u8 tx_ba_lut
Definition mac_user_ext.h:300
osal_u16 baw_tail
Definition mac_user_ext.h:290
hmac_ba_conn_status_enum_uint8 ba_conn_status
Definition mac_user_ext.h:292
osal_u8 ampdu_max_num
Definition mac_user_ext.h:299
Definition mac_user_ext.h:407
osal_u8 addba_attemps
Definition mac_user_ext.h:412
frw_timeout_stru addba_timer
Definition mac_user_ext.h:408
osal_u8 dialog_token
Definition mac_user_ext.h:413
hmac_ba_conn_status_enum_uint8 ba_status
Definition mac_user_ext.h:411
oal_bool_enum_uint8 ba_policy
Definition mac_user_ext.h:414
hmac_ba_alarm_stru alarm_data
Definition mac_user_ext.h:409
osal_spinlock ba_status_lock
Definition mac_user_ext.h:415
Definition mac_user_ext.h:427
osal_u8 rs_nrates
Definition mac_user_ext.h:428
Definition mac_user_ext.h:388
oal_netbuf_head_stru netbuf_head
Definition mac_user_ext.h:392
osal_u8 num_buf
Definition mac_user_ext.h:390
osal_u16 seq_num
Definition mac_user_ext.h:391
osal_u32 rx_time
Definition mac_user_ext.h:393
oal_bool_enum_uint8 in_use
Definition mac_user_ext.h:389
Definition mac_user_ext.h:463
hmac_ba_rx_hdl_stru ba_rx_hdl
Definition mac_user_ext.h:485
osal_u8 is_paused
Definition mac_user_ext.h:465
osal_u32 tid_buffer_frame_len
Definition mac_user_ext.h:481
frw_timeout_stru ba_timer
Definition mac_user_ext.h:488
osal_u8 rx_wrong_ampdu_num
Definition mac_user_ext.h:471
oal_bool_enum_uint8 ba_handle_tx_enable
Definition mac_user_ext.h:472
osal_u32 in_num
Definition mac_user_ext.h:478
osal_u8 tx_mode
Definition mac_user_ext.h:466
osal_u8 tid
Definition mac_user_ext.h:464
osal_u8 is_delba_ing
Definition mac_user_ext.h:468
osal_u8 resv
Definition mac_user_ext.h:474
osal_u32 dispatch_num
Definition mac_user_ext.h:480
osal_u8 vap_id
Definition mac_user_ext.h:469
hmac_ba_rx_stru * ba_rx_info
Definition mac_user_ext.h:487
oal_bool_enum_uint8 ba_handle_rx_enable
Definition mac_user_ext.h:473
osal_u32 out_num
Definition mac_user_ext.h:479
oal_netbuf_head_stru buff_head
Definition mac_user_ext.h:483
hmac_ba_tx_stru ba_tx_info
Definition mac_user_ext.h:486
osal_u16 user_idx
Definition mac_user_ext.h:477
osal_void * alg_priv
Definition mac_user_ext.h:484
osal_u16 mpdu_num
Definition mac_user_ext.h:476
Definition mac_user_ext.h:272
osal_u8 aggr_subfrm_size
Definition mac_user_ext.h:275
osal_u32 rate_kbps
Definition mac_user_ext.h:274
osal_u32 cur_rate_goodput_kbps
Definition mac_user_ext.h:273
osal_u8 per
Definition mac_user_ext.h:276
Definition mac_user_ext.h:418
osal_u32 support_11ac2g
Definition mac_user_ext.h:422
osal_u32 bit_resv
Definition mac_user_ext.h:424
osal_u32 short_preamble
Definition mac_user_ext.h:419
osal_u32 owe
Definition mac_user_ext.h:423
osal_u32 short_slot_time
Definition mac_user_ext.h:421
osal_u32 erp
Definition mac_user_ext.h:420
Definition mac_user_ext.h:261
osal_u8 ps_time_count
Definition mac_user_ext.h:265
oal_netbuf_head_stru ps_queue_head
Definition mac_user_ext.h:263
osal_spinlock lock_ps
Definition mac_user_ext.h:262
osal_atomic mpdu_num
Definition mac_user_ext.h:264
Definition mac_user_ext.h:503
osal_u32 drv_rx_pkts
Definition mac_user_ext.h:504
osal_u32 drv_rx_bytes
Definition mac_user_ext.h:505
osal_u32 rx_dropped_misc
Definition mac_user_ext.h:506
Definition mac_user_ext.h:519
osal_u8 lut_index
Definition mac_user_ext.h:650
osal_atomic use_cnt
Definition mac_user_ext.h:524
osal_u8 bit_resv
Definition mac_user_ext.h:561
osal_u8 port_valid
Definition mac_user_ext.h:544
osal_u8 bandwidth_cap
Definition mac_user_ext.h:552
osal_u8 protocol_mode
Definition mac_user_ext.h:535
osal_u8 new_add_user
Definition mac_user_ext.h:670
osal_u8 is_wds
Definition mac_user_ext.h:560
mac_user_ht_hdl_stru ht_hdl
Definition mac_user_ext.h:565
hmac_user_query_stats_stru query_stats
Definition mac_user_ext.h:647
osal_u8 mgmt_frm_type
Definition mac_user_ext.h:697
hmac_auth_re_rx_protect_stru auth_re_rx_protect
Definition mac_user_ext.h:704
osal_u8 pub_resv0
Definition mac_user_ext.h:562
osal_u8 ptk_key_idx
Definition mac_user_ext.h:678
osal_u8 active_user
Definition mac_user_ext.h:669
osal_u8 device_id
Definition mac_user_ext.h:521
hmac_rate_stru op_rates
Definition mac_user_ext.h:593
osal_u8 chip_id
Definition mac_user_ext.h:522
osal_u32 rssi_last_timestamp
Definition mac_user_ext.h:595
mac_user_asoc_state_enum_uint8 user_asoc_state
Definition mac_user_ext.h:558
mac_key_mgmt_stru key_info
Definition mac_user_ext.h:568
osal_u8 user_num_spatial_stream
Definition mac_user_ext.h:542
osal_u8 is_multi_user
Definition mac_user_ext.h:539
osal_u8 qos_enhance_sta_state
Definition mac_user_ext.h:556
osal_u8 cur_protocol_mode
Definition mac_user_ext.h:538
osal_u32 rx_rate
Definition mac_user_ext.h:604
mac_vht_hdl_stru vht_hdl
Definition mac_user_ext.h:566
hmac_user_ps_stru ps_structure
Definition mac_user_ext.h:683
osal_u32 first_add_time
Definition mac_user_ext.h:599
osal_u16 partial_aid
Definition mac_user_ext.h:659
osal_u8 eapol_key_4_4_tx_succ
Definition mac_user_ext.h:677
mac_user_tx_param_stru user_tx_info
Definition mac_user_ext.h:550
osal_u8 resv2
Definition mac_user_ext.h:581
mac_user_type_enum_uint8 user_type
Definition mac_user_ext.h:602
osal_u8 avail_num_spatial_stream
Definition mac_user_ext.h:540
osal_u64 last_active_timestamp
Definition mac_user_ext.h:653
osal_void * alg_priv
Definition mac_user_ext.h:658
osal_u8 vap_id
Definition mac_user_ext.h:533
osal_u8 amsdu_supported
Definition mac_user_ext.h:580
osal_u8 resv8
Definition mac_user_ext.h:671
mac_user_stats_flag_stru user_stats_flag
Definition mac_user_ext.h:608
osal_u8 ps_mode
Definition mac_user_ext.h:668
osal_void ** hmac_user_feature_arr
Definition mac_user_ext.h:702
osal_u8 avail_bf_num_spatial_stream
Definition mac_user_ext.h:543
osal_u8 resv3
Definition mac_user_ext.h:617
osal_u16 assoc_id
Definition mac_user_ext.h:532
mac_rate_stru avail_op_rates
Definition mac_user_ext.h:549
oal_bool_enum_uint8 user_vendor_vht_capable
Definition mac_user_ext.h:615
osal_u8 cur_bandwidth
Definition mac_user_ext.h:555
osal_u8 last_frame_pn
Definition mac_user_ext.h:680
osal_u16 amsdu_maxsize
Definition mac_user_ext.h:582
osal_u8 delete_ba_flag
Definition mac_user_ext.h:674
osal_u8 * ch_text
Definition mac_user_ext.h:587
oal_bool_enum_uint8 user_vendor_novht_capable
Definition mac_user_ext.h:616
osal_u8 * assoc_req_ie_buff
Definition mac_user_ext.h:614
osal_u32 assoc_req_ie_len
Definition mac_user_ext.h:613
osal_u8 groupid
Definition mac_user_ext.h:649
osal_u8 avail_bandwidth
Definition mac_user_ext.h:553
mac_user_cap_info_stru cap_info
Definition mac_user_ext.h:564
osal_u32 tx_rate
Definition mac_user_ext.h:603
osal_s16 rx_rssi
Definition mac_user_ext.h:660
osal_u32 rx_pkt_drop
Definition mac_user_ext.h:597
osal_u8 ptk_need_install
Definition mac_user_ext.h:675
frw_timeout_stru mgmt_timer
Definition mac_user_ext.h:589
osal_u8 avail_protocol_mode
Definition mac_user_ext.h:536
oal_bool_enum_uint8 flag_change_user_state_to_auth_complete
Definition mac_user_ext.h:559
osal_u8 vip_flag
Definition mac_user_ext.h:673
osal_u8 is_rx_eapol_key_open
Definition mac_user_ext.h:676
hmac_user_cap_info_stru hmac_cap_info
Definition mac_user_ext.h:594
osal_u8 is_user_alloced
Definition mac_user_ext.h:545
Definition mac_user_ext.h:213
oal_bool_enum_uint8 keydone
Definition mac_user_ext.h:214
oal_bool_enum_uint8 portvalid
Definition mac_user_ext.h:215
Definition mac_user_common_rom.h:48
Definition mac_user_common_rom.h:130
Definition mac_user_common_rom.h:40
Definition mac_user_common_rom.h:124
Definition mac_user_ext.h:167
osal_u16 sa_query_trans_id
Definition mac_user_ext.h:169
frw_timeout_stru sa_query_interval_timer
Definition mac_user_ext.h:171
osal_u16 sa_query_count
Definition mac_user_ext.h:170
osal_u32 sa_query_start_time
Definition mac_user_ext.h:168
Definition mac_user_ext.h:175
td_u8 is_mesh_user
Definition mac_user_ext.h:180
td_u8 conn_rx_rssi
Definition mac_user_ext.h:177
td_u8 bcn_prio
Definition mac_user_ext.h:179
mac_user_asoc_state_enum_uint8 assoc_state
Definition mac_user_ext.h:178
td_u8 is_initiative_role
Definition mac_user_ext.h:181
Definition mac_user_ext.h:129
osal_u16 apsd
Definition mac_user_ext.h:133
osal_u16 qos
Definition mac_user_ext.h:131
osal_u16 smps_cap
Definition mac_user_ext.h:145
osal_u16 mdie
Definition mac_user_ext.h:143
osal_u16 erp_use_protect
Definition mac_user_ext.h:137
osal_u16 histream_cap
Definition mac_user_ext.h:140
osal_u16 use_wpa3
Definition mac_user_ext.h:147
osal_u16 spectrum_mgmt
Definition mac_user_ext.h:130
osal_u16 txbf_11n
Definition mac_user_ext.h:138
osal_u16 bss_transition
Definition mac_user_ext.h:142
osal_u16 enable_11k
Definition mac_user_ext.h:144
osal_u16 pmf_active
Definition mac_user_ext.h:136
osal_u16 cap_1024qam
Definition mac_user_ext.h:141
osal_u16 resv
Definition mac_user_ext.h:148
osal_u16 proxy_arp
Definition mac_user_ext.h:139
osal_u16 dcm_cap
Definition mac_user_ext.h:146
osal_u16 barker_preamble_mode
Definition mac_user_ext.h:132
Definition mac_user_common_rom.h:140
Definition mac_user_ext.h:234
osal_u8 delay_flag
Definition mac_user_ext.h:237
osal_u8 timer_to_keepalive_count
Definition mac_user_ext.h:236
osal_u8 keepalive_count_ap
Definition mac_user_ext.h:235
Definition mac_user_ext.h:249
wlan_nss_enum_uint8 avail_bf_num_spatial_stream
Definition mac_user_ext.h:254
osal_u16 user_idx
Definition mac_user_ext.h:250
wlan_nss_enum_uint8 avail_num_spatial_stream
Definition mac_user_ext.h:252
wlan_mib_mimo_power_save_enum_uint8 cur_smps_mode
Definition mac_user_ext.h:257
wlan_bw_cap_enum_uint8 avail_bandwidth
Definition mac_user_ext.h:255
wlan_nss_enum_uint8 user_num_spatial_stream
Definition mac_user_ext.h:251
wlan_bw_cap_enum_uint8 cur_bandwidth
Definition mac_user_ext.h:256
Definition mac_user_ext.h:242
wlan_nss_enum_uint8 avail_num_spatial_stream
Definition mac_user_ext.h:244
osal_u16 user_idx
Definition mac_user_ext.h:243
wlan_nss_enum_uint8 user_num_spatial_stream
Definition mac_user_ext.h:245
Definition mac_user_ext.h:221
osal_u8 only_stats_20m_flag
Definition mac_user_ext.h:227
osal_u8 no_40dsss_stats_flag
Definition mac_user_ext.h:228
osal_u8 no_lsig_txop_stats_flag
Definition mac_user_ext.h:229
osal_u8 no_ht_stats_flag
Definition mac_user_ext.h:225
osal_u8 no_short_preamble_stats_flag
Definition mac_user_ext.h:223
osal_u8 no_short_slot_stats_flag
Definition mac_user_ext.h:222
osal_u8 no_gf_stats_flag
Definition mac_user_ext.h:226
osal_u8 no_erp_stats_flag
Definition mac_user_ext.h:224
Definition mac_user_common_rom.h:115
Definition mac_user_common_rom.h:73
Definition osal_atomic.h:18
Definition osal_list.h:39
Definition osal_spinlock.h:18
Definition oal_skbuff.h:73
Definition wlan_types.h:758
unsigned char td_u8
Definition td_type.h:36
osal_u8 wlan_mib_mimo_power_save_enum_uint8
Definition wlan_mib_type.h:248
osal_u8 mac_back_variant_enum_uint8
Definition wlan_resource_common_rom.h:40
#define WLAN_AMPDU_RX_BUFFER_SIZE
Definition wlan_spec_hh503.h:193
#define WLAN_RF_CHANNEL_NUMS
Definition wlan_spec_rom.h:214
osal_u8 wlan_bw_cap_enum_uint8
Definition wlan_types.h:455
#define WLAN_TID_MAX_NUM
Definition wlan_types.h:389
td_u8 wlan_protocol_enum_uint8
Definition wlan_types.h:488
osal_u8 wlan_nss_enum_uint8
Definition wlan_types_base_rom.h:240
@ WLAN_WME_AC_BUTT
Definition wlan_types_base_rom.h:54
osal_u8 wlan_ciper_protocol_type_enum_uint8
Definition wlan_types_base_rom.h:152
osal_u8 wlan_cipher_key_type_enum_uint8
Definition wlan_types_base_rom.h:121