19 #include "rtos/Semaphore.h"    20 #include "rtos/Mutex.h"    53     virtual void get_ifname(
char *name, uint8_t size) 
const;
    97     virtual bool link_out(emac_mem_buf_t *buf);
   151     void update_link_status(
bool up);
   153     osThreadId_t RxThread;
   154     mbed_rtos_storage_thread_t RxThread_cb;
   158     void lpc_rxqueue_pbuf(emac_mem_buf_t *p);
   159     int32_t lpc_rx_queue();
   161     emac_mem_buf_t *lpc_low_level_input();
   162     void lpc_enetif_input();
   163     int32_t lpc_packet_addr_notsafe(
void *addr);
   165     void lpc_tx_reclaim_st(uint32_t cidx);
   166     void lpc_tx_reclaim();
   167     int32_t lpc_tx_ready();
   168     static void packet_rx(
void* pvParameters);
   169     static void packet_tx(
void* pvParameters);
   170     bool low_level_init();
   171     static void phy_update(
void *nif);
   172     bool eth_arch_enetif_init();
   173     void eth_arch_enable_interrupts();
   174     void eth_arch_disable_interrupts();
   178     osThreadId_t TxCleanThread;
   179     mbed_rtos_storage_thread_t TxCleanThread_cb;
   180     osThreadId_t PhyThread;
   181     mbed_rtos_storage_thread_t PhyThread_cb;
 virtual uint32_t get_align_preference() const 
Gets memory buffer alignment preference. 
The Semaphore class is used to manage and protect access to a set of shared resources. 
virtual void power_down()
Deinitializes the HW. 
virtual void set_link_state_cb(emac_link_state_change_cb_t state_cb)
Sets a callback that needs to be called on link status changes for given interface. 
virtual void remove_multicast_group(const uint8_t *address)
Remove device from a multicast group. 
virtual uint8_t get_hwaddr_size() const 
Returns size of the underlying interface HW address size. 
virtual uint32_t get_mtu_size() const 
Return maximum transmission unit. 
virtual void set_memory_manager(EMACMemoryManager &mem_mngr)
Sets memory manager that is used to handle memory buffers. 
PHY and EMAC configuration file. 
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 add_multicast_group(const uint8_t *address)
Add device to a multicast group. 
The Mutex class is used to synchronize the execution of threads. 
virtual bool get_hwaddr(uint8_t *addr) const 
Return interface-supplied HW address. 
virtual void set_hwaddr(const uint8_t *addr)
Set HW address for interface. 
virtual bool link_out(emac_mem_buf_t *buf)
Sends the packet over the link. 
virtual bool power_up()
Initializes the HW. 
This interface should be used to abstract low level access to networking hardware All operations rece...
virtual void set_all_multicast(bool all)
Request reception of all multicast packets. 
virtual void set_link_input_cb(emac_link_input_cb_t input_cb)
Sets a callback that needs to be called for packets received for that interface. 
Callback class based on template specialization. 
virtual void get_ifname(char *name, uint8_t size) const 
Return interface name.