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 void remove_ipv6_multicast_group(const SocketAddress &address)=0
Remove device from an IPV6 multicast group.
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 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 remove_ipv4_multicast_group(const SocketAddress &address)=0
Remove device from an IPV4 multicast group.
virtual void set_memory_manager(NetStackMemoryManager &mem_mngr)=0
Sets memory manager that is used to handle memory buffers.
virtual void add_ipv6_multicast_group(const SocketAddress &address)=0
Add device to an IP6 multicast group.
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.
static L3IP & get_default_instance()
Return the default on-board L3IP.
virtual void add_ipv4_multicast_group(const SocketAddress &address)=0
Add device to an IP4 multicast group.
virtual uint32_t get_align_preference() const =0
Gets memory buffer alignment preference.
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.