WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
alg_traffic_ctl_rom.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2020-2022. All rights reserved.
3 * Description: traffic control schedule algorithm
4 */
5
6#ifndef ALG_TRAFFIC_CTL_ROM_H
7#define ALG_TRAFFIC_CTL_ROM_H
8
9#include "alg_main_rom.h"
10
11#ifdef __cplusplus
12#if __cplusplus
13extern "C" {
14#endif
15#endif
16
17/*****************************************************************************
18 2 宏和STRUCT定义
19*****************************************************************************/
20#ifdef _PRE_WLAN_FEATURE_TRAFFIC_CTL
21#define ALG_TRAFFIC_CTL_DETECT_INIT 0
22#define ALG_TRAFFIC_CTL_DETECT_ALLOC 1
23#define ALG_TRAFFIC_CTL_DETECT_FREE 2
24
25typedef struct {
27 osal_u8 resv[1];
28} alg_traffic_rx_restore_stru;
29
30typedef struct {
31 frw_timeout_stru traffic_ctl_timer; /* 拥塞控制算法定时器 */
32 alg_traffic_tx_ctl_stru tx_ctl; /* 发送拥塞控制阈值和参数 */
33 alg_traffic_stats_stru stats; /* 拥塞控制统计 */
34 alg_traffic_rx_restore_stru rx_res; /* 接收描述符队列预留长度 */
36} alg_traffic_ctl_stru;
37
38/*****************************************************************************
39 3 函数声明
40*****************************************************************************/
41typedef osal_u32 (*dmac_traffic_ctl_config)(const dmac_ioctl_alg_param_stru *alg_param);
42typedef osal_u32 (*dmac_traffic_ctl_timer)(osal_void *void_code);
43typedef osal_u32 (*dmac_traffic_ctl_downlink)(dmac_vap_stru *vap, oal_dmac_netbuf_stru *buf,
45typedef osal_u32 (*dmac_traffic_ctl_free)(osal_void);
46typedef osal_u32 (*dmac_traffic_ctl_alloc)(oal_dmac_netbuf_stru *netbuf);
47typedef osal_u32 (*dmac_traffic_ctl_user)(dmac_vap_stru *vap, dmac_user_stru *user);
48typedef osal_u32 (*dmac_traffic_ctl_vap)(dmac_vap_stru *vap);
49typedef osal_u32 (*dmac_traffic_rx_thres)(alg_traffic_ctl_stru *tc,
51typedef osal_u32 (*dmac_traffic_tx_notify)(alg_traffic_ctl_stru *tc, osal_u32 large_free, osal_u32 short_free,
52 osal_u32 mgmt_free);
53
54alg_traffic_ctl_stru *alg_traffic_ctl_get(osal_void);
55osal_void alg_traffic_ctl_init(osal_void);
56osal_void alg_traffic_ctl_exit(osal_void);
57osal_u32 alg_traffic_ctl_config_param(const dmac_ioctl_alg_param_stru *alg_param, frw_msg *msg);
58osal_u32 alg_traffic_ctl_sync_param(const alg_param_sync_stru *sync);
59#endif /* #ifdef _PRE_WLAN_FEATURE_TRAFFIC_CTL */
60
61#ifdef __cplusplus
62#if __cplusplus
63}
64#endif
65#endif
66
67#endif /* end of alg_traffic_ctl_rom.h */
osal_u8 dmac_txrx_output_type_enum_uint8
Definition dmac_ext_if_type_rom.h:78
@ HAL_RX_DSCR_QUEUE_ID_BUTT
Definition hal_commom_ops_type_rom.h:123
osal_u8 hal_rx_dscr_queue_id_enum_uint8
Definition hal_commom_ops_type_rom.h:125
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
Definition alg_common_rom.h:411
Definition alg_common_rom.h:252
Definition alg_common_rom.h:176
Definition alg_common_rom.h:155
Definition dmac_ext_if_rom.h:106
Definition frw_msg_rom.h:74
Definition frw_ext_common_rom.h:20
Definition oal_net_pkt_rom.h:83
Definition hal_ops_common_rom.h:529