usb 2.12.1 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +11 -1
  3. package/dist/index.js +6 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/usb/bindings.d.ts +0 -1
  6. package/dist/usb/bindings.js +1 -1
  7. package/dist/usb/bindings.js.map +1 -1
  8. package/dist/usb/capability.d.ts +0 -1
  9. package/dist/usb/capability.js.map +1 -1
  10. package/dist/usb/descriptors.d.ts +0 -1
  11. package/dist/usb/device.d.ts +0 -1
  12. package/dist/usb/device.js.map +1 -1
  13. package/dist/usb/endpoint.d.ts +0 -1
  14. package/dist/usb/endpoint.js +2 -2
  15. package/dist/usb/endpoint.js.map +1 -1
  16. package/dist/usb/index.js.map +1 -1
  17. package/dist/usb/interface.js +2 -2
  18. package/dist/usb/interface.js.map +1 -1
  19. package/dist/webusb/index.d.ts +1 -3
  20. package/dist/webusb/index.js.map +1 -1
  21. package/dist/webusb/webusb-device.d.ts +0 -1
  22. package/dist/webusb/webusb-device.js +10 -10
  23. package/dist/webusb/webusb-device.js.map +1 -1
  24. package/libusb/.codespellrc +3 -0
  25. package/libusb/.private/appveyor_build.sh +5 -1
  26. package/libusb/.private/ci-build.sh +26 -1
  27. package/libusb/.private/ci-container-build.sh +2 -5
  28. package/libusb/.private/wbs.txt +5 -8
  29. package/libusb/AUTHORS +22 -0
  30. package/libusb/ChangeLog +19 -2
  31. package/libusb/HACKING +25 -0
  32. package/libusb/INSTALL_WIN.txt +11 -10
  33. package/libusb/NEWS +2 -2
  34. package/libusb/README +3 -2
  35. package/libusb/README.git +1 -1
  36. package/libusb/Xcode/common.xcconfig +8 -1
  37. package/libusb/Xcode/config.h +0 -6
  38. package/libusb/Xcode/debug.xcconfig +4 -1
  39. package/libusb/Xcode/libusb.xcconfig +1 -1
  40. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +60 -30
  41. package/libusb/Xcode/libusb_debug.xcconfig +1 -1
  42. package/libusb/Xcode/libusb_release.xcconfig +1 -1
  43. package/libusb/Xcode/release.xcconfig +1 -1
  44. package/libusb/appveyor.yml +33 -9
  45. package/libusb/configure.ac +68 -37
  46. package/libusb/examples/dpfp.c +2 -2
  47. package/libusb/examples/fxload.c +2 -2
  48. package/libusb/examples/hotplugtest.c +28 -13
  49. package/libusb/examples/listdevs.c +1 -1
  50. package/libusb/examples/sam3u_benchmark.c +1 -1
  51. package/libusb/examples/testlibusb.c +1 -1
  52. package/libusb/examples/xusb.c +74 -19
  53. package/libusb/libusb/Makefile.am +11 -1
  54. package/libusb/libusb/core.c +364 -186
  55. package/libusb/libusb/descriptor.c +276 -16
  56. package/libusb/libusb/hotplug.c +5 -4
  57. package/libusb/libusb/io.c +72 -61
  58. package/libusb/libusb/libusb-1.0.def +14 -1
  59. package/libusb/libusb/libusb.h +245 -76
  60. package/libusb/libusb/libusbi.h +35 -13
  61. package/libusb/libusb/os/darwin_usb.c +542 -279
  62. package/libusb/libusb/os/darwin_usb.h +44 -115
  63. package/libusb/libusb/os/emscripten_webusb.cpp +870 -0
  64. package/libusb/libusb/os/events_posix.c +40 -0
  65. package/libusb/libusb/os/events_posix.h +3 -0
  66. package/libusb/libusb/os/linux_usbfs.c +27 -16
  67. package/libusb/libusb/os/netbsd_usb.c +36 -36
  68. package/libusb/libusb/os/openbsd_usb.c +34 -34
  69. package/libusb/libusb/os/sunos_usb.c +25 -15
  70. package/libusb/libusb/os/threads_posix.c +1 -5
  71. package/libusb/libusb/os/windows_common.c +13 -5
  72. package/libusb/libusb/os/windows_common.h +8 -0
  73. package/libusb/libusb/os/windows_winusb.c +366 -174
  74. package/libusb/libusb/os/windows_winusb.h +13 -9
  75. package/libusb/libusb/strerror.c +5 -5
  76. package/libusb/libusb/sync.c +24 -19
  77. package/libusb/libusb/version.h +1 -1
  78. package/libusb/libusb/version_nano.h +1 -1
  79. package/libusb/msvc/Base.props +60 -0
  80. package/libusb/msvc/Configuration.Application.props +7 -0
  81. package/libusb/msvc/Configuration.Base.props +47 -0
  82. package/libusb/msvc/Configuration.DynamicLibrary.props +21 -0
  83. package/libusb/msvc/Configuration.StaticLibrary.props +7 -0
  84. package/libusb/msvc/ProjectConfigurations.Base.props +69 -0
  85. package/libusb/msvc/build_all.ps1 +17 -0
  86. package/libusb/msvc/config.h +2 -2
  87. package/libusb/msvc/dpfp.vcxproj +33 -0
  88. package/libusb/msvc/dpfp_threaded.vcxproj +38 -0
  89. package/libusb/msvc/fxload.vcxproj +46 -0
  90. package/libusb/msvc/getopt.vcxproj +33 -0
  91. package/libusb/msvc/hotplugtest.vcxproj +32 -0
  92. package/libusb/msvc/init_context.vcxproj +35 -0
  93. package/libusb/msvc/libusb.sln +542 -0
  94. package/libusb/msvc/libusb_dll.vcxproj +61 -0
  95. package/libusb/msvc/libusb_static.vcxproj +49 -0
  96. package/libusb/msvc/listdevs.vcxproj +32 -0
  97. package/libusb/msvc/sam3u_benchmark.vcxproj +33 -0
  98. package/libusb/msvc/set_option.vcxproj +35 -0
  99. package/libusb/msvc/stress.vcxproj +35 -0
  100. package/libusb/msvc/stress_mt.vcxproj +33 -0
  101. package/libusb/msvc/testlibusb.vcxproj +32 -0
  102. package/libusb/msvc/xusb.vcxproj +38 -0
  103. package/libusb/tests/Makefile.am +25 -3
  104. package/libusb/tests/init_context.c +153 -0
  105. package/libusb/tests/macos.c +130 -0
  106. package/libusb/tests/set_option.c +253 -0
  107. package/libusb/tests/stress.c +17 -14
  108. package/libusb/tests/stress_mt.c +265 -0
  109. package/libusb/tests/testlib.c +1 -1
  110. package/libusb/tests/umockdev.c +9 -9
  111. package/libusb/tests/webusb-test-shim/index.js +12 -0
  112. package/libusb/tests/webusb-test-shim/package-lock.json +50 -0
  113. package/libusb/tests/webusb-test-shim/package.json +10 -0
  114. package/package.json +8 -8
  115. package/prebuilds/android-arm/node.napi.armv7.node +0 -0
  116. package/prebuilds/android-arm64/node.napi.armv8.node +0 -0
  117. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  118. package/prebuilds/linux-arm/node.napi.armv6.node +0 -0
  119. package/prebuilds/linux-arm/node.napi.armv7.node +0 -0
  120. package/prebuilds/linux-arm64/node.napi.armv8.node +0 -0
  121. package/prebuilds/linux-ia32/node.napi.node +0 -0
  122. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  123. package/prebuilds/linux-x64/node.napi.musl.node +0 -0
  124. package/prebuilds/win32-arm64/node.napi.node +0 -0
  125. package/prebuilds/win32-ia32/node.napi.node +0 -0
  126. package/prebuilds/win32-x64/node.napi.node +0 -0
  127. package/src/device.cc +16 -6
  128. package/src/transfer.cc +1 -1
  129. package/libusb/msvc/dpfp_2013.vcxproj +0 -87
  130. package/libusb/msvc/dpfp_2013.vcxproj.filters +0 -26
  131. package/libusb/msvc/dpfp_2015.vcxproj +0 -87
  132. package/libusb/msvc/dpfp_2015.vcxproj.filters +0 -26
  133. package/libusb/msvc/dpfp_2017.vcxproj +0 -106
  134. package/libusb/msvc/dpfp_2017.vcxproj.filters +0 -26
  135. package/libusb/msvc/dpfp_2019.vcxproj +0 -106
  136. package/libusb/msvc/dpfp_2019.vcxproj.filters +0 -26
  137. package/libusb/msvc/dpfp_threaded_2013.vcxproj +0 -87
  138. package/libusb/msvc/dpfp_threaded_2013.vcxproj.filters +0 -26
  139. package/libusb/msvc/dpfp_threaded_2015.vcxproj +0 -87
  140. package/libusb/msvc/dpfp_threaded_2015.vcxproj.filters +0 -26
  141. package/libusb/msvc/dpfp_threaded_2017.vcxproj +0 -106
  142. package/libusb/msvc/dpfp_threaded_2017.vcxproj.filters +0 -26
  143. package/libusb/msvc/dpfp_threaded_2019.vcxproj +0 -106
  144. package/libusb/msvc/dpfp_threaded_2019.vcxproj.filters +0 -26
  145. package/libusb/msvc/fxload_2013.vcxproj +0 -94
  146. package/libusb/msvc/fxload_2013.vcxproj.filters +0 -35
  147. package/libusb/msvc/fxload_2015.vcxproj +0 -94
  148. package/libusb/msvc/fxload_2015.vcxproj.filters +0 -35
  149. package/libusb/msvc/fxload_2017.vcxproj +0 -113
  150. package/libusb/msvc/fxload_2017.vcxproj.filters +0 -35
  151. package/libusb/msvc/fxload_2019.vcxproj +0 -113
  152. package/libusb/msvc/fxload_2019.vcxproj.filters +0 -35
  153. package/libusb/msvc/getopt_2013.vcxproj +0 -72
  154. package/libusb/msvc/getopt_2013.vcxproj.filters +0 -26
  155. package/libusb/msvc/getopt_2015.vcxproj +0 -73
  156. package/libusb/msvc/getopt_2015.vcxproj.filters +0 -26
  157. package/libusb/msvc/getopt_2017.vcxproj +0 -92
  158. package/libusb/msvc/getopt_2017.vcxproj.filters +0 -26
  159. package/libusb/msvc/getopt_2019.vcxproj +0 -92
  160. package/libusb/msvc/getopt_2019.vcxproj.filters +0 -26
  161. package/libusb/msvc/hotplugtest_2013.vcxproj +0 -86
  162. package/libusb/msvc/hotplugtest_2013.vcxproj.filters +0 -23
  163. package/libusb/msvc/hotplugtest_2015.vcxproj +0 -86
  164. package/libusb/msvc/hotplugtest_2015.vcxproj.filters +0 -23
  165. package/libusb/msvc/hotplugtest_2017.vcxproj +0 -105
  166. package/libusb/msvc/hotplugtest_2017.vcxproj.filters +0 -23
  167. package/libusb/msvc/hotplugtest_2019.vcxproj +0 -105
  168. package/libusb/msvc/hotplugtest_2019.vcxproj.filters +0 -23
  169. package/libusb/msvc/libusb_2013.sln +0 -137
  170. package/libusb/msvc/libusb_2015.sln +0 -137
  171. package/libusb/msvc/libusb_2017.sln +0 -240
  172. package/libusb/msvc/libusb_2019.sln +0 -240
  173. package/libusb/msvc/libusb_dll_2013.vcxproj +0 -104
  174. package/libusb/msvc/libusb_dll_2013.vcxproj.filters +0 -94
  175. package/libusb/msvc/libusb_dll_2015.vcxproj +0 -105
  176. package/libusb/msvc/libusb_dll_2015.vcxproj.filters +0 -94
  177. package/libusb/msvc/libusb_dll_2017.vcxproj +0 -124
  178. package/libusb/msvc/libusb_dll_2017.vcxproj.filters +0 -94
  179. package/libusb/msvc/libusb_dll_2019.vcxproj +0 -124
  180. package/libusb/msvc/libusb_dll_2019.vcxproj.filters +0 -94
  181. package/libusb/msvc/libusb_static_2013.vcxproj +0 -94
  182. package/libusb/msvc/libusb_static_2013.vcxproj.filters +0 -80
  183. package/libusb/msvc/libusb_static_2015.vcxproj +0 -95
  184. package/libusb/msvc/libusb_static_2015.vcxproj.filters +0 -80
  185. package/libusb/msvc/libusb_static_2017.vcxproj +0 -114
  186. package/libusb/msvc/libusb_static_2017.vcxproj.filters +0 -80
  187. package/libusb/msvc/libusb_static_2019.vcxproj +0 -114
  188. package/libusb/msvc/libusb_static_2019.vcxproj.filters +0 -80
  189. package/libusb/msvc/listdevs_2013.vcxproj +0 -86
  190. package/libusb/msvc/listdevs_2013.vcxproj.filters +0 -23
  191. package/libusb/msvc/listdevs_2015.vcxproj +0 -86
  192. package/libusb/msvc/listdevs_2015.vcxproj.filters +0 -23
  193. package/libusb/msvc/listdevs_2017.vcxproj +0 -105
  194. package/libusb/msvc/listdevs_2017.vcxproj.filters +0 -23
  195. package/libusb/msvc/listdevs_2019.vcxproj +0 -105
  196. package/libusb/msvc/listdevs_2019.vcxproj.filters +0 -23
  197. package/libusb/msvc/sam3u_benchmark_2013.vcxproj +0 -87
  198. package/libusb/msvc/sam3u_benchmark_2013.vcxproj.filters +0 -26
  199. package/libusb/msvc/sam3u_benchmark_2015.vcxproj +0 -87
  200. package/libusb/msvc/sam3u_benchmark_2015.vcxproj.filters +0 -26
  201. package/libusb/msvc/sam3u_benchmark_2017.vcxproj +0 -106
  202. package/libusb/msvc/sam3u_benchmark_2017.vcxproj.filters +0 -26
  203. package/libusb/msvc/sam3u_benchmark_2019.vcxproj +0 -106
  204. package/libusb/msvc/sam3u_benchmark_2019.vcxproj.filters +0 -26
  205. package/libusb/msvc/stress_2013.vcxproj +0 -89
  206. package/libusb/msvc/stress_2013.vcxproj.filters +0 -32
  207. package/libusb/msvc/stress_2015.vcxproj +0 -89
  208. package/libusb/msvc/stress_2015.vcxproj.filters +0 -32
  209. package/libusb/msvc/stress_2017.vcxproj +0 -108
  210. package/libusb/msvc/stress_2017.vcxproj.filters +0 -32
  211. package/libusb/msvc/stress_2019.vcxproj +0 -108
  212. package/libusb/msvc/stress_2019.vcxproj.filters +0 -32
  213. package/libusb/msvc/testlibusb_2013.vcxproj +0 -86
  214. package/libusb/msvc/testlibusb_2013.vcxproj.filters +0 -23
  215. package/libusb/msvc/testlibusb_2015.vcxproj +0 -86
  216. package/libusb/msvc/testlibusb_2015.vcxproj.filters +0 -23
  217. package/libusb/msvc/testlibusb_2017.vcxproj +0 -105
  218. package/libusb/msvc/testlibusb_2017.vcxproj.filters +0 -23
  219. package/libusb/msvc/testlibusb_2019.vcxproj +0 -105
  220. package/libusb/msvc/testlibusb_2019.vcxproj.filters +0 -23
  221. package/libusb/msvc/xusb_2013.vcxproj +0 -86
  222. package/libusb/msvc/xusb_2013.vcxproj.filters +0 -23
  223. package/libusb/msvc/xusb_2015.vcxproj +0 -86
  224. package/libusb/msvc/xusb_2015.vcxproj.filters +0 -23
  225. package/libusb/msvc/xusb_2017.vcxproj +0 -105
  226. package/libusb/msvc/xusb_2017.vcxproj.filters +0 -23
  227. package/libusb/msvc/xusb_2019.vcxproj +0 -105
  228. package/libusb/msvc/xusb_2019.vcxproj.filters +0 -23
