#include struct netif if0; uint32_t sys_now (void) { return ticks; } void dispatch_lwip (void) { sys_check_timeouts(); } static void if_status_changed (struct netif *netif) { mdns_resp_netif_settings_changed (netif); } void start_lwip (void) { lwip_init(); netif_add (&if0, NULL, NULL, NULL, NULL, steth_lwip_init, ethernet_input); netif_set_status_callback (&if0, if_status_changed); /* Registers the default network interface.*/ netif_set_default (&if0); netif_set_up (&if0); dhcp_start (&if0); httpd_init(); cgi_init(); mdns_resp_init(); mdns_resp_add_netif (&if0, "clock", 5); } static sys_prot_t ethernet_irq_enabled = 1; sys_prot_t sys_arch_protect (void) { sys_prot_t ret; nvic_disable_irq (NVIC_ETH_IRQ); compiler_mb(); ret = ethernet_irq_enabled; ethernet_irq_enabled = 0; return ret; } void sys_arch_unprotect (sys_prot_t lev) { if (lev) { ethernet_irq_enabled = 1; compiler_mb(); nvic_enable_irq (NVIC_ETH_IRQ); } }