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 maxSupportedChannelWidth)
 Return the channel width that corresponds to the selected mode (instead of letting the PHY's default channel width). 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