Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / drivers / staging / rtl8192u / ieee80211 / rtl819x_BA.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BATYPE_H_
3 #define _BATYPE_H_
4
5 #define         TOTAL_TXBA_NUM  16
6 #define TOTAL_RXBA_NUM  16
7
8 #define BA_SETUP_TIMEOUT        200
9 #define BA_INACT_TIMEOUT        60000
10
11 #define BA_POLICY_DELAYED               0
12 #define BA_POLICY_IMMEDIATE     1
13
14 #define ADDBA_STATUS_SUCCESS                    0
15 #define ADDBA_STATUS_REFUSED            37
16 #define ADDBA_STATUS_INVALID_PARAM      38
17
18 #define DELBA_REASON_QSTA_LEAVING       36
19 #define DELBA_REASON_END_BA                     37
20 #define DELBA_REASON_UNKNOWN_BA 38
21 #define DELBA_REASON_TIMEOUT                    39
22 /*  whether need define BA Action frames here?
23 struct ieee80211_ADDBA_Req{
24         struct ieee80211_header_data header;
25         u8      category;
26         u8
27 } __attribute__ ((packed));
28 */
29 //Is this need?I put here just to make it easier to define structure BA_RECORD //WB
30 typedef union _SEQUENCE_CONTROL{
31         u16 ShortData;
32         struct {
33                 u16     FragNum:4;
34                 u16     SeqNum:12;
35         } field;
36 } SEQUENCE_CONTROL, *PSEQUENCE_CONTROL;
37
38 typedef union _BA_PARAM_SET {
39         u8 charData[2];
40         u16 shortData;
41         struct {
42                 u16 AMSDU_Support:1;
43                 u16 BAPolicy:1;
44                 u16 TID:4;
45                 u16 BufferSize:10;
46         } field;
47 } BA_PARAM_SET, *PBA_PARAM_SET;
48
49 typedef union _DELBA_PARAM_SET {
50         u8 charData[2];
51         u16 shortData;
52         struct {
53                 u16 Reserved:11;
54                 u16 Initiator:1;
55                 u16 TID:4;
56         } field;
57 } DELBA_PARAM_SET, *PDELBA_PARAM_SET;
58
59 typedef struct _BA_RECORD {
60         struct timer_list               Timer;
61         u8                              bValid;
62         u8                              DialogToken;
63         BA_PARAM_SET            BaParamSet;
64         u16                             BaTimeoutValue;
65         SEQUENCE_CONTROL        BaStartSeqCtrl;
66 } BA_RECORD, *PBA_RECORD;
67
68 #endif //end _BATYPE_H_