> Hi everyone > > With the recent input from Salvatore I've updated some of the USBKit > stuff that provides userland access to the USB stack using the > usb_raw > driver as a gateway. It is currently placed in a separate static > library under "src/libs/usb" and "headers/libs/usb" which is neither > nice nor really helpful to someone who wants to build something on > top > of it. Obviously the USBKit is not really large and would not deserve > its own kit, but it would in fact perfectly fit into libdevice. So I > propose to integrate the USBKit into libdevice and make its API > public. > There are a few applications already that used the old Be provided > USBKit library (which our usb_raw is binary compatible with BTW) and > to > further the creation of such userland USB applications and drivers it > would only make sense to have this as a public API. I've even already > "prepared" such an integration by adding reserved bytes and virtual > slots to the classes ;-). > I'm all for it. The bluetooth kit probably goes there too. Also, the usb_raw header should be made public too (and cleaned up, I've a pending commit on that but as you are touching it...). The driver cookie struct should be moved out of it, and the names should be B_ised. There is a libusb port working (almost) now, I had it half done and someone finished it, using this header. I'll also change SANE to use this API as it's more on line with other existing APIs (and some projects (ffmpeg...) dislike using C++). Currently SANE uses the devices published by usb_scanner driver, which is both useless (does nothing fancy) and uses a redundant list os IDs, meaning one must both update sane and the usb_scanner driver. François.