uIP 1.0
|
#include "uip.h" #include "uip_arp.h" #include "network-device.h" #include "httpd.h" #include "timer.h" /*---------------------------------------------------------------------------*/ int main(void) { int i; uip_ipaddr_t ipaddr; struct timer periodic_timer; timer_set(&periodic_timer, CLOCK_SECOND / 2); network_device_init(); uip_init(); uip_ipaddr(ipaddr, 192,168,0,2); uip_sethostaddr(ipaddr); httpd_init(); while(1) { uip_len = network_device_read(); if(uip_len > 0) { uip_input(); /* If the above function invocation resulted in data that should be sent out on the network, the global variable uip_len is set to a value > 0. */ if(uip_len > 0) { network_device_send(); } } else if(timer_expired(&periodic_timer)) { timer_reset(&periodic_timer); for(i = 0; i < UIP_CONNS; i++) { uip_periodic(i); /* If the above function invocation resulted in data that should be sent out on the network, the global variable uip_len is set to a value > 0. */ if(uip_len > 0) { network_device_send(); } } #if UIP_UDP for(i = 0; i < UIP_UDP_CONNS; i++) { uip_udp_periodic(i); /* If the above function invocation resulted in data that should be sent out on the network, the global variable uip_len is set to a value > 0. */ if(uip_len > 0) { network_device_send(); } } #endif /* UIP_UDP */ } } return 0; } /*---------------------------------------------------------------------------*/