1 #ifndef _TSTYPE_H_ 2 #define _TSTYPE_H_ 3 #include "rtl819x_Qos.h" 4 #define TS_SETUP_TIMEOUT 60 // In millisecond 5 #define TS_INACT_TIMEOUT 60 6 #define TS_ADDBA_DELAY 60 7 8 #define TOTAL_TS_NUM 16 9 #define TCLAS_NUM 4 10 11 // This define the Tx/Rx directions 12 typedef enum _TR_SELECT { 13 TX_DIR = 0, 14 RX_DIR = 1, 15 } TR_SELECT, *PTR_SELECT; 16 17 typedef struct _TS_COMMON_INFO{ 18 struct list_head List; 19 struct timer_list SetupTimer; 20 struct timer_list InactTimer; 21 u8 Addr[6]; 22 TSPEC_BODY TSpec; 23 QOS_TCLAS TClass[TCLAS_NUM]; 24 u8 TClasProc; 25 u8 TClasNum; 26 } TS_COMMON_INFO, *PTS_COMMON_INFO; 27 28 typedef struct _TX_TS_RECORD{ 29 TS_COMMON_INFO TsCommonInfo; 30 u16 TxCurSeq; 31 BA_RECORD TxPendingBARecord; // For BA Originator 32 BA_RECORD TxAdmittedBARecord; // For BA Originator 33 // QOS_DL_RECORD DLRecord; 34 u8 bAddBaReqInProgress; 35 u8 bAddBaReqDelayed; 36 u8 bUsingBa; 37 struct timer_list TsAddBaTimer; 38 u8 num; 39 } TX_TS_RECORD, *PTX_TS_RECORD; 40 41 typedef struct _RX_TS_RECORD { 42 TS_COMMON_INFO TsCommonInfo; 43 u16 RxIndicateSeq; 44 u16 RxTimeoutIndicateSeq; 45 struct list_head RxPendingPktList; 46 struct timer_list RxPktPendingTimer; 47 BA_RECORD RxAdmittedBARecord; // For BA Recipient 48 u16 RxLastSeqNum; 49 u8 RxLastFragNum; 50 u8 num; 51 // QOS_DL_RECORD DLRecord; 52 } RX_TS_RECORD, *PRX_TS_RECORD; 53 54 55 #endif 56 57