#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
