forked from Imagelibrary/rtems
* libnetworking/netdb.h, libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c: This patch adds a functional gethostbyname_r to RTEMS. We were having problems with multiple threads calling gethostbyname, so we decided the best way to deal with it was to do it properly, rather than kludge up our code to make gethostbyname safe. We have found several slightly different parameter lists for this function, it does not seem to be standard. The one we used has the linux interface. In RTEMS there was an existing gethostbyname_r inside a #ifdef _THREAD_SAFE which was NOT Threadsafe, as this just called gethostbyname. So we have placed all of the additional code inside the #ifdef _THREAD_SAFE.
# # $Id$ # This is a snapshot of my attempt to fit the FreeBSD networking code into RTEMS. Things seem to be working! Things that need to be done: 1) More documentation! 2) Figure out what's still not working :-) 3) Rationalize the include files. Right now I have a special hack in the Makefile to ensure that I pick up the FreeBSD versions of the include files that are duplicated between RTEMS and FreeBSD. The network device driver source should move to the BSP source tree. 4) Have a look at all the FIXME comments. 5) Go through and make sure that all the source files are free of undesired copyright restrictions. Initial Changes =============== 19-AUG-1998 snapshot - Pulled BOOTP initialization out of rtems_glue. Applications which don't used BOOTP are now about 5k smaller. - Loopback interface is not installed by default, rather it is attached like any other interface. Saves about 0.5 kbytes. - Add rtems_bsdnet_show_if_stats(); - Moved test programs from below freebsd directory. 18-AUG-1998 snapshot - Removed some include files that were already part of RTEMS. - Cleaned up machine/types.h to prepare for inclusion in RTEMS source. - Added syslog library routines -- much simpler than KA9Q version. Sockets can be shared among tasks (as long as the send is protected by a mutex) so there's no need for a Syslog Daemon. 16-AUG-1998 snapshot - Table-driven configuration (networkconfig.h). - Cleaned up rtems_bsdnet.h. - BOOTP now retries properly -- Note to Joel: The dichotomy between RTEMS and UNIX error codes is a real pain! 14-AUG-1998 snapshot - Added dummy getprotobyname() and getprotobynum() functions. - Added socket ioctl. - Added application-level entry to manipulate routing tables. - Added non-BOOTP network initialization. 13-AUG-1998 snapshot - Changed some BOOTP addresses from sockaddr_in to inaddr; - Get DNS information from BOOTP reply. - Got DNS lookups working. Bloatware comes to RTEMS -- invoking gethostbyname() drags in and extra 40 kbytes of code! - Added hostname lookup program. 12-AUG-1998 snapshot - Added startup delay to network initialization. - More statistic-printing routines. - Added TFTP driver and test program - Modified TFTP test program to use networkconfig.h. - Removed unused include files. - Added from ftp://ftp.ca.FreeBSD.ORG/pub/FreeBSD/FreeBSD-current/src/lib/libc/net. 11-AUG-1998 snapshot. - Added getpeername() - Added M68k versions of IP checksum code - Added TCP timing program to snapshot. 02-AUG-1998 snapshot.