/.../ As has been pointed out, it's possible to have the c-level code be in a place holder module (like _USB) and then inherited into the right place via a pike module.pmod,
That would perhaps be a good thing to do.
Yes, and I guess that's pretty standard, in fact.
What kind of odd behavior is that? I'm not aware of any specific problems of late with the dirnode stuff. Well, with the exception that inheriting them won't do what you want, but I don't think that's a serious problem since inheriting modules is quite uncommon.
Well, I don't have an example off the top of my head, though I do know that I've seen a number of situations where you are able to look over the edge and see all of the scaffolding, which has required some effort to work around.
If libusb is as generic as srb says (I haven't looked at it myself), then I think it'd be ok to grab the name "USB" for it. It doesn't seem to get too messy if people start to extend it with more advanced functionality, and it's fairly unlikely that a contender will actually materialize in the foreseeable future. Unless perhaps you have concrete plans to develop some more abstract usb interface?
I wasn't necessarily thinking of something more abstract, though it might be useful to consider other options in the design, which would theoretically make things more complete:
libhid, which does for hid devices what libusb does for non-hid devices openusb, which adds support for solaris as well as hotplugging, which are two pretty nice features.
My opinion here is also based on my general scepticism towards container modules - reserving USB.pmod as a container for all things usb-related isn't something I particularly fancy. So that only leaves the possibility of a "properly abstract" module that would fit better, and whether it cannot be joined with srb's low-level stuff in a decent way.
Well, I'm not as opposed to a certain, reasonable, amount of organization, I guess I share skepticism in a way, though mostly around positioning of a library glue module as something potentially more comprehensive or general.
Bill