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