[haiku-development] Re: Proposal to add the USBKit to the DeviceKit

  • From: "François Revol" <revol@xxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 07 Apr 2008 19:52:18 +0200 CEST

> 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.

Other related posts: