28 m_supportedChannelWidth (0),
31 m_shortGuardInterval20 (0),
32 m_shortGuardInterval40 (0),
35 m_htDelayedBlockAck (0),
39 m_fortyMhzIntolerant (0),
40 m_lsigProtectionSupport (0),
41 m_maxAmpduLengthExponent (0),
42 m_minMpduStartSpace (0),
44 m_reservedMcsSet1 (0),
45 m_rxHighestSupportedDataRate (0),
46 m_reservedMcsSet2 (0),
47 m_txMcsSetDefined (0),
48 m_txRxMcsSetUnequal (0),
49 m_txMaxNSpatialStreams (0),
50 m_txUnequalModulation (0),
51 m_reservedMcsSet3 (0),
53 m_pcoTransitionTime (0),
54 m_reservedExtendedCapabilities (0),
57 m_reverseDirectionResponder (0),
58 m_reservedExtendedCapabilities2 (0),
59 m_implicitRxBfCapable (0),
60 m_rxStaggeredSoundingCapable (0),
61 m_txStaggeredSoundingCapable (0),
64 m_implicitTxBfCapable (0),
66 m_explicitCsiTxBfCapable (0),
67 m_explicitNoncompressedSteeringCapable (0),
68 m_explicitCompressedSteeringCapable (0),
69 m_explicitTxBfCsiFeedback (0),
70 m_explicitNoncompressedBfFeedbackCapable (0),
71 m_explicitCompressedBfFeedbackCapable (0),
72 m_minimalGrouping (0),
73 m_csiNBfAntennasSupported (0),
74 m_noncompressedSteeringNBfAntennasSupported (0),
75 m_compressedSteeringNBfAntennasSupported (0),
76 m_csiMaxNRowsBfSupported (0),
77 m_channelEstimationCapability (0),
79 m_antennaSelectionCapability (0),
80 m_explicitCsiFeedbackBasedTxASelCapable (0),
81 m_antennaIndicesFeedbackBasedTxASelCapable (0),
82 m_explicitCsiFeedbackCapable (0),
83 m_antennaIndicesFeedbackCapable (0),
85 m_txSoundingPpdusCapable (0),
135 "Invalid A-MSDU Max Length value");
148 for (uint8_t i = 0; i <= 3; i++)
150 if ((1ul << (13 + i)) - 1 == maxAmpduLength)
242 for (uint8_t nRx = 2; nRx <= 4; nRx++)
244 for (uint8_t mcs = (nRx - 1) * 8; mcs <= ((7 * nRx) + (nRx - 1)); mcs++)
344 for (uint64_t i = 0; i < 77; i++)
369 for (uint64_t i = 63; i > 0; i--)
390 for (uint64_t i = 13; i > 0; i--)
525 uint8_t ampduparam = i.
ReadU8 ();
528 uint16_t extendedcapabilities = i.
ReadU16 ();
529 uint32_t txbfcapabilities = i.
ReadU32 ();
530 uint8_t aselcapabilities = i.
ReadU8 ();
543 os << bool (htcapabilities.
GetLdpc ())
iterator in a Buffer instance
uint16_t ReadLsbtohU16(void)
uint64_t ReadLsbtohU64(void)
The HT Capabilities Information Element.
uint8_t m_calibration
calibration
uint8_t GetShortGuardInterval20(void) const
Return the short guard interval 20 value.
void SetLdpc(uint8_t ldpc)
Set the LDPC field.
uint8_t m_reservedExtendedCapabilities2
reserver extended capabilities 2
uint8_t m_htcSupport
HTC support.
uint8_t m_shortGuardInterval40
short guard interval 40 MHz
void SetTxRxMcsSetUnequal(uint8_t txRxMcsSetUnequal)
Set the transmit / receive MCS set unequal.
uint8_t GetAntennaSelectionCapabilities(void) const
Return the Antenna Selection (ASEL) Capabilities field in the HT Capabilities information element.
uint8_t m_shortGuardInterval20
short guard interval 20 MHz
void SetRxHighestSupportedDataRate(uint16_t maxSupportedRate)
Set the receive highest supported data rate.
void SetLSigProtectionSupport(uint8_t lSigProtection)
Set the LSIG protection support.
void SetMaxAmsduLength(uint16_t maxAmsduLength)
Set the maximum AMSDU length.
void SetExtendedHtCapabilities(uint16_t ctrl)
Set the Extended HT Capabilities field in the HT Capabilities information element.
void SetAmpduParameters(uint8_t ctrl)
Set the A-MPDU Parameters field in the HT Capabilities information element.
uint8_t m_explicitCompressedBfFeedbackCapable
explicit compressed BF feedback capable
uint8_t m_compressedSteeringNBfAntennasSupported
compressed steering NBF antenna supported
uint64_t GetSupportedMcsSet1(void) const
Return the first 64 bytes of the Supported MCS Set field in the HT Capabilities information element.
void SetTxMaxNSpatialStreams(uint8_t maxTxSpatialStreams)
Set the transmit maximum N spatial streams.
uint8_t m_rxStaggeredSoundingCapable
receive staggered sounding capable
uint8_t m_reservedTxBf
reserved transmit BF
uint8_t m_txMcsSetDefined
transmit MCS set defined
uint8_t m_maxAmpduLengthExponent
maximum A-MPDU length
uint8_t GetAmpduParameters(void) const
Return the A-MPDU Parameters field in the HT Capabilities information element.
uint8_t m_txSoundingPpdusCapable
sounding PPDUS capable
void SetAntennaSelectionCapabilities(uint8_t ctrl)
Set the the Antenna Selection (ASEL) Capabilities field in the HT Capabilities information element.
void SetSupportedMcsSet(uint64_t ctrl1, uint64_t ctrl2)
Set the Supported MCS Set field in the HT Capabilities information element.
uint64_t GetSupportedMcsSet2(void) const
Return the last 64 bytes of the Supported MCS Set field in the HT Capabilities information element.
uint32_t GetTxBfCapabilities(void) const
Return the Transmit Beamforming (TxBF) Capabilities field in the HT Capabilities information element.
uint16_t GetExtendedHtCapabilities(void) const
Return the Extended HT Capabilities field in the HT Capabilities information element.
uint8_t m_dssMode40
DSS mode 40.
WifiInformationElementId ElementId() const override
uint8_t m_minimalGrouping
minimal grouping
uint8_t m_minMpduStartSpace
minimum MPDU start space
uint8_t m_txRxMcsSetUnequal
transmit / receive MCS set unequal
void SetTxBfCapabilities(uint32_t ctrl)
Set the Transmit Beamforming (TxBF) Capabilities field in the HT Capabilities information element.
uint8_t m_txStaggeredSoundingCapable
transmit staggered sounding capable
uint8_t m_maxAmsduLength
maximum A-MSDU length
uint8_t m_implicitTxBfCapable
implicit transmit BF capable
uint8_t m_htDelayedBlockAck
HT delayed block ack.
Buffer::Iterator Serialize(Buffer::Iterator start) const override
Serialize entire IE including Element ID and length fields.
void SetShortGuardInterval20(uint8_t shortGuardInterval)
Set the short guard interval 20 field.
uint8_t m_csiMaxNRowsBfSupported
CSI maximum number rows BF supported.
uint8_t m_explicitTxBfCsiFeedback
explicit transmit BF CSI feedback
uint8_t m_rxNdpCapable
receive NDP capable
uint8_t m_rxMcsBitmask[MAX_SUPPORTED_MCS]
receive MCS bitmask
void SetHtCapabilitiesInfo(uint16_t ctrl)
Set the HT Capabilities Info field in the HT Capabilities information element.
void SetTxUnequalModulation(uint8_t txUnequalModulation)
Set the transmit unequal modulation.
uint8_t m_reverseDirectionResponder
reverse direction responder
uint16_t GetSerializedSize() const override
Get the size of the serialized IE including Element ID and length fields.
uint32_t GetMaxAmpduLength(void) const
Return the maximum A-MPDU length.
uint16_t GetHtCapabilitiesInfo(void) const
Return the HT Capabilities Info field in the HT Capabilities information element.
uint8_t m_txNdpCapable
transmit NDP capable
uint8_t GetLdpc(void) const
Return LDPC.
void SetTxMcsSetDefined(uint8_t txMcsSetDefined)
Set the transmit MCS set defined.
uint8_t m_txUnequalModulation
transmit unequal modulation
uint8_t m_reservedExtendedCapabilities
reserved extended capabilities
uint8_t m_lsigProtectionSupport
L-SIG protection support.
void SetHtSupported(uint8_t htSupported)
Set the HT supported field.
uint8_t m_explicitCsiFeedbackCapable
explicit CSI feedback capable
uint8_t m_txMaxNSpatialStreams
transmit maximum number spatial streams
uint8_t m_explicitNoncompressedBfFeedbackCapable
explicit non compressed BF feedback capable
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
uint8_t m_pcoTransitionTime
PCO transition time.
uint8_t m_reservedMcsSet2
reserved MCS set 2
uint16_t GetMaxAmsduLength(void) const
Return the maximum A-MSDU length.
uint8_t m_antennaIndicesFeedbackBasedTxASelCapable
antenna indices feedback based transmit antenna selection capable
uint8_t m_explicitNoncompressedSteeringCapable
explicit non compressed steeering capable
void SetRxMcsBitmask(uint8_t index)
Set the receive MCS bitmask.
uint8_t m_implicitRxBfCapable
implicit receive BF capable
void SetSupportedChannelWidth(uint8_t supportedChannelWidth)
Set the supported channel width field.
bool IsSupportedMcs(uint8_t mcs) const
Return the is MCS supported flag.
uint8_t GetSupportedChannelWidth(void) const
Return the supported channel width.
uint8_t m_mcsFeedback
MCS feedback.
uint8_t m_fortyMhzIntolerant
40 MHz intolerant
uint8_t m_channelEstimationCapability
channel estimation capability
uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
uint8_t m_rxASelCapable
receive antenna selection capable
uint16_t m_rxHighestSupportedDataRate
receive highest supported data rate
uint8_t m_csiNBfAntennasSupported
CSI NBF antenna supported.
uint8_t m_antennaSelectionCapability
antenna selection capability
uint8_t m_txStbc
transmit STBC
uint8_t m_htSupported
This is used to decide whether this element should be added to the frame or not.
uint8_t m_ampduReserved
A-MPDU reserved.
uint8_t m_antennaIndicesFeedbackCapable
antenna indices feedback capable
uint8_t m_supportedChannelWidth
supported channel width
uint8_t GetRxHighestSupportedAntennas(void) const
Return the receive highest supported antennas.
uint32_t m_reservedMcsSet3
reserved MCS set 3
uint8_t m_greenField
Greenfield.
uint8_t m_noncompressedSteeringNBfAntennasSupported
non compressed steering NBF antenna supported
uint8_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
void SetMaxAmpduLength(uint32_t maxAmpduLength)
Set the maximum AMPDU length.
uint8_t m_explicitCsiFeedbackBasedTxASelCapable
explicit CSI feedback based transmit antenna selection capable
void SetShortGuardInterval40(uint8_t shortGuardInterval)
Set the short guard interval 40 field.
uint8_t m_psmpSupport
PSMP support.
uint8_t m_reservedMcsSet1
reserved MCS set 1
uint8_t m_explicitCsiTxBfCapable
explicit CSI transmit BF capable
uint8_t m_explicitCompressedSteeringCapable
explicit compressed steeering capable
uint8_t m_reservedASel
reserved ASEL
uint8_t m_rxStbc
receive STBC
uint8_t m_smPowerSave
SM power save.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ABORT_MSG(msg)
Unconditional abnormal program termination with a message.
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message.
#define MAX_SUPPORTED_MCS
This defines the maximum number of supported MCSs that a STA is allowed to have.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::ostream & operator<<(std::ostream &os, const Angles &a)
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.