A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::RadiotapHeader Class Reference

Radiotap header implementation. More...

#include "radiotap-header.h"

+ Inheritance diagram for ns3::RadiotapHeader:
+ Collaboration diagram for ns3::RadiotapHeader:

Classes

struct  AmpduStatusFields
 structure that contains the subfields of the A-MPDU status field. More...
 
struct  ChannelFields
 structure that contains the subfields of the Channel field. More...
 
struct  EhtFields
 structure that contains the subfields of the EHT field. More...
 
struct  HeFields
 structure that contains the subfields of the HE field. More...
 
struct  HeMuFields
 structure that contains the subfields of the HE-MU field. More...
 
struct  HeMuOtherUserFields
 structure that contains the subfields of the HE-MU-other-user field. More...
 
struct  McsFields
 structure that contains the subfields of the MCS field. More...
 
struct  TlvFields
 structure that contains the subfields of the TLV fields. More...
 
struct  UsigFields
 structure that contains the subfields of the U-SIG field. More...
 
struct  VhtFields
 structure that contains the subfields of the VHT field. More...
 

Public Types

enum  AmpduFlags : uint8_t {
  A_MPDU_STATUS_NONE = 0x00 , A_MPDU_STATUS_REPORT_ZERO_LENGTH = 0x01 , A_MPDU_STATUS_IS_ZERO_LENGTH , A_MPDU_STATUS_LAST_KNOWN ,
  A_MPDU_STATUS_LAST = 0x08 , A_MPDU_STATUS_DELIMITER_CRC_ERROR = 0x10 , A_MPDU_STATUS_DELIMITER_CRC_KNOWN
}
 A-MPDU status flags. More...
 
enum  ChannelFlags : uint16_t {
  CHANNEL_FLAG_NONE = 0x0000 , CHANNEL_FLAG_TURBO = 0x0010 , CHANNEL_FLAG_CCK = 0x0020 , CHANNEL_FLAG_OFDM = 0x0040 ,
  CHANNEL_FLAG_SPECTRUM_2GHZ = 0x0080 , CHANNEL_FLAG_SPECTRUM_5GHZ = 0x0100 , CHANNEL_FLAG_PASSIVE = 0x0200 , CHANNEL_FLAG_DYNAMIC = 0x0400 ,
  CHANNEL_FLAG_GFSK = 0x0800
}
 Channel flags. More...
 
enum  EhtData : uint32_t {
  EHT_DATA0_SPATIAL_REUSE = 0x00000078 , EHT_DATA0_GI = 0x00000180 , EHT_DATA0_LTF = 0x00000600 , EHT_DATA0_EHT_LTF = 0x00003800 ,
  EHT_DATA0_LDPC_EXTRA_SYM_OM = 0x00004000 , EHT_DATA0_PRE_PADD_FACOR_OM = 0x00018000 , EHT_DATA0_PE_DISAMBIGUITY_OM = 0x00020000 , EHT_DATA0_DISREGARD_S = 0x000c0000 ,
  EHT_DATA0_DISREGARD_O = 0x003c0000 , EHT_DATA0_CRC1_O = 0x03c00000 , EHT_DATA0_TAIL1_O = 0xfc000000 , EHT_DATA1_RU_MRU_SIZE = 0x0000001f ,
  EHT_DATA1_RU_MRU_INDEX = 0x00001fe0 , EHT_DATA1_RU_ALLOC_CC_1_1_1 = 0x003fe000 , EHT_DATA1_RU_ALLOC_CC_1_1_1_KNOWN = 0x00400000 , EHT_DATA1_PRIMARY_80 = 0xc0000000 ,
  EHT_DATA2_RU_ALLOC_CC_2_1_1 = 0x000001ff , EHT_DATA2_RU_ALLOC_CC_2_1_1_KNOWN = 0x00000200 , EHT_DATA2_RU_ALLOC_CC_1_1_2 = 0x0007fc00 , EHT_DATA2_RU_ALLOC_CC_1_1_2_KNOWN = 0x00080000 ,
  EHT_DATA2_RU_ALLOC_CC_2_1_2 = 0x1ff00000 , EHT_DATA2_RU_ALLOC_CC_2_1_2_KNOWN = 0x20000000 , EHT_DATA3_RU_ALLOC_CC_1_2_1 = 0x000001ff , EHT_DATA3_RU_ALLOC_CC_1_2_1_KNOWN = 0x00000200 ,
  EHT_DATA3_RU_ALLOC_CC_2_2_1 = 0x0007fc00 , EHT_DATA3_RU_ALLOC_CC_2_2_1_KNOWN = 0x00080000 , EHT_DATA3_RU_ALLOC_CC_1_2_2 = 0x1ff00000 , EHT_DATA3_RU_ALLOC_CC_1_2_2_KNOWN = 0x20000000 ,
  EHT_DATA4_RU_ALLOC_CC_2_2_2 = 0x000001ff , EHT_DATA4_RU_ALLOC_CC_2_2_2_KNOWN = 0x00000200 , EHT_DATA4_RU_ALLOC_CC_1_2_3 = 0x0007fc00 , EHT_DATA4_RU_ALLOC_CC_1_2_3_KNOWN = 0x00080000 ,
  EHT_DATA4_RU_ALLOC_CC_2_2_3 = 0x1ff00000 , EHT_DATA4_RU_ALLOC_CC_2_2_3_KNOWN = 0x20000000 , EHT_DATA5_RU_ALLOC_CC_1_2_4 = 0x000001ff , EHT_DATA5_RU_ALLOC_CC_1_2_4_KNOWN = 0x00000200 ,
  EHT_DATA5_RU_ALLOC_CC_2_2_4 = 0x0007fc00 , EHT_DATA5_RU_ALLOC_CC_2_2_4_KNOWN = 0x00080000 , EHT_DATA5_RU_ALLOC_CC_1_2_5 = 0x1ff00000 , EHT_DATA5_RU_ALLOC_CC_1_2_5_KNOWN = 0x20000000 ,
  EHT_DATA6_RU_ALLOC_CC_2_2_5 = 0x000001ff , EHT_DATA6_RU_ALLOC_CC_2_2_5_KNOWN = 0x00000200 , EHT_DATA6_RU_ALLOC_CC_1_2_6 = 0x0007fc00 , EHT_DATA6_RU_ALLOC_CC_1_2_6_KNOWN = 0x00080000 ,
  EHT_DATA6_RU_ALLOC_CC_2_2_6 = 0x1ff00000 , EHT_DATA6_RU_ALLOC_CC_2_2_6_KNOWN = 0x20000000 , EHT_DATA7_CRC2_O = 0x0000000f , EHT_DATA7_TAIL_2_O = 0x000003f0 ,
  EHT_DATA7_NSS_S = 0x0000f000 , EHT_DATA7_BEAMFORMED_S = 0x00010000 , EHT_DATA7_NUM_OF_NON_OFDMA_USERS = 0x000e0000 , EHT_DATA7_USER_ENCODING_BLOCK_CRC = 0x00f00000 ,
  EHT_DATA7_USER_ENCODING_BLOCK_TAIL = 0x3f000000 , EHT_DATA8_RU_ALLOC_TB_FMT_PS_160 = 0x00000001 , EHT_DATA8_RU_ALLOC_TB_FMT_B0 = 0x00000002 , EHT_DATA8_RU_ALLOC_TB_FMT_B7_B1 = 0x000001fc
}
 EHT data subfield. More...
 
enum  EhtData0Gi : uint8_t { EHT_DATA0_GI_800_NS = 0 , EHT_DATA0_GI_1600_NS = 1 , EHT_DATA0_GI_3200_NS = 2 }
 Possible GI values in EHT data subfield. More...
 
enum  EhtData1Primary80 : uint8_t { EHT_DATA1_PRIMARY_80_LOWEST = 0 , EHT_DATA1_PRIMARY_80_HIGHEST = 3 }
 Possible Primary 80 MHz Channel Position values in EHT data subfield. More...
 
enum  EhtData1RuSize : uint8_t {
  EHT_DATA1_RU_MRU_SIZE_26 = 0 , EHT_DATA1_RU_MRU_SIZE_52 = 1 , EHT_DATA1_RU_MRU_SIZE_106 = 2 , EHT_DATA1_RU_MRU_SIZE_242 = 3 ,
  EHT_DATA1_RU_MRU_SIZE_484 = 4 , EHT_DATA1_RU_MRU_SIZE_996 = 5 , EHT_DATA1_RU_MRU_SIZE_2x996 = 6 , EHT_DATA1_RU_MRU_SIZE_4x996 = 7 ,
  EHT_DATA1_RU_MRU_SIZE_52_26 = 8 , EHT_DATA1_RU_MRU_SIZE_106_26 = 9 , EHT_DATA1_RU_MRU_SIZE_484_242 = 10 , EHT_DATA1_RU_MRU_SIZE_996_484 = 11 ,
  EHT_DATA1_RU_MRU_SIZE_996_484_242 = 12 , EHT_DATA1_RU_MRU_SIZE_2x996_484 = 13 , EHT_DATA1_RU_MRU_SIZE_3x996 = 14 , EHT_DATA1_RU_MRU_SIZE_3x996_484 = 15
}
 Possible RU/MRU Size values in EHT data subfield. More...
 
enum  EhtKnown : uint32_t {
  EHT_KNOWN_SPATIAL_REUSE = 0x00000002 , EHT_KNOWN_GI = 0x00000004 , EHT_KNOWN_EHT_LTF = 0x00000010 , EHT_KNOWN_LDPC_EXTRA_SYM_OM = 0x00000020 ,
  EHT_KNOWN_PRE_PADD_FACOR_OM = 0x00000040 , EHT_KNOWN_PE_DISAMBIGUITY_OM = 0x00000080 , EHT_KNOWN_DISREGARD_O = 0x00000100 , EHT_KNOWN_DISREGARD_S = 0x00000200 ,
  EHT_KNOWN_CRC1 = 0x00002000 , EHT_KNOWN_TAIL1 = 0x00004000 , EHT_KNOWN_CRC2_O = 0x00008000 , EHT_KNOWN_TAIL2_O = 0x00010000 ,
  EHT_KNOWN_NSS_S = 0x00020000 , EHT_KNOWN_BEAMFORMED_S = 0x00040000 , EHT_KNOWN_NR_NON_OFDMA_USERS_M = 0x00080000 , EHT_KNOWN_ENCODING_BLOCK_CRC_M = 0x00100000 ,
  EHT_KNOWN_ENCODING_BLOCK_TAIL_M = 0x00200000 , EHT_KNOWN_RU_MRU_SIZE_OM = 0x00400000 , EHT_KNOWN_RU_MRU_INDEX_OM = 0x00800000 , EHT_KNOWN_RU_ALLOC_TB_OM = 0x01000000 ,
  EHT_KNOWN_PRIMARY_80 = 0x02000000
}
 EHT known subfield. More...
 
enum  EhtUserInfo : uint32_t {
  EHT_USER_INFO_STA_ID_KNOWN = 0x00000001 , EHT_USER_INFO_MCS_KNOWN = 0x00000002 , EHT_USER_INFO_CODING_KNOWN = 0x00000004 , EHT_USER_INFO_NSS_KNOWN_O = 0x00000010 ,
  EHT_USER_INFO_BEAMFORMING_KNOWN_O = 0x00000020 , EHT_USER_INFO_SPATIAL_CONFIG_KNOWN_M = 0x00000040 , EHT_USER_INFO_DATA_FOR_USER = 0x00000080 , EHT_USER_INFO_STA_ID = 0x0007ff00 ,
  EHT_USER_INFO_CODING = 0x00080000 , EHT_USER_INFO_MCS = 0x00f00000 , EHT_USER_INFO_NSS_O = 0x0f000000 , EHT_USER_INFO_BEAMFORMING_O = 0x20000000 ,
  EHT_USER_INFO_SPATIAL_CONFIG_M = 0x3f000000
}
 EHT user_info subfield. More...
 
