Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / rtl8192e / rtl819x_BA.h
1 /******************************************************************************
2  * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
3  *
4  * This program is distributed in the hope that it will be useful, but WITHOUT
5  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
6  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
7  * more details.
8  *
9  * You should have received a copy of the GNU General Public License along with
10  * this program; if not, write to the Free Software Foundation, Inc.,
11  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
12  *
13  * The full GNU General Public License is included in this distribution in the
14  * file called LICENSE.
15  *
16  * Contact Information:
17  * wlanfae <wlanfae@realtek.com>
18 ******************************************************************************/
19 #ifndef _BATYPE_H_
20 #define _BATYPE_H_
21
22 #define         TOTAL_TXBA_NUM  16
23 #define TOTAL_RXBA_NUM  16
24
25 #define BA_SETUP_TIMEOUT        200
26 #define BA_INACT_TIMEOUT        60000
27
28 #define BA_POLICY_DELAYED               0
29 #define BA_POLICY_IMMEDIATE     1
30
31 #define ADDBA_STATUS_SUCCESS                    0
32 #define ADDBA_STATUS_REFUSED            37
33 #define ADDBA_STATUS_INVALID_PARAM      38
34
35 #define DELBA_REASON_QSTA_LEAVING       36
36 #define DELBA_REASON_END_BA                     37
37 #define DELBA_REASON_UNKNOWN_BA 38
38 #define DELBA_REASON_TIMEOUT                    39
39 union sequence_control {
40         u16 ShortData;
41         struct {
42                 u16     FragNum:4;
43                 u16     SeqNum:12;
44         } field;
45 };
46
47 union ba_param_set {
48         u8 charData[2];
49         u16 shortData;
50         struct {
51                 u16 AMSDU_Support:1;
52                 u16 BAPolicy:1;
53                 u16 TID:4;
54                 u16 BufferSize:10;
55         } field;
56 };
57
58 union delba_param_set {
59         u8 charData[2];
60         u16 shortData;
61         struct {
62                 u16 Reserved:11;
63                 u16 Initiator:1;
64                 u16 TID:4;
65         } field;
66 };
67
68 struct ba_record {
69         struct timer_list               Timer;
70         u8                              bValid;
71         u8                              DialogToken;
72         union ba_param_set BaParamSet;
73         u16                             BaTimeoutValue;
74         union sequence_control BaStartSeqCtrl;
75 };
76
77 #endif