Small changes on the net team front. RECENT CHANGES DONE: a) kernel and userland driver conflicting on /dev/net/stack entry The kernel stack middleware driver still publish /dev/net/stack. The userland stack middleware driver now publish /dev/net/server. No more conflict. b) libnet.so The library interface with the middleware driver specified by the NET_STACK_DRIVER_PATH, if any, /dev/net/stack otherwise. This make libnet.so switchable at runtime between the kernelland stack and the userland stack debug platform, net_server-like, simply by: $ export NET_STACK_DRIVER_PATH=/dev/net/server c) libnetapi.so BNetAddress, BNetBuffer and BNetDebug are there, and now build. Corresponding headers included. d) command line apps all build (again) Jamfiles appear, then they build. That's magic. However, for both ping and traceroute, I've to hack a howmany() macro over the _howmany() one defined insys/select.h. Who is right here, howmany() or _howmany()? e) network modules I start to remove as much as possible of userland-specific code as the userland net_server provide all modules API support from userland too, modules no need anymore to load by themselves sub-modules. Some small code cleanup, in the process. PENDING CHANGES: a) make the userland stack debug platform run ASAP. My main focus. So that we could see internal code running/crashing, learn how it (expect to) works, understand it, and then make it really works as expected. Or dump it and rewrite it. Hopefully, only partially. As a net_server is already there, and build, it's mostly a matter of building network modules as userland add-ons too, now. From same source code. What I'm trying at home is, for each module, to symlink all source code into corresponding directory under src/tests/add-ons/net_server at build time (RelSymlink jam rule?), then build with the "Addon" rule a userland add-on, without forgotten to link it against our net_server, which exported the module API and some other KernelExport.h stuff expected by our network modules code. Unfortunnatly, currently: - I couldn't manage to (re)create the symlink at build time *before* running the "Addon" rule on them. Please, Jamfile guru(s), help me! :-) - network modules code are not yet buildable as userland add-ons. b) more and more code cleanup - Continue to rename cryptic function names here and there. s/function/macro/ on previous line. - Locking where it's lacking. Or the reverse!?! :-) - Make inter-module shared variables really..., well, shared! - Reduce usage of global variables when possible, serialize access to them otherwise c) libnetapi.so Still incomplete: no BNetEndpoint yet. Scott, when do you estimate you could submit this? Oh, BTW, you're now in the OpenBeOS contributors list on the web site ;-) NetBuffer class is NOT binary compatible. I thought into fixing this myself, but can't find a quick BC HOWTO to follow. Where is it, again? And that pretty much all for today. -Philippe