enum  FrameFlag : uint8_t {
  FRAME_FLAG_NONE = 0x00 , FRAME_FLAG_CFP = 0x01 , FRAME_FLAG_SHORT_PREAMBLE = 0x02 , FRAME_FLAG_WEP = 0x04 ,
  FRAME_FLAG_FRAGMENTED = 0x08 , FRAME_FLAG_FCS_INCLUDED = 0x10 , FRAME_FLAG_DATA_PADDING , FRAME_FLAG_BAD_FCS = 0x40 ,
  FRAME_FLAG_SHORT_GUARD = 0x80
}
 Frame flags. More...
 
enum  HeData : uint16_t {
  HE_DATA1_FORMAT_EXT_SU = 0x0001 , HE_DATA1_FORMAT_MU = 0x0002 , HE_DATA1_FORMAT_TRIG = 0x0003 , HE_DATA1_BSS_COLOR_KNOWN = 0x0004 ,
  HE_DATA1_BEAM_CHANGE_KNOWN = 0x0008 , HE_DATA1_UL_DL_KNOWN = 0x0010 , HE_DATA1_DATA_MCS_KNOWN = 0x0020 , HE_DATA1_DATA_DCM_KNOWN = 0x0040 ,
  HE_DATA1_CODING_KNOWN = 0x0080 , HE_DATA1_LDPC_XSYMSEG_KNOWN = 0x0100 , HE_DATA1_STBC_KNOWN = 0x0200 , HE_DATA1_SPTL_REUSE_KNOWN ,
  HE_DATA1_SPTL_REUSE2_KNOWN = 0x0800 , HE_DATA1_SPTL_REUSE3_KNOWN = 0x1000 , HE_DATA1_SPTL_REUSE4_KNOWN = 0x2000 , HE_DATA1_BW_RU_ALLOC_KNOWN = 0x4000 ,
  HE_DATA1_DOPPLER_KNOWN = 0x8000 , HE_DATA2_PRISEC_80_KNOWN = 0x0001 , HE_DATA2_GI_KNOWN = 0x0002 , HE_DATA2_NUM_LTF_SYMS_KNOWN = 0x0004 ,
  HE_DATA2_PRE_FEC_PAD_KNOWN = 0x0008 , HE_DATA2_TXBF_KNOWN = 0x0010 , HE_DATA2_PE_DISAMBIG_KNOWN = 0x0020 , HE_DATA2_TXOP_KNOWN = 0x0040 ,
  HE_DATA2_MIDAMBLE_KNOWN = 0x0080 , HE_DATA2_RU_OFFSET = 0x3f00 , HE_DATA2_RU_OFFSET_KNOWN = 0x4000 , HE_DATA2_PRISEC_80_SEC = 0x8000 ,
  HE_DATA3_BSS_COLOR = 0x003f , HE_DATA3_BEAM_CHANGE = 0x0040 , HE_DATA3_UL_DL = 0x0080 , HE_DATA3_DATA_MCS = 0x0f00 ,
  HE_DATA3_DATA_DCM = 0x1000 , HE_DATA3_CODING = 0x2000 , HE_DATA3_LDPC_XSYMSEG = 0x4000 , HE_DATA3_STBC = 0x8000 ,
  HE_DATA4_SU_MU_SPTL_REUSE = 0x000f , HE_DATA4_MU_STA_ID = 0x7ff0 , HE_DATA4_TB_SPTL_REUSE1 = 0x000f , HE_DATA4_TB_SPTL_REUSE2 = 0x00f0 ,
  HE_DATA4_TB_SPTL_REUSE3 = 0x0f00 , HE_DATA4_TB_SPTL_REUSE4 = 0xf000 , HE_DATA5_DATA_BW_RU_ALLOC_40MHZ = 0x0001 , HE_DATA5_DATA_BW_RU_ALLOC_80MHZ = 0x0002 ,
  HE_DATA5_DATA_BW_RU_ALLOC_160MHZ = 0x0003 , HE_DATA5_DATA_BW_RU_ALLOC_26T = 0x0004 , HE_DATA5_DATA_BW_RU_ALLOC_52T = 0x0005 , HE_DATA5_DATA_BW_RU_ALLOC_106T = 0x0006 ,
  HE_DATA5_DATA_BW_RU_ALLOC_242T = 0x0007 , HE_DATA5_DATA_BW_RU_ALLOC_484T = 0x0008 , HE_DATA5_DATA_BW_RU_ALLOC_996T = 0x0009 , HE_DATA5_DATA_BW_RU_ALLOC_2x996T = 0x000a ,
  HE_DATA5_GI_1_6 = 0x0010 , HE_DATA5_GI_3_2 = 0x0020 , HE_DATA5_LTF_SYM_SIZE = 0x00c0 , HE_DATA5_NUM_LTF_SYMS = 0x0700 ,
  HE_DATA5_PRE_FEC_PAD = 0x3000 , HE_DATA5_TXBF = 0x4000 , HE_DATA5_PE_DISAMBIG = 0x8000
}
 bits of the HE data fields. More...
 
enum  HeMuFlags1 : uint16_t {
  HE_MU_FLAGS1_SIGB_MCS = 0x000f , HE_MU_FLAGS1_SIGB_MCS_KNOWN = 0x0010 , HE_MU_FLAGS1_SIGB_DCM = 0x0020 , HE_MU_FLAGS1_SIGB_DCM_KNOWN = 0x0040 ,
  HE_MU_FLAGS1_CH2_CENTER_26T_RU_KNOWN = 0x0080 , HE_MU_FLAGS1_CH1_RUS_KNOWN = 0x0100 , HE_MU_FLAGS1_CH2_RUS_KNOWN = 0x0200 , HE_MU_FLAGS1_CH1_CENTER_26T_RU_KNOWN = 0x1000 ,
  HE_MU_FLAGS1_CH1_CENTER_26T_RU = 0x2000 , HE_MU_FLAGS1_SIGB_COMPRESSION_KNOWN = 0x4000 , HE_MU_FLAGS1_NUM_SIGB_SYMBOLS_KNOWN = 0x8000
}
 HE MU flags1. More...
 
enum  HeMuFlags2 : uint16_t {
  HE_MU_FLAGS2_BW_FROM_SIGA = 0x0003 , HE_MU_FLAGS2_BW_FROM_SIGA_KNOWN , HE_MU_FLAGS2_SIGB_COMPRESSION_FROM_SIGA = 0x0008 , HE_MU_FLAGS2_NUM_SIGB_SYMBOLS_FROM_SIGA ,
  HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD , HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD_KNOWN , HE_MU_FLAGS2_CH2_CENTER_26T_RU = 0x0800
}
 HE MU flags2. More...
 
enum  HeMuPerUserKnown : uint8_t {
  HE_MU_PER_USER_POSITION_KNOWN = 0x01 , HE_MU_PER_USER_STA_ID_KNOWN = 0x02 , HE_MU_PER_USER_NSTS_KNOWN = 0x04 , HE_MU_PER_USER_TX_BF_KNOWN = 0x08 ,
  HE_MU_PER_USER_SPATIAL_CONFIGURATION_KNOWN = 0x10 , HE_MU_PER_USER_MCS_KNOWN = 0x20 , HE_MU_PER_USER_DCM_KNOWN = 0x40 , HE_MU_PER_USER_CODING_KNOWN = 0x80
}
 HE MU per_user_known. More...
 
enum  McsFlags : uint8_t {
  MCS_FLAGS_NONE , MCS_FLAGS_BANDWIDTH_40 = 0x01 , MCS_FLAGS_BANDWIDTH_20L = 0x02 , MCS_FLAGS_BANDWIDTH_20U = 0x03 ,
  MCS_FLAGS_GUARD_INTERVAL = 0x04 , MCS_FLAGS_HT_GREENFIELD = 0x08 , MCS_FLAGS_FEC_TYPE = 0x10 , MCS_FLAGS_STBC_STREAMS = 0x60 ,
  MCS_FLAGS_NESS_BIT_0
}
 MCS flags. More...
 
enum  McsKnown : uint8_t {
  MCS_KNOWN_NONE = 0x00 , MCS_KNOWN_BANDWIDTH = 0x01 , MCS_KNOWN_INDEX = 0x02 , MCS_KNOWN_GUARD_INTERVAL = 0x04 ,
  MCS_KNOWN_HT_FORMAT = 0x08 , MCS_KNOWN_FEC_TYPE = 0x10 , MCS_KNOWN_STBC = 0x20 , MCS_KNOWN_NESS = 0x40 ,
  MCS_KNOWN_NESS_BIT_1
}
 MCS known bits. More...
 
enum  UsigCommon : uint32_t {
  USIG_COMMON_PHY_VER_KNOWN = 0x00000001 , USIG_COMMON_BW_KNOWN = 0x00000002 , USIG_COMMON_UL_DL_KNOWN = 0x00000004 , USIG_COMMON_BSS_COLOR_KNOWN = 0x00000008 ,
  USIG_COMMON_TXOP_KNOWN = 0x00000010 , USIG_COMMON_BAD_USIG_CRC = 0x00000020 , USIG_COMMON_VALIDATE_BITS_CHECKED = 0x00000040 , USIG_COMMON_VALIDATE_BITS_OK = 0x00000080 ,
  USIG_COMMON_PHY_VER = 0x00007000 , USIG_COMMON_BW = 0x00038000 , USIG_COMMON_UL_DL = 0x00040000 , USIG_COMMON_BSS_COLOR = 0x01f80000 ,
  USIG_COMMON_TXOP = 0xfe000000
}
 U-SIG common subfield. More...
 
enum  UsigCommonBw : uint8_t {
  USIG_COMMON_BW_20MHZ = 0 , USIG_COMMON_BW_40MHZ = 1 , USIG_COMMON_BW_80MHZ = 2 , USIG_COMMON_BW_160MHZ = 3 ,
  USIG_COMMON_BW_320MHZ_1 = 4 , USIG_COMMON_BW_320MHZ_2 = 5
}
 Possible BW values in U-SIG common subfield. More...
 
enum  UsigMu : uint32_t {
  USIG1_MU_B20_B24_DISREGARD = 0x0000001f , USIG1_MU_B25_VALIDATE = 0x00000020 , USIG2_MU_B0_B1_PPDU_TYPE = 0x000000c0 , USIG2_MU_B2_VALIDATE = 0x00000100 ,
  USIG2_MU_B3_B7_PUNCTURED_INFO = 0x00003e00 , USIG2_MU_B8_VALIDATE = 0x00004000 , USIG2_MU_B9_B10_SIG_MCS = 0x00018000 , USIG2_MU_B11_B15_EHT_SYMBOLS = 0x003e0000 ,
  USIG2_MU_B16_B19_CRC = 0x03c00000 , USIG2_MU_B20_B25_TAIL = 0xfc000000
}
 EHT MU PPDU U-SIG contents. More...
 
