Definition at line 32 of file EMW3080B_EMAC.h.
◆ emac_link_input_cb_t
Callback to be register with EMAC interface and to be called for received packets.
buf : Received data
Definition at line 49 of file EMAC.h.
◆ emac_link_state_change_cb_t
Callback to be registered with EMAC interface and to be called for link status changes.
Note that duplicate callbacks (i.e. this being called twice when the network comes up) are possible in some cases.
up : Link status
Definition at line 60 of file EMAC.h.
◆ get_mtu_size()
| virtual uint32_t get_mtu_size |
( |
| ) |
const |
|
virtual |
Return maximum transmission unit.
- Returns
- MTU in bytes
Implements EMAC.
◆ get_align_preference()
| virtual uint32_t get_align_preference |
( |
| ) |
const |
|
virtual |
Gets memory buffer alignment preference.
Gets preferred memory buffer alignment of the Emac device. IP stack may or may not align link out memory buffer chains using the alignment.
- Returns
- Memory alignment requirement in bytes
Implements EMAC.
◆ get_ifname()
| virtual void get_ifname |
( |
char * |
name, |
|
|
uint8_t |
size |
|
) |
| const |
|
virtual |
Return interface name.
- Parameters
-
| name | Pointer to where the name should be written |
| size | Maximum number of character to copy |
Implements EMAC.
◆ get_hwaddr_size()
| virtual uint8_t get_hwaddr_size |
( |
| ) |
const |
|
virtual |
Returns size of the underlying interface HW address size.
- Returns
- HW address size in bytes
Implements EMAC.
◆ get_hwaddr()
| bool get_hwaddr |
( |
uint8_t * |
addr | ) |
const |
|
overridevirtual |
Return interface-supplied HW address.
Copies HW address to provided memory, addr has to be of correct size see get_hwaddr_size
HW address need not be provided if this interface does not have its own HW address configuration; stack will choose address from central system configuration if the function returns false and does not write to addr.
- Parameters
-
| addr | HW address for underlying interface |
- Returns
- true if HW address is available
Implements EMAC.
◆ set_hwaddr()
| virtual void set_hwaddr |
( |
const uint8_t * |
addr | ) |
|
|
virtual |
Set HW address for interface.
Provided address has to be of correct size, see get_hwaddr_size
Called to set the MAC address to actually use - if get_hwaddr is provided the stack would normally use that, but it could be overridden, eg for test purposes.
- Parameters
-
Implements EMAC.
◆ link_out()
| virtual bool link_out |
( |
emac_mem_buf_t * |
buf | ) |
|
|
virtual |
Sends the packet over the link.
That can not be called from an interrupt context.
- Parameters
-
- Returns
- True if the packet was send successfully, False otherwise
Implements EMAC.
◆ power_up()
| virtual bool power_up |
( |
| ) |
|
|
virtual |
Initializes the HW.
- Returns
- True on success, False in case of an error.
Implements EMAC.
◆ power_down()
| virtual void power_down |
( |
| ) |
|
|
virtual |
Deinitializes the HW.
Implements EMAC.
◆ set_link_input_cb()
Sets a callback that needs to be called for packets received for that interface.
- Parameters
-
| input_cb | Function to be register as a callback |
Implements EMAC.
◆ set_link_state_cb()
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 |
Implements EMAC.
◆ add_multicast_group()
| virtual void add_multicast_group |
( |
const uint8_t * |
address | ) |
|
|
virtual |
Add device to a multicast group.
- Parameters
-
| address | A multicast group hardware address |
Implements EMAC.
◆ remove_multicast_group()
| virtual void remove_multicast_group |
( |
const uint8_t * |
address | ) |
|
|
virtual |
Remove device from a multicast group.
- Parameters
-
| address | A multicast group hardware address |
Implements EMAC.
◆ set_all_multicast()
| virtual void set_all_multicast |
( |
bool |
all | ) |
|
|
virtual |
Request reception of all multicast packets.
- Parameters
-
| all | True to receive all multicasts False to receive only multicasts addressed to specified groups |
Implements EMAC.
◆ set_memory_manager()
Sets memory manager that is used to handle memory buffers.
- Parameters
-
| mem_mngr | Pointer to memory manager |
Implements EMAC.
◆ get_default_instance()
| static EMAC & get_default_instance |
( |
| ) |
|
|
staticinherited |
Return the default on-board EMAC.
Returns the default on-board EMAC - this will be target-specific, and may not be available on all targets.
◆ _emac_link_input_cb