What plans are there, if any, to support this on Sun Ray, like libusb currently does?
Artem Kachitchkine wrote: > I am sponsoring this fast track for Raymond Chen. > Requested binding is minor, timeout 1/18/2008. > > -Artem > > Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI > This information is Copyright 2008 Sun Microsystems > 1. Introduction > 1.1. Project/Component Working Name: > Integrate OpenUSB into Solaris > 1.2. Name of Document Author/Supplier: > Author: Raymond Chen > 1.3 Date of This Document: > 11 January, 2008 > 4. Technical Description > > 4.1 Summary > > This project integrates OpenUSB into Solaris and makes interfaces > from "PSARC/2003/721 libusb: user level usb library" Obsolete. > Requested binding: minor. > > 4.2 Details > > Solaris currently ships with an implementation of libusb 0.1.8 API, > supporting both native Solaris USB and Sun Ray USB frameworks. > Unfortunately, libusb development stagnated around version 0.1.12, > bound by lack of involvement from the original author and disagreements > about future directions. To revitalize development, the community > created a fork of libusb, called OpenUSB, and Sun has been actively > contributing to the effort. OpenUSB is licensed under LGPL and BSD > licenses. > > OpenUSB provides a set of enhanced APIs for accessing USB devices, > providing better abstraction of the diverse USB frameworks available on > various platforms and ease development of portable applications. > OpenUSB has the following enhancements over libusb 0.1.x: > > - Redesigned enumeration. New APIs for searching and managing of busses > and devices, and notify application of hotplug and power management > events. > > - OpenUSB supports multi-threaded applications (unlike libusb). > > - Addition of asynchronous interfaces. More flexibility over libusb > 0.1.x, all of which interfaces are strictly synchronous. > > - Support all 4 transfer types: control, bulk, interrupt and > isochronous. libusb 0.1.x did not support isochronous or control on any > endpoint other than default. > > - Error code unification. All functions return the same set of error > codes across all platforms. > > OpenUSB includes a libusb emulation layer, implemented via native > OpenUSB interfaces, and is ABI-compatible with libusb. Legacy > applications will continue to work without recompilation. > > OpenUSB consists of two parts: a frontend, common to all platforms, and > a number of platform-specific backends. This project delivers the > backend for native Solaris USB framework. The backend for Sun Ray USB > will be added in the near future. > > This case proposes to mark Obsolete all libusb interfaces from > PSARC/2003/721. This case does not remove libusb from Solaris: it will > continue to coexist with OpenUSB for some time, at least until the new > Sun Ray backend is delivered. > > OpenUSB applications will include <openusb.h> and link with -lopenusb. > Planned deliverables: > > /usr/lib/libopenusb.so.0.0.0 > /usr/lib/libopenusb.so -> libopenusb.so.0.0.0 > /usr/lib/libopenusb.so.0 -> libopenusb.so.0.0.0 > /usr/lib/openusb_backend/sunos.so > /usr/include/openusb.h > /usr/share/man/man3lib/libopenusb.3lib > /usr/share/doc/openusb/openusb_guide.html > > openusb.h and openusb_guide.html are in this case's directory. > > > 4.3 Interfaces > > All interfaces in OpenUSB, including structures, macros and functions > are Volatile. Additionally, two environment variables are exported. > > -------------------------+----------+----------------------------- > openusb.h (see case dir) | Volatile | OpenUSB C API > OPENUSB_BACKEND_PATH | Volatile | Alternative backend location > OPENUSB_DEBUG | Volatile | Enable debug mode > -------------------------+----------+----------------------------- > > > 4.4. References > > http://libusb.sourceforge.net/ > http://openusb.sourceforge.net/ > PSARC/2003/721 libusb: user level usb library > > 6. Resources and Schedule > 6.4. Steering Committee requested information > 6.4.1. Consolidation C-team Name: > SFW > 6.5. ARC review type: FastTrack > 6.6. ARC Exposure: open > -- David.Markowitz at sun.com Sun Ray Product Engineering