enum  UsigTb : uint32_t {
  USIG1_TB_B20_B25_DISREGARD = 0x0000001f , USIG2_TB_B0_B1_PPDU_TYPE = 0x000000c0 , USIG2_TB_B2_VALIDATE = 0x00000100 , USIG2_TB_B3_B6_SPATIAL_REUSE_1 = 0x00001e00 ,
  USIG2_TB_B7_B10_SPATIAL_REUSE_2 = 0x0001e000 , USIG2_TB_B11_B15_DISREGARD = 0x003e0000 , USIG2_TB_B16_B19_CRC = 0x03c00000 , USIG2_TB_B20_B25_TAIL = 0xfc000000
}
 EHT TB PPDU U-SIG contents. More...
 
enum  VhtFlags : uint8_t {
  VHT_FLAGS_NONE = 0x00 , VHT_FLAGS_STBC , VHT_FLAGS_TXOP_PS_NOT_ALLOWED , VHT_FLAGS_GUARD_INTERVAL = 0x04 ,
  VHT_FLAGS_SHORT_GI_NSYM_DISAMBIGUATION , VHT_FLAGS_LDPC_EXTRA_OFDM_SYMBOL , VHT_FLAGS_BEAMFORMED = 0x20
}
 VHT flags. More...
 
enum  VhtKnown : uint16_t {
  VHT_KNOWN_NONE = 0x0000 , VHT_KNOWN_STBC = 0x0001 , VHT_KNOWN_TXOP_PS_NOT_ALLOWED = 0x0002 , VHT_KNOWN_GUARD_INTERVAL = 0x0004 ,
  VHT_KNOWN_SHORT_GI_NSYM_DISAMBIGUATION = 0x0008 , VHT_KNOWN_LDPC_EXTRA_OFDM_SYMBOL = 0x0010 , VHT_KNOWN_BEAMFORMED = 0x0020 , VHT_KNOWN_BANDWIDTH = 0x0040 ,
  VHT_KNOWN_GROUP_ID = 0x0080 , VHT_KNOWN_PARTIAL_AID = 0x0100
}
 VHT known bits. More...
 

Public Member Functions

 RadiotapHeader ()
 
uint32_t Deserialize (Buffer::Iterator start) override
 This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
uint32_t GetSerializedSize () const override
 This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.
 
void Print (std::ostream &os) const override
 This method is used by Packet::Print to print the content of the header as ascii data to a C++ output stream.
 
void Serialize (Buffer::Iterator start) const override
 This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.
 
void SetAmpduStatus (const AmpduStatusFields &ampduStatusFields)
 Set the subfields of the A-MPDU status field.
 
void SetAntennaNoisePower (double noise)
 Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.
 
void SetAntennaSignalPower (double signal)
 Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.
 
void SetChannelFields (const ChannelFields &channelFields)
 Set the subfields of the Channel field.
 
void SetEhtFields (const EhtFields &ehtFields)
 Set the subfields of the EHT-SIG field.
 
void SetFrameFlags (uint8_t flags)
 Set the frame flags of the transmitted or received frame.
 
void SetHeFields (const HeFields &heFields)
 Set the subfields of the HE field.
 
void SetHeMuFields (const HeMuFields &heMuFields)
 Set the subfields of the HE-MU field.
 
void SetHeMuOtherUserFields (const HeMuOtherUserFields &heMuOtherUserFields)
 Set the subfields of the HE-MU-other-user field.
 
void SetMcsFields (const McsFields &mcsFields)
 Set the subfields of the MCS field.
 
void SetRate (uint8_t rate)
 Set the transmit/receive channel frequency in units of megahertz.
 
void SetTsft (uint64_t tsft)
 Set the Time Synchronization Function Timer (TSFT) value.
 
void SetUsigFields (const UsigFields &usigFields)
 Set the subfields of the U-SIG field.
 
void SetVhtFields (const VhtFields &vhtFields)
 Set the subfields of the VHT field.
 
- Public Member Functions inherited from ns3::Header
 ~Header () override
 
virtual uint32_t Deserialize (Buffer::Iterator start, Buffer::Iterator end)
 Deserialize the object from a buffer iterator.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Header
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Chunk
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Types

enum  RadiotapExtFlags : uint32_t { RADIOTAP_S1G = 0x00000001 , RADIOTAP_USIG = 0x00000002 , RADIOTAP_EHT_SIG = 0x00000004 }
 Radiotap extended flags. More...
 
enum  RadiotapFlags : uint32_t {
  RADIOTAP_TSFT = 0x00000001 , RADIOTAP_FLAGS = 0x00000002 , RADIOTAP_RATE = 0x00000004 , RADIOTAP_CHANNEL = 0x00000008 ,
  RADIOTAP_FHSS = 0x00000010 , RADIOTAP_DBM_ANTSIGNAL = 0x00000020 , RADIOTAP_DBM_ANTNOISE = 0x00000040 , RADIOTAP_LOCK_QUALITY = 0x00000080 ,
  RADIOTAP_TX_ATTENUATION = 0x00000100 , RADIOTAP_DB_TX_ATTENUATION = 0x00000200 , RADIOTAP_DBM_TX_POWER = 0x00000400 , RADIOTAP_ANTENNA = 0x00000800 ,
  RADIOTAP_DB_ANTSIGNAL = 0x00001000 , RADIOTAP_DB_ANTNOISE = 0x00002000 , RADIOTAP_RX_FLAGS = 0x00004000 , RADIOTAP_MCS = 0x00080000 ,
  RADIOTAP_AMPDU_STATUS = 0x00100000 , RADIOTAP_VHT = 0x00200000 , RADIOTAP_HE = 0x00800000 , RADIOTAP_HE_MU = 0x01000000 ,
  RADIOTAP_HE_MU_OTHER_USER = 0x02000000 , RADIOTAP_ZERO_LEN_PSDU = 0x04000000 , RADIOTAP_LSIG = 0x08000000 , RADIOTAP_TLV = 0x10000000 ,
  RADIOTAP_EXT = 0x80000000
}
 Radiotap flags. More...
 

Private Member Functions

