24 #include "ns3/net-device.h"
33 class HtConfiguration;
34 class VhtConfiguration;
35 class HeConfiguration;
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
The IEEE 802.11 SSID Information Element.
Forward calls to a chain of Callback.
a unique identifier for an interface.
base class for all MAC-level wifi objects.
Ptr< HtConfiguration > GetHtConfiguration(void) const
virtual void SetWifiPhy(Ptr< WifiPhy > phy)=0
virtual void Enqueue(Ptr< Packet > packet, Mac48Address to, Mac48Address from)=0
Ptr< HeConfiguration > GetHeConfiguration(void) const
virtual void SetSsid(Ssid ssid)=0
virtual Ptr< WifiRemoteStationManager > GetWifiRemoteStationManager(void) const =0
virtual Mac48Address GetAddress(void) const =0
virtual void ConfigureStandard(WifiStandard standard)=0
virtual Mac48Address GetBssid(void) const =0
virtual void Enqueue(Ptr< Packet > packet, Mac48Address to)=0
TracedCallback< Ptr< const Packet > > m_macTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition,...
void ConfigureDcf(Ptr< Txop > dcf, uint32_t cwmin, uint32_t cwmax, bool isDsss, AcIndex ac)
virtual void SetTypeOfStation(TypeOfStation type)=0
This method is invoked by a subclass to specify what type of station it is implementing.
virtual void DoDispose()
Destructor implementation.
virtual void SetLinkUpCallback(Callback< void > linkUp)=0
virtual TypeOfStation GetTypeOfStation(void) const =0
Return the type of station.
virtual Ssid GetSsid(void) const =0
void NotifyPromiscRx(Ptr< const Packet > packet)
static TypeId GetTypeId(void)
Get the type ID.
TracedCallback< Ptr< const Packet > > m_macRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
virtual Ptr< WifiPhy > GetWifiPhy(void) const =0
TracedCallback< Ptr< const Packet > > m_macTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
void NotifyTx(Ptr< const Packet > packet)
void NotifyRx(Ptr< const Packet > packet)
TracedCallback< Ptr< const Packet > > m_macRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
TracedCallback< Ptr< const Packet > > m_macPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
Ptr< VhtConfiguration > GetVhtConfiguration(void) const
virtual bool GetShortSlotTimeSupported(void) const =0
virtual void SetPromisc(void)=0
Sets the interface in promiscuous mode.
virtual void SetShortSlotTimeSupported(bool enable)=0
Enable or disable short slot time feature.
Ptr< NetDevice > m_device
Pointer to the device.
virtual void SetWifiRemoteStationManager(Ptr< WifiRemoteStationManager > stationManager)=0
virtual void SetLinkDownCallback(Callback< void > linkDown)=0
virtual void SetAddress(Mac48Address address)=0
void NotifyRxDrop(Ptr< const Packet > packet)
Ptr< NetDevice > GetDevice(void) const
Return the device this PHY is associated with.
virtual void ResetWifiPhy(void)=0
Remove currently attached WifiPhy device from this MAC.
Callback< void, Ptr< const Packet >, Mac48Address, Mac48Address > ForwardUpCallback
This type defines the callback of a higher layer that a WifiMac(-derived) object invokes to pass a pa...
void NotifyTxDrop(Ptr< const Packet > packet)
virtual bool SupportsSendFrom(void) const =0
virtual void SetForwardUpCallback(ForwardUpCallback upCallback)=0
void SetDevice(const Ptr< NetDevice > device)
Sets the device this PHY is associated with.
WifiStandard
Identifies the allowed configurations that a Wifi device is configured to use.
WifiMacDropReason
The reason why an MPDU was dropped.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
TypeOfStation
Enumeration for type of station.
@ WIFI_MAC_DROP_FAILED_ENQUEUE
@ WIFI_MAC_DROP_EXPIRED_LIFETIME
@ WIFI_MAC_DROP_REACHED_RETRY_LIMIT