rtl819x_BA.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef _BATYPE_H_
  2. #define _BATYPE_H_
  3. #define TOTAL_TXBA_NUM 16
  4. #define TOTAL_RXBA_NUM 16
  5. #define BA_SETUP_TIMEOUT 200
  6. #define BA_INACT_TIMEOUT 60000
  7. #define BA_POLICY_DELAYED 0
  8. #define BA_POLICY_IMMEDIATE 1
  9. #define ADDBA_STATUS_SUCCESS 0
  10. #define ADDBA_STATUS_REFUSED 37
  11. #define ADDBA_STATUS_INVALID_PARAM 38
  12. #define DELBA_REASON_QSTA_LEAVING 36
  13. #define DELBA_REASON_END_BA 37
  14. #define DELBA_REASON_UNKNOWN_BA 38
  15. #define DELBA_REASON_TIMEOUT 39
  16. /* whether need define BA Action frames here?
  17. struct ieee80211_ADDBA_Req{
  18. struct ieee80211_header_data header;
  19. u8 category;
  20. u8
  21. } __attribute__ ((packed));
  22. */
  23. //Is this need?I put here just to make it easier to define structure BA_RECORD //WB
  24. typedef union _SEQUENCE_CONTROL{
  25. u16 ShortData;
  26. struct {
  27. u16 FragNum:4;
  28. u16 SeqNum:12;
  29. }field;
  30. }SEQUENCE_CONTROL, *PSEQUENCE_CONTROL;
  31. typedef union _BA_PARAM_SET {
  32. u8 charData[2];
  33. u16 shortData;
  34. struct {
  35. u16 AMSDU_Support:1;
  36. u16 BAPolicy:1;
  37. u16 TID:4;
  38. u16 BufferSize:10;
  39. } field;
  40. } BA_PARAM_SET, *PBA_PARAM_SET;
  41. typedef 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. } DELBA_PARAM_SET, *PDELBA_PARAM_SET;
  50. typedef struct _BA_RECORD {
  51. struct timer_list Timer;
  52. u8 bValid;
  53. u8 DialogToken;
  54. BA_PARAM_SET BaParamSet;
  55. u16 BaTimeoutValue;
  56. SEQUENCE_CONTROL BaStartSeqCtrl;
  57. } BA_RECORD, *PBA_RECORD;
  58. #endif //end _BATYPE_H_