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.