12#include "ns3/address.h"
13#include "ns3/mac8-address.h"
14#include "ns3/nstime.h"
15#include "ns3/object.h"
16#include "ns3/packet.h"
a polymophic address class
A class used for addressing MAC8 MAC's.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Virtual base class for all UAN MAC protocols.
virtual void Clear()=0
Clears all pointer references.
void SetTxModeIndex(uint32_t txModeIndex)
Set the Tx mode index (Modulation type).
virtual void SetForwardUpCb(Callback< void, Ptr< Packet >, uint16_t, const Mac8Address & > cb)=0
Set the callback to forward packets up to higher layers.
uint32_t GetTxModeIndex() const
Get the Tx mode index (Modulation type).
void(* PacketModeTracedCallback)(Ptr< const Packet > packet, UanTxMode mode)
TracedCallback signature for packet reception/enqueue/dequeue events.
virtual bool Enqueue(Ptr< Packet > pkt, uint16_t protocolNumber, const Address &dest)=0
Enqueue packet to be transmitted.
virtual void SetAddress(Mac8Address addr)
Set the address.
uint32_t m_txModeIndex
Modulation type.
virtual void AttachPhy(Ptr< UanPhy > phy)=0
Attach PHY layer to this MAC.
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model.
Mac8Address m_address
The MAC address.
virtual Address GetBroadcast() const
Get the broadcast address.
virtual Address GetAddress()
Get the MAC Address.
UanMac()
Default constructor.
static TypeId GetTypeId()
Register this type.
Abstraction of packet modulation information.
Every class exported by the ns3 library is enclosed in the ns3 namespace.