A Discrete-Event Network Simulator
API
wifi-phy-common.h File Reference

Declaration of the following enums: More...

#include <ostream>
#include "ns3/fatal-error.h"
#include "ns3/ptr.h"
+ Include dependency graph for wifi-phy-common.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 ns3
 Every class exported by the ns3 library is enclosed in the ns3 namespace.
 

Typedefs

typedef uint16_t ns3::WifiCodeRate
 These constants define the various convolutional coding rates used for the OFDM transmission modes in the IEEE 802.11 standard. More...
 

Enumerations

enum  ns3::WifiModulationClass {
  ns3::WIFI_MOD_CLASS_UNKNOWN = 0 , ns3::WIFI_MOD_CLASS_DSSS , ns3::WIFI_MOD_CLASS_HR_DSSS , ns3::WIFI_MOD_CLASS_ERP_OFDM ,
  ns3::WIFI_MOD_CLASS_OFDM , ns3::WIFI_MOD_CLASS_HT , ns3::WIFI_MOD_CLASS_VHT , ns3::WIFI_MOD_CLASS_HE
}
 This enumeration defines the modulation classes per (Table 10-6 "Modulation classes"; IEEE 802.11-2016, with updated in 802.11ax/D6.0 as Table 10-9). More...
 
enum  ns3::WifiPhyRxfailureReason {
  ns3::UNKNOWN = 0 , ns3::UNSUPPORTED_SETTINGS , ns3::CHANNEL_SWITCHING , ns3::RXING ,
  ns3::TXING , ns3::SLEEPING , ns3::POWERED_OFF , ns3::TRUNCATED_TX ,
  ns3::BUSY_DECODING_PREAMBLE , ns3::PREAMBLE_DETECT_FAILURE , ns3::RECEPTION_ABORTED_BY_TX , ns3::L_SIG_FAILURE ,
  ns3::HT_SIG_FAILURE , ns3::SIG_A_FAILURE , ns3::SIG_B_FAILURE , ns3::PREAMBLE_DETECTION_PACKET_SWITCH ,
  ns3::FRAME_CAPTURE_PACKET_SWITCH , ns3::OBSS_PD_CCA_RESET , ns3::HE_TB_PPDU_TOO_LATE , ns3::FILTERED
}
 Enumeration of the possible reception failure reasons. More...
 
enum  ns3::WifiPpduField {
  ns3::WIFI_PPDU_FIELD_PREAMBLE = 0 , ns3::WIFI_PPDU_FIELD_NON_HT_HEADER , ns3::WIFI_PPDU_FIELD_HT_SIG , ns3::WIFI_PPDU_FIELD_TRAINING ,
  ns3::WIFI_PPDU_FIELD_SIG_A , ns3::WIFI_PPDU_FIELD_SIG_B , ns3::WIFI_PPDU_FIELD_DATA
}
 The type of PPDU field (grouped for convenience) More...
 
enum  ns3::WifiPpduType { ns3::WIFI_PPDU_TYPE_SU = 0 , ns3::WIFI_PPDU_TYPE_DL_MU , ns3::WIFI_PPDU_TYPE_UL_MU }
 The type of PPDU (SU, DL MU, or UL MU) More...
 
enum  ns3::WifiPreamble {
  ns3::WIFI_PREAMBLE_LONG , ns3::WIFI_PREAMBLE_SHORT , ns3::WIFI_PREAMBLE_HT_MF , ns3::WIFI_PREAMBLE_VHT_SU ,
  ns3::WIFI_PREAMBLE_VHT_MU , ns3::WIFI_PREAMBLE_HE_SU , ns3::WIFI_PREAMBLE_HE_ER_SU , ns3::WIFI_PREAMBLE_HE_MU ,
  ns3::WIFI_PREAMBLE_HE_TB
}
 The type of preamble to be used by an IEEE 802.11 transmission. More...
 

Functions

uint16_t ns3::ConvertGuardIntervalToNanoSeconds (WifiMode mode, bool htShortGuardInterval, Time heGuardInterval)
 Convert the guard interval to nanoseconds based on the WifiMode. More...
 
uint16_t ns3::ConvertGuardIntervalToNanoSeconds (WifiMode mode, const Ptr< WifiNetDevice > device)
 Convert the guard interval to nanoseconds based on the WifiMode. More...
 
uint16_t ns3::GetChannelWidthForTransmission (WifiMode mode, uint16_t maxAllowedChannelWidth)
 Return the channel width that is allowed based on the selected mode and the given maximum channel width. More...
 
uint16_t ns3::GetChannelWidthForTransmission (WifiMode mode, uint16_t operatingChannelWidth, uint16_t maxSupportedChannelWidth)
 Return the channel width that is allowed based on the selected mode, the current width of the operating channel and the maximum channel width supported by the receiver. More...
 
Time ns3::GetPpduMaxTime (WifiPreamble preamble)
 Get the maximum PPDU duration (see Section 10.14 of 802.11-2016) for the PHY layers defining the aPPDUMaxTime characteristic (HT, VHT and HE). More...
 
WifiPreamble ns3::GetPreambleForTransmission (WifiModulationClass modulation, bool useShortPreamble)
 Return the preamble to be used for the transmission. More...
 
bool ns3::IsAllowedControlAnswerModulationClass (WifiModulationClass modClassReq, WifiModulationClass modClassAnswer)
 Return whether the modulation class of the selected mode for the control answer frame is allowed. More...
 
bool ns3::IsDlMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a downlink multi-user transmission. More...
 
bool ns3::IsMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a multi-user transmission. More...
 
bool ns3::IsUlMu (WifiPreamble preamble)
 Return true if a preamble corresponds to a uplink multi-user transmission. More...
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiModulationClass &modulation)
 Stream insertion operator. More...
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPhyRxfailureReason &reason)
 Stream insertion operator. More...
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPpduField &field)
 Stream insertion operator. More...
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPpduType &type)
 Stream insertion operator. More...
 
std::ostream & ns3::operator<< (std::ostream &os, const WifiPreamble &preamble)
 Stream insertion operator. More...
 

Variables

const uint16_t ns3::WIFI_CODE_RATE_1_2 = 1
 1/2 coding rate More...
 
const uint16_t ns3::WIFI_CODE_RATE_2_3 = 2
 2/3 coding rate More...
 
const uint16_t ns3::WIFI_CODE_RATE_3_4 = 3
 3/4 coding rate More...
 
const uint16_t ns3::WIFI_CODE_RATE_5_6 = 4
 5/6 coding rate More...
 
const uint16_t ns3::WIFI_CODE_RATE_UNDEFINED = 0
 undefined coding rate More...
 

Detailed Description