1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
4  *
5  * Contact Information: wlanfae <wlanfae@realtek.com>
6  */
7 #ifndef _TSTYPE_H_
8 #define _TSTYPE_H_
9 #include "rtl819x_Qos.h"
10 #define TS_ADDBA_DELAY		60
11 
12 #define TOTAL_TS_NUM		16
13 #define TCLAS_NUM		4
14 
15 enum tr_select {
16 	TX_DIR = 0,
17 	RX_DIR = 1,
18 };
19 
20 struct ts_common_info {
21 	struct list_head		List;
22 	u8				Addr[ETH_ALEN];
23 	union tspec_body TSpec;
24 	union qos_tclas TClass[TCLAS_NUM];
25 	u8				TClasProc;
26 	u8				TClasNum;
27 };
28 
29 struct tx_ts_record {
30 	struct ts_common_info TsCommonInfo;
31 	u16				TxCurSeq;
32 	struct ba_record TxPendingBARecord;
33 	struct ba_record TxAdmittedBARecord;
34 	u8				bAddBaReqInProgress;
35 	u8				bAddBaReqDelayed;
36 	u8				bUsingBa;
37 	u8				bDisable_AddBa;
38 	struct timer_list		TsAddBaTimer;
39 	u8				num;
40 };
41 
42 struct rx_ts_record {
43 	struct ts_common_info ts_common_info;
44 	u16 rx_indicate_seq;
45 	u16 rx_timeout_indicate_seq;
46 	struct list_head rx_pending_pkt_list;
47 	struct timer_list rx_pkt_pending_timer;
48 	struct ba_record rx_admitted_ba_record;
49 	u16 rx_last_seq_num;
50 	u8 rx_last_frag_num;
51 	u8 num;
52 };
53 
54 #endif
55