#ifndef _TSTYPE_H_ #define _TSTYPE_H_ #include "rtl819x_Qos.h" #define TS_SETUP_TIMEOUT 60 /* In millisecond */ #define TS_INACT_TIMEOUT 60 #define TS_ADDBA_DELAY 60 #define TOTAL_TS_NUM 16 #define TCLAS_NUM 4 /* This define the Tx/Rx directions */ typedef enum _TR_SELECT { TX_DIR = 0, RX_DIR = 1, } TR_SELECT, *PTR_SELECT; typedef struct _TS_COMMON_INFO { struct list_head List; struct timer_list SetupTimer; struct timer_list InactTimer; u8 Addr[6]; TSPEC_BODY TSpec; QOS_TCLAS TClass[TCLAS_NUM]; u8 TClasProc; u8 TClasNum; } TS_COMMON_INFO, *PTS_COMMON_INFO; typedef struct _TX_TS_RECORD { TS_COMMON_INFO TsCommonInfo; u16 TxCurSeq; BA_RECORD TxPendingBARecord; /* For BA Originator */ BA_RECORD TxAdmittedBARecord; /* For BA Originator */ /* QOS_DL_RECORD DLRecord; */ u8 bAddBaReqInProgress; u8 bAddBaReqDelayed; u8 bUsingBa; struct timer_list TsAddBaTimer; u8 num; } TX_TS_RECORD, *PTX_TS_RECORD; typedef struct _RX_TS_RECORD { TS_COMMON_INFO TsCommonInfo; u16 RxIndicateSeq; u16 RxTimeoutIndicateSeq; struct list_head RxPendingPktList; struct timer_list RxPktPendingTimer; BA_RECORD RxAdmittedBARecord; /* For BA Recipient */ u16 RxLastSeqNum; u8 RxLastFragNum; u8 num; /* QOS_DL_RECORD DLRecord; */ } RX_TS_RECORD, *PRX_TS_RECORD; #endif