uint32_t DeserializeAmpduStatus (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the A-MPDU Status radiotap header.
 
uint32_t DeserializeChannel (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the Channel radiotap header.
 
uint32_t DeserializeEht (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the EHT radiotap header.
 
uint32_t DeserializeHe (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the HE radiotap header.
 
uint32_t DeserializeHeMu (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the HE-MU radiotap header.
 
uint32_t DeserializeHeMuOtherUser (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the HE-MU-other-user radiotap header.
 
uint32_t DeserializeMcs (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the MCS radiotap header.
 
uint32_t DeserializeUsig (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the U-SIG radiotap header.
 
uint32_t DeserializeVht (Buffer::Iterator start, uint32_t bytesRead)
 Deserialize the VHT radiotap header.
 
void PrintAmpduStatus (std::ostream &os) const
 Add A-MPDU Status subfield/value pairs to the output stream.
 
void PrintChannel (std::ostream &os) const
 Add Channel subfield/value pairs to the output stream.
 
void PrintEht (std::ostream &os) const
 Add EHT subfield/value pairs to the output stream.
 
void PrintHe (std::ostream &os) const
 Add HE subfield/value pairs to the output stream.
 
void PrintHeMu (std::ostream &os) const
 Add HE-MU subfield/value pairs to the output stream.
 
void PrintHeMuOtherUser (std::ostream &os) const
 Add HE-MU-other-user subfield/value pairs to the output stream.
 
void PrintMcs (std::ostream &os) const
 Add MCS subfield/value pairs to the output stream.
 
void PrintUsig (std::ostream &os) const
 Add U-SIG subfield/value pairs to the output stream.
 
void PrintVht (std::ostream &os) const
 Add VHT subfield/value pairs to the output stream.
 
void SerializeAmpduStatus (Buffer::Iterator &start) const
 Serialize the A-MPDU Status radiotap header.
 
void SerializeChannel (Buffer::Iterator &start) const
 Serialize the Channel radiotap header.
 
void SerializeEht (Buffer::Iterator &start) const
 Serialize the EHT radiotap header.
 
void SerializeHe (Buffer::Iterator &start) const
 Serialize the HE radiotap header.
 
void SerializeHeMu (Buffer::Iterator &start) const
 Serialize the HE-MU radiotap header.
 
void SerializeHeMuOtherUser (Buffer::Iterator &start) const
 Serialize the HE-MU-other-user radiotap header.
 
void SerializeMcs (Buffer::Iterator &start) const
 Serialize the MCS radiotap header.
 
void SerializeUsig (Buffer::Iterator &start) const
 Serialize the U-SIG radiotap header.
 
void SerializeVht (Buffer::Iterator &start) const
 Serialize the VHT radiotap header.
 

Private Attributes

AmpduStatusFields m_ampduStatusFields {}
 A-MPDU Status fields.
 
uint8_t m_ampduStatusPad {0}
 A-MPDU Status Flags, padding before A-MPDU Status Field.
 
int8_t m_antennaNoise
 RF noise power at the antenna, dB difference from an arbitrary, fixed reference.
 
int8_t m_antennaSignal
 RF signal power at the antenna, dB difference from an arbitrary, fixed reference.
 
ChannelFields m_channelFields {}
 Channel fields.
 
uint8_t m_channelPad {0}
 Channel padding.
 
EhtFields m_ehtFields {}
 EHT fields.
 
uint8_t m_ehtPad {0}
 EHT padding.
 
TlvFields m_ehtTlv {}
 EHT TLV fields.
 
uint8_t m_ehtTlvPad {0}
 EHT TLV padding.
 
uint8_t m_flags {FRAME_FLAG_NONE}
 Properties of transmitted and received frames.
 
HeFields m_heFields {}
 HE fields.
 
HeMuFields m_heMuFields {}
 HE MU fields.
 
HeMuOtherUserFields m_heMuOtherUserFields {}
 HE MU other user fields.
 
uint8_t m_heMuOtherUserPad {0}
 HE MU other user padding.
 
uint8_t m_heMuPad {0}
 HE MU padding.
 
uint8_t m_hePad {0}
 HE padding.
 
uint16_t m_length {8}
 entire length of radiotap data + header
 
McsFields m_mcsFields {}
 MCS fields.
 
uint32_t m_present {0}
 bits describing which fields follow header
 
std::optional< uint32_tm_presentExt {}
 optional extended present bitmask
 
uint8_t m_rate {0}
 TX/RX data rate in units of 500 kbps.
 
uint64_t m_tsft {0}
 Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC)
 
UsigFields m_usigFields {}
 U-SIG fields.
 
uint8_t m_usigPad {0}
 U-SIG padding.
 
TlvFields m_usigTlv {}
 U-SIG TLV fields.
 
uint8_t m_usigTlvPad {0}
 U-SIG TLV padding.
 
VhtFields m_vhtFields {}
 VHT fields.
 
uint8_t m_vhtPad {0}
 VHT padding.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Radiotap header implementation.

Introspection did not find any typical Config paths.

Radiotap is a de facto standard for 802.11 frame injection and reception. The radiotap header format is a mechanism to supply additional information about frames, from the driver to userspace applications such as libpcap, and from a userspace application to the driver for transmission.


No Attributes are defined for this type.
No TraceSources are defined for this type.
Group: Network

Size of this type is 200 bytes (on a 64-bit architecture).

Definition at line 30 of file radiotap-header.h.

Member Enumeration Documentation

◆ AmpduFlags

A-MPDU status flags.

Enumerator
A_MPDU_STATUS_NONE 

No flags set.

A_MPDU_STATUS_REPORT_ZERO_LENGTH 

Driver reports 0-length subframes.

A_MPDU_STATUS_IS_ZERO_LENGTH 

Frame is 0-length subframe (valid only if 0x0001 is set)

A_MPDU_STATUS_LAST_KNOWN 

Last subframe is known (should be set for all subframes in an A-MPDU)

A_MPDU_STATUS_LAST 

This frame is the last subframe.

A_MPDU_STATUS_DELIMITER_CRC_ERROR 

Delimiter CRC error.

A_MPDU_STATUS_DELIMITER_CRC_KNOWN 

Delimiter CRC value known: the delimiter CRC value field is valid.

Definition at line 229 of file radiotap-header.h.

◆ ChannelFlags

Channel flags.

Enumerator
CHANNEL_FLAG_NONE 

No flags set.

CHANNEL_FLAG_TURBO 

Turbo Channel.

CHANNEL_FLAG_CCK 

CCK channel.

CHANNEL_FLAG_OFDM 

OFDM channel.

CHANNEL_FLAG_SPECTRUM_2GHZ 

2 GHz spectrum channel

CHANNEL_FLAG_SPECTRUM_5GHZ 

5 GHz spectrum channel

CHANNEL_FLAG_PASSIVE 

Only passive scan allowed.

CHANNEL_FLAG_DYNAMIC 

Dynamic CCK-OFDM channel.

CHANNEL_FLAG_GFSK 

GFSK channel (FHSS PHY)

Definition at line 127 of file radiotap-header.h.

◆ EhtData

EHT data subfield.

Enumerator
EHT_DATA0_SPATIAL_REUSE 
EHT_DATA0_GI 
EHT_DATA0_LTF 
EHT_DATA0_EHT_LTF 
EHT_DATA0_LDPC_EXTRA_SYM_OM 
EHT_DATA0_PRE_PADD_FACOR_OM 
EHT_DATA0_PE_DISAMBIGUITY_OM 
EHT_DATA0_DISREGARD_S 
EHT_DATA0_DISREGARD_O 
EHT_DATA0_CRC1_O 
EHT_DATA0_TAIL1_O 
EHT_DATA1_RU_MRU_SIZE 
EHT_DATA1_RU_MRU_INDEX 
EHT_DATA1_RU_ALLOC_CC_1_1_1 
EHT_DATA1_RU_ALLOC_CC_1_1_1_KNOWN 
EHT_DATA1_PRIMARY_80 
EHT_DATA2_RU_ALLOC_CC_2_1_1 
EHT_DATA2_RU_ALLOC_CC_2_1_1_KNOWN 
EHT_DATA2_RU_ALLOC_CC_1_1_2 
EHT_DATA2_RU_ALLOC_CC_1_1_2_KNOWN 
EHT_DATA2_RU_ALLOC_CC_2_1_2 
EHT_DATA2_RU_ALLOC_CC_2_1_2_KNOWN 
EHT_DATA3_RU_ALLOC_CC_1_2_1 
EHT_DATA3_RU_ALLOC_CC_1_2_1_KNOWN 
EHT_DATA3_RU_ALLOC_CC_2_2_1 
EHT_DATA3_RU_ALLOC_CC_2_2_1_KNOWN 
EHT_DATA3_RU_ALLOC_CC_1_2_2 
EHT_DATA3_RU_ALLOC_CC_1_2_2_KNOWN 
EHT_DATA4_RU_ALLOC_CC_2_2_2 
EHT_DATA4_RU_ALLOC_CC_2_2_2_KNOWN 
EHT_DATA4_RU_ALLOC_CC_1_2_3 
EHT_DATA4_RU_ALLOC_CC_1_2_3_KNOWN 
EHT_DATA4_RU_ALLOC_CC_2_2_3 
EHT_DATA4_RU_ALLOC_CC_2_2_3_KNOWN 
EHT_DATA5_RU_ALLOC_CC_1_2_4 
EHT_DATA5_RU_ALLOC_CC_1_2_4_KNOWN 
EHT_DATA5_RU_ALLOC_CC_2_2_4 
EHT_DATA5_RU_ALLOC_CC_2_2_4_KNOWN 
EHT_DATA5_RU_ALLOC_CC_1_2_5 
EHT_DATA5_RU_ALLOC_CC_1_2_5_KNOWN 
EHT_DATA6_RU_ALLOC_CC_2_2_5 
EHT_DATA6_RU_ALLOC_CC_2_2_5_KNOWN 
EHT_DATA6_RU_ALLOC_CC_1_2_6 
EHT_DATA6_RU_ALLOC_CC_1_2_6_KNOWN 
EHT_DATA6_RU_ALLOC_CC_2_2_6 
EHT_DATA6_RU_ALLOC_CC_2_2_6_KNOWN 
EHT_DATA7_CRC2_O 
EHT_DATA7_TAIL_2_O 
EHT_DATA7_NSS_S 
EHT_DATA7_BEAMFORMED_S 
EHT_DATA7_NUM_OF_NON_OFDMA_USERS 
EHT_DATA7_USER_ENCODING_BLOCK_CRC 
EHT_DATA7_USER_ENCODING_BLOCK_TAIL 
EHT_DATA8_RU_ALLOC_TB_FMT_PS_160 
EHT_DATA8_RU_ALLOC_TB_FMT_B0 
EHT_DATA8_RU_ALLOC_TB_FMT_B7_B1 

Definition at line 637 of file radiotap-header.h.

◆ EhtData0Gi

Possible GI values in EHT data subfield.

Enumerator
EHT_DATA0_GI_800_NS 
EHT_DATA0_GI_1600_NS 
EHT_DATA0_GI_3200_NS 

Definition at line 709 of file radiotap-header.h.

◆ EhtData1Primary80

Possible Primary 80 MHz Channel Position values in EHT data subfield.

Enumerator
EHT_DATA1_PRIMARY_80_LOWEST 
EHT_DATA1_PRIMARY_80_HIGHEST 

Definition at line 719 of file radiotap-header.h.

◆ EhtData1RuSize

Possible RU/MRU Size values in EHT data subfield.

Enumerator
EHT_DATA1_RU_MRU_SIZE_26 
EHT_DATA1_RU_MRU_SIZE_52 
EHT_DATA1_RU_MRU_SIZE_106 
EHT_DATA1_RU_MRU_SIZE_242 
EHT_DATA1_RU_MRU_SIZE_484 
EHT_DATA1_RU_MRU_SIZE_996 
EHT_DATA1_RU_MRU_SIZE_2x996 
EHT_DATA1_RU_MRU_SIZE_4x996 
EHT_DATA1_RU_MRU_SIZE_52_26 
EHT_DATA1_RU_MRU_SIZE_106_26 
EHT_DATA1_RU_MRU_SIZE_484_242 
EHT_DATA1_RU_MRU_SIZE_996_484 
EHT_DATA1_RU_MRU_SIZE_996_484_242 
EHT_DATA1_RU_MRU_SIZE_2x996_484 
EHT_DATA1_RU_MRU_SIZE_3x996 
EHT_DATA1_RU_MRU_SIZE_3x996_484 

Definition at line 728 of file radiotap-header.h.

◆ EhtKnown

EHT known subfield.

Enumerator
EHT_KNOWN_SPATIAL_REUSE 
EHT_KNOWN_GI 
EHT_KNOWN_EHT_LTF 
EHT_KNOWN_LDPC_EXTRA_SYM_OM 
EHT_KNOWN_PRE_PADD_FACOR_OM 
EHT_KNOWN_PE_DISAMBIGUITY_OM 
EHT_KNOWN_DISREGARD_O 
EHT_KNOWN_DISREGARD_S 
EHT_KNOWN_CRC1 
EHT_KNOWN_TAIL1 
EHT_KNOWN_CRC2_O 
EHT_KNOWN_TAIL2_O 
EHT_KNOWN_NSS_S 
EHT_KNOWN_BEAMFORMED_S 
EHT_KNOWN_NR_NON_OFDMA_USERS_M 
EHT_KNOWN_ENCODING_BLOCK_CRC_M 
EHT_KNOWN_ENCODING_BLOCK_TAIL_M 
EHT_KNOWN_RU_MRU_SIZE_OM 
EHT_KNOWN_RU_MRU_INDEX_OM 
EHT_KNOWN_RU_ALLOC_TB_OM 
EHT_KNOWN_PRIMARY_80 

Definition at line 609 of file radiotap-header.h.

◆ EhtUserInfo

EHT user_info subfield.

Enumerator
EHT_USER_INFO_STA_ID_KNOWN 
EHT_USER_INFO_MCS_KNOWN 
EHT_USER_INFO_CODING_KNOWN 
EHT_USER_INFO_NSS_KNOWN_O 
EHT_USER_INFO_BEAMFORMING_KNOWN_O 
EHT_USER_INFO_SPATIAL_CONFIG_KNOWN_M 
EHT_USER_INFO_DATA_FOR_USER 
EHT_USER_INFO_STA_ID 
EHT_USER_INFO_CODING 
EHT_USER_INFO_MCS 
EHT_USER_INFO_NSS_O 
EHT_USER_INFO_BEAMFORMING_O 
EHT_USER_INFO_SPATIAL_CONFIG_M 

Definition at line 751 of file radiotap-header.h.

◆ FrameFlag

Frame flags.

Enumerator
FRAME_FLAG_NONE 

No flags set.

FRAME_FLAG_CFP 

Frame sent/received during CFP.

FRAME_FLAG_SHORT_PREAMBLE 

Frame sent/received with short preamble.

FRAME_FLAG_WEP 

Frame sent/received with WEP encryption.

FRAME_FLAG_FRAGMENTED 

Frame sent/received with fragmentation.

FRAME_FLAG_FCS_INCLUDED 

Frame includes FCS.

FRAME_FLAG_DATA_PADDING 

Frame has padding between 802.11 header and payload (to 32-bit boundary)

FRAME_FLAG_BAD_FCS 

Frame failed FCS check.

FRAME_FLAG_SHORT_GUARD 

Frame used short guard interval (HT)

Definition at line 98 of file radiotap-header.h.

◆ HeData

enum ns3::RadiotapHeader::HeData : uint16_t

bits of the HE data fields.

Enumerator
HE_DATA1_FORMAT_EXT_SU 

HE EXT SU PPDU format.

HE_DATA1_FORMAT_MU 

HE MU PPDU format.

HE_DATA1_FORMAT_TRIG 

HE TRIG PPDU format.

HE_DATA1_BSS_COLOR_KNOWN 

BSS Color known.

HE_DATA1_BEAM_CHANGE_KNOWN 

Beam Change known.

HE_DATA1_UL_DL_KNOWN 

UL/DL known.

HE_DATA1_DATA_MCS_KNOWN 

data MCS known

HE_DATA1_DATA_DCM_KNOWN 

data DCM known

HE_DATA1_CODING_KNOWN 

Coding known.

HE_DATA1_LDPC_XSYMSEG_KNOWN 

LDPC extra symbol segment known.

HE_DATA1_STBC_KNOWN 

STBC known.

HE_DATA1_SPTL_REUSE_KNOWN 

Spatial Reuse known (Spatial Reuse 1 for HE TRIG PPDU format)

HE_DATA1_SPTL_REUSE2_KNOWN 

Spatial Reuse 2 known (HE TRIG PPDU format), STA-ID known (HE MU PPDU format)

HE_DATA1_SPTL_REUSE3_KNOWN 

Spatial Reuse 3 known (HE TRIG PPDU format)

HE_DATA1_SPTL_REUSE4_KNOWN 

Spatial Reuse 4 known (HE TRIG PPDU format)

HE_DATA1_BW_RU_ALLOC_KNOWN 

data BW/RU allocation known

HE_DATA1_DOPPLER_KNOWN 

Doppler known.

HE_DATA2_PRISEC_80_KNOWN 

pri/sec 80 MHz known

HE_DATA2_GI_KNOWN 

GI known.

HE_DATA2_NUM_LTF_SYMS_KNOWN 

number of LTF symbols known

HE_DATA2_PRE_FEC_PAD_KNOWN 

Pre-FEC Padding Factor known.

HE_DATA2_TXBF_KNOWN 

TxBF known.

HE_DATA2_PE_DISAMBIG_KNOWN 

PE Disambiguity known.

HE_DATA2_TXOP_KNOWN 

TXOP known.

HE_DATA2_MIDAMBLE_KNOWN 

midamble periodicity known

HE_DATA2_RU_OFFSET 

RU allocation offset.

HE_DATA2_RU_OFFSET_KNOWN 

RU allocation offset known.

HE_DATA2_PRISEC_80_SEC 

pri/sec 80 MHz

HE_DATA3_BSS_COLOR 
HE_DATA3_BEAM_CHANGE 
HE_DATA3_UL_DL 
HE_DATA3_DATA_MCS 
HE_DATA3_DATA_DCM 
HE_DATA3_CODING 
HE_DATA3_LDPC_XSYMSEG 
HE_DATA3_STBC 
HE_DATA4_SU_MU_SPTL_REUSE 
HE_DATA4_MU_STA_ID 
HE_DATA4_TB_SPTL_REUSE1 
HE_DATA4_TB_SPTL_REUSE2 
HE_DATA4_TB_SPTL_REUSE3 
HE_DATA4_TB_SPTL_REUSE4 
HE_DATA5_DATA_BW_RU_ALLOC_40MHZ 

40 MHz data Bandwidth

HE_DATA5_DATA_BW_RU_ALLOC_80MHZ 

80 MHz data Bandwidth

HE_DATA5_DATA_BW_RU_ALLOC_160MHZ 

160 MHz data Bandwidth

HE_DATA5_DATA_BW_RU_ALLOC_26T 

26-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_52T 

52-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_106T 

106-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_242T 

242-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_484T 

484-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_996T 

996-tone RU allocation

HE_DATA5_DATA_BW_RU_ALLOC_2x996T 

2x996-tone RU allocation

HE_DATA5_GI_1_6 

1.6us GI

HE_DATA5_GI_3_2 

3.2us GI

HE_DATA5_LTF_SYM_SIZE 

LTF symbol size.

HE_DATA5_NUM_LTF_SYMS 

number of LTF symbols

HE_DATA5_PRE_FEC_PAD 

Pre-FEC Padding Factor.

HE_DATA5_TXBF 

TxBF.

HE_DATA5_PE_DISAMBIG 

PE Disambiguity.

Definition at line 324 of file radiotap-header.h.

◆ HeMuFlags1

HE MU flags1.

Enumerator
HE_MU_FLAGS1_SIGB_MCS 

SIG-B MCS (from SIG-A)

HE_MU_FLAGS1_SIGB_MCS_KNOWN 

SIG-B MCS known.

HE_MU_FLAGS1_SIGB_DCM 

SIG-B DCM (from SIG-A)

HE_MU_FLAGS1_SIGB_DCM_KNOWN 

SIG-B DCM known.

HE_MU_FLAGS1_CH2_CENTER_26T_RU_KNOWN 

(Channel 2) Center 26-tone RU bit known

HE_MU_FLAGS1_CH1_RUS_KNOWN 

Channel 1 RUs known (which depends on BW)

HE_MU_FLAGS1_CH2_RUS_KNOWN 

Channel 2 RUs known (which depends on BW)

HE_MU_FLAGS1_CH1_CENTER_26T_RU_KNOWN 

(Channel 1) Center 26-tone RU bit known

HE_MU_FLAGS1_CH1_CENTER_26T_RU 

(Channel 1) Center 26-tone RU value

HE_MU_FLAGS1_SIGB_COMPRESSION_KNOWN 

SIG-B Compression known.

HE_MU_FLAGS1_NUM_SIGB_SYMBOLS_KNOWN 

of HE-SIG-B Symbols/MU-MIMO Users known

Definition at line 417 of file radiotap-header.h.

◆ HeMuFlags2

HE MU flags2.

Enumerator
HE_MU_FLAGS2_BW_FROM_SIGA 

Bandwidth from Bandwidth field in HE-SIG-A.

HE_MU_FLAGS2_BW_FROM_SIGA_KNOWN 

Bandwidth from Bandwidth field in HE-SIG-A known.

HE_MU_FLAGS2_SIGB_COMPRESSION_FROM_SIGA 

SIG-B compression from SIG-A.

HE_MU_FLAGS2_NUM_SIGB_SYMBOLS_FROM_SIGA 

of HE-SIG-B Symbols - 1 or # of MU-MIMO Users - 1 from SIG-A

HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD 

Preamble puncturing from Bandwidth field in HE-SIG-A.

HE_MU_FLAGS2_PREAMBLE_PUNCTURING_FROM_SIGA_BW_FIELD_KNOWN 

Preamble puncturing from Bandwidth field in HE-SIG-A known.

HE_MU_FLAGS2_CH2_CENTER_26T_RU 

(Channel 2) Center 26-tone RU value

Definition at line 435 of file radiotap-header.h.

◆ HeMuPerUserKnown

HE MU per_user_known.

Enumerator
HE_MU_PER_USER_POSITION_KNOWN 

User field position known.

HE_MU_PER_USER_STA_ID_KNOWN 

STA-ID known.

HE_MU_PER_USER_NSTS_KNOWN 

NSTS known.

HE_MU_PER_USER_TX_BF_KNOWN 

Tx Beamforming known.

HE_MU_PER_USER_SPATIAL_CONFIGURATION_KNOWN 

Spatial Configuration known.

HE_MU_PER_USER_MCS_KNOWN 

MCS known.

HE_MU_PER_USER_DCM_KNOWN 

DCM known.

HE_MU_PER_USER_CODING_KNOWN 

Coding known.

Definition at line 471 of file radiotap-header.h.

◆ McsFlags

MCS flags.

Enumerator
MCS_FLAGS_NONE 

Default: 20 MHz, long guard interval, mixed HT format and BCC FEC type.

MCS_FLAGS_BANDWIDTH_40 

40 MHz

MCS_FLAGS_BANDWIDTH_20L 

20L (20 MHz in lower half of 40 MHz channel)

MCS_FLAGS_BANDWIDTH_20U 

20U (20 MHz in upper half of 40 MHz channel)

MCS_FLAGS_GUARD_INTERVAL 

Short guard interval.

MCS_FLAGS_HT_GREENFIELD 

Greenfield HT format.

MCS_FLAGS_FEC_TYPE 

LDPC FEC type.

MCS_FLAGS_STBC_STREAMS 

STBC enabled.

MCS_FLAGS_NESS_BIT_0 

Ness - bit 0 (LSB) of Number of extension spatial streams.

Definition at line 194 of file radiotap-header.h.

◆ McsKnown

MCS known bits.

Enumerator
MCS_KNOWN_NONE 

No flags set.

MCS_KNOWN_BANDWIDTH 

Bandwidth.

MCS_KNOWN_INDEX 

MCS index known.

MCS_KNOWN_GUARD_INTERVAL 

Guard interval.

MCS_KNOWN_HT_FORMAT 

HT format.

MCS_KNOWN_FEC_TYPE 

FEC type.

MCS_KNOWN_STBC 

STBC known.

MCS_KNOWN_NESS 

Ness known (Number of extension spatial streams)

MCS_KNOWN_NESS_BIT_1 

Ness data - bit 1 (MSB) of Number of extension spatial streams.

Definition at line 177 of file radiotap-header.h.

◆ RadiotapExtFlags

Radiotap extended flags.

Enumerator
RADIOTAP_S1G 
RADIOTAP_USIG 
RADIOTAP_EHT_SIG 

Definition at line 1027 of file radiotap-header.h.

◆ RadiotapFlags

Radiotap flags.

Enumerator
RADIOTAP_TSFT 
RADIOTAP_FLAGS 
RADIOTAP_RATE 
RADIOTAP_CHANNEL 
RADIOTAP_FHSS 
RADIOTAP_DBM_ANTSIGNAL 
RADIOTAP_DBM_ANTNOISE 
RADIOTAP_LOCK_QUALITY 
RADIOTAP_TX_ATTENUATION 
RADIOTAP_DB_TX_ATTENUATION 
RADIOTAP_DBM_TX_POWER 
RADIOTAP_ANTENNA 
RADIOTAP_DB_ANTSIGNAL 
RADIOTAP_DB_ANTNOISE 
RADIOTAP_RX_FLAGS 
RADIOTAP_MCS 
RADIOTAP_AMPDU_STATUS 
RADIOTAP_VHT 
RADIOTAP_HE 
RADIOTAP_HE_MU 
RADIOTAP_HE_MU_OTHER_USER 
RADIOTAP_ZERO_LEN_PSDU 
RADIOTAP_LSIG 
RADIOTAP_TLV 
RADIOTAP_EXT 

Definition at line 995 of file radiotap-header.h.

◆ UsigCommon

U-SIG common subfield.

Enumerator
USIG_COMMON_PHY_VER_KNOWN 
USIG_COMMON_BW_KNOWN 
USIG_COMMON_UL_DL_KNOWN 
USIG_COMMON_BSS_COLOR_KNOWN 
USIG_COMMON_TXOP_KNOWN 
USIG_COMMON_BAD_USIG_CRC 
USIG_COMMON_VALIDATE_BITS_CHECKED 
USIG_COMMON_VALIDATE_BITS_OK 
USIG_COMMON_PHY_VER 
USIG_COMMON_BW 
USIG_COMMON_UL_DL 
USIG_COMMON_BSS_COLOR 
USIG_COMMON_TXOP 

Definition at line 523 of file radiotap-header.h.

◆ UsigCommonBw

Possible BW values in U-SIG common subfield.

Enumerator
USIG_COMMON_BW_20MHZ 
USIG_COMMON_BW_40MHZ 
USIG_COMMON_BW_80MHZ 
USIG_COMMON_BW_160MHZ 
USIG_COMMON_BW_320MHZ_1 
USIG_COMMON_BW_320MHZ_2 

Definition at line 543 of file radiotap-header.h.

◆ UsigMu

EHT MU PPDU U-SIG contents.

Enumerator
USIG1_MU_B20_B24_DISREGARD 
USIG1_MU_B25_VALIDATE 
USIG2_MU_B0_B1_PPDU_TYPE 
USIG2_MU_B2_VALIDATE 
USIG2_MU_B3_B7_PUNCTURED_INFO 
USIG2_MU_B8_VALIDATE 
USIG2_MU_B9_B10_SIG_MCS 
USIG2_MU_B11_B15_EHT_SYMBOLS 
USIG2_MU_B16_B19_CRC 
USIG2_MU_B20_B25_TAIL 

Definition at line 556 of file radiotap-header.h.

◆ UsigTb

EHT TB PPDU U-SIG contents.

Enumerator
USIG1_TB_B20_B25_DISREGARD 
USIG2_TB_B0_B1_PPDU_TYPE 
USIG2_TB_B2_VALIDATE 
USIG2_TB_B3_B6_SPATIAL_REUSE_1 
USIG2_TB_B7_B10_SPATIAL_REUSE_2 
USIG2_TB_B11_B15_DISREGARD 
USIG2_TB_B16_B19_CRC 
USIG2_TB_B20_B25_TAIL 

Definition at line 575 of file radiotap-header.h.

◆ VhtFlags

VHT flags.

Enumerator
VHT_FLAGS_NONE 

No flags set.

VHT_FLAGS_STBC 

Set if all spatial streams of all users have space-time block coding.

VHT_FLAGS_TXOP_PS_NOT_ALLOWED 

Set if STAs may not doze during TXOP (valid only for AP transmitters).

VHT_FLAGS_GUARD_INTERVAL 

Short guard interval.

VHT_FLAGS_SHORT_GI_NSYM_DISAMBIGUATION 

Set if NSYM mod 10 = 9 (valid only if short GI is used).

VHT_FLAGS_LDPC_EXTRA_OFDM_SYMBOL 

Set if one or more users are using LDPC and the encoding process resulted in extra OFDM symbol(s)

VHT_FLAGS_BEAMFORMED 

Set if beamforming is used (valid for SU PPDUs only).

Definition at line 284 of file radiotap-header.h.

◆ VhtKnown

VHT known bits.

Enumerator
VHT_KNOWN_NONE 

No flags set.

VHT_KNOWN_STBC 

Space-time block coding (1 if all spatial streams of all users have STBC, 0 otherwise).

VHT_KNOWN_TXOP_PS_NOT_ALLOWED 

TXOP_PS_NOT_ALLOWED known.

VHT_KNOWN_GUARD_INTERVAL 

Guard interval.

VHT_KNOWN_SHORT_GI_NSYM_DISAMBIGUATION 

Short GI NSYM disambiguation known.

VHT_KNOWN_LDPC_EXTRA_OFDM_SYMBOL 

LDPC extra OFDM symbol known.

VHT_KNOWN_BEAMFORMED 

Beamformed known/applicable (this flag should be set to zero for MU PPDUs).

VHT_KNOWN_BANDWIDTH 

Bandwidth known.

VHT_KNOWN_GROUP_ID 

Group ID known.

VHT_KNOWN_PARTIAL_AID 

Partial AID known/applicable.

Definition at line 265 of file radiotap-header.h.

Constructor & Destructor Documentation

◆ RadiotapHeader()

ns3::RadiotapHeader::RadiotapHeader ( )

Definition at line 25 of file radiotap-header.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::RadiotapHeader::Deserialize ( Buffer::Iterator start)
overridevirtual

This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet.

The data read is expected to match bit-for-bit the representation of this header in real networks.

Parameters
startAn iterator which points to where the header should be read.
Returns
The number of bytes read.

Implements ns3::Header.

Definition at line 285 of file radiotap-header.cc.

References DeserializeAmpduStatus(), DeserializeChannel(), DeserializeEht(), DeserializeHe(), DeserializeHeMu(), DeserializeHeMuOtherUser(), DeserializeMcs(), DeserializeUsig(), DeserializeVht(), m_antennaNoise, m_antennaSignal, m_flags, m_length, m_present, m_presentExt, m_rate, m_tsft, NS_ASSERT_MSG, NS_LOG_FUNCTION, RADIOTAP_AMPDU_STATUS, RADIOTAP_ANTENNA, RADIOTAP_CHANNEL, RADIOTAP_DB_ANTNOISE, RADIOTAP_DB_ANTSIGNAL, RADIOTAP_DB_TX_ATTENUATION, RADIOTAP_DBM_ANTNOISE, RADIOTAP_DBM_ANTSIGNAL, RADIOTAP_DBM_TX_POWER, RADIOTAP_EHT_SIG, RADIOTAP_EXT, RADIOTAP_FHSS, RADIOTAP_FLAGS, RADIOTAP_HE, RADIOTAP_HE_MU, RADIOTAP_HE_MU_OTHER_USER, RADIOTAP_LOCK_QUALITY, RADIOTAP_MCS, RADIOTAP_RATE, RADIOTAP_RX_FLAGS, RADIOTAP_TSFT, RADIOTAP_TX_ATTENUATION, RADIOTAP_USIG, and RADIOTAP_VHT.

+ Here is the call graph for this function:

◆ DeserializeAmpduStatus()

uint32_t ns3::RadiotapHeader::DeserializeAmpduStatus ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the A-MPDU Status radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 791 of file radiotap-header.cc.

References ns3::RadiotapHeader::AmpduStatusFields::crc, ns3::RadiotapHeader::AmpduStatusFields::flags, m_ampduStatusFields, m_ampduStatusPad, ns3::RadiotapHeader::AmpduStatusFields::referenceNumber, and ns3::RadiotapHeader::AmpduStatusFields::reserved.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeChannel()

uint32_t ns3::RadiotapHeader::DeserializeChannel ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the Channel radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 656 of file radiotap-header.cc.

References ns3::RadiotapHeader::ChannelFields::flags, ns3::RadiotapHeader::ChannelFields::frequency, m_channelFields, and m_channelPad.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeEht()

uint32_t ns3::RadiotapHeader::DeserializeEht ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the EHT radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 1141 of file radiotap-header.cc.

References ns3::RadiotapHeader::EhtFields::data, ns3::RadiotapHeader::EhtFields::known, ns3::RadiotapHeader::TlvFields::length, m_ehtFields, m_ehtPad, m_ehtTlv, m_ehtTlvPad, NS_ASSERT, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::EhtFields::userInfo.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeHe()

uint32_t ns3::RadiotapHeader::DeserializeHe ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the HE radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 901 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeFields::data1, ns3::RadiotapHeader::HeFields::data2, ns3::RadiotapHeader::HeFields::data3, ns3::RadiotapHeader::HeFields::data4, ns3::RadiotapHeader::HeFields::data5, ns3::RadiotapHeader::HeFields::data6, m_heFields, and m_hePad.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeHeMu()

uint32_t ns3::RadiotapHeader::DeserializeHeMu ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the HE-MU radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 955 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeMuFields::flags1, ns3::RadiotapHeader::HeMuFields::flags2, m_heMuFields, m_heMuPad, ns3::RadiotapHeader::HeMuFields::ruChannel1, and ns3::RadiotapHeader::HeMuFields::ruChannel2.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeHeMuOtherUser()

uint32_t ns3::RadiotapHeader::DeserializeHeMuOtherUser ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the HE-MU-other-user radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 1008 of file radiotap-header.cc.

References m_heMuOtherUserFields, m_heMuOtherUserPad, ns3::RadiotapHeader::HeMuOtherUserFields::perUser1, ns3::RadiotapHeader::HeMuOtherUserFields::perUser2, ns3::RadiotapHeader::HeMuOtherUserFields::perUserKnown, and ns3::RadiotapHeader::HeMuOtherUserFields::perUserPosition.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeMcs()

uint32_t ns3::RadiotapHeader::DeserializeMcs ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the MCS radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 749 of file radiotap-header.cc.

References ns3::RadiotapHeader::McsFields::flags, ns3::RadiotapHeader::McsFields::known, m_mcsFields, and ns3::RadiotapHeader::McsFields::mcs.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeUsig()

uint32_t ns3::RadiotapHeader::DeserializeUsig ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the U-SIG radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 1069 of file radiotap-header.cc.

References ns3::RadiotapHeader::UsigFields::common, ns3::RadiotapHeader::TlvFields::length, m_usigFields, m_usigPad, m_usigTlv, m_usigTlvPad, ns3::RadiotapHeader::UsigFields::mask, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::UsigFields::value.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ DeserializeVht()

uint32_t ns3::RadiotapHeader::DeserializeVht ( Buffer::Iterator start,
uint32_t bytesRead )
private

Deserialize the VHT radiotap header.

Parameters
startAn iterator which points to where the header should be read.
bytesReadthe number of bytes already read.
Returns
The number of bytes read.

Definition at line 843 of file radiotap-header.cc.

References ns3::RadiotapHeader::VhtFields::bandwidth, ns3::RadiotapHeader::VhtFields::coding, ns3::RadiotapHeader::VhtFields::flags, ns3::RadiotapHeader::VhtFields::groupId, ns3::RadiotapHeader::VhtFields::known, m_vhtFields, m_vhtPad, ns3::RadiotapHeader::VhtFields::mcsNss, and ns3::RadiotapHeader::VhtFields::partialAid.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::RadiotapHeader::GetInstanceTypeId ( ) const
overridevirtual

Get the most derived TypeId for this Object.

This method is provided by ns3::Object::GetInstanceTypeId but classes which derive from ns3::ObjectBase directly have to implement it themselves. Typically, this method should simply return the output of GetTypeId().

Returns
The TypeId associated to the most-derived type of this instance.

Implements ns3::ObjectBase.

Definition at line 42 of file radiotap-header.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetSerializedSize()

uint32_t ns3::RadiotapHeader::GetSerializedSize ( ) const
overridevirtual

This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.

This method returns the number of bytes which are needed to store the header data during a Serialize.

Returns
The expected size of the header.

Implements ns3::Header.

Definition at line 48 of file radiotap-header.cc.

References m_length, and NS_LOG_FUNCTION.

◆ GetTypeId()

TypeId ns3::RadiotapHeader::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 31 of file radiotap-header.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Print()

void ns3::RadiotapHeader::Print ( std::ostream & os) const
overridevirtual

This method is used by Packet::Print to print the content of the header as ascii data to a C++ output stream.

Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace.

eg: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5

Parameters
osThe output stream

Implements ns3::Header.

Definition at line 547 of file radiotap-header.cc.

References m_antennaNoise, m_antennaSignal, m_flags, m_present, m_presentExt, m_rate, m_tsft, NS_LOG_FUNCTION, PrintAmpduStatus(), PrintChannel(), PrintEht(), PrintHe(), PrintHeMu(), PrintHeMuOtherUser(), PrintMcs(), PrintUsig(), PrintVht(), RADIOTAP_AMPDU_STATUS, RADIOTAP_CHANNEL, RADIOTAP_EHT_SIG, RADIOTAP_HE, RADIOTAP_HE_MU, RADIOTAP_HE_MU_OTHER_USER, RADIOTAP_MCS, RADIOTAP_USIG, and RADIOTAP_VHT.

+ Here is the call graph for this function:

◆ PrintAmpduStatus()

void ns3::RadiotapHeader::PrintAmpduStatus ( std::ostream & os) const
private

Add A-MPDU Status subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 803 of file radiotap-header.cc.

References ns3::RadiotapHeader::AmpduStatusFields::flags, and m_ampduStatusFields.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintChannel()

void ns3::RadiotapHeader::PrintChannel ( std::ostream & os) const
private

Add Channel subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 666 of file radiotap-header.cc.

References ns3::RadiotapHeader::ChannelFields::flags, ns3::RadiotapHeader::ChannelFields::frequency, and m_channelFields.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintEht()

void ns3::RadiotapHeader::PrintEht ( std::ostream & os) const
private

Add EHT subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 1175 of file radiotap-header.cc.

References ns3::RadiotapHeader::EhtFields::data, ns3::RadiotapHeader::EhtFields::known, m_ehtFields, and ns3::RadiotapHeader::EhtFields::userInfo.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintHe()

void ns3::RadiotapHeader::PrintHe ( std::ostream & os) const
private

Add HE subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 915 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeFields::data1, ns3::RadiotapHeader::HeFields::data2, ns3::RadiotapHeader::HeFields::data3, ns3::RadiotapHeader::HeFields::data4, ns3::RadiotapHeader::HeFields::data5, ns3::RadiotapHeader::HeFields::data6, and m_heFields.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintHeMu()

void ns3::RadiotapHeader::PrintHeMu ( std::ostream & os) const
private

Add HE-MU subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 973 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeMuFields::flags1, ns3::RadiotapHeader::HeMuFields::flags2, and m_heMuFields.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintHeMuOtherUser()

void ns3::RadiotapHeader::PrintHeMuOtherUser ( std::ostream & os) const
private

Add HE-MU-other-user subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 1020 of file radiotap-header.cc.

References m_heMuOtherUserFields, ns3::RadiotapHeader::HeMuOtherUserFields::perUser1, ns3::RadiotapHeader::HeMuOtherUserFields::perUser2, ns3::RadiotapHeader::HeMuOtherUserFields::perUserKnown, and ns3::RadiotapHeader::HeMuOtherUserFields::perUserPosition.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintMcs()

void ns3::RadiotapHeader::PrintMcs ( std::ostream & os) const
private

Add MCS subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 758 of file radiotap-header.cc.

References ns3::RadiotapHeader::McsFields::flags, ns3::RadiotapHeader::McsFields::known, m_mcsFields, and ns3::RadiotapHeader::McsFields::mcs.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintUsig()

void ns3::RadiotapHeader::PrintUsig ( std::ostream & os) const
private

Add U-SIG subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 1089 of file radiotap-header.cc.

References ns3::RadiotapHeader::UsigFields::common, m_usigFields, ns3::RadiotapHeader::UsigFields::mask, and ns3::RadiotapHeader::UsigFields::value.

Referenced by Print().

+ Here is the caller graph for this function:

◆ PrintVht()

void ns3::RadiotapHeader::PrintVht ( std::ostream & os) const
private

Add VHT subfield/value pairs to the output stream.

Parameters
osThe output stream

Definition at line 861 of file radiotap-header.cc.

References ns3::RadiotapHeader::VhtFields::bandwidth, ns3::RadiotapHeader::VhtFields::coding, ns3::RadiotapHeader::VhtFields::flags, ns3::RadiotapHeader::VhtFields::groupId, ns3::RadiotapHeader::VhtFields::known, m_vhtFields, ns3::RadiotapHeader::VhtFields::mcsNss, and ns3::RadiotapHeader::VhtFields::partialAid.

Referenced by Print().

+ Here is the caller graph for this function:

◆ Serialize()

void ns3::RadiotapHeader::Serialize ( Buffer::Iterator start) const
overridevirtual

This method is used by Packet::AddHeader to store the header into the byte buffer of a packet.

The data written is expected to match bit-for-bit the representation of this header in a real network.

Parameters
startAn iterator which points to where the header should be written.

Implements ns3::Header.

Definition at line 55 of file radiotap-header.cc.

References m_antennaNoise, m_antennaSignal, m_flags, m_length, m_present, m_presentExt, m_rate, m_tsft, NS_LOG_FUNCTION, RADIOTAP_AMPDU_STATUS, RADIOTAP_ANTENNA, RADIOTAP_CHANNEL, RADIOTAP_DB_ANTNOISE, RADIOTAP_DB_ANTSIGNAL, RADIOTAP_DB_TX_ATTENUATION, RADIOTAP_DBM_ANTNOISE, RADIOTAP_DBM_ANTSIGNAL, RADIOTAP_DBM_TX_POWER, RADIOTAP_EHT_SIG, RADIOTAP_FHSS, RADIOTAP_FLAGS, RADIOTAP_HE, RADIOTAP_HE_MU, RADIOTAP_HE_MU_OTHER_USER, RADIOTAP_LOCK_QUALITY, RADIOTAP_MCS, RADIOTAP_RATE, RADIOTAP_RX_FLAGS, RADIOTAP_TSFT, RADIOTAP_TX_ATTENUATION, RADIOTAP_USIG, RADIOTAP_VHT, SerializeAmpduStatus(), SerializeChannel(), SerializeEht(), SerializeHe(), SerializeHeMu(), SerializeHeMuOtherUser(), SerializeMcs(), SerializeUsig(), and SerializeVht().

+ Here is the call graph for this function:

◆ SerializeAmpduStatus()

void ns3::RadiotapHeader::SerializeAmpduStatus ( Buffer::Iterator & start) const
private

Serialize the A-MPDU Status radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 781 of file radiotap-header.cc.

References ns3::RadiotapHeader::AmpduStatusFields::crc, ns3::RadiotapHeader::AmpduStatusFields::flags, m_ampduStatusFields, m_ampduStatusPad, ns3::RadiotapHeader::AmpduStatusFields::referenceNumber, and ns3::RadiotapHeader::AmpduStatusFields::reserved.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeChannel()

void ns3::RadiotapHeader::SerializeChannel ( Buffer::Iterator & start) const
private

Serialize the Channel radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 648 of file radiotap-header.cc.

References ns3::RadiotapHeader::ChannelFields::flags, ns3::RadiotapHeader::ChannelFields::frequency, m_channelFields, and m_channelPad.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeEht()

void ns3::RadiotapHeader::SerializeEht ( Buffer::Iterator & start) const
private

Serialize the EHT radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 1123 of file radiotap-header.cc.

References ns3::RadiotapHeader::EhtFields::data, ns3::RadiotapHeader::EhtFields::known, ns3::RadiotapHeader::TlvFields::length, m_ehtFields, m_ehtPad, m_ehtTlv, m_ehtTlvPad, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::EhtFields::userInfo.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeHe()

void ns3::RadiotapHeader::SerializeHe ( Buffer::Iterator & start) const
private

Serialize the HE radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 889 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeFields::data1, ns3::RadiotapHeader::HeFields::data2, ns3::RadiotapHeader::HeFields::data3, ns3::RadiotapHeader::HeFields::data4, ns3::RadiotapHeader::HeFields::data5, ns3::RadiotapHeader::HeFields::data6, m_heFields, and m_hePad.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeHeMu()

void ns3::RadiotapHeader::SerializeHeMu ( Buffer::Iterator & start) const
private

Serialize the HE-MU radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 939 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeMuFields::flags1, ns3::RadiotapHeader::HeMuFields::flags2, m_heMuFields, m_heMuPad, ns3::RadiotapHeader::HeMuFields::ruChannel1, and ns3::RadiotapHeader::HeMuFields::ruChannel2.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeHeMuOtherUser()

void ns3::RadiotapHeader::SerializeHeMuOtherUser ( Buffer::Iterator & start) const
private

Serialize the HE-MU-other-user radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 998 of file radiotap-header.cc.

References m_heMuOtherUserFields, m_heMuOtherUserPad, ns3::RadiotapHeader::HeMuOtherUserFields::perUser1, ns3::RadiotapHeader::HeMuOtherUserFields::perUser2, ns3::RadiotapHeader::HeMuOtherUserFields::perUserKnown, and ns3::RadiotapHeader::HeMuOtherUserFields::perUserPosition.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeMcs()

void ns3::RadiotapHeader::SerializeMcs ( Buffer::Iterator & start) const
private

Serialize the MCS radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 741 of file radiotap-header.cc.

References ns3::RadiotapHeader::McsFields::flags, ns3::RadiotapHeader::McsFields::known, m_mcsFields, and ns3::RadiotapHeader::McsFields::mcs.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeUsig()

void ns3::RadiotapHeader::SerializeUsig ( Buffer::Iterator & start) const
private

Serialize the U-SIG radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 1057 of file radiotap-header.cc.

References ns3::RadiotapHeader::UsigFields::common, ns3::RadiotapHeader::TlvFields::length, m_usigFields, m_usigPad, m_usigTlv, m_usigTlvPad, ns3::RadiotapHeader::UsigFields::mask, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::UsigFields::value.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SerializeVht()

void ns3::RadiotapHeader::SerializeVht ( Buffer::Iterator & start) const
private

Serialize the VHT radiotap header.

Parameters
startAn iterator which points to where the header should be written.

Definition at line 827 of file radiotap-header.cc.

References ns3::RadiotapHeader::VhtFields::bandwidth, ns3::RadiotapHeader::VhtFields::coding, ns3::RadiotapHeader::VhtFields::flags, ns3::RadiotapHeader::VhtFields::groupId, ns3::RadiotapHeader::VhtFields::known, m_vhtFields, m_vhtPad, ns3::RadiotapHeader::VhtFields::mcsNss, and ns3::RadiotapHeader::VhtFields::partialAid.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ SetAmpduStatus()

void ns3::RadiotapHeader::SetAmpduStatus ( const AmpduStatusFields & ampduStatusFields)

Set the subfields of the A-MPDU status field.

Parameters
ampduStatusFieldsThe subfields of the A-MPDU status field.

Definition at line 765 of file radiotap-header.cc.

References ns3::RadiotapHeader::AmpduStatusFields::flags, m_ampduStatusFields, m_ampduStatusPad, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, RADIOTAP_AMPDU_STATUS, and ns3::RadiotapHeader::AmpduStatusFields::referenceNumber.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetAntennaNoisePower()

void ns3::RadiotapHeader::SetAntennaNoisePower ( double noise)

Set the RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Parameters
noiseThe RF noise power at the antenna as a decibel difference from an arbitrary, fixed reference.

Definition at line 700 of file radiotap-header.cc.

References m_antennaNoise, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_DBM_ANTNOISE.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetAntennaSignalPower()

void ns3::RadiotapHeader::SetAntennaSignalPower ( double signal)

Set the RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference.

Parameters
signalThe RF signal power at the antenna as a decibel difference from an arbitrary, fixed reference;

Definition at line 673 of file radiotap-header.cc.

References m_antennaSignal, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_DBM_ANTSIGNAL.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetChannelFields()

void ns3::RadiotapHeader::SetChannelFields ( const ChannelFields & channelFields)

Set the subfields of the Channel field.

Parameters
channelFieldsThe subfields of the Channel field.

Definition at line 633 of file radiotap-header.cc.

References ns3::RadiotapHeader::ChannelFields::flags, ns3::RadiotapHeader::ChannelFields::frequency, m_channelFields, m_channelPad, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_CHANNEL.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetEhtFields()

void ns3::RadiotapHeader::SetEhtFields ( const EhtFields & ehtFields)

Set the subfields of the EHT-SIG field.

Parameters
ehtFieldsThe subfields of the EHT-SIG field.

Definition at line 1096 of file radiotap-header.cc.

References ns3::RadiotapHeader::EhtFields::known, ns3::RadiotapHeader::TlvFields::length, m_ehtFields, m_ehtPad, m_ehtTlv, m_ehtTlvPad, m_length, m_present, m_presentExt, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, RADIOTAP_EHT_SIG, RADIOTAP_EXT, RADIOTAP_TLV, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::EhtFields::userInfo.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetFrameFlags()

void ns3::RadiotapHeader::SetFrameFlags ( uint8_t flags)

Set the frame flags of the transmitted or received frame.

Parameters
flagsflags to set.

Definition at line 605 of file radiotap-header.cc.

References m_flags, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_FLAGS.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetHeFields()

void ns3::RadiotapHeader::SetHeFields ( const HeFields & heFields)

Set the subfields of the HE field.

Parameters
heFieldsThe subfields of the HE field.

Definition at line 873 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeFields::data1, ns3::RadiotapHeader::HeFields::data2, ns3::RadiotapHeader::HeFields::data3, ns3::RadiotapHeader::HeFields::data4, ns3::RadiotapHeader::HeFields::data5, ns3::RadiotapHeader::HeFields::data6, m_heFields, m_hePad, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_HE.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetHeMuFields()

void ns3::RadiotapHeader::SetHeMuFields ( const HeMuFields & heMuFields)

Set the subfields of the HE-MU field.

Parameters
heMuFieldsThe subfields of the HE-MU field.

Definition at line 924 of file radiotap-header.cc.

References ns3::RadiotapHeader::HeMuFields::flags1, ns3::RadiotapHeader::HeMuFields::flags2, m_heMuFields, m_heMuPad, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_HE_MU.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetHeMuOtherUserFields()

void ns3::RadiotapHeader::SetHeMuOtherUserFields ( const HeMuOtherUserFields & heMuOtherUserFields)

Set the subfields of the HE-MU-other-user field.

Parameters
heMuOtherUserFieldsThe subfields of the HE-MU-other-user field.

Definition at line 980 of file radiotap-header.cc.

References m_heMuOtherUserFields, m_heMuOtherUserPad, m_length, m_present, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::RadiotapHeader::HeMuOtherUserFields::perUser1, ns3::RadiotapHeader::HeMuOtherUserFields::perUser2, ns3::RadiotapHeader::HeMuOtherUserFields::perUserKnown, ns3::RadiotapHeader::HeMuOtherUserFields::perUserPosition, and RADIOTAP_HE_MU_OTHER_USER.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetMcsFields()

void ns3::RadiotapHeader::SetMcsFields ( const McsFields & mcsFields)

Set the subfields of the MCS field.

Parameters
mcsFieldsThe subfields of the MCS field.

Definition at line 727 of file radiotap-header.cc.

References ns3::RadiotapHeader::McsFields::flags, ns3::RadiotapHeader::McsFields::known, m_length, m_mcsFields, m_present, ns3::RadiotapHeader::McsFields::mcs, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_MCS.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetRate()

void ns3::RadiotapHeader::SetRate ( uint8_t rate)

Set the transmit/receive channel frequency in units of megahertz.

Parameters
ratethe transmit/receive channel frequency in units of megahertz.

Definition at line 619 of file radiotap-header.cc.

References m_length, m_present, m_rate, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_RATE.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetTsft()

void ns3::RadiotapHeader::SetTsft ( uint64_t tsft)

Set the Time Synchronization Function Timer (TSFT) value.

Valid for received frames only.

Parameters
tsftValue in microseconds of the MAC's 64-bit 802.11 Time Synchronization Function timer when the first bit of the MPDU arrived at the MAC.

Definition at line 591 of file radiotap-header.cc.

References m_length, m_present, m_tsft, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RADIOTAP_TSFT.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetUsigFields()

void ns3::RadiotapHeader::SetUsigFields ( const UsigFields & usigFields)

Set the subfields of the U-SIG field.

Parameters
usigFieldsThe subfields of the U-SIG field.

Definition at line 1030 of file radiotap-header.cc.

References ns3::RadiotapHeader::UsigFields::common, ns3::RadiotapHeader::TlvFields::length, m_length, m_present, m_presentExt, m_usigFields, m_usigPad, m_usigTlv, m_usigTlvPad, ns3::RadiotapHeader::UsigFields::mask, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, RADIOTAP_EXT, RADIOTAP_TLV, RADIOTAP_USIG, ns3::RadiotapHeader::TlvFields::type, and ns3::RadiotapHeader::UsigFields::value.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

◆ SetVhtFields()

void ns3::RadiotapHeader::SetVhtFields ( const VhtFields & vhtFields)

Set the subfields of the VHT field.

Parameters
vhtFieldsThe subfields of the VHT field.

Definition at line 809 of file radiotap-header.cc.

References ns3::RadiotapHeader::VhtFields::coding, ns3::RadiotapHeader::VhtFields::flags, ns3::RadiotapHeader::VhtFields::groupId, ns3::RadiotapHeader::VhtFields::known, m_length, m_present, m_vhtFields, m_vhtPad, ns3::RadiotapHeader::VhtFields::mcsNss, NS_ASSERT_MSG, NS_LOG_FUNCTION, NS_LOG_LOGIC, ns3::RadiotapHeader::VhtFields::partialAid, and RADIOTAP_VHT.

Referenced by ns3::WifiPhyHelper::GetRadiotapHeader().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_ampduStatusFields

AmpduStatusFields ns3::RadiotapHeader::m_ampduStatusFields {}
private

A-MPDU Status fields.

Definition at line 1056 of file radiotap-header.h.

Referenced by DeserializeAmpduStatus(), PrintAmpduStatus(), SerializeAmpduStatus(), and SetAmpduStatus().

◆ m_ampduStatusPad

uint8_t ns3::RadiotapHeader::m_ampduStatusPad {0}
private

A-MPDU Status Flags, padding before A-MPDU Status Field.

Definition at line 1055 of file radiotap-header.h.

Referenced by DeserializeAmpduStatus(), SerializeAmpduStatus(), and SetAmpduStatus().

◆ m_antennaNoise

int8_t ns3::RadiotapHeader::m_antennaNoise
private
Initial value:
{
0}

RF noise power at the antenna, dB difference from an arbitrary, fixed reference.

Definition at line 1050 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), and SetAntennaNoisePower().

◆ m_antennaSignal

int8_t ns3::RadiotapHeader::m_antennaSignal
private
Initial value:
{
0}

RF signal power at the antenna, dB difference from an arbitrary, fixed reference.

Definition at line 1048 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), and SetAntennaSignalPower().

◆ m_channelFields

ChannelFields ns3::RadiotapHeader::m_channelFields {}
private

Channel fields.

Definition at line 1046 of file radiotap-header.h.

Referenced by DeserializeChannel(), PrintChannel(), SerializeChannel(), and SetChannelFields().

◆ m_channelPad

uint8_t ns3::RadiotapHeader::m_channelPad {0}
private

Channel padding.

Definition at line 1045 of file radiotap-header.h.

Referenced by DeserializeChannel(), SerializeChannel(), and SetChannelFields().

◆ m_ehtFields

EhtFields ns3::RadiotapHeader::m_ehtFields {}
private

EHT fields.

Definition at line 1078 of file radiotap-header.h.

Referenced by DeserializeEht(), PrintEht(), SerializeEht(), and SetEhtFields().

◆ m_ehtPad

uint8_t ns3::RadiotapHeader::m_ehtPad {0}
private

EHT padding.

Definition at line 1077 of file radiotap-header.h.

Referenced by DeserializeEht(), SerializeEht(), and SetEhtFields().

◆ m_ehtTlv

TlvFields ns3::RadiotapHeader::m_ehtTlv {}
private

EHT TLV fields.

Definition at line 1076 of file radiotap-header.h.

Referenced by DeserializeEht(), SerializeEht(), and SetEhtFields().

◆ m_ehtTlvPad

uint8_t ns3::RadiotapHeader::m_ehtTlvPad {0}
private

EHT TLV padding.

Definition at line 1075 of file radiotap-header.h.

Referenced by DeserializeEht(), SerializeEht(), and SetEhtFields().

◆ m_flags

uint8_t ns3::RadiotapHeader::m_flags {FRAME_FLAG_NONE}
private

Properties of transmitted and received frames.

Definition at line 1041 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), and SetFrameFlags().

◆ m_heFields

HeFields ns3::RadiotapHeader::m_heFields {}
private

HE fields.

Definition at line 1062 of file radiotap-header.h.

Referenced by DeserializeHe(), PrintHe(), SerializeHe(), and SetHeFields().

◆ m_heMuFields

HeMuFields ns3::RadiotapHeader::m_heMuFields {}
private

HE MU fields.

Definition at line 1065 of file radiotap-header.h.

Referenced by DeserializeHeMu(), PrintHeMu(), SerializeHeMu(), and SetHeMuFields().

◆ m_heMuOtherUserFields

HeMuOtherUserFields ns3::RadiotapHeader::m_heMuOtherUserFields {}
private

HE MU other user fields.

Definition at line 1068 of file radiotap-header.h.

Referenced by DeserializeHeMuOtherUser(), PrintHeMuOtherUser(), SerializeHeMuOtherUser(), and SetHeMuOtherUserFields().

◆ m_heMuOtherUserPad

uint8_t ns3::RadiotapHeader::m_heMuOtherUserPad {0}
private

HE MU other user padding.

Definition at line 1067 of file radiotap-header.h.

Referenced by DeserializeHeMuOtherUser(), SerializeHeMuOtherUser(), and SetHeMuOtherUserFields().

◆ m_heMuPad

uint8_t ns3::RadiotapHeader::m_heMuPad {0}
private

HE MU padding.

Definition at line 1064 of file radiotap-header.h.

Referenced by DeserializeHeMu(), SerializeHeMu(), and SetHeMuFields().

◆ m_hePad

uint8_t ns3::RadiotapHeader::m_hePad {0}
private

HE padding.

Definition at line 1061 of file radiotap-header.h.

Referenced by DeserializeHe(), SerializeHe(), and SetHeFields().

◆ m_length

◆ m_mcsFields

McsFields ns3::RadiotapHeader::m_mcsFields {}
private

MCS fields.

Definition at line 1053 of file radiotap-header.h.

Referenced by DeserializeMcs(), PrintMcs(), SerializeMcs(), and SetMcsFields().

◆ m_present

◆ m_presentExt

std::optional<uint32_t> ns3::RadiotapHeader::m_presentExt {}
private

optional extended present bitmask

Definition at line 1036 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), SetEhtFields(), and SetUsigFields().

◆ m_rate

uint8_t ns3::RadiotapHeader::m_rate {0}
private

TX/RX data rate in units of 500 kbps.

Definition at line 1043 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), and SetRate().

◆ m_tsft

uint64_t ns3::RadiotapHeader::m_tsft {0}
private

Time Synchronization Function Timer (when the first bit of the MPDU arrived at the MAC)

Definition at line 1038 of file radiotap-header.h.

Referenced by Deserialize(), Print(), Serialize(), and SetTsft().

◆ m_usigFields

UsigFields ns3::RadiotapHeader::m_usigFields {}
private

U-SIG fields.

Definition at line 1073 of file radiotap-header.h.

Referenced by DeserializeUsig(), PrintUsig(), SerializeUsig(), and SetUsigFields().

◆ m_usigPad

uint8_t ns3::RadiotapHeader::m_usigPad {0}
private

U-SIG padding.

Definition at line 1072 of file radiotap-header.h.

Referenced by DeserializeUsig(), SerializeUsig(), and SetUsigFields().

◆ m_usigTlv

TlvFields ns3::RadiotapHeader::m_usigTlv {}
private

U-SIG TLV fields.

Definition at line 1071 of file radiotap-header.h.

Referenced by DeserializeUsig(), SerializeUsig(), and SetUsigFields().

◆ m_usigTlvPad

uint8_t ns3::RadiotapHeader::m_usigTlvPad {0}
private

U-SIG TLV padding.

Definition at line 1070 of file radiotap-header.h.

Referenced by DeserializeUsig(), SerializeUsig(), and SetUsigFields().

◆ m_vhtFields

VhtFields ns3::RadiotapHeader::m_vhtFields {}
private

VHT fields.

Definition at line 1059 of file radiotap-header.h.

Referenced by DeserializeVht(), PrintVht(), SerializeVht(), and SetVhtFields().

◆ m_vhtPad

uint8_t ns3::RadiotapHeader::m_vhtPad {0}
private

VHT padding.

Definition at line 1058 of file radiotap-header.h.

Referenced by DeserializeVht(), SerializeVht(), and SetVhtFields().


The documentation for this class was generated from the following files: