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 char *address)=0 |
| Add device to an IP4 multicast group. More... | |
| virtual void | add_ipv6_multicast_group (const char *address)=0 |
| Add device to an IP6 multicast group. More... | |
| virtual void | remove_ipv4_multicast_group (const char *address)=0 |
| Remove device from an IPV4 multicast group. More... | |
| virtual void | remove_ipv6_multicast_group (const char *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 |
|
pure virtual |
Add device to an IP4 multicast group.
| address | An IP4 multicast group address |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Add device to an IP6 multicast group.
| address | An IP6 multicast group address |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Gets memory buffer alignment preference.
Gets preferred memory buffer alignment of the l3ip device.
Implemented in Cellular_driver_L3IP.
|
static |
|
pure virtual |
Return interface name.
| name | Pointer to where the name should be written |
| size | Maximum number of characters to copy |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
|
pure virtual |
Sends the packet over the link.
That cannot be called from an interrupt context.
| buf | Packet to be send |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Deinitializes the hardware.
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Initializes the hardware.
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Remove device from an IPV4 multicast group.
| address | An IPV4 multicast group address |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Remove device from an IPV6 multicast group.
| address | An IPV6 multicast group address |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Request reception of all multicast packets.
| all | True to receive all multicasts False to receive only multicasts addressed to specified groups |
Implemented in Cellular_driver_L3IP.
|
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 |
Implemented in Cellular_driver_L3IP.
|
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 |
Implemented in Cellular_driver_L3IP.
|
pure virtual |
Sets memory manager that is used to handle memory buffers.
| mem_mngr | Pointer to memory manager |
Implemented in Cellular_driver_L3IP.