24 #ifndef NDN_CXX_NET_NETWORK_INTERFACE_HPP 
   25 #define NDN_CXX_NET_NETWORK_INTERFACE_HPP 
  142     return m_etherAddress;
 
  150     return m_etherBrdAddress;
 
  155   const std::set<NetworkAddress>&
 
  158     return m_netAddresses;
 
  166     return (m_flags & IFF_LOOPBACK) != 0;
 
  174     return (m_flags & IFF_POINTOPOINT) != 0;
 
  182     return (m_flags & IFF_BROADCAST) != 0;
 
  190     return (m_flags & IFF_MULTICAST) != 0;
 
  198     return (m_flags & IFF_UP) != 0;
 
  212   setName(
const std::string& name);
 
  244   std::set<NetworkAddress> m_netAddresses;
 
represents an Ethernet hardware address
 
Stores one IP address supported by a network interface.
 
Represents one network interface attached to the host.
 
void setMtu(uint32_t mtu)
 
uint32_t getMtu() const
Returns the MTU (maximum transmission unit) of the interface.
 
const std::set< NetworkAddress > & getNetworkAddresses() const
Returns a list of all network-layer addresses present on the interface.
 
bool canMulticast() const
Returns true if the interface supports multicast communication.
 
util::Signal< NetworkInterface, NetworkAddress > onAddressRemoved
Fires when a network-layer address is removed from the interface.
 
void setEthernetAddress(const ethernet::Address &address)
 
bool isPointToPoint() const
Returns true if the interface is a point-to-point interface.
 
bool isLoopback() const
Returns true if the interface is a loopback interface.
 
void setType(InterfaceType type)
 
void setState(InterfaceState state)
 
bool removeNetworkAddress(const NetworkAddress &address)
 
uint32_t getFlags() const
Returns a bitset of platform-specific flags enabled on the interface.
 
void setEthernetBroadcastAddress(const ethernet::Address &address)
 
bool canBroadcast() const
Returns true if the interface supports broadcast communication.
 
util::Signal< NetworkInterface, NetworkAddress > onAddressAdded
Fires when a network-layer address is added to the interface.
 
util::Signal< NetworkInterface, InterfaceState, InterfaceState > onStateChanged
Fires when interface state changes.
 
util::Signal< NetworkInterface, uint32_t, uint32_t > onMtuChanged
Fires when interface mtu changes.
 
bool isUp() const
Returns true if the interface is administratively up.
 
InterfaceState getState() const
Returns the current state of the interface.
 
std::string getName() const
Returns the name of the interface, unique on the system.
 
ethernet::Address getEthernetAddress() const
Returns the link-layer (Ethernet) address of the interface.
 
void setFlags(uint32_t flags)
 
bool addNetworkAddress(const NetworkAddress &address)
 
ethernet::Address getEthernetBroadcastAddress() const
Returns the link-layer (Ethernet) broadcast address of the interface.
 
InterfaceType getType() const
Returns the hardware type of the interface.
 
void setName(const std::string &name)
 
int getIndex() const
Returns an opaque ID that uniquely identifies the interface on the system.
 
provides a lightweight signal / event system
 
std::ostream & operator<<(std::ostream &os, AddressScope scope)
 
InterfaceType
Indicates the hardware type of a network interface.
 
InterfaceState
Indicates the state of a network interface.
 
@ RUNNING
interface can be used to send and receive packets
 
@ UNKNOWN
interface is in an unknown state
 
@ DORMANT
interface has a carrier but it cannot send or receive normal user traffic yet
 
@ DOWN
interface is administratively down
 
@ NO_CARRIER
interface is administratively up but has no carrier