18fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#ifndef _TSTYPE_H_ 28fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define _TSTYPE_H_ 38fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#include "rtl819x_Qos.h" 48fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define TS_SETUP_TIMEOUT 60 // In millisecond 58fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define TS_INACT_TIMEOUT 60 68fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define TS_ADDBA_DELAY 60 78fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 88fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define TOTAL_TS_NUM 16 98fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#define TCLAS_NUM 4 108fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 118fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang// This define the Tx/Rx directions 128fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuangtypedef enum _TR_SELECT { 138fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang TX_DIR = 0, 148fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang RX_DIR = 1, 158fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang} TR_SELECT, *PTR_SELECT; 168fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 178fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuangtypedef struct _TS_COMMON_INFO{ 188fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct list_head List; 198fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct timer_list SetupTimer; 208fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct timer_list InactTimer; 218fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 Addr[6]; 228fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang TSPEC_BODY TSpec; 238fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang QOS_TCLAS TClass[TCLAS_NUM]; 248fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 TClasProc; 258fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 TClasNum; 268fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang} TS_COMMON_INFO, *PTS_COMMON_INFO; 278fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 288fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuangtypedef struct _TX_TS_RECORD{ 298fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang TS_COMMON_INFO TsCommonInfo; 308fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u16 TxCurSeq; 3135997ff0cadda701711416abf6676b77358b0008Sebastian Hahn BA_RECORD TxPendingBARecord; // For BA Originator 328fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang BA_RECORD TxAdmittedBARecord; // For BA Originator 338fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang// QOS_DL_RECORD DLRecord; 348fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 bAddBaReqInProgress; 358fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 bAddBaReqDelayed; 368fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 bUsingBa; 378fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct timer_list TsAddBaTimer; 388fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 num; 398fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang} TX_TS_RECORD, *PTX_TS_RECORD; 408fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 418fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuangtypedef struct _RX_TS_RECORD { 428fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang TS_COMMON_INFO TsCommonInfo; 438fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u16 RxIndicateSeq; 448fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u16 RxTimeoutIndicateSeq; 458fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct list_head RxPendingPktList; 468fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang struct timer_list RxPktPendingTimer; 4725985edcedea6396277003854657b5f3cb31a628Lucas De Marchi BA_RECORD RxAdmittedBARecord; // For BA Recipient 488fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u16 RxLastSeqNum; 498fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 RxLastFragNum; 508fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang u8 num; 518fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang// QOS_DL_RECORD DLRecord; 528fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang} RX_TS_RECORD, *PRX_TS_RECORD; 538fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 548fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang 558fc8598e61f6f384f3eaf1d9b09500c12af47b37Jerry Chuang#endif 56