@@ -24,7 +24,8 @@
24
24
  #define LIBUSB_WINDOWS_WINUSB_H
25
25
 
26
26
  #include <devioctl.h>
27
- #include <guiddef.h>
27
+ #include <initguid.h>
28
+ #include <usbiodef.h>
28
29
 
29
30
  #include "windows_common.h"
30
31
 
@@ -32,7 +33,7 @@
32
33
  #define MAX_USB_STRING_LENGTH 128
33
34
  #define MAX_HID_REPORT_SIZE 1024
34
35
  #define MAX_HID_DESCRIPTOR_SIZE 256
35
- #define MAX_GUID_STRING_LENGTH 40
36
+ #define MAX_GUID_STRING_LENGTH 39
36
37
  #define MAX_PATH_LENGTH 256
37
38
  #define MAX_KEY_LENGTH 256
38
39
  #define LIST_SEPARATOR ';'
@@ -42,13 +43,8 @@
42
43
  // Additional return code for HID operations that completed synchronously
43
44
  #define LIBUSB_COMPLETED (LIBUSB_SUCCESS + 1)
44
45
 
45
- // http://msdn.microsoft.com/en-us/library/ff545978.aspx
46
- // http://msdn.microsoft.com/en-us/library/ff545972.aspx
47
- // http://msdn.microsoft.com/en-us/library/ff545982.aspx
48
- static const GUID GUID_DEVINTERFACE_USB_HOST_CONTROLLER = {0x3ABF6F2D, 0x71C4, 0x462A, {0x8A, 0x92, 0x1E, 0x68, 0x61, 0xE6, 0xAF, 0x27}};
49
- static const GUID GUID_DEVINTERFACE_USB_HUB = {0xF18A0E88, 0xC30C, 0x11D0, {0x88, 0x15, 0x00, 0xA0, 0xC9, 0x06, 0xBE, 0xD8}};
50
- static const GUID GUID_DEVINTERFACE_USB_DEVICE = {0xA5DCBF10, 0x6530, 0x11D2, {0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED}};
51
- static const GUID GUID_DEVINTERFACE_LIBUSB0_FILTER = {0xF9F3FF14, 0xAE21, 0x48A0, {0x8A, 0x25, 0x80, 0x11, 0xA7, 0xA9, 0x31, 0xD9}};
46
+ // libusb0 Filter Device Interface GUID
47
+ DEFINE_GUID(GUID_DEVINTERFACE_LIBUSB0_FILTER, 0xF9F3FF14, 0xAE21, 0x48A0, 0x8A, 0x25, 0x80, 0x11, 0xA7, 0xA9, 0x31, 0xD9);
52
48
 
