26 #include "EMACInterface.h" 27 #include "WiFiInterface.h" 28 #include "scl_common.h" 29 #include "rtos/Semaphore.h" 30 #include "rtos/Mutex.h" 31 #include "scl_wifi_api.h" 35 SCL_EMAC(scl_interface_role_t itype);
76 virtual void get_ifname(
char *name, uint8_t size)
const;
114 virtual bool link_out(emac_mem_buf_t *buf);
virtual void set_memory_manager(EMACMemoryManager &mem_mngr)
Sets memory manager used to handle memory buffers.
mbed::Callback< void(bool)> activity_cb
Callback for activity on network.
virtual void set_hwaddr(const uint8_t *addr)
Set HW address for the interface.
virtual void set_all_multicast(bool all)
Requests reception of all multicast packets.
virtual bool get_hwaddr(uint8_t *addr) const
Returns the interface supplied HW address Copies the HW address to the provided memory.
static SCL_EMAC & get_instance()
Get the EMAC instance.
void scl_emac_wifi_link_state_changed(bool state_up)
Sends the change in network connection state to network stack.
virtual bool link_out(emac_mem_buf_t *buf)
Sends the packet over the link.
bool powered_up
Flag for Wi-Fi power on status.
virtual void power_down()
De-initializes the HW.
emac_link_input_cb_t emac_link_input_cb
Callback for incoming data.
EMACMemoryManager * memory_manager
Pointer to hold memory manager object.
virtual uint32_t get_mtu_size() const
Returns the maximum transmission unit.
virtual void set_link_state_cb(emac_link_state_change_cb_t state_cb)
Sets a callback that is called on changes in the link status for a given interface.
virtual bool power_up()
Initializes the HW.
mbed::Callback< void(emac_mem_buf_t *buf)> emac_link_input_cb_t
Callback to be register with EMAC interface and to be called for received packets.
virtual void remove_multicast_group(const uint8_t *address)
Removes a device from a multicast group.
virtual uint32_t get_align_preference() const
Gets the memory buffer alignment preference.
virtual uint8_t get_hwaddr_size() const
Returns the size of the underlying interface HW address size.
scl_mac_t multicast_addr
Multicast address.
scl_interface_role_t interface_type
Type of the interface.
virtual void set_activity_cb(mbed::Callback< void(bool is_tx_activity)> activity_cb)
Sets callback to receive EMAC activity events.
virtual void get_ifname(char *name, uint8_t size) const
Returns the interface name.
virtual void add_multicast_group(const uint8_t *address)
Adds a device to a multicast group.
This interface should be used to abstract low level access to networking hardware All operations rece...
bool link_state
Flag for network connection status.
emac_link_state_change_cb_t emac_link_state_cb
Callback for network connection status.
virtual void set_link_input_cb(emac_link_input_cb_t input_cb)
Sets a callback that is called for packets received for a given interface.