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 20 21 #ifndef _L_SIG_B_INFO_H_ 22 #define _L_SIG_B_INFO_H_ 23 #if !defined(__ASSEMBLER__) 24 #endif 25 26 27 // ################ START SUMMARY ################# 28 // 29 // Dword Fields 30 // 0 rate[3:0], length[15:4], reserved[31:16] 31 // 32 // ################ END SUMMARY ################# 33 34 #define NUM_OF_DWORDS_L_SIG_B_INFO 1 35 36 struct l_sig_b_info { 37 uint32_t rate : 4, //[3:0] 38 length : 12, //[15:4] 39 reserved : 16; //[31:16] 40 }; 41 42 /* 43 44 rate 45 46 <enum 1 dsss_1_mpbs_long> DSSS 1 Mbps long 47 48 <enum 2 dsss_2_mbps_long> DSSS 2 Mbps long 49 50 <enum 3 cck_5_5_mbps_long> CCK 5.5 Mbps long 51 52 <enum 4 cck_11_mbps_long> CCK 11 Mbps long 53 54 <enum 5 dsss_2_mbps_short> DSSS 2 Mbps short 55 56 <enum 6 cck_5_5_mbps_short> CCK 5.5 Mbps short 57 58 <enum 7 cck_11_mbps_short> CCK 11 Mbps short 59 60 <legal 1-7> 61 62 length 63 64 The length indicates the number of octets in this MPDU. 65 66 <legal all> 67 68 reserved 69 70 Reserved: Should be set to 0 by the transmitting MAC and 71 ignored by the PHY <legal 0> 72 */ 73 74 75 /* Description L_SIG_B_INFO_0_RATE 76 77 <enum 1 dsss_1_mpbs_long> DSSS 1 Mbps long 78 79 <enum 2 dsss_2_mbps_long> DSSS 2 Mbps long 80 81 <enum 3 cck_5_5_mbps_long> CCK 5.5 Mbps long 82 83 <enum 4 cck_11_mbps_long> CCK 11 Mbps long 84 85 <enum 5 dsss_2_mbps_short> DSSS 2 Mbps short 86 87 <enum 6 cck_5_5_mbps_short> CCK 5.5 Mbps short 88 89 <enum 7 cck_11_mbps_short> CCK 11 Mbps short 90 91 <legal 1-7> 92 */ 93 #define L_SIG_B_INFO_0_RATE_OFFSET 0x00000000 94 #define L_SIG_B_INFO_0_RATE_LSB 0 95 #define L_SIG_B_INFO_0_RATE_MASK 0x0000000f 96 97 /* Description L_SIG_B_INFO_0_LENGTH 98 99 The length indicates the number of octets in this MPDU. 100 101 <legal all> 102 */ 103 #define L_SIG_B_INFO_0_LENGTH_OFFSET 0x00000000 104 #define L_SIG_B_INFO_0_LENGTH_LSB 4 105 #define L_SIG_B_INFO_0_LENGTH_MASK 0x0000fff0 106 107 /* Description L_SIG_B_INFO_0_RESERVED 108 109 Reserved: Should be set to 0 by the transmitting MAC and 110 ignored by the PHY <legal 0> 111 */ 112 #define L_SIG_B_INFO_0_RESERVED_OFFSET 0x00000000 113 #define L_SIG_B_INFO_0_RESERVED_LSB 16 114 #define L_SIG_B_INFO_0_RESERVED_MASK 0xffff0000 115 116 117 #endif // _L_SIG_B_INFO_H_ 118