|Description: important compiler warnings fixes | This patch fix a compiler warning about the direct printing of strings | using formatted printing functions without the use of a format string. |Author: Giulio Paci <giuliopaci@gmail.com> |Forwarded: no |Last-Update: 2012-03-04
another warning fix
fix some unused var/function warnings
Happy New Year!
Don't raise SIGPIPE, let errno be set to EPIPE. i.e. this fixes slirp ethernet mode with no listening port on the remote host.
Try to improve slirp performance again (though passive mode is still slower)
fix cross-block initializer
Use the most portable POSIX-style non-blocking I/O (O_NONBLOCK) instead of BSD-style through FIONBIO. It turns out Tru64 and probably IRIX don't support the latter when fd is a pipe (slirp case).
Remove nigel's hack, I am confident the problem was MacOS X implementation of poll() that was not a cancellation point, which I fixed (OSX/Intel 10.4.4)
poll() and select() are still not cancellation points in MacOS X 10.4.4...
Small hack for clean exits on Nigel's OS X port
Factor out stuff for SheepShaver compatibility.
Enable Basilisk II to work even if slirp_init() failed. Disable ethernet emulation in that case, don't exit(1).
Handle all slirp input/output from a single thread, thus fixing occasional hangs on slower systems (concurrent read/write in 68k mode). Reduce timeout to 10 ms.
Fix and factor out ether_exit(). Pitifully, MacOS X 10.2 does not make select() a cancellation point when it is passed a NULL timeout. Workarounded in receive_func() with a full inline of poll_fd() + pthread_testcancel().
fix poll() emulation
detect slirp at configure time, aka fix build when ether_dummy.cpp is used
Use a custom poll_fd() function implemented as select() on platforms that don't support poll() natively, e.g. MacOS X and some older BSDs.
Some 64-bit fixes to bootp, icmp, udp (cu-seeme). However, it can happen that on certain occasions, it doesn't work. Some timing problem?
Recognize Intel Compilers. Add user mode network stack with slirp from qemu. Simply use "ether slirp" in the prefs file, no kernel module required. I could perform up to 450 KB/sec on my DSL line.
Make ethernet really work on 64-bit platforms, especially x86-64
Happy New Year!
Make EtherInterrupt/packet[] "static" so that it is allocated in the .data section, which is likely accessible under 32-bit address on 64-bit platforms
typos
Move and fix tun interface shutdown call
TUN/TAP support
Happy New Year! :)
cleaned up pthread attributes [Brian Johnson]
- documentation updates - 2001 -> 2002 - version 0.9 -> 1.0
- added IRIX patches from Brian Johnson - the existence of socklen_t is now checked by the configure script
- outgoing packet source address is set in ether.cpp - UDP tunnelling sends packets to Ethernet broadcast address as IP broadcasts
- updated the TECH document - EtherReset() clears the UDP protocol list - audio_oss_esd.cpp: AudioExit() calls close_audio() - ether_unix.cpp: uses map<> for protocol handlers - updated audio_dummy.cpp and ether_dummy.cpp
- Implemented AppleTalk-over-UDP tunnelling, activated by setting "udptunnel" to "true". This uses the BSD socket API, so it's fairly portable (currently only imeplemented under Unix, though). This works by sending raw Ethernet packets as UDP packets to a fixed port number ("udpport", default is 6066), using IP broadcasts to simulate Ethernet broad- and multicasts. Currently only tested with AppleTalk.
- FreeBSD configure script cleanups [Michael Alyn Miller] - ether_linux.cpp moved and renamed to ether_unix.cpp, now also works with the tap driver under FreeBSD [Michael Alyn Miller] - fpu_x86_asm.h: fixed problem in with newer GCC pre-processors
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.