Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / rtl8192u / ieee80211 / rtl819x_BA.h
diff --git a/kernel/drivers/staging/rtl8192u/ieee80211/rtl819x_BA.h b/kernel/drivers/staging/rtl8192u/ieee80211/rtl819x_BA.h
new file mode 100644 (file)
index 0000000..2c398ca
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef _BATYPE_H_
+#define _BATYPE_H_
+
+#define                TOTAL_TXBA_NUM  16
+#define        TOTAL_RXBA_NUM  16
+
+#define        BA_SETUP_TIMEOUT        200
+#define        BA_INACT_TIMEOUT        60000
+
+#define        BA_POLICY_DELAYED               0
+#define        BA_POLICY_IMMEDIATE     1
+
+#define        ADDBA_STATUS_SUCCESS                    0
+#define        ADDBA_STATUS_REFUSED            37
+#define        ADDBA_STATUS_INVALID_PARAM      38
+
+#define        DELBA_REASON_QSTA_LEAVING       36
+#define        DELBA_REASON_END_BA                     37
+#define        DELBA_REASON_UNKNOWN_BA 38
+#define        DELBA_REASON_TIMEOUT                    39
+/*  whether need define BA Action frames here?
+struct ieee80211_ADDBA_Req{
+       struct ieee80211_header_data header;
+       u8      category;
+       u8
+} __attribute__ ((packed));
+*/
+//Is this need?I put here just to make it easier to define structure BA_RECORD //WB
+typedef union _SEQUENCE_CONTROL{
+       u16 ShortData;
+       struct {
+               u16     FragNum:4;
+               u16     SeqNum:12;
+       }field;
+}SEQUENCE_CONTROL, *PSEQUENCE_CONTROL;
+
+typedef union _BA_PARAM_SET {
+       u8 charData[2];
+       u16 shortData;
+       struct {
+               u16 AMSDU_Support:1;
+               u16 BAPolicy:1;
+               u16 TID:4;
+               u16 BufferSize:10;
+       } field;
+} BA_PARAM_SET, *PBA_PARAM_SET;
+
+typedef union _DELBA_PARAM_SET {
+       u8 charData[2];
+       u16 shortData;
+       struct {
+               u16 Reserved:11;
+               u16 Initiator:1;
+               u16 TID:4;
+       } field;
+} DELBA_PARAM_SET, *PDELBA_PARAM_SET;
+
+typedef struct _BA_RECORD {
+       struct timer_list               Timer;
+       u8                              bValid;
+       u8                              DialogToken;
+       BA_PARAM_SET            BaParamSet;
+       u16                             BaTimeoutValue;
+       SEQUENCE_CONTROL        BaStartSeqCtrl;
+} BA_RECORD, *PBA_RECORD;
+
+#endif //end _BATYPE_H_