From: Dmitry F. <dm...@da...> - 2015-03-30 05:49:28
|
Patches also available at https://github.com/dmitryfleytman/libusb/tree/usbdk-backend-v2 <https://github.com/dmitryfleytman/libusb/tree/usbdk-backend-v2> > On Mar 29, 2015, at 18:14 PM, Dmitry Fleytman <dm...@da...> wrote: > > Hello libusb-devel, > > ===================================================================================== > > Changes since v1: > > 1. Project files for Visual Studio 2013 added > 2. DDK/WDK build files updated to support builds with UsbDk backend > 3. File names changed as agreed (windows_usb.* -> windows_winusb.*) > 4. Function names in windows_nt_common.c changed as areed ("nt" dropped) > 5. UsbDk headers merged as agreed, no subfolder, one file only (windows_usbdk.h) > 6. Build tested and fixed for different MinGW versions > > Adding dynamic backend selection for UsbDk/libusb*/WinUsb configuration turned out > to be tricky for a number of reasons, so we would like to postpone this feature > for now and return to it later along with support for attach/detach mode. > > We will also release a new usbDk version in a few days with support for persistent > hide rules feature as suggested on this list before. > > ===================================================================================== > > This series contains patches that extend Windows backend to support UsbDk. > Switch between UsbDk and WinUSB/LibusbK/Libusb0 is done at compile time > with --enable-usbdk configuration option (off by default). > > UsbDk (USB Development Kit) is a set of software components meant to provide > Windows user mode applications with direct and exclusive access to USB devices. > > Some distinctive UsbDk properties are: > > 1. UsbDk supports all types of devices and interfaces - bulk, isochronous, > composite, HID etc. > 2. Device capture process is totally dynamic, i.e. no inf files and > self-signing needed, any device can be captured. > 3. UsbDk co-exists with original device driver, when the device is not > captured original driver is loaded by the system automatically. > 4. If user mode client terminates unexpectedly for any reason system reverts > to original device driver immediately. > 5. Being USB filter driver UsbDk doesn't require WHQL-ing > as per Microsoft requirements. > > UsbDk supports all Windows OS versions staring from Windows XP, > i.e. XP/Vista/7/8/8.1/2003/2008/2008R2/2012/2012R2. > Both 32 and 64 bit architectures are supported. > > UsbDk is fully open source and distributed under Apache 2.0 license. > > UsbDk project is hosted at spice-space.org, source code repository available at: > http://cgit.freedesktop.org/spice/win32/usbdk > > Latest source tarball is at: http://www.spice-space.org/download/windows/usbdk/spice-usbdk-win-1.0-2-sources.zip > > UsbDk releases come with precompiled and signed by Red Hat binaries: > 1. 32 bit: http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.2_x86.msi > 2. 64 bit: http://www.spice-space.org/download/windows/usbdk/UsbDk_1.0.2_x64.msi > > UsbDk documentation: > 1. Short presentation: http://www.spice-space.org/docs/usbdk/UsbDk_at_a_Glance.pdf > 2. SDM: http://www.spice-space.org/docs/usbdk/UsbDk_Software_Development_Manual.pdf > 3. UsbDk architecture specificatin (part of source tree): > http://cgit.freedesktop.org/spice/win32/usbdk/tree/ARCHITECTURE > > UsbDk is maintained by Dmitry Fleytman (dfl...@re...) and > Kirill Moizik (km...@re...) we'll be glad to answer your questions sent > to us directly or via this mailing list. > > What do you think about this series? > We will be glad to have it accepted into libusb upstream. > > Best Regards, > Dmitry > > Dmitry Fleytman (5): > windows: Move common definitions to a separate file > windows: Rename windows_usb.h/c windows_winusb.h/c > usbdk: Introduce usbdk backend > build: Integrate usbdk backend > usbdk: Add VS2013 projects and WDK build support > > configure.ac | 9 + > libusb/Makefile.am | 16 +- > libusb/core.c | 6 + > libusb/libusbi.h | 1 + > libusb/os/windows_nt_common.c | 579 ++++ > libusb/os/windows_nt_common.h | 65 + > libusb/os/windows_usb.c | 4651 ------------------------------- > libusb/os/windows_usb.h | 959 ------- > libusb/os/windows_usbdk.c | 909 ++++++ > libusb/os/windows_usbdk.h | 119 + > libusb/os/windows_winusb.c | 4146 +++++++++++++++++++++++++++ > libusb/os/windows_winusb.h | 947 +++++++ > msvc/ddk_build.cmd | 9 + > msvc/libusb_2013.sln | 20 + > msvc/libusb_dll.dsp | 4 +- > msvc/libusb_dll_2005.vcproj | 4 +- > msvc/libusb_dll_2010.vcxproj | 4 +- > msvc/libusb_dll_2010.vcxproj.filters | 4 +- > msvc/libusb_dll_2012.vcxproj | 4 +- > msvc/libusb_dll_2012.vcxproj.filters | 4 +- > msvc/libusb_dll_2013.vcxproj | 7 +- > msvc/libusb_sources | 10 +- > msvc/libusb_static.dsp | 4 +- > msvc/libusb_static_2005.vcproj | 4 +- > msvc/libusb_static_2010.vcxproj | 4 +- > msvc/libusb_static_2010.vcxproj.filters | 4 +- > msvc/libusb_static_2012.vcxproj | 4 +- > msvc/libusb_static_2012.vcxproj.filters | 4 +- > msvc/libusb_static_2013.vcxproj | 6 +- > msvc/libusb_usbdk_dll_2013.vcxproj | 178 ++ > msvc/libusb_usbdk_static_2013.vcxproj | 162 ++ > 31 files changed, 7203 insertions(+), 5644 deletions(-) > create mode 100644 libusb/os/windows_nt_common.c > create mode 100644 libusb/os/windows_nt_common.h > delete mode 100644 libusb/os/windows_usb.c > delete mode 100644 libusb/os/windows_usb.h > create mode 100644 libusb/os/windows_usbdk.c > create mode 100644 libusb/os/windows_usbdk.h > create mode 100644 libusb/os/windows_winusb.c > create mode 100644 libusb/os/windows_winusb.h > create mode 100644 msvc/libusb_usbdk_dll_2013.vcxproj > create mode 100644 msvc/libusb_usbdk_static_2013.vcxproj > > -- > 2.1.0 > |