//LWIP_LIB R1.1, Added a MS_TIMER that lwip_lib maintains. //LWIP_LIB R1.0, updated to work with Xilinx LWIP 1.0.a (i.e., LWIP 1.3.0) // Updates are marked by "!!!jwh" -- if there is a problem, look for // that first! #ifndef LWIP_LIB_H_ #define LWIP_LIB_H_ //!!!jwh #include //needed for memcpy /* Xilinx Includes */ // Need this for XPAR_CPU_CORE_CLOCK_FREQ_HZ #include "xparameters.h" //!!!jwh -- using upper level timer //// Need this for timer interrupt stuff //#include "xtmrctr_l.h" #include "xtmrctr.h" //!!!jwh added interrupt controller #include "xintc.h" /* lwIP Includes */ #include "netif/xemacliteif.h" #include "lwip/tcp.h" #include "lwip/memp.h" #include "netif/etharp.h" //!!!jwh -- want to look at stats #include "lwip/stats.h" #include "xstatus.h" typedef Xint8 int8; typedef Xuint8 uint8; typedef Xuint16 uint16; // We're ignoring this value for now, in favor of a timer interrupt every 1ms // (see start_interrupt_timer()) #define LWIP_TIMER_CYCLES (XPAR_CPU_CORE_CLOCK_FREQ_HZ / 1000 * TCP_TMR_INTERVAL ) volatile Xuint32 ms_timer; uint8 *lwip_lib_full_startup( uint8 mac[6], uint8 ip[4], uint8 subnet[4], uint8 gateway[4], uint16 port, uint8 numSendBufs, uint16 sendBufSize, uint16 recvBufSize); XStatus lwip_lib_init( uint8 mac[6], uint8 ip[4], uint8 subnet[4], uint8 gateway[4] ); uint8 *lwip_lib_configure_buffers( uint8 numSendBufs, uint16 sendBufSize, uint16 recvBufSize ); XStatus lwip_lib_start( uint16 tcp_port ); Xboolean lwip_lib_is_connected(); void lwip_lib_close_connection(); uint16 lwip_lib_receive_data( uint8 *application_buffer ); uint8* lwip_lib_send_data( uint8 *application_buffer, uint16 len ); #endif /*LWIP_LIB_H_*/