A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
he-6ghz-band-capabilities.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Rami Abdallah <abdallah.rami@gmail.com>
7
*/
8
9
#ifndef HE_6GHZ_BAND_CAPABILITIES_H
10
#define HE_6GHZ_BAND_CAPABILITIES_H
11
12
#include "ns3/wifi-information-element.h"
13
14
namespace
ns3
15
{
16
17
/**
18
* \ingroup wifi
19
*
20
* The HE 6 GHz Band Capabilities (IEEE 802.11ax-2021 9.4.2.263)
21
*/
22
class
He6GhzBandCapabilities
:
public
WifiInformationElement
23
{
24
public
:
25
He6GhzBandCapabilities
();
26
27
WifiInformationElementId
ElementId
()
const override
;
28
WifiInformationElementId
ElementIdExt
()
const override
;
29
void
Print
(std::ostream& os)
const override
;
30
31
/// Capabilities Information field
32
struct
CapabilitiesInfo
33
{
34
uint8_t
m_minMpduStartSpacing
: 3;
///< Minimum MPDU Start Spacing
35
uint8_t
m_maxAmpduLengthExponent
: 3;
///< Maximum A-MPDU Length Exponent (can
36
///< also be set via convenient methods)
37
uint8_t
m_maxMpduLength
: 2;
///< Maximum MPDU Length (can also
38
///< be set via convenient methods)
39
uint8_t : 1;
///< Reserved Bits
40
uint8_t
m_smPowerSave
: 2;
///< SM Power Save
41
uint8_t
m_rdResponder
: 1;
///< RD Responder
42
uint8_t
m_rxAntennaPatternConsistency
: 1;
///< Receive Antenna Pattern Consistency
43
uint8_t
m_txAntennaPatternConsistency
: 1;
///< Transmit Antenna Pattern Consistency
44
uint8_t : 2;
///< Reserved Bits
45
};
46
47
CapabilitiesInfo
m_capabilitiesInfo
;
///< capabilities field
48
49
/**
50
* Set the maximum AMPDU length.
51
*
52
* \param maxAmpduLength 2^(13 + x) - 1, x in the range 0 to 7
53
*/
54
void
SetMaxAmpduLength
(
uint32_t
maxAmpduLength);
55
/**
56
* Return the maximum A-MPDU length.
57
*
58
* \return the maximum A-MPDU length in bytes
59
*/
60
uint32_t
GetMaxAmpduLength
()
const
;
61
62
/**
63
* Set the maximum MPDU length.
64
*
65
* \param length the maximum MPDU length (3895, 7991 or 11454)
66
*/
67
void
SetMaxMpduLength
(uint16_t length);
68
/**
69
* Get the maximum MPDU length.
70
*
71
* \return the maximum MPDU length in bytes
72
*/
73
uint16_t
GetMaxMpduLength
()
const
;
74
75
private
:
76
uint16_t
GetInformationFieldSize
()
const override
;
77
void
SerializeInformationField
(
Buffer::Iterator
start)
const override
;
78
uint16_t
DeserializeInformationField
(
Buffer::Iterator
start, uint16_t length)
override
;
79
};
80
81
}
// namespace ns3
82
83
#endif
/* HE_6GHZ_BAND_CAPABILITY_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition
buffer.h:89
ns3::He6GhzBandCapabilities
The HE 6 GHz Band Capabilities (IEEE 802.11ax-2021 9.4.2.263)
Definition
he-6ghz-band-capabilities.h:23
ns3::He6GhzBandCapabilities::GetInformationFieldSize
uint16_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
Definition
he-6ghz-band-capabilities.cc:32
ns3::He6GhzBandCapabilities::GetMaxAmpduLength
uint32_t GetMaxAmpduLength() const
Return the maximum A-MPDU length.
Definition
he-6ghz-band-capabilities.cc:54
ns3::He6GhzBandCapabilities::He6GhzBandCapabilities
He6GhzBandCapabilities()
Definition
he-6ghz-band-capabilities.cc:14
ns3::He6GhzBandCapabilities::DeserializeInformationField
uint16_t DeserializeInformationField(Buffer::Iterator start, uint16_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition
he-6ghz-band-capabilities.cc:110
ns3::He6GhzBandCapabilities::SetMaxAmpduLength
void SetMaxAmpduLength(uint32_t maxAmpduLength)
Set the maximum AMPDU length.
Definition
he-6ghz-band-capabilities.cc:40
ns3::He6GhzBandCapabilities::Print
void Print(std::ostream &os) const override
Generate human-readable form of IE.
Definition
he-6ghz-band-capabilities.cc:125
ns3::He6GhzBandCapabilities::ElementIdExt
WifiInformationElementId ElementIdExt() const override
Get the wifi information element ID extension.
Definition
he-6ghz-band-capabilities.cc:26
ns3::He6GhzBandCapabilities::SerializeInformationField
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition
he-6ghz-band-capabilities.cc:97
ns3::He6GhzBandCapabilities::GetMaxMpduLength
uint16_t GetMaxMpduLength() const
Get the maximum MPDU length.
Definition
he-6ghz-band-capabilities.cc:79
ns3::He6GhzBandCapabilities::m_capabilitiesInfo
CapabilitiesInfo m_capabilitiesInfo
capabilities field
Definition
he-6ghz-band-capabilities.h:47
ns3::He6GhzBandCapabilities::ElementId
WifiInformationElementId ElementId() const override
Get the wifi information element ID.
Definition
he-6ghz-band-capabilities.cc:20
ns3::He6GhzBandCapabilities::SetMaxMpduLength
void SetMaxMpduLength(uint16_t length)
Set the maximum MPDU length.
Definition
he-6ghz-band-capabilities.cc:60
ns3::WifiInformationElement
Information element, as defined in 802.11-2007 standard.
Definition
wifi-information-element.h:278
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::WifiInformationElementId
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
Definition
wifi-information-element.h:34
ns3::He6GhzBandCapabilities::CapabilitiesInfo
Capabilities Information field.
Definition
he-6ghz-band-capabilities.h:33
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_maxAmpduLengthExponent
uint8_t m_maxAmpduLengthExponent
Maximum A-MPDU Length Exponent (can also be set via convenient methods)
Definition
he-6ghz-band-capabilities.h:35
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_smPowerSave
uint8_t m_smPowerSave
SM Power Save.
Definition
he-6ghz-band-capabilities.h:40
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_maxMpduLength
uint8_t m_maxMpduLength
Maximum MPDU Length (can also be set via convenient methods)
Definition
he-6ghz-band-capabilities.h:37
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_minMpduStartSpacing
uint8_t m_minMpduStartSpacing
Minimum MPDU Start Spacing.
Definition
he-6ghz-band-capabilities.h:34
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_rdResponder
uint8_t m_rdResponder
RD Responder.
Definition
he-6ghz-band-capabilities.h:41
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_rxAntennaPatternConsistency
uint8_t m_rxAntennaPatternConsistency
Receive Antenna Pattern Consistency.
Definition
he-6ghz-band-capabilities.h:42
ns3::He6GhzBandCapabilities::CapabilitiesInfo::m_txAntennaPatternConsistency
uint8_t m_txAntennaPatternConsistency
Transmit Antenna Pattern Consistency.
Definition
he-6ghz-band-capabilities.h:43
src
wifi
model
he
he-6ghz-band-capabilities.h
Generated on Fri Nov 8 2024 13:59:07 for ns-3 by
1.11.0