Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
L3IP Class 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. | |
| 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. | |
| Public Member Functions | |
| virtual uint32_t | get_mtu_size () const =0 | 
| Return maximum transmission unit. | |
| virtual uint32_t | get_align_preference () const =0 | 
| Gets memory buffer alignment preference. | |
| virtual void | get_ifname (char *name, uint8_t size) const =0 | 
| Return interface name. | |
| virtual bool | link_out (net_stack_mem_buf_t *buf)=0 | 
| Sends the packet over the link. | |
| virtual bool | power_up ()=0 | 
| Initializes the hardware. | |
| virtual void | power_down ()=0 | 
| Deinitializes the hardware. | |
| 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 | 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 void | add_ipv4_multicast_group (const SocketAddress &address)=0 | 
| Add device to an IP4 multicast group. | |
| virtual void | add_ipv6_multicast_group (const SocketAddress &address)=0 | 
| Add device to an IP6 multicast group. | |
| virtual void | remove_ipv4_multicast_group (const SocketAddress &address)=0 | 
| Remove device from an IPV4 multicast group. | |
| virtual void | remove_ipv6_multicast_group (const SocketAddress &address)=0 | 
| Remove device from an IPV6 multicast group. | |
| virtual void | set_all_multicast (bool all)=0 | 
| Request reception of all multicast packets. | |
| virtual void | set_memory_manager (NetStackMemoryManager &mem_mngr)=0 | 
| Sets memory manager that is used to handle memory buffers. | |
| Static Public Member Functions | |
| static L3IP & | get_default_instance () | 
| Return the default on-board L3IP. | |
Detailed Description
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.
Definition at line 31 of file L3IP.h.
Member Typedef Documentation
| 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 | 
Member Function Documentation
| virtual void add_ipv4_multicast_group | ( | const SocketAddress & | address ) |  [pure virtual] | 
Add device to an IP4 multicast group.
- Parameters:
- 
  address An IP4 multicast group address 
| virtual void add_ipv6_multicast_group | ( | const SocketAddress & | address ) |  [pure virtual] | 
Add device to an IP6 multicast group.
- Parameters:
- 
  address An IP6 multicast group address 
| virtual uint32_t get_align_preference | ( | ) | const  [pure virtual] | 
Gets memory buffer alignment preference.
Gets preferred memory buffer alignment of the l3ip device.
- Returns:
- Memory alignment requirement in bytes
| static L3IP& get_default_instance | ( | ) |  [static] | 
| virtual void get_ifname | ( | char * | name, | 
| uint8_t | size | ||
| ) | const  [pure virtual] | 
Return interface name.
- Parameters:
- 
  name Pointer to where the name should be written size Maximum number of characters to copy 
| virtual uint32_t get_mtu_size | ( | ) | const  [pure virtual] | 
Return maximum transmission unit.
- Returns:
- MTU in bytes
| virtual bool link_out | ( | net_stack_mem_buf_t * | buf ) |  [pure virtual] | 
Sends the packet over the link.
That cannot be called from an interrupt context.
- Parameters:
- 
  buf Packet to be send 
- Returns:
- True if the packet was send successfully, false otherwise
| virtual void power_down | ( | ) |  [pure virtual] | 
Deinitializes the hardware.
| virtual bool power_up | ( | ) |  [pure virtual] | 
Initializes the hardware.
- Returns:
- True on success, False in case of an error.
| virtual void remove_ipv4_multicast_group | ( | const SocketAddress & | address ) |  [pure virtual] | 
Remove device from an IPV4 multicast group.
- Parameters:
- 
  address An IPV4 multicast group address 
| virtual void remove_ipv6_multicast_group | ( | const SocketAddress & | address ) |  [pure virtual] | 
Remove device from an IPV6 multicast group.
- Parameters:
- 
  address An IPV6 multicast group address 
| virtual void set_all_multicast | ( | bool | all ) |  [pure virtual] | 
Request reception of all multicast packets.
- Parameters:
- 
  all True to receive all multicasts False to receive only multicasts addressed to specified groups 
| virtual void set_link_input_cb | ( | l3ip_link_input_cb_t | input_cb ) |  [pure virtual] | 
Sets a callback that needs to be called for packets received for that interface.
- Parameters:
- 
  input_cb Function to be register as a callback 
| virtual void set_link_state_cb | ( | l3ip_link_state_change_cb_t | state_cb ) |  [pure virtual] | 
Sets a callback that needs to be called on link status changes for given interface.
- Parameters:
- 
  state_cb Function to be register as a callback 
| virtual void set_memory_manager | ( | NetStackMemoryManager & | mem_mngr ) |  [pure virtual] | 
Sets memory manager that is used to handle memory buffers.
- Parameters:
- 
  mem_mngr Pointer to memory manager 
Generated on Tue Jul 12 2022 13:55:32 by
 1.7.2
 1.7.2