23 #include "NetStackMemoryManager.h"    78     virtual void get_ifname(
char *name, uint8_t size) 
const = 0;
    88     virtual bool link_out(net_stack_mem_buf_t *buf) = 0;
 virtual void power_down()=0
Deinitializes the hardware. 
virtual uint32_t get_mtu_size() const  =0
Return maximum transmission unit. 
virtual void set_all_multicast(bool all)=0
Request reception of all multicast packets. 
virtual void remove_ipv4_multicast_group(const char *address)=0
Remove device from an IPV4 multicast group. 
virtual void set_link_state_cb(l3ip_link_state_change_cb_t state_cb)=0
Sets a callback that needs to be called on link status changes for given interface. 
virtual bool link_out(net_stack_mem_buf_t *buf)=0
Sends the packet over the link. 
virtual void set_memory_manager(NetStackMemoryManager &mem_mngr)=0
Sets memory manager that is used to handle memory buffers. 
virtual bool power_up()=0
Initializes the hardware. 
This interface should be used to abstract low level access to networking hardware All operations rece...
mbed::Callback< void(bool up)> l3ip_link_state_change_cb_t
Callback to be registered with L3IP interface and to be called for link status changes. 
virtual void remove_ipv6_multicast_group(const char *address)=0
Remove device from an IPV6 multicast group. 
static L3IP & get_default_instance()
Return the default on-board L3IP. 
virtual uint32_t get_align_preference() const  =0
Gets memory buffer alignment preference. 
virtual void add_ipv6_multicast_group(const char *address)=0
Add device to an IP6 multicast group. 
virtual void add_ipv4_multicast_group(const char *address)=0
Add device to an IP4 multicast group. 
virtual void set_link_input_cb(l3ip_link_input_cb_t input_cb)=0
Sets a callback that needs to be called for packets received for that interface. 
virtual void get_ifname(char *name, uint8_t size) const  =0
Return interface name. 
mbed::Callback< void(net_stack_mem_buf_t *buf)> l3ip_link_input_cb_t
Callback to be registered with L3IP interface and to be called for received packets.