WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_tx_amsdu.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2012-2023. All rights reserved.
3 * 文 件 名 : hmac_tx_amsdu.h
4 * 生成日期 : 2012年11月12日
5 * 功能描述 : hmac_tx_amsdu.c 的头文件
6 */
7
8
9#ifndef __HMAC_TX_AMSDU_H__
10#define __HMAC_TX_AMSDU_H__
11
12/*****************************************************************************
13 1 其他头文件包含
14*****************************************************************************/
15#include "hmac_tx_data.h"
16#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
17#include "soc_customize_wifi.h"
18#endif
20
21#ifdef __cplusplus
22#if __cplusplus
23extern "C" {
24#endif
25#endif
26
27#undef THIS_FILE_ID
28#define THIS_FILE_ID OAM_FILE_ID_HMAC_TX_AMSDU_H
29/*****************************************************************************
30 2 宏定义
31*****************************************************************************/
32/* HT控制信息的amsdu能力位 */
33#define HT_CAP_AMSDU_LEN 0x0800
34
35/* amsdu生命周期15ms FPGA 1500 */
36#define HMAC_AMSDU_LIFE_TIME 5
37
38/* amsdu聚合最小帧长(对照ack帧长,拍板决定) */
39#define HMAC_AMSDU_TX_MIN_PKT_LENGTH 14
40/* 发送方向组masdu帧的netbuf剩余tailroom最小值, LLC+PKT LENTH+PAD */
41#define HMAC_AMSDU_TX_MIN_LENGTH (SNAP_LLC_FRAME_LEN + HMAC_AMSDU_TX_MIN_PKT_LENGTH + 3)
42
43/* 短包聚合最大个数 */
44#define HMAC_AMSDU_SHORT_PACKET_NUM 0x02
45
46/* 小于500字节的包为短包 */
47#define HMAC_AMSDU_SHORT_PACKET_LEN 500
48
49/* 一个amsdu下允许拥有的msdu的最大个数 */
50#ifdef _PRE_PLAT_FEATURE_CUSTOMIZE
51#define HMAC_AMSDU_MAX_NUM hwifi_get_amsdu_num()
52#else
53#define HMAC_AMSDU_MAX_NUM 4
54#endif
55
56/*****************************************************************************
57 3 枚举定义
58*****************************************************************************/
59
60
61/*****************************************************************************
62 4 全局变量声明
63*****************************************************************************/
64
65/*****************************************************************************
66 5 消息头定义
67*****************************************************************************/
68
69
70/*****************************************************************************
71 6 消息定义
72*****************************************************************************/
73
74
75/*****************************************************************************
76 7 STRUCT定义
77*****************************************************************************/
78
79/*****************************************************************************
80 8 UNION定义
81*****************************************************************************/
82
83
84/*****************************************************************************
85 9 OTHERS定义
86*****************************************************************************/
87
88
89/*****************************************************************************
90 函 数 名 : hmac_amsdu_set_maxnum
91 功能描述 : 配置amsdu子帧最大个数
92*****************************************************************************/
94{
95 if (max_num > HMAC_AMSDU_MAX_NUM) {
97 } else {
98 amsdu->amsdu_maxnum = max_num;
99 }
100}
101
102/*****************************************************************************
103 函 数 名 : hmac_amsdu_is_short_pkt
104 功能描述 : amsdu判断是否短包
105 输入参数 : osal_u32 frame_len 包长
106*****************************************************************************/
108{
109 if (frame_len < HMAC_AMSDU_SHORT_PACKET_LEN) {
110 return OAL_TRUE;
111 }
112
113 return OAL_FALSE;
114}
115
116/*****************************************************************************
117 10 函数声明
118*****************************************************************************/
119static osal_u32 hmac_tx_amsdu_init_weakref(osal_void) __attribute__ ((weakref("hmac_tx_amsdu_init"), used));
120static osal_void hmac_tx_amsdu_deinit_weakref(osal_void)
121 __attribute__ ((weakref("hmac_tx_amsdu_deinit"), used));
122
124 hmac_user_stru *hmac_user, oal_netbuf_stru *buf);
127#ifdef _PRE_WLAN_FEATURE_MULTI_NETBUF_AMSDU
128typedef osal_void (*hmac_tx_encap_large_skb_amsdu_cb)(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user,
129 oal_netbuf_stru *buf, mac_tx_ctl_stru *tx_ctl);
130#endif
131#ifdef __cplusplus
132#if __cplusplus
133}
134#endif
135#endif
136
137#endif /* end of hmac_tx_amsdu.h */
#define OAL_INLINE
Definition driver_soc_common.h:47
osal_void(* hmac_amsdu_init_user_etc_cb)(hmac_user_stru *hmac_user)
Definition hmac_tx_amsdu.h:125
#define HMAC_AMSDU_MAX_NUM
Definition hmac_tx_amsdu.h:53
osal_u32(* hmac_amsdu_notify_etc_cb)(hmac_vap_stru *hmac_vap, hmac_user_stru *hmac_user, oal_netbuf_stru *buf)
Definition hmac_tx_amsdu.h:123
OAL_STATIC OAL_INLINE oal_bool_enum_uint8 hmac_amsdu_is_short_pkt(osal_u32 frame_len)
Definition hmac_tx_amsdu.h:107
static osal_u32 used
Definition hmac_tx_amsdu.h:119
#define HMAC_AMSDU_SHORT_PACKET_LEN
Definition hmac_tx_amsdu.h:47
osal_void(* hmac_amsdu_tid_info_clear_cb)(hmac_user_stru *hmac_user)
Definition hmac_tx_amsdu.h:126
OAL_STATIC OAL_INLINE osal_void hmac_amsdu_set_maxnum(hmac_amsdu_stru *amsdu, osal_u8 max_num)
Definition hmac_tx_amsdu.h:93
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
@ OAL_FALSE
Definition oal_types_device_rom.h:41
@ OAL_TRUE
Definition oal_types_device_rom.h:42
unsigned char osal_u8
Definition osal_types.h:11
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
#define OAL_STATIC
Definition soc_wifi_service_api.c:30
Log message information header.
Definition log_oam_logger.h:564
Definition mac_user_ext.h:491
osal_u8 amsdu_maxnum
Definition mac_user_ext.h:498
Definition mac_user_ext.h:519
Definition mac_vap_ext.h:2019
Definition dmac_ext_if_device_rom.h:98
Definition oal_skbuff.h:82