0001
0002
0003
0004
0005
0006
0007 #ifndef _TSTYPE_H_
0008 #define _TSTYPE_H_
0009 #include "rtl819x_Qos.h"
0010 #define TS_ADDBA_DELAY 60
0011
0012 #define TOTAL_TS_NUM 16
0013 #define TCLAS_NUM 4
0014
0015 enum tr_select {
0016 TX_DIR = 0,
0017 RX_DIR = 1,
0018 };
0019
0020 struct ts_common_info {
0021 struct list_head List;
0022 struct timer_list SetupTimer;
0023 struct timer_list InactTimer;
0024 u8 Addr[ETH_ALEN];
0025 union tspec_body TSpec;
0026 union qos_tclas TClass[TCLAS_NUM];
0027 u8 TClasProc;
0028 u8 TClasNum;
0029 };
0030
0031 struct tx_ts_record {
0032 struct ts_common_info TsCommonInfo;
0033 u16 TxCurSeq;
0034 struct ba_record TxPendingBARecord;
0035 struct ba_record TxAdmittedBARecord;
0036 u8 bAddBaReqInProgress;
0037 u8 bAddBaReqDelayed;
0038 u8 bUsingBa;
0039 u8 bDisable_AddBa;
0040 struct timer_list TsAddBaTimer;
0041 u8 num;
0042 };
0043
0044 struct rx_ts_record {
0045 struct ts_common_info ts_common_info;
0046 u16 rx_indicate_seq;
0047 u16 rx_timeout_indicate_seq;
0048 struct list_head rx_pending_pkt_list;
0049 struct timer_list rx_pkt_pending_timer;
0050 struct ba_record rx_admitted_ba_record;
0051 u16 rx_last_seq_num;
0052 u8 rx_last_frag_num;
0053 u8 num;
0054 };
0055
0056
0057
0058 #endif