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 40typedef union _SEQUENCE_CONTROL{ 41 u16 ShortData; 42 struct 43 { 44 u16 FragNum:4; 45 u16 SeqNum:12; 46 }field; 47}SEQUENCE_CONTROL, *PSEQUENCE_CONTROL; 48 49typedef union _BA_PARAM_SET { 50 u8 charData[2]; 51 u16 shortData; 52 struct { 53 u16 AMSDU_Support:1; 54 u16 BAPolicy:1; 55 u16 TID:4; 56 u16 BufferSize:10; 57 } field; 58} BA_PARAM_SET, *PBA_PARAM_SET; 59 60typedef union _DELBA_PARAM_SET { 61 u8 charData[2]; 62 u16 shortData; 63 struct { 64 u16 Reserved:11; 65 u16 Initiator:1; 66 u16 TID:4; 67 } field; 68} DELBA_PARAM_SET, *PDELBA_PARAM_SET; 69 70typedef struct _BA_RECORD { 71 struct timer_list Timer; 72 u8 bValid; 73 u8 DialogToken; 74 BA_PARAM_SET BaParamSet; 75 u16 BaTimeoutValue; 76 SEQUENCE_CONTROL BaStartSeqCtrl; 77} BA_RECORD, *PBA_RECORD; 78 79#endif 80