$Id: ChangeLog,v 1.81 2004/06/25 08:28:04 freckle Exp $ 2004-06-25 Matthias Ringwald * crt/write.c, crt/write_P.c: Added note that write calls are not thread-safe, i.e, two writes might come out intermixed 2004-06-24 Matthias Ringwald * dev/unix_devs.c: if using STDIO, better read from STDIN instead of STDOUT => unix piping works 2004-06-23 Ole Reinhardt * dev/can_dev.c, include/dev/can_dev.h: Added functions for buffer monitoring (avail / free) 2004-06-21 Matthias Ringwald * dev/unix_devs.c: multiple parallel reads now work. But still dead-locks possible. Non-blocking stdio. 2004-06-21 Matthias Ringwald * os/arch/unix_nutinit.c: idle thread now sleeps until the next (virtual) IRQ occures 2004-06-21 Matthias Ringwald * dev/unix_devs.c: read operation is using extra pthread to only block current thread (instead of all threads) 2004-06-21 Matthias Ringwald * include/dev/usart.h|uart.h: added device definitions for *nix emulation 2004-06-08 Matthias Ringwald * include/sys/types.h: changed #include "types_orig.h" to to allow this file to be in $MODDIR 2004-06-07 Harald Kipp * conf: Still incomplete configuration scripts added. * tools/nutconf: Working configuration tool replaced by very incomplete re-design. It will read the Lua scripts from the conf directory and display an editable tree of configuration items. 2004-06-07 Ole Reinhardt * dev/sja1000.c, dev/can_dev.c include/dev/sja1000.h, include/dev/can_dev.h Initial checkin of a driver and a simple api for can-bus devices. This driver is for the well known phillips sja1000 wich is connected to the Memory bus and an external interrupt. 2004-06-02 Ole Reinhardt * os/semaphore.c Changed NutEventWait to NutEventWaitNext according to a hint from Oliver 2004-06-02 Ole Reinhardt * os/semaphore.c, include/sys/semaphore.h Fixed a integer overflow (underflow) in semaphore implementation Now a Semaphore initialized with 0 can not underrun any longer. 2004-05-26 Ole Reinhardt * dev/cs8900.c Now compatible with newer AVRGCC versions. Reading of FrameLength and ReceiveStatus needs to be done high byte first. Added software wakeup and reset to init code (only available for new code) 2004-06-07 Harald Kipp * conf: Still incomplete configuration scripts added. * tools/nutconf: Working configuration tool replaced by very incomplete re-design. It will read the Lua scripts from the conf directory and display an editable tree of configuration items. 2004-05-24 Ole Reinhardt * include/dev/hd44780_bus, dev/hd44780_bus New driver for memory mappen LCD displays. Take a look into hd44780_bus.c for detailed information about hardware design * include/dev/term.h, dev/term.h Small change to pass base address to LCD driver. * include/dev/hd44780.h, dev/hd44780.c Small changes to be compatible with newly added hd44780_bus.c driver and changed terminal driver * os/arch/avr_nutinit.c Added option to add 3 waitstates to memory region 0x8000-0xFFFF. You can enable this option by defining NUT_3WAITSTATES This is needed for some memory mapped io devices. Espacialy for the cs8900 driver and hd44780_bus device. * dev/cs8900.h, dev/cs8900.c CHANGED BEHAVIOR: By default this driver will now retreive it's MAC Address from EEPROM config. Also it will retreive it's base address by default from NutRegisterDevice. Also a hardware depended reset method is disabled by default. To get back the old functionality define NUT_CS8900_OLD 2004-05-24 Oliver Schulz * include/dev/usart.h, dev/usart.c, dev/usart0avr.c, dev/usart1avr.c: Implemented function dev_size, which retrieves the number of bytes in input buffer. * include/dev/uart.h, dev/uartavr.c, dev/uart0.c, dev/uart1.c: ditto. * crt/kbhit.c, crt/Makefile: Added function kbhit(). Returns nonzero if stdin has at least one char in input buffer. Uses _filelength to get the file size. 2004-05-23 Oliver Schulz * include/arch/avr.h: Added some macros, because they are no longer available since version 1.1.0 of avr-libc. 2004-05-21 Matthias Ringwald * configure: defined MCU for *nix emulation as 'unix', so libs can go into lib/gcc/unix. MCU names like 'i386' and 'ppc' would be better. 2004-05-20 Oliver Schulz * dev/usart.c: Memory was allocated twice for NUTFILE in UsartOpen. 2004-05-17 Harald Kipp * include/dev/nicrtl.h, dev/nicrtl.c: Added major changes, which had been contributed by Bengt Florin. This driver uses polling for transmission, which may look like a disadvantage. In fact it became rock solid, hardly no packet loss even under very heavy traffic. 2004-05-16 Matthias Ringwald * os/mutex.c, include/sys/mutex.h: added recursive mutex implementation * os/semaphore.c, include/sys/semaphore.h: added semaphore implementation * os/Makefile: added above files 2004-05-16 Oliver Schulz * dev/usartavr.c: Applied bugfixes for half duplex mode and XON/XOFF handling. Thanks to Damian Slee. 2004-05-17 Harald Kipp * include/dev/nicrtl.h, dev/nicrtl.c: Added major changes, which had been contributed by Bengt Florin. This driver uses polling for transmission, which may look like a disadvantage. In fact it became rock solid, hardly no packet loss even under very heavy traffic. 2004-04-25 Oliver Schulz * include/dev/irqstack.h, dev/irqstack.h, os/arch/avr_thread.c: Modified to be compatible with nested interrupts. Every time a interrupt occurs, a counter is incremented. If the counter is zero, the stack switch is performed. After the isr returns, the counter is decremented. An additional variable _irqstackdec defined in os/arch/avr_thread.c. The stack size of each new thread will be decremented by this value. 2004-04-15 Oliver Schulz * pro/dhcpc.c: Added support for hostname also in DHCPDiscover. * pro/resolv.c: If the DNS server answers with more than one record, and the first has no ip address (CNAME), the function failed. * pro/resolv.c, include/netdb.h: New function NutDnsGetMxByDomain to request an MX record from DNS server. 2004-04-15 Harald Kipp * eboot: Ethernet boot loader for RTL8019AS added. * crt/feof.c, crt/ferror.c, crt/fread.c, crt/nut_io.h: Stream functions feof() and ferror() do now return meaningful results. * net/tcpout.c: Retransmission timer not always set in the state machine. Initializing it when the first entry is added to the transmit buffer is a much better idea. However, now we have a unique retransmission in every situation. Again, it is most important to implement round trip time calculation. * net/tcpsm.c: The state machine did not increment the sequence number on FIN segments. Thus, FIN segments were never retransmitted and connections weren't properly closed. * net/tcpsm.c: The packet drop problem of the Realtek driver could be observed quite often in HTTP applications, where the browser concurrently opened several connections. Adding a slight delay during SYN and FIN receptions remarkably reduced the problem. This delay is activated only, if RTLCONNECTHACK has been defined. Note, that this is a temporary hack, but it really helps some applications. 2004-04-07 Harald Kipp * Added Matthias Ringwald's patches, which enable Nut/OS emulation running on Linux and Mac OS X. * dev/usartavr.c: Half duplex operation failed if direction is not controlled by RTS. Thanks to Dusan Ferbas for reporting this problem and providing a solution. Dusan also found out, that half duplex is not enabled by _ioctl(UART_SETFLOWCONTROL) alone. As a temporary fix, call _ioctl(UART_SETSPEED) after setting flow control. 2004-03-19 Jan Dubiec * os/event.c, os/heap.c, os/osdebug.c, os/thread.c, os/timer.c, net/netdebug.c: Format strings declarations has been changed to static prog_char in order to save data memory and print debug messages properly on AVR. * configure: Added "-mint32" switch to H8 gcc options so "int" is now 32 bit on H8/300H and H8S. * include/dev/mweeprom.h, dev/mweeprom.c: u_char and u_short changed to unsigned char and unsigned short accordingly in order to avoid compilation problems on H8 microcontrollers: mweeprom.h is included by compiler.h and compiler.h in included by sys/types.h so u_char and u_short were used before they were defined. The occurence of this problem depended on place in sys/types.h in which compiler.h was included. * arch/h8300h/include/h83068f.h: Added comment about the origin of this file. 2004-03-18 Harald Kipp * include/arch/avr.h: Removed Harvard architecture definition. It's required in UserConf.mk. * dev/uartavr.c: Removed deprecated raw I/O. * os/devclose.c, os/devioctl.c, os/devopen.c, os/devread.c, os/devtran.c, os/devwrite.c, os/ifstran.c, os/ifstream.c, os/init.c, os/print.cnet/sostream.c: Deprecated functions from version 2 finally removed. * sys/atomic.h: Unused file removed to simplify portability. * sys/devtran.h, sys/ifstran.h, print.h, netinet/sostream.h: Deprecated prototypes removed. * sys/device.h, sys/ifstream.h: Second header file removed. The IFSTREAM structure is still used by some device drivers and has been moved to sys/device.h. * pro/resolv.c: Deprecated header file replaced. * pro/dhcpc.c, include/pro/dhcp.h: Deprecated NutNetAutoConfig removed. * fs/uromfs.c, include/fs/uromfs.h: Deprecated NutRom functions removed. * net/arpcache.c, net/icmpin.c, net/ifconfig.c, if_var.h: Comments updated. * doc/copying-gpl.txt, doc/copying-liquorice.txt: Added as required by Liquorice's licence. * net/pppin.c: Avoid calculation with void pointers. * include/sys/types.h: compiler.h must be included early to allow definitions of platform dependant macros. * include/compiler.h, include/sys/nutconfig.h: Added ATMEGA macro for ICCAVR support. * include/stdio.h: stddef header inclusion removed. * include/dev/irqreg.h: Bugfix. ICCAVR can't find header files. * include/arch/avr.h: Added __AVR_ATmega103__ in ICCAVR block. * dev/term.c, include/dev/term.h: Added Michael Fischer's TIOCGWINSZ ioctl. * dev/irsony.c: Infrared interrupts now working. Thanks to Michael Fischer, who reported this problem. * Added Michael Fischer's WLAN driver almost unchanged. I had to make some changes though, because the code mixes int variables with long constants. GCC is very picky in these things. This compiler also throws warnings, if static functions or local variables are unused. Remember, we compile with -Werror. I have marked my changes with '/* Harald:'. Additionally I blindly put all in dev/ and updated the includes. FInally it compiles, but not sure, what it does. The code needs some extra care, but due to demand I put it in CVS in its current state. If it breaks something, please remove it from the Makefile. 2004-03-17 Harald Kipp * include/dev/chat.h, include/sys/atom.h: Bugfix, ICCAVR does not define __AVR__. * irqreg.c, avr_irqreg.c: Deprecated AVR interrupt registration removed. * include/arch/avr.h: Define Harvard architecture for AVR by default. 2004-03-16 Harald Kipp * Jan Dubiec's H8/300 port added. This breaks at least the make process on Windows machines. Jan's work is substantial, so I added his diff regardless of any existing code. Actually his code is very clean and porting it back again for the Windows environment should be easy. 2004-03-14 Harald Kipp * dev/ppp.c, include/dev/ppp.h: Compile problems fixed, thanks to Jan Dubiec. 2004-03-09 Harald Kipp * include/dev/ahdlcavr.h: This one was missing. 2004-03-08 Harald Kipp * dev/ahdlc*.c: Asynchronous HDLC driver added. * dev/chat.c, include/dev/chat.h: Debug output added. * dev/lanc111.c: Quick hack for fixed mode added. Should be replaced by ioctl() function. * dev/ppp.c, include/netinet/ppp_fsm.h, net/pppout.c, net/pppsm.c: HDLC functions moved to async HDLC driver. * include/cfg/modem.h: Hardware handshake disabled by default. * include/sys/msg.h: Not all compilers like arrays of size zero. Hopefully there are no side effects, but at least ICCAVR compiles it. * net/icmpout.c: Not all compilers like pointer calculation with void pointers. * net/ifconfig.c: Ugly PPP activation hack replaced by HDLC ioctl. * net/ipcpin.c: PppUp() replaced by direct post. * net/lcpin.c, net/pppdebug.c, net/pppin.c: PPP header compression on incoming packets accepted. Thanks to Francois Rademeyer. * net/lcpout.c: Bugfix, establishing PPP sessions failed. Thanks to Zoltan Korbai. 2004-03-05 Oliver Schulz * os/tmr_avr.c: Bugfix in NutTimerInit. ICCAVR failed to compile, if NUT_CPU_FREQ is defined. 2004-03-03 Oliver Schulz * crt/fpurge.c, crt/Makefile: Added function 'fpurge'. This is only a wrapper for calling the device read function with buffer pointer set to zero to purge a stream, i.e. discard any input buffer. * include/sys/confos.h, os/confos.h, app/basemon/basemon.c, pro/dhcpc.c, os/init.c, os/nutinit.c: Structure confos was extended to store the system's hostname in EEPROM. This hostname is reported to DHCP server while requesting a DHCP lease. * os/confos.c, os/init.c: Bugfix in NutSaveConfig. Write only to eeprom if actual byte in eeprom differs from byte to write. 2004-03-02 Oliver Schulz * pro/httpd.c: Bugfix in NutHttpSendError. Appended \r\n to auth_fmt_P to write the next header line to a new line. 2004-02-28 Oliver Schulz * net/tcpsm.c: Bugfix in several tcp state functions. Swapped around the check for ACK and SYN flag. Because initial SYN packets don't have an ACK flag, recevied SYN packets were never rejected. * pro/resolv.c: Memory leak fixed in CreateDnsQuestion. * crt/getf.c: Several bugfixes applied. - "%%" didnt work. - integer parsing corrected. - support for "%u". 2004-02-01 Harald Kipp * dev/debug*.c: Added ioctl baudrate support. * dev/lanc111.c, net/ifconfig.c: Avoid chip initialization with MAC address zero. This is a quick hack for all this init mess. * include/pro/dhcp.h: Added NutDhcpRelease prototype. * pro/dhcpc.c: New API added to relinguish the DHCP lease. Collecting more than one offer is now disabled, if the application sets timeout below three times of MAX_DHCP_WAIT (5 seconds). The lease renewal will now start when 3/4 has elapsed, opposed to 1/2 used previously. Finally the DHCP thread will sleep as long as possible, while the previous version woke up every ten seconds. 2004-02-01 Harald Kipp * appload/appload.c, appload/ip.c: Bugfix. SMSC bootloader failed if DHCP offer is not broadcasted. Now IP input routine accepts any target IP while our local IP is unconfigured. 2004-02-18 Oliver Schulz * os/ctx_*.c: Bugfix in NutThreadCreate. If NutHeapAlloc fails, the function returned without calling NutExitCritical to reenable interrupts. 2004-02-08 Oliver Schulz * net/arpcache.c: Arp entries with set ATF_PERM are not removed from the cache list any more. 2004-02-06 Oliver Schulz * net/icmpin.c, net/icmpout.c: After my last changes, ping didn't work any more. Thanks to Pavel Celeda, who discovered this bug. 2004-02-04 Oliver Schulz * os/msg.c, include/sys/msg.h, os/Makefile: First version of message queueing implemented. Thanks to Ralph Mason, who provided this code. Still contains some debug functions. 2004-02-02 Oliver Schulz * include/net/if_var.h, net/ifconfig.c, pro/dhcp.c: Gateway ip address was not set, if static network configuration from EEPROM is used. * net/icmpin.c, net/icmpout.c, net/ipin.c, net/tcpsm.c, include/sys/socket.h, include/netinet/icmp.h: Added some more ICMP support. Now the network stack handles incoming ICMP unreachable messages, and aborts appropiate TCP sockets. 2004-02-01 Harald Kipp * include/compiler.h, os/timer.c, os/thread.c: Additional support started for ARM7TDMI, H8/300 and Coldfire. * os/ctx_CPU.c: Split os/thread.c by CPU families. * os/tmr_CPU.c: Split os/timer.c by CPU families. * include/cpu/CPU.h: Split include/compiler.h by CPU families. 2004-01-30 Harald Kipp * Version 3.4 release candidate. * appload/tftpd.c: Ethernut 2 bootloader failed to load files larger than 64kB. * net/ipcpin.c: Fixed a memory hole in case of incoming IPCP with bad identifiers. * net/lcpout.c: Added a parameter to LcpTxConfReq to handle rejected magic number requests. This is a dirty hack, but should help for now. All calls in lcpin.c and pppsm.c plus the prototype in include/netinet/if_ppp.h had been adapted as well. Thanks to Alex Joni and Zoltan Korbai, who discovered this problem. 2004-01-30 Oliver Schulz * include/dev/irqreg.h, include/dev/irqstack.h, dev/irqstack.c, dev/ivect??.c, dev/Makefile: Separate interrupt stack for avr-gcc only implemented. Size of this stack is 256 bytes. May be changed later. The interrupt stack reduces the stack space needed for every thread, because if an interrupt occurs, the stack pointer is immediately changed to the interrupt stack and the thread stack is no longer used while executing interrupt code. 2004-01-25 Oliver Schulz * net/tcpsm.c: Bugfix for establishing tcp connections by calling NutTcpConnect. If no answer is received, retransmission is stoped after about 6 secs. If RST if received, the connection request is now properly aborted and the error is returned to the caller. 2004-01-14 Oliver Schulz * pro/dhcpc.c, include/pro/dhcp.h: Applied changes by Damian Slee. Now it should be possible to obtain gateway and dns server ip address from Win2k DHCP servers. * net/lcpin.c: Same bug fix like in IpcpRxConfReq applied also to LcpRxConfReq. * dev/lanc111.c: Speed improvements for transfering bytes from and to nic applied. * net/tcpsock.c: New TCP output buffering implemented. If not configured, it works nearly like the old buffering. To configure, use NutTcpSetSockOpt with new option SO_SNDBUF. * net/tcpsm.c: Now the retransmission timer is also started on call of NutTcpConnect. 2004-01-04 Oliver Schulz * app/basemon/basemon.c: After adding thread termination support to Nut/OS, the priority of basemon's own idle thread was also changed from 255 to 254 to avoid idle thread termination. 2003-12-19 Oliver Schulz * include/time.h, crt/time.c, crt/mktime.c, crt/gmtime.c crt/localtim.c: Dox written. 2003-12-18 Harald Kipp * include/dev: Added missing usart driver include files. 2003-12-15 Harald Kipp * os/version.c: Switched to 3.3.3, still preview. * os/thread.c: Long awaited support for terminating threads had been implemented. The context switch frame has been reduced to those registers, which really need to be saved. These most valuable changes had been contributed by Ralph Mason. * os/nutinit.c: Destroys terminated threads. Priority 255 is used to terminate threads, thus the idle thread's priority changed from 255 to 254. This may break your existing application. Thanks again to Ralph Mason. * appicc: Imagecraft projects updated to version 6.29. * dev/usart.c: Hardware independant U(S)ART device driver added. * dev/usartavr.c: ATmega128/103 USART hardware support for new usart.c. Includes HW/SW handshake, 9-bit and synchronous communication. * include/fcntl.h: Dox updated. * include/bankmem.h: Banking enabled with Ethernut 2. 2003-12-12 Oliver Schulz * crt/putf.c: Rewritten support for strings stored in prgram space. Using still type character 'P', but also some heap to store the string in RAM before the output function is called. 2003-12-06 Oliver Schulz * os/nutinit.c, os/init.c: Using __heap_start instead of __bss_end to support .noinit section under gcc. * os/nutinit.c: changed external RAM detection. Now it's possible to used more than 4KB static data under gcc. 2003-11-28 Harald Kipp * net/tcpsm.c: TCP connections suddenly drop during transmission. Bug in retransmission timer fixed. 2003-11-27 Oliver Schulz * pro/dencode.c: Bug fix and code size improvement 2003-11-26 Oliver Schulz * nutlibcrt.a: Added some standard C time functions to implement time handling and real time clocks. * pro/sntp.c: Added SNTP protocol to retreive universal coordinated time (UCT) from SNTP servers. * net/udpin.c, net/udpsock.h: Added a configurable receive packet queue for UDP packets. * crt/putf.c: Added support for program space character strings (%P). 2003-11-05 Harald Kipp * Version 3.3.2 * app/pppc.c: Added a note, that this will not work with ATmega103 chips as long as debugging is enabled, which requires a second UART. * dev/lanc111.c: Leftover from debugging set last byte of MAC address to 1. 2003-11-04 Harald Kipp * All applications will work on Ethernut 1 and 2. * net/tcpsm.c: Race condition in TCP state machine left socket in CLOSE-WAIT state. Fixed. * app/basemon: Ignore PD5 in port test. Used with RS485. * dev/lanc111.c: Still link problems. Finally it should work now after correcting delays during PHY configuration. 2003-11-03 Harald Kipp * app/isp2: New application to update the ISP adapter included in the Ethernut Starter Kit. * app/basemon: Rewritten to support RTL8019AS and LAN91C111 Ethernet Controllers and banked memory. * appload: New bootloader for LAN91C111 added. * include/lanc111.h: Allow applications to link both Ethernet Controller Drivers. * dev/lanc111.c: Several optimizations and bugfixes. The driver will reliably link now on 10 MBit networks. Sudden buffer allocation failures had been fixed by resetting the MMU in this situation. * pro/dhcpc.c: Renewal disabled, if lease time is set to zero * os/timer.c: New API function returns system uptime in miliseconds. This function is now used by the TCP state machine to calculate retransmission timeouts. Another step towards round trip time calculation, which is still missing in Nut/Net. * include/compiler.h: New register types added for better portability to different MCU platforms. * dev/twif.c: Documentation of API calls enhanced. 2003-10-14 Harald Kipp * tools/nutconf: New GUI configuration tool named nutconf. Based on the excellent wxWindows class library. * crt/icc: Imagecraft runtime initialization added to the CVS repository. 2003-10-13 Harald Kipp * dev/lanc111.c: New driver for SMSC LAN91C111 provides 100 Mbps Ethernet interface. * os/timer.c: Added a seconds counter. * pro/dhcpc.c: Replaced tick counter with seconds counter. This should fix the DHCP timer bug. * Added hardware definition to Makedef files. 2003-09-03 Harald Kipp * Tested with WinAVR-20030913 * app/httpd/httpserv.c: Using strtok and portable version of strtok_r. * crt/srttok_r.c: Incompatible strtok_r marked deprecated and removed from GCC compile. * os/nutinit.c: XRAMEND replaced by NUTRAMEND to avoid GCC conflicts. * app/nutpiper/player.c: Include file sequence changed. * app/nutpiper/scanner.c: dito. * dev/chat.c: Report function contributed by Jelle Martijn Kok. 2003-08-14 Harald Kipp * Version 3.3.1 * app/pppc.c: PPP sample added. * crt/putf.c: Formatted output of unsigned int fixed by Ralph Mason. * dev/ppp.c: Bugfix, HDLC may only use a single flag between two consecutive frames. * Avoid changing the PPP request identifier while resending unanswered frames. * net/lcpout.c: Negotiate local PPP magic. * net/lcpin.c: LCP echo reply support added. * net/lcpout.c: Bugfix, send protocol reject in correct byte order. * net/pppdebug.c: Added support for LCP echo and discard frames. * net/pppsm.c: Retry for authentication request added. * net/tcpsm.c: Bugfix by Ralph Mason, NutTcpAccept fails if caller got higher priority. * net/tcpsm.c: Bugfix by Ralph Mason, incoming TCP NETBUFs will never be released if TCP is not used by application. * net/tcpsock.c: Another fix by Ralph, TCP may reuse socket ports because of wrong byte order during compare. 2003-08-07 Harald Kipp * app/httpd/httpserv.c: Bugfix, remote not displayed in the socket list. * pro/dhcpc.c: Complete redesign to follow RFC 2131. 2003-08-05 Harald Kipp * app: Examples updated and checked in. * Removed DNS entries from network interface structure. This may break your driver/app. * dev/nicrtl.c: Bugfix, failed to boot with empty EEPROM. * include/compiler.h: Added strcmp_P(), outb() and _BV() for ICCAVR. 2003-07-24 Harald Kipp * net/ipcpin.c: Bugfix, PPP always used the secondary DNS. * net/ipcpout.c: When the PPP server rejects the secondary DNS, IPCP negotiation was trapped in a loop. 2003-07-23 Harald Kipp * Michael Fisher contributed the first ATAPI version of his IDE driver and FAT filesystem. Note, that the IDE port moved from 0x8000 to 0xE000. 2003-07-21 Harald Kipp * Version 3.3 prepared for release. * os/bankmem.c: Support for banked memory added. * os/ir.c: Support for infrared remote control added. * dev/irsony.c: First infrared remote control driver for Sony TV codes. * dev/vs1001k.c: Internal buffer handling replaced by banked memory support routines. * app/nutpiper: New application. Shoutcast radio with remote control, LCD displayand banked memory support. Experimental. 2003-07-20 Harald Kipp * pro/httpd.c: Reduced RAM usage by moving string literals to program space. * net/ipout.c: Memory hole bugfix. * net/udpsock.c: System crash on UDP send failure has been fixed. * app/httpd: Redesigned HTTP server sample added. * dev: New Ethernet driver for CS8900A. * crt/vsscanf.c: Bugfix for sscanf functions. * crt/sprintf_p.c: Bugfix. * crt/filelength.c: Wrong description replaced. * pro/dhcpc.c: Added code to support secondary DNS. * pro/resolve.c: Dito. * No explanation had been given how to disable the timeout of several functions using NutEventWait(). A defined value of NUT_WAIT_INFINITE has been added to event.h. * Missing directories added to repository. * urom filesystem filenames moved to program space to save RAM. * Conflicting Ethernet driver routine names solved. 2003-07-17 Harald Kipp * dev/hd44780.c: Works with applications which may change the data direction registers. * dev/nicrtl.c: Speed enhancements and being less strictly for accepting valid frames. * dev/twif.c: Missing speed settings added. * pro/dhcpc.c: No more default (egnite) MAC address. * pro/httpd.c: Memory hole fixed. 2003-07-13 Harald Kipp * ChangeLog: Added. * net/confnet.c: Unconfigured MAC address changed to broadcast address. * net/tcpsm.c: Changing the socket data buffer into a NETBUF queue results in faster TCP transfers. * net/tcpsock.c: dito. * include/sys/sock_var.h: dito.