This driver is meant to be an initial starting point for anyone interesting in writing a USB driver for solaris.
Unfortunately, it is somewhat limited in its coverage, since USB drivers and devices can be vastly different. The most trivial example of this is that many USB drivers may be STREAMS based drivers. This framework is NOT a STREAMS-based driver.
The very useful thing that this WILL do for you, however, is tell you the number and type of endpoints, for any device that you attach it to.
For more full examples of how to handle various USB devices, look at the other USB driver source I have made available on my Drivers page, and also my USB Primer document.
/usr/include/sys/usb/usba.h
and
/usr/include/sys/usb/usbai.h
.
Therefore, I am not disclosing
any private information; merely organizing existing public
information into a more easily comprehensible form.
Now that's out of the way, you can download usbbase.tar.gz, last updated Oct. 10, 2003
Do note that someone from the USB team has publically posted on comp.unix.solaris, that the API will change in future solaris releases! The code here is simply based around the public header files that ship with Solaris 8, and thus is "what works now". So if you want to play with USB hardware now, this is what you can base it around, with the realization that you'll have to recode in a year or something.