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 78