53
49
  // The following define MUST be == sizeof(USB_DESCRIPTOR_REQUEST)
54
50
  #define USB_DESCRIPTOR_REQUEST_SIZE 12U
@@ -535,6 +531,13 @@ typedef BOOL (WINAPI *WinUsb_SetPipePolicy_t)(
535
531
  ULONG ValueLength,
536
532
  PVOID Value
537
533
  );
534
+ typedef BOOL (WINAPI *WinUsb_GetPipePolicy_t)(
535
+ WINUSB_INTERFACE_HANDLE InterfaceHandle,
536
+ UCHAR PipeID,
537
+ ULONG PolicyType,
538
+ PULONG ValueLength,
539
+ PVOID Value
540
+ );
538
541
  typedef BOOL (WINAPI *WinUsb_UnregisterIsochBuffer_t)(
539
542
  WINUSB_ISOCH_BUFFER_HANDLE BufferHandle
540
543
  );
@@ -666,6 +669,7 @@ struct winusb_interface {
666
669
  WinUsb_ResetPipe_t ResetPipe;
667
670
  WinUsb_SetCurrentAlternateSetting_t SetCurrentAlternateSetting;
668
671
  WinUsb_SetPipePolicy_t SetPipePolicy;
672
+ WinUsb_GetPipePolicy_t GetPipePolicy;
669
673
  WinUsb_WritePipe_t WritePipe;
670
674
  union {
671
675
  struct {
@@ -28,7 +28,7 @@
28
28
  * <li> Download the latest \c strerror.c from:<br>
29
29
  * https://raw.github.com/libusb/libusb/master/libusb/strerror.c </li>
30
30
  * <li> Open the file in an UTF-8 capable editor </li>
31
- * <li> Add the 2 letter <a href="http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a>
31
+ * <li> Add the 2 letter <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a>
32
32
  * code for your locale at the end of \c usbi_locale_supported[]<br>
33
33
  * Eg. for Chinese, you would add "zh" so that:
34
34
  * \code... usbi_locale_supported[] = { "en", "nl", "fr" };\endcode
@@ -160,7 +160,7 @@ static const char * const (*usbi_error_strings)[LIBUSB_ERROR_COUNT] = &usbi_loca
160
160
  * If libusb_setlocale() is not called, all messages will be in English.
161
161
  *
162
162
  * The following functions return translatable strings: libusb_strerror().
163
- * Note that the libusb log messages controlled through libusb_set_debug()
163
+ * Note that the libusb log messages controlled through LIBUSB_OPTION_LOG_LEVEL
164
164
  * are not translated, they are always in English.
165
165
  *
166
166
  * For POSIX UTF-8 environments if you want libusb to follow the standard
@@ -169,9 +169,9 @@ static const char * const (*usbi_error_strings)[LIBUSB_ERROR_COUNT] = &usbi_loca
169
169
  *
170
170
  * \param locale locale-string in the form of lang[_country_region][.codeset]
171
171
  * or lang[-region], where lang is a 2 letter ISO 639-1 code
172
- * \returns LIBUSB_SUCCESS on success
173
- * \returns LIBUSB_ERROR_INVALID_PARAM if the locale doesn't meet the requirements
174
- * \returns LIBUSB_ERROR_NOT_FOUND if the requested language is not supported
172
+ * \returns \ref LIBUSB_SUCCESS on success
173
+ * \returns \ref LIBUSB_ERROR_INVALID_PARAM if the locale doesn't meet the requirements
174
+ * \returns \ref LIBUSB_ERROR_NOT_FOUND if the requested language is not supported
175
175
  * \returns a LIBUSB_ERROR code on other errors
176
176
  */
177
177
 
@@ -34,10 +34,15 @@
34
34
 
35
35
  static void LIBUSB_CALL sync_transfer_cb(struct libusb_transfer *transfer)
36
36
  {
37
+ usbi_dbg(TRANSFER_CTX(transfer), "actual_length=%d", transfer->actual_length);
38
+
37
39
  int *completed = transfer->user_data;
38
40
  *completed = 1;
39
- usbi_dbg(TRANSFER_CTX(transfer), "actual_length=%d", transfer->actual_length);
40
- /* caller interprets result and frees transfer */
41
+ /*
42
+ * Right after setting 'completed', another thread might free the transfer, so don't
43
+ * access it beyond this point. The instantiating thread (not necessarily the
44
+ * current one) interprets the result and frees the transfer.
45
+ */
41
46
  }
42
47
 
43
48
  static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer)
@@ -85,12 +90,12 @@ static void sync_transfer_wait_for_completion(struct libusb_transfer *transfer)
85
90
  * before giving up due to no response being received. For an unlimited
86
91
  * timeout, use value 0.
87
92
  * \returns on success, the number of bytes actually transferred
88
- * \returns LIBUSB_ERROR_TIMEOUT if the transfer timed out
89
- * \returns LIBUSB_ERROR_PIPE if the control request was not supported by the
93
+ * \returns \ref LIBUSB_ERROR_TIMEOUT if the transfer timed out
94
+ * \returns \ref LIBUSB_ERROR_PIPE if the control request was not supported by the
90
95
  * device
91
- * \returns LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
92
- * \returns LIBUSB_ERROR_BUSY if called from event handling context
93
- * \returns LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
96
+ * \returns \ref LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
97
+ * \returns \ref LIBUSB_ERROR_BUSY if called from event handling context
98
+ * \returns \ref LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
94
99
  * the operating system and/or hardware can support (see \ref asynclimits)
95
100
  * \returns another LIBUSB_ERROR code on other failures
96
101
  */
@@ -260,14 +265,14 @@ static int do_sync_bulk_transfer(struct libusb_device_handle *dev_handle,
260
265
  * timeout, use value 0.
261
266
  *
262
267
  * \returns 0 on success (and populates <tt>transferred</tt>)
263
- * \returns LIBUSB_ERROR_TIMEOUT if the transfer timed out (and populates
268
+ * \returns \ref LIBUSB_ERROR_TIMEOUT if the transfer timed out (and populates
264
269
  * <tt>transferred</tt>)
265
- * \returns LIBUSB_ERROR_PIPE if the endpoint halted
266
- * \returns LIBUSB_ERROR_OVERFLOW if the device offered more data, see
270
+ * \returns \ref LIBUSB_ERROR_PIPE if the endpoint halted
271
+ * \returns \ref LIBUSB_ERROR_OVERFLOW if the device offered more data, see
267
272
  * \ref libusb_packetoverflow
268
- * \returns LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
269
- * \returns LIBUSB_ERROR_BUSY if called from event handling context
270
- * \returns LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
273
+ * \returns \ref LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
274
+ * \returns \ref LIBUSB_ERROR_BUSY if called from event handling context
275
+ * \returns \ref LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
271
276
  * the operating system and/or hardware can support (see \ref asynclimits)
272
277
  * \returns another LIBUSB_ERROR code on other failures
273
278
  */
@@ -315,13 +320,13 @@ int API_EXPORTED libusb_bulk_transfer(libusb_device_handle *dev_handle,
315
320
  * timeout, use value 0.
316
321
  *
317
322
  * \returns 0 on success (and populates <tt>transferred</tt>)
318
- * \returns LIBUSB_ERROR_TIMEOUT if the transfer timed out
319
- * \returns LIBUSB_ERROR_PIPE if the endpoint halted
320
- * \returns LIBUSB_ERROR_OVERFLOW if the device offered more data, see
323
+ * \returns \ref LIBUSB_ERROR_TIMEOUT if the transfer timed out
324
+ * \returns \ref LIBUSB_ERROR_PIPE if the endpoint halted
325
+ * \returns \ref LIBUSB_ERROR_OVERFLOW if the device offered more data, see
321
326
  * \ref libusb_packetoverflow
322
- * \returns LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
323
- * \returns LIBUSB_ERROR_BUSY if called from event handling context
324
- * \returns LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
327
+ * \returns \ref LIBUSB_ERROR_NO_DEVICE if the device has been disconnected
328
+ * \returns \ref LIBUSB_ERROR_BUSY if called from event handling context
329
+ * \returns \ref LIBUSB_ERROR_INVALID_PARAM if the transfer size is larger than
325
330
  * the operating system and/or hardware can support (see \ref asynclimits)
326
331
  * \returns another LIBUSB_ERROR code on other error
327
332
  */
@@ -7,7 +7,7 @@
7
7
  #define LIBUSB_MINOR 0
8
8
  #endif
9
9
  #ifndef LIBUSB_MICRO
10
- #define LIBUSB_MICRO 26
10
+ #define LIBUSB_MICRO 27
11
11
  #endif
12
12
  #ifndef LIBUSB_NANO
13
13
  #define LIBUSB_NANO 0
@@ -1 +1 @@
1
- #define LIBUSB_NANO 11724
1
+ #define LIBUSB_NANO 11882
@@ -0,0 +1,60 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup>
4
+ <LibusbRootDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..'))\</LibusbRootDir>
5
+ <IntDir>$(LibusbRootDir)build\$(PlatformToolset)\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
6
+ <OutDir>$(IntDir)..\</OutDir>
7
+ </PropertyGroup>
8
+ <ItemDefinitionGroup>
9
+ <!--ClCompile Base-->
10
+ <ClCompile>
11
+ <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
12
+ <PreprocessorDefinitions>_WIN32_WINNT=_WIN32_WINNT_VISTA;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
13
+ <WarningLevel>Level4</WarningLevel>
14
+ <TreatWarningAsError>true</TreatWarningAsError>
15
+ <IntrinsicFunctions>true</IntrinsicFunctions>
16
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>
17
+ <!--Treat sources as utf-8-->
18
+ <AdditionalOptions Condition="'$(PlatformToolsetVersion)'&gt;'120'">/utf-8 %(AdditionalOptions)</AdditionalOptions>
19
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
20
+ <DiagnosticsFormat>Caret</DiagnosticsFormat>
21
+ </ClCompile>
22
+ <!--ClCompile Debug*-->
23
+ <ClCompile Condition="$(Configuration.StartsWith('Debug'))">
24
+ <Optimization>Disabled</Optimization>
25
+ </ClCompile>
26
+ <ClCompile Condition="$(Configuration.StartsWith('Debug')) And '$(EnableASAN)'=='true'">
27
+ <BasicRuntimeChecks>Default</BasicRuntimeChecks>
28
+ </ClCompile>
29
+ <!--ClCompile Release*-->
30
+ <ClCompile Condition="$(Configuration.StartsWith('Release'))">
31
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
32
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
33
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
34
+ <OmitFramePointers>true</OmitFramePointers>
35
+ <StringPooling>true</StringPooling>
36
+ <AdditionalOptions>/Gw %(AdditionalOptions)</AdditionalOptions>
37
+ <WholeProgramOptimization>true</WholeProgramOptimization>
38
+ </ClCompile>
39
+ <!--Link Base-->
40
+ <Link>
41
+ <GenerateDebugInformation>true</GenerateDebugInformation>
42
+ <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
43
+ </Link>
44
+ <!--Link Release*-->
45
+ <Link Condition="$(Configuration.StartsWith('Release'))">
46
+ <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
47
+ <OptimizeReferences>true</OptimizeReferences>
48
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
49
+ <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
50
+ </Link>
51
+ <!--Link Base:Application-->
52
+ <Link Condition="'$(ConfigurationType)'=='Application'">
53
+ <SubSystem>Console</SubSystem>
54
+ </Link>
55
+ <Lib>
56
+ <TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
57
+ <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
58
+ </Lib>
59
+ </ItemDefinitionGroup>
60
+ </Project>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="Configuration.Base.props" />
4
+ <PropertyGroup Label="Configuration">
5
+ <ConfigurationType>Application</ConfigurationType>
6
+ </PropertyGroup>
7
+ </Project>
@@ -0,0 +1,47 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <PropertyGroup Label="Configuration">
4
+ <!--Will be overridden by value from command line, if provided-->
5
+ <PlatformToolset Condition="$(VisualStudioVersion)=='12.0'">v120</PlatformToolset>
6
+ <PlatformToolset Condition="$(VisualStudioVersion)=='14.0'">v140</PlatformToolset>
7
+ <PlatformToolset Condition="$(VisualStudioVersion)=='15.0'">v141</PlatformToolset>
8
+ <PlatformToolset Condition="$(VisualStudioVersion)=='16.0'">v142</PlatformToolset>
9
+ <PlatformToolset Condition="$(VisualStudioVersion)=='17.0'">v143</PlatformToolset>
10
+ <!--We may need the equivalent of PlatformToolsetVersion before it's ready, so create it ourself-->
11
+ <LibusbPlatformToolsetVersion>$(PlatformToolset.Substring(1))</LibusbPlatformToolsetVersion>
12
+ <CharacterSet>Unicode</CharacterSet>
13
+ <PreferredToolArchitecture>x64</PreferredToolArchitecture>
14
+ <!-- To use ASAN, just uncomment this. For simplicity, you should run VS/windbg/etc
15
+ (including the built executables themselves) after using vcvarsall or similar to setup
16
+ environment, as ASAN needs access to libs and executables in the toolchain paths.
17
+ -->
18
+ <!--<EnableASAN>true</EnableASAN>-->
19
+ </PropertyGroup>
20
+ <ItemDefinitionGroup>
21
+ <ClCompile Condition="$(Configuration.StartsWith('Debug'))">
22
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
23
+ </ClCompile>
24
+ <ClCompile Condition="$(Configuration.StartsWith('Release'))">
25
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
26
+ </ClCompile>
27
+ </ItemDefinitionGroup>
28
+ <PropertyGroup Label="Globals" Condition="'$(LibusbPlatformToolsetVersion)'&lt;'142'">
29
+ <!--
30
+ WindowsSDKDesktopARMSupport and WindowsSDKDesktopARM64Support are
31
+ required to enable downlevel Windows SDKs to build "desktop" arm/arm64
32
+ binaries.
33
+ -->
34
+ <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
35
+ <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
36
+ <!--
37
+ WindowsTargetPlatformVersion must be set to explicit value for older
38
+ PlatformToolsets. Fetch it from environment variable.
39
+ vs2017/arm64 needs to be special cased to select 10.x SDK instead of 8.x
40
+ -->
41
+ <WindowsTargetPlatformVersion Condition="'$(LibusbPlatformToolsetVersion)'=='141' And $(Platform)=='ARM64'">10.0.19041.0</WindowsTargetPlatformVersion>
42
+ <WindowsTargetPlatformVersion Condition="'$(LibusbPlatformToolsetVersion)'!='141' Or $(Platform)!='ARM64'">$(WindowsSDKVersion)</WindowsTargetPlatformVersion>
43
+ </PropertyGroup>
44
+ <PropertyGroup Label="Globals" Condition="'$(LibusbPlatformToolsetVersion)'&gt;='142'">
45
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
46
+ </PropertyGroup>
47
+ </Project>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="Configuration.Base.props" />
4
+ <PropertyGroup Label="Configuration">
5
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
6
+ </PropertyGroup>
7
+ <ItemDefinitionGroup>
8
+ <ClCompile Condition="'$(Configuration)'=='Debug'">
9
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
10
+ </ClCompile>
11
+ <ClCompile Condition="'$(Configuration)'=='Debug-MT'">
12
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
13
+ </ClCompile>
14
+ <ClCompile Condition="'$(Configuration)'=='Release'">
15
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
16
+ </ClCompile>
17
+ <ClCompile Condition="'$(Configuration)'=='Release-MT'">
18
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
19
+ </ClCompile>
20
+ </ItemDefinitionGroup>
21
+ </Project>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="Configuration.Base.props" />
4
+ <PropertyGroup Label="Configuration">
5
+ <ConfigurationType>StaticLibrary</ConfigurationType>
6
+ </PropertyGroup>
7
+ </Project>
@@ -0,0 +1,69 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <ItemGroup Label="ProjectConfigurations">
4
+ <ProjectConfiguration Include="Debug|ARM">
5
+ <Configuration>Debug</Configuration>
6
+ <Platform>ARM</Platform>
7
+ </ProjectConfiguration>
8
+ <ProjectConfiguration Include="Debug|ARM64">
9
+ <Configuration>Debug</Configuration>
10
+ <Platform>ARM64</Platform>
11
+ </ProjectConfiguration>
12
+ <ProjectConfiguration Include="Debug|Win32">
13
+ <Configuration>Debug</Configuration>
14
+ <Platform>Win32</Platform>
15
+ </ProjectConfiguration>
16
+ <ProjectConfiguration Include="Debug|x64">
17
+ <Configuration>Debug</Configuration>
18
+ <Platform>x64</Platform>
19
+ </ProjectConfiguration>
20
+ <ProjectConfiguration Include="Release|ARM">
21
+ <Configuration>Release</Configuration>
22
+ <Platform>ARM</Platform>
23
+ </ProjectConfiguration>
24
+ <ProjectConfiguration Include="Release|ARM64">
25
+ <Configuration>Release</Configuration>
26
+ <Platform>ARM64</Platform>
27
+ </ProjectConfiguration>
28
+ <ProjectConfiguration Include="Release|Win32">
29
+ <Configuration>Release</Configuration>
30
+ <Platform>Win32</Platform>
31
+ </ProjectConfiguration>
32
+ <ProjectConfiguration Include="Release|x64">
33
+ <Configuration>Release</Configuration>
34
+ <Platform>x64</Platform>
35
+ </ProjectConfiguration>
36
+ <ProjectConfiguration Include="Debug-MT|ARM">
37
+ <Configuration>Debug-MT</Configuration>
38
+ <Platform>ARM</Platform>
39
+ </ProjectConfiguration>
40
+ <ProjectConfiguration Include="Debug-MT|ARM64">
41
+ <Configuration>Debug-MT</Configuration>
42
+ <Platform>ARM64</Platform>
43
+ </ProjectConfiguration>
44
+ <ProjectConfiguration Include="Debug-MT|Win32">
45
+ <Configuration>Debug-MT</Configuration>
46
+ <Platform>Win32</Platform>
47
+ </ProjectConfiguration>
48
+ <ProjectConfiguration Include="Debug-MT|x64">
49
+ <Configuration>Debug-MT</Configuration>
50
+ <Platform>x64</Platform>
51
+ </ProjectConfiguration>
52
+ <ProjectConfiguration Include="Release-MT|ARM">
53
+ <Configuration>Release-MT</Configuration>
54
+ <Platform>ARM</Platform>
55
+ </ProjectConfiguration>
56
+ <ProjectConfiguration Include="Release-MT|ARM64">
57
+ <Configuration>Release-MT</Configuration>
58
+ <Platform>ARM64</Platform>
59
+ </ProjectConfiguration>
60
+ <ProjectConfiguration Include="Release-MT|Win32">
61
+ <Configuration>Release-MT</Configuration>
62
+ <Platform>Win32</Platform>
63
+ </ProjectConfiguration>
64
+ <ProjectConfiguration Include="Release-MT|x64">
65
+ <Configuration>Release-MT</Configuration>
66
+ <Platform>x64</Platform>
67
+ </ProjectConfiguration>
68
+ </ItemGroup>
69
+ </Project>
@@ -0,0 +1,17 @@
1
+ $toolsets = "v120", "v140", "v141", "v142", "v143"
2
+ $platforms = "Win32", "x64", "ARM", "ARM64"
3
+ $configurations = "Debug", "Release"
4
+
5
+ foreach ($toolset in $toolsets) {
6
+ foreach ($plat in $platforms) {
7
+ if (("v120", "v140").contains($toolset) -and $plat -eq "ARM64") {
8
+ # VS2013,VS2015 don't support arm64
9
+ write-host ">>> PlatformToolset=$toolset,Platform=$plat SKIP"
10
+ continue
11
+ }
12
+ foreach ($conf in $configurations) {
13
+ write-host ">>> PlatformToolset=$toolset,Platform=$plat,Configuration=$conf"
14
+ msbuild -m -v:m -p:PlatformToolset=$toolset,Platform=$plat,Configuration=$conf $PSScriptRoot\libusb.sln
15
+ }
16
+ }
17
+ }
@@ -10,8 +10,8 @@
10
10
  #error "Visual Studio 2013 or later is required."
11
11
  #endif
12
12
 
13
- /* Visual Studio 2013 does not support __func__ */
14
- #if (_MSC_VER < 1900)
13
+ /* Visual Studio 2013 and 2015 do not support __func__ */
14
+ #if (_MSC_VER <= 1900)
15
15
  #define __func__ __FUNCTION__
16
16
  #endif
17
17
 
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="ProjectConfigurations.Base.props" />
4
+ <PropertyGroup Label="Globals">
5
+ <ProjectGuid>{8c7814a1-fd6e-4185-9ea0-8208119756d4}</ProjectGuid>
6
+ </PropertyGroup>
7
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
8
+ <Import Project="Configuration.Application.props" />
9
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
10
+ <ImportGroup Label="ExtensionSettings">
11
+ </ImportGroup>
12
+ <ImportGroup Label="PropertySheets">
13
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
14
+ <Import Project="Base.props" />
15
+ </ImportGroup>
16
+ <PropertyGroup Label="UserMacros" />
17
+ <ItemGroup>
18
+ <ClCompile Include="..\examples\dpfp.c" />
19
+ </ItemGroup>
20
+ <ItemGroup>
21
+ <ClInclude Include=".\config.h" />
22
+ <ClInclude Include="..\libusb\libusb.h" />
23
+ </ItemGroup>
24
+ <ItemGroup>
25
+ <ProjectReference Include=".\libusb_static.vcxproj">
26
+ <Project>{349ee8f9-7d25-4909-aaf5-ff3fade72187}</Project>
27
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
28
+ </ProjectReference>
29
+ </ItemGroup>
30
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
31
+ <ImportGroup Label="ExtensionTargets">
32
+ </ImportGroup>
33
+ </Project>
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="ProjectConfigurations.Base.props" />
4
+ <PropertyGroup Label="Globals">
5
+ <ProjectGuid>{8c7814a2-fd6e-4185-9ea0-8208119756d4}</ProjectGuid>
6
+ </PropertyGroup>
7
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
8
+ <Import Project="Configuration.Application.props" />
9
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
10
+ <ImportGroup Label="ExtensionSettings">
11
+ </ImportGroup>
12
+ <ImportGroup Label="PropertySheets">
13
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
14
+ <Import Project="Base.props" />
15
+ </ImportGroup>
16
+ <PropertyGroup Label="UserMacros" />
17
+ <ItemDefinitionGroup>
18
+ <ClCompile>
19
+ <PreprocessorDefinitions>DPFP_THREADED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
20
+ </ClCompile>
21
+ </ItemDefinitionGroup>
22
+ <ItemGroup>
23
+ <ClCompile Include="..\examples\dpfp.c" />
24
+ </ItemGroup>
25
+ <ItemGroup>
26
+ <ClInclude Include=".\config.h" />
27
+ <ClInclude Include="..\libusb\libusb.h" />
28
+ </ItemGroup>
29
+ <ItemGroup>
30
+ <ProjectReference Include=".\libusb_static.vcxproj">
31
+ <Project>{349ee8f9-7d25-4909-aaf5-ff3fade72187}</Project>
32
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
33
+ </ProjectReference>
34
+ </ItemGroup>
35
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
36
+ <ImportGroup Label="ExtensionTargets">
37
+ </ImportGroup>
38
+ </Project>
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="ProjectConfigurations.Base.props" />
4
+ <PropertyGroup Label="Globals">
5
+ <ProjectGuid>{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}</ProjectGuid>
6
+ </PropertyGroup>
7
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
8
+ <Import Project="Configuration.Application.props" />
9
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
10
+ <ImportGroup Label="ExtensionSettings">
11
+ </ImportGroup>
12
+ <ImportGroup Label="PropertySheets">
13
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
14
+ <Import Project="Base.props" />
15
+ </ImportGroup>
16
+ <PropertyGroup Label="UserMacros" />
17
+ <ItemDefinitionGroup>
18
+ <ClCompile>
19
+ <AdditionalIncludeDirectories>.\getopt;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
20
+ <PreprocessorDefinitions>__GNU_LIBRARY__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
21
+ </ClCompile>
22
+ </ItemDefinitionGroup>
23
+ <ItemGroup>
24
+ <ClCompile Include="..\examples\ezusb.c" />
25
+ <ClCompile Include="..\examples\fxload.c" />
26
+ </ItemGroup>
27
+ <ItemGroup>
28
+ <ClInclude Include=".\config.h" />
29
+ <ClInclude Include=".\getopt\getopt.h" />
30
+ <ClInclude Include="..\examples\ezusb.h" />
31
+ <ClInclude Include="..\libusb\libusb.h" />
32
+ </ItemGroup>
33
+ <ItemGroup>
34
+ <ProjectReference Include=".\getopt.vcxproj">
35
+ <Project>{ae83e1b4-ce06-47ee-b7a3-c3a1d7c2d71e}</Project>
36
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
37
+ </ProjectReference>
38
+ <ProjectReference Include=".\libusb_static.vcxproj">
39
+ <Project>{349ee8f9-7d25-4909-aaf5-ff3fade72187}</Project>
40
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
41
+ </ProjectReference>
42
+ </ItemGroup>
43
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
44
+ <ImportGroup Label="ExtensionTargets">
45
+ </ImportGroup>
46
+ </Project>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="ProjectConfigurations.Base.props" />
4
+ <PropertyGroup Label="Globals">
5
+ <ProjectGuid>{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}</ProjectGuid>
6
+ </PropertyGroup>
7
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
8
+ <Import Project="Configuration.StaticLibrary.props" />
9
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
10
+ <ImportGroup Label="ExtensionSettings">
11
+ </ImportGroup>
12
+ <ImportGroup Label="PropertySheets">
13
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
14
+ <Import Project="Base.props" />
15
+ </ImportGroup>
16
+ <PropertyGroup Label="UserMacros" />
17
+ <ItemDefinitionGroup>
18
+ <ClCompile>
19
+ <PreprocessorDefinitions>HAVE_STRING_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
20
+ <DisableSpecificWarnings>4100;4131;%(DisableSpecificWarnings)</DisableSpecificWarnings>
21
+ </ClCompile>
22
+ </ItemDefinitionGroup>
23
+ <ItemGroup>
24
+ <ClCompile Include=".\getopt\getopt.c" />
25
+ <ClCompile Include=".\getopt\getopt1.c" />
26
+ </ItemGroup>
27
+ <ItemGroup>
28
+ <ClInclude Include=".\getopt\getopt.h" />
29
+ </ItemGroup>
30
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
31
+ <ImportGroup Label="ExtensionTargets">
32
+ </ImportGroup>
33
+ </Project>
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="ProjectConfigurations.Base.props" />
4
+ <PropertyGroup Label="Globals">
5
+ <ProjectGuid>{99D2AC64-DC66-4422-91CE-6715C403C9E5}</ProjectGuid>
6
+ </PropertyGroup>
7
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
8
+ <Import Project="Configuration.Application.props" />
9
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
10
+ <ImportGroup Label="ExtensionSettings">
11
+ </ImportGroup>
12
+ <ImportGroup Label="PropertySheets">
13
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
14
+ <Import Project="Base.props" />
15
+ </ImportGroup>
16
+ <PropertyGroup Label="UserMacros" />
17
+ <ItemGroup>
18
+ <ClCompile Include="..\examples\hotplugtest.c" />
19
+ </ItemGroup>
20
+ <ItemGroup>
21
+ <ClInclude Include="..\libusb\libusb.h" />
22
+ </ItemGroup>
23
+ <ItemGroup>
24
+ <ProjectReference Include=".\libusb_static.vcxproj">
25
+ <Project>{349ee8f9-7d25-4909-aaf5-ff3fade72187}</Project>
26
+ <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
27
+ </ProjectReference>
28
+ </ItemGroup>
29
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
30
+ <ImportGroup Label="ExtensionTargets">
31
+ </ImportGroup>
32
+ </Project>