1
2
3
4
5
6
7 #ifndef _BATYPE_H_
8 #define _BATYPE_H_
9
10 #define BA_SETUP_TIMEOUT 200
11
12 #define BA_POLICY_DELAYED 0
13 #define BA_POLICY_IMMEDIATE 1
14
15 #define ADDBA_STATUS_SUCCESS 0
16 #define ADDBA_STATUS_REFUSED 37
17 #define ADDBA_STATUS_INVALID_PARAM 38
18
19 #define DELBA_REASON_END_BA 37
20 #define DELBA_REASON_UNKNOWN_BA 38
21 #define DELBA_REASON_TIMEOUT 39
22 union sequence_control {
23 u16 ShortData;
24 struct {
25 u16 FragNum:4;
26 u16 SeqNum:12;
27 } field;
28 };
29
30 union ba_param_set {
31 u8 charData[2];
32 u16 shortData;
33 struct {
34 u16 AMSDU_Support:1;
35 u16 BAPolicy:1;
36 u16 TID:4;
37 u16 BufferSize:10;
38 } field;
39 };
40
41 union delba_param_set {
42 u8 charData[2];
43 u16 shortData;
44 struct {
45 u16 Reserved:11;
46 u16 Initiator:1;
47 u16 TID:4;
48 } field;
49 };
50
51 struct ba_record {
52 struct timer_list Timer;
53 u8 bValid;
54 u8 DialogToken;
55 union ba_param_set BaParamSet;
56 u16 BaTimeoutValue;
57 union sequence_control BaStartSeqCtrl;
58 };
59
60 #endif