blob: 70e2c2bd23548ed0a752cf813fe74d1389314c06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#ifndef __INC_TSTYPE_H
#define __INC_TSTYPE_H
#define TS_SETUP_TIMEOUT 60000 // In micro seconds
#define TS_INACT_TIMEOUT 60000
#define TS_ADDBA_DELAY 60000
#define TOTAL_TS_NUM 64
#define TCLAS_NUM 4
// This define the Tx/Rx directions
typedef enum _TR_SELECT {
TX_DIR = 0,
RX_DIR = 1,
} TR_SELECT, *PTR_SELECT;
#define WMM_TSPEC_BODY_LENGTH 55
typedef struct _TS_COMMON_INFO{
RT_LIST_ENTRY List;
u1Byte Addr[6];
u1Byte TSpec[WMM_TSPEC_BODY_LENGTH];
QOS_TCLAS TClass[TCLAS_NUM];
u1Byte TClasProc;
u1Byte TClasNum;
} TS_COMMON_INFO, *PTS_COMMON_INFO;
typedef struct _TX_TS_RECORD{
TS_COMMON_INFO TsCommonInfo;
u2Byte TxCurSeq;
BA_RECORD TxPendingBARecord; // For BA Originator
BA_RECORD TxAdmittedBARecord; // For BA Originator
// QOS_DL_RECORD DLRecord;
BOOLEAN bAddBaReqInProgress;
BOOLEAN bAddBaReqDelayed;
BOOLEAN bUsingBa;
RT_TIMER TsAddBaTimer;
} TX_TS_RECORD, *PTX_TS_RECORD;
typedef struct _RX_TS_RECORD {
TS_COMMON_INFO TsCommonInfo;
u2Byte RxIndicateSeq;
u1Byte RxIndicateState;
RT_LIST_ENTRY RxPendingPktList;
RT_TIMER RxPktPendingTimer;
BA_RECORD RxAdmittedBARecord; // For BA Recepient
u2Byte RxLastSeqNum;
u1Byte RxLastFragNum;
u4Byte RxBatchCount;
u4Byte RxTotalSubframeCount; //for AMSDU subframe
// QOS_DL_RECORD DLRecord;
} RX_TS_RECORD, *PRX_TS_RECORD;
#endif
|