Mbed OS Reference
|
This interface should be used to abstract low level access to networking hardware All operations receive a void *
hardware pointer which an l3ip device provides when it is registered with a stack.
More...
#include <L3IP.h>
Public Types | |
typedef 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. More... | |
typedef 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. More... | |
Public Member Functions | |
virtual uint32_t | get_mtu_size () const =0 |
Return maximum transmission unit. More... | |
virtual uint32_t | get_align_preference () const =0 |
Gets memory buffer alignment preference. More... | |
virtual void | get_ifname (char *name, uint8_t size) const =0 |
Return interface name. More... | |
virtual bool | link_out (net_stack_mem_buf_t *buf)=0 |
Sends the packet over the link. More... | |
virtual bool | power_up ()=0 |
Initializes the hardware. More... | |
virtual void | power_down ()=0 |
Deinitializes the hardware. More... | |
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. More... | |
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. More... | |
virtual void | add_ipv4_multicast_group (const SocketAddress &address)=0 |
Add device to an IP4 multicast group. More... | |
virtual void | add_ipv6_multicast_group (const SocketAddress &address)=0 |
Add device to an IP6 multicast group. More... | |
virtual void | remove_ipv4_multicast_group (const SocketAddress &address)=0 |
Remove device from an IPV4 multicast group. More... | |
virtual void | remove_ipv6_multicast_group (const SocketAddress &address)=0 |
Remove device from an IPV6 multicast group. More... | |
virtual void | set_all_multicast (bool all)=0 |
Request reception of all multicast packets. More... | |
virtual void | set_memory_manager (NetStackMemoryManager &mem_mngr)=0 |
Sets memory manager that is used to handle memory buffers. More... | |
Static Public Member Functions | |
static L3IP & | get_default_instance () |
Return the default on-board L3IP. More... | |
This interface should be used to abstract low level access to networking hardware All operations receive a void *
hardware pointer which an l3ip device provides when it is registered with a stack.
typedef mbed::Callback<void (net_stack_mem_buf_t *buf)> l3ip_link_input_cb_t |
typedef mbed::Callback<void (bool up)> l3ip_link_state_change_cb_t |
|
static |
|
pure virtual |
Return maximum transmission unit.
|
pure virtual |
Gets memory buffer alignment preference.
Gets preferred memory buffer alignment of the l3ip device.
|
pure virtual |
Return interface name.
name | Pointer to where the name should be written |
size | Maximum number of characters to copy |
|
pure virtual |
Sends the packet over the link.
That cannot be called from an interrupt context.
buf | Packet to be send |
|
pure virtual |
Initializes the hardware.
|
pure virtual |
Deinitializes the hardware.
|
pure virtual |
Sets a callback that needs to be called for packets received for that interface.
input_cb | Function to be register as a callback |
|
pure virtual |
Sets a callback that needs to be called on link status changes for given interface.
state_cb | Function to be register as a callback |
|
pure virtual |
Add device to an IP4 multicast group.
address | An IP4 multicast group address |
|
pure virtual |
Add device to an IP6 multicast group.
address | An IP6 multicast group address |
|
pure virtual |
Remove device from an IPV4 multicast group.
address | An IPV4 multicast group address |
|
pure virtual |
Remove device from an IPV6 multicast group.
address | An IPV6 multicast group address |
|
pure virtual |
Request reception of all multicast packets.
all | True to receive all multicasts False to receive only multicasts addressed to specified groups |
|
pure virtual |
Sets memory manager that is used to handle memory buffers.
mem_mngr | Pointer to memory manager |