118056f34SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 218056f34SGreg Kroah-Hartman /* 394a79942SLarry Finger * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved. 494a79942SLarry Finger * 518056f34SGreg Kroah-Hartman * Contact Information: wlanfae <wlanfae@realtek.com> 618056f34SGreg Kroah-Hartman */ 794a79942SLarry Finger #ifndef _BATYPE_H_ 894a79942SLarry Finger #define _BATYPE_H_ 994a79942SLarry Finger 1094a79942SLarry Finger #define BA_SETUP_TIMEOUT 200 1194a79942SLarry Finger 1294a79942SLarry Finger #define BA_POLICY_DELAYED 0 1394a79942SLarry Finger #define BA_POLICY_IMMEDIATE 1 1494a79942SLarry Finger 1594a79942SLarry Finger #define ADDBA_STATUS_SUCCESS 0 1694a79942SLarry Finger #define ADDBA_STATUS_REFUSED 37 1794a79942SLarry Finger #define ADDBA_STATUS_INVALID_PARAM 38 1894a79942SLarry Finger 1994a79942SLarry Finger #define DELBA_REASON_END_BA 37 2094a79942SLarry Finger #define DELBA_REASON_UNKNOWN_BA 38 2194a79942SLarry Finger #define DELBA_REASON_TIMEOUT 39 227baf9546SLarry Finger union sequence_control { 2394a79942SLarry Finger u16 ShortData; 24831cb9dbSLarry Finger struct { 2594a79942SLarry Finger u16 FragNum:4; 2694a79942SLarry Finger u16 SeqNum:12; 2794a79942SLarry Finger } field; 287baf9546SLarry Finger }; 2994a79942SLarry Finger 306857f367SLarry Finger union ba_param_set { 3194a79942SLarry Finger u8 charData[2]; 3294a79942SLarry Finger u16 shortData; 3394a79942SLarry Finger struct { 3494a79942SLarry Finger u16 AMSDU_Support:1; 3594a79942SLarry Finger u16 BAPolicy:1; 3694a79942SLarry Finger u16 TID:4; 3794a79942SLarry Finger u16 BufferSize:10; 3894a79942SLarry Finger } field; 396857f367SLarry Finger }; 4094a79942SLarry Finger 41f198db0cSLarry Finger union delba_param_set { 4294a79942SLarry Finger u8 charData[2]; 4394a79942SLarry Finger u16 shortData; 4494a79942SLarry Finger struct { 4594a79942SLarry Finger u16 Reserved:11; 4694a79942SLarry Finger u16 Initiator:1; 4794a79942SLarry Finger u16 TID:4; 4894a79942SLarry Finger } field; 49f198db0cSLarry Finger }; 5094a79942SLarry Finger 518cf33316SLarry Finger struct ba_record { 5294a79942SLarry Finger struct timer_list Timer; 5394a79942SLarry Finger u8 bValid; 5494a79942SLarry Finger u8 DialogToken; 556857f367SLarry Finger union ba_param_set BaParamSet; 5694a79942SLarry Finger u16 BaTimeoutValue; 577baf9546SLarry Finger union sequence_control BaStartSeqCtrl; 588cf33316SLarry Finger }; 5994a79942SLarry Finger 6094a79942SLarry Finger #endif 61