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 	struct timer_list		SetupTimer;
23 	struct timer_list		InactTimer;
24 	u8				Addr[ETH_ALEN];
25 	union tspec_body TSpec;
26 	union qos_tclas TClass[TCLAS_NUM];
27 	u8				TClasProc;
28 	u8				TClasNum;
29 };
30 
31 struct tx_ts_record {
32 	struct ts_common_info TsCommonInfo;
33 	u16				TxCurSeq;
34 	struct ba_record TxPendingBARecord;
35 	struct ba_record TxAdmittedBARecord;
36 	u8				bAddBaReqInProgress;
37 	u8				bAddBaReqDelayed;
38 	u8				bUsingBa;
39 	u8				bDisable_AddBa;
40 	struct timer_list		TsAddBaTimer;
41 	u8				num;
42 };
43 
44 struct rx_ts_record {
45 	struct ts_common_info ts_common_info;
46 	u16 rx_indicate_seq;
47 	u16 rx_timeout_indicate_seq;
48 	struct list_head rx_pending_pkt_list;
49 	struct timer_list rx_pkt_pending_timer;
50 	struct ba_record rx_admitted_ba_record;
51 	u16 rx_last_seq_num;
52 	u8 rx_last_frag_num;
53 	u8 num;
54 };
55 
56 
57 
58 #endif
59