21 #ifndef UAN_NET_DEVICE_H 
   22 #define UAN_NET_DEVICE_H 
   24 #include "ns3/net-device.h" 
   25 #include "ns3/pointer.h" 
   26 #include "ns3/traced-callback.h" 
  125   virtual void SetIfIndex (
const uint32_t index);
 
  129   virtual bool SetMtu (
const uint16_t mtu);
 
  130   virtual uint16_t 
GetMtu (
void) 
const;
 
virtual bool SetMtu(const uint16_t mtu)
 
virtual bool SendFrom(Ptr< Packet > packet, const Address &source, const Address &dest, uint16_t protocolNumber)
 
void SetSleepMode(bool sleep)
Set the Phy SLEEP mode. 
 
Ptr< UanMac > GetMac(void) const 
Get the MAC used by this device. 
 
virtual void SetReceiveCallback(NetDevice::ReceiveCallback cb)
 
Smart pointer class similar to boost::intrusive_ptr. 
 
void SetMac(Ptr< UanMac > mac)
Set the MAC layer for this device. 
 
virtual void SetAddress(Address address)
Set the address of this interface. 
 
bool m_linkup
The link state, true if up. 
 
Forward calls to a chain of Callback. 
 
virtual void DoDispose()
Destructor implementation. 
 
void SetChannel(Ptr< UanChannel > channel)
Attach a channel. 
 
virtual Address GetMulticast(Ipv4Address multicastGroup) const 
Make and return a MAC multicast address using the provided multicast group. 
 
std::list< Ptr< UanPhy > > UanPhyList
List of UanPhy objects. 
 
virtual bool IsPointToPoint(void) const 
Return true if the net device is on a point-to-point link. 
 
virtual bool IsMulticast(void) const 
 
virtual bool IsLinkUp(void) const 
 
virtual bool Send(Ptr< Packet > packet, const Address &dest, uint16_t protocolNumber)
 
virtual uint16_t GetMtu(void) const 
 
virtual Ptr< Channel > GetChannel(void) const 
 
Ptr< Node > m_node
The node hosting this device. 
 
Ptr< UanTransducer > m_trans
The Transducer attached to this device. 
 
virtual Address GetBroadcast(void) const 
 
a polymophic address class 
 
Ptr< UanTransducer > GetTransducer(void) const 
Get the transducer associated with this device. 
 
ReceiveCallback m_forwardUp
The receive callback. 
 
uint16_t m_mtu
The device MTU value, in bytes. 
 
virtual void AddLinkChangeCallback(Callback< void > callback)
 
virtual uint32_t GetIfIndex(void) const 
 
A class used for addressing UAN MAC's. 
 
virtual void ForwardUp(Ptr< Packet > pkt, const UanAddress &src)
Forward the packet to a higher level, set with SetReceiveCallback. 
 
TracedCallback m_linkChanges
Callback to invoke when the link state changes to UP. 
 
Ptr< UanPhy > m_phy
The PHY layer attached to this device. 
 
virtual Ptr< Node > GetNode(void) const 
 
TracedCallback< Ptr< const Packet >, UanAddress > m_rxLogger
Trace source triggered when forwarding up received payload from the MAC layer. 
 
UanNetDevice()
Default constructor. 
 
virtual bool IsBroadcast(void) const 
 
std::list< Ptr< UanTransducer > > UanTransducerList
List of UanTransducer objects. 
 
Ptr< UanMac > m_mac
The MAC layer attached to this device. 
 
static TypeId GetTypeId(void)
Register this type. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
virtual bool SupportsSendFrom(void) const 
 
void(* RxTxTracedCallback)(Ptr< const Packet > packet, UanAddress address)
TracedCallback signature for MAC send/receive events. 
 
TracedCallback< Ptr< const Packet >, UanAddress > m_txLogger
Trace source triggered when sending to the MAC layer. 
 
Net device for UAN models. 
 
Ptr< UanPhy > GetPhy(void) const 
Get the Phy used by this device. 
 
virtual Address GetAddress(void) const 
 
virtual void SetPromiscReceiveCallback(PromiscReceiveCallback cb)
 
void SetPhy(Ptr< UanPhy > phy)
Set the Phy layer for this device. 
 
Describes an IPv6 address. 
 
Ipv4 addresses are stored in host order in this class. 
 
bool m_cleared
Flag when we've been cleared. 
 
Network layer to device interface. 
 
virtual bool IsBridge(void) const 
Return true if the net device is acting as a bridge. 
 
Ptr< UanChannel > m_channel
The channel attached to this device. 
 
virtual void SetNode(Ptr< Node > node)
 
void SetTransducer(Ptr< UanTransducer > trans)
Set the transdcuer used by this device. 
 
virtual ~UanNetDevice()
Dummy destructor, DoDispose. 
 
virtual bool NeedsArp(void) const 
 
Ptr< UanChannel > DoGetChannel(void) const 
 
uint32_t m_ifIndex
The interface index of this device. 
 
a unique identifier for an interface. 
 
void Clear(void)
Clear all pointer references. 
 
virtual void SetIfIndex(const uint32_t index)