xref: /linux/drivers/staging/rtl8192e/rtl819x_TS.h (revision 307797159ac25fe5a2048bf5c6a5718298edca57)
1 /******************************************************************************
2  * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
3  *
4  * This program is distributed in the hope that it will be useful, but WITHOUT
5  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
7  * more details.
8  *
9  * The full GNU General Public License is included in this distribution in the
10  * file called LICENSE.
11  *
12  * Contact Information:
13  * wlanfae <wlanfae@realtek.com>
14  *****************************************************************************/
15 #ifndef _TSTYPE_H_
16 #define _TSTYPE_H_
17 #include "rtl819x_Qos.h"
18 #define TS_ADDBA_DELAY		60
19 
20 #define TOTAL_TS_NUM		16
21 #define TCLAS_NUM		4
22 
23 enum tr_select {
24 	TX_DIR = 0,
25 	RX_DIR = 1,
26 };
27 
28 struct ts_common_info {
29 	struct list_head		List;
30 	struct timer_list		SetupTimer;
31 	struct timer_list		InactTimer;
32 	u8				Addr[ETH_ALEN];
33 	union tspec_body TSpec;
34 	union qos_tclas TClass[TCLAS_NUM];
35 	u8				TClasProc;
36 	u8				TClasNum;
37 };
38 
39 struct tx_ts_record {
40 	struct ts_common_info TsCommonInfo;
41 	u16				TxCurSeq;
42 	struct ba_record TxPendingBARecord;
43 	struct ba_record TxAdmittedBARecord;
44 	u8				bAddBaReqInProgress;
45 	u8				bAddBaReqDelayed;
46 	u8				bUsingBa;
47 	u8				bDisable_AddBa;
48 	struct timer_list		TsAddBaTimer;
49 	u8				num;
50 };
51 
52 struct rx_ts_record {
53 	struct ts_common_info TsCommonInfo;
54 	u16				RxIndicateSeq;
55 	u16				RxTimeoutIndicateSeq;
56 	struct list_head		RxPendingPktList;
57 	struct timer_list		RxPktPendingTimer;
58 	struct ba_record RxAdmittedBARecord;
59 	u16				RxLastSeqNum;
60 	u8				RxLastFragNum;
61 	u8				num;
62 };
63 
64 
65 
66 #endif
67