1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _BATYPE_H_ 3#define _BATYPE_H_ 4 5#define BA_SETUP_TIMEOUT 200 6 7#define BA_POLICY_DELAYED 0 8#define BA_POLICY_IMMEDIATE 1 9 10#define ADDBA_STATUS_SUCCESS 0 11#define ADDBA_STATUS_REFUSED 37 12#define ADDBA_STATUS_INVALID_PARAM 38 13 14#define DELBA_REASON_END_BA 37 15#define DELBA_REASON_UNKNOWN_BA 38 16#define DELBA_REASON_TIMEOUT 39 17 18union sequence_control { 19 u16 short_data; 20 struct { 21 u16 frag_num:4; 22 u16 seq_num:12; 23 } field; 24}; 25 26union ba_param_set { 27 u16 short_data; 28 struct { 29 u16 amsdu_support:1; 30 u16 ba_policy:1; 31 u16 tid:4; 32 u16 buffer_size:10; 33 } field; 34}; 35 36union delba_param_set { 37 u16 short_data; 38 struct { 39 u16 reserved:11; 40 u16 initiator:1; 41 u16 tid:4; 42 } field; 43}; 44 45struct ba_record { 46 struct timer_list timer; 47 u8 valid; 48 u8 dialog_token; 49 union ba_param_set param_set; 50 u16 timeout_value; 51 union sequence_control start_seq_ctrl; 52}; 53 54#endif //end _BATYPE_H_ 55