1 /* 2 * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 #ifndef _L_SIG_B_INFO_H_ 20 #define _L_SIG_B_INFO_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 25 // ################ START SUMMARY ################# 26 // 27 // Dword Fields 28 // 0 rate[3:0], length[15:4], reserved[31:16] 29 // 30 // ################ END SUMMARY ################# 31 32 #define NUM_OF_DWORDS_L_SIG_B_INFO 1 33 34 struct l_sig_b_info { 35 uint32_t rate : 4, //[3:0] 36 length : 12, //[15:4] 37 reserved : 16; //[31:16] 38 }; 39 40 /* 41 42 rate 43 44 <enum 1 dsss_1_mpbs_long> DSSS 1 Mbps long 45 46 <enum 2 dsss_2_mbps_long> DSSS 2 Mbps long 47 48 <enum 3 cck_5_5_mbps_long> CCK 5.5 Mbps long 49 50 <enum 4 cck_11_mbps_long> CCK 11 Mbps long 51 52 <enum 5 dsss_2_mbps_short> DSSS 2 Mbps short 53 54 <enum 6 cck_5_5_mbps_short> CCK 5.5 Mbps short 55 56 <enum 7 cck_11_mbps_short> CCK 11 Mbps short 57 58 <legal 1-7> 59 60 length 61 62 The length indicates the number of octets in this MPDU. 63 64 <legal all> 65 66 reserved 67 68 Reserved: Should be set to 0 by the transmitting MAC and 69 ignored by the PHY <legal 0> 70 */ 71 72 73 /* Description L_SIG_B_INFO_0_RATE 74 75 <enum 1 dsss_1_mpbs_long> DSSS 1 Mbps long 76 77 <enum 2 dsss_2_mbps_long> DSSS 2 Mbps long 78 79 <enum 3 cck_5_5_mbps_long> CCK 5.5 Mbps long 80 81 <enum 4 cck_11_mbps_long> CCK 11 Mbps long 82 83 <enum 5 dsss_2_mbps_short> DSSS 2 Mbps short 84 85 <enum 6 cck_5_5_mbps_short> CCK 5.5 Mbps short 86 87 <enum 7 cck_11_mbps_short> CCK 11 Mbps short 88 89 <legal 1-7> 90 */ 91 #define L_SIG_B_INFO_0_RATE_OFFSET 0x00000000 92 #define L_SIG_B_INFO_0_RATE_LSB 0 93 #define L_SIG_B_INFO_0_RATE_MASK 0x0000000f 94 95 /* Description L_SIG_B_INFO_0_LENGTH 96 97 The length indicates the number of octets in this MPDU. 98 99 <legal all> 100 */ 101 #define L_SIG_B_INFO_0_LENGTH_OFFSET 0x00000000 102 #define L_SIG_B_INFO_0_LENGTH_LSB 4 103 #define L_SIG_B_INFO_0_LENGTH_MASK 0x0000fff0 104 105 /* Description L_SIG_B_INFO_0_RESERVED 106 107 Reserved: Should be set to 0 by the transmitting MAC and 108 ignored by the PHY <legal 0> 109 */ 110 #define L_SIG_B_INFO_0_RESERVED_OFFSET 0x00000000 111 #define L_SIG_B_INFO_0_RESERVED_LSB 16 112 #define L_SIG_B_INFO_0_RESERVED_MASK 0xffff0000 113 114 115 #endif // _L_SIG_B_INFO_H_ 116