usb 2.17.0 → 3.0.0-alpha.2

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 (207) hide show
  1. package/LICENSE +18 -4
  2. package/README.md +25 -516
  3. package/dist/index.d.ts +67 -13
  4. package/dist/index.js +333 -64
  5. package/index.d.ts +89 -0
  6. package/index.js +583 -0
  7. package/package.json +53 -33
  8. package/CHANGELOG.md +0 -294
  9. package/binding.gyp +0 -128
  10. package/dist/index.js.map +0 -1
  11. package/dist/usb/bindings.d.ts +0 -266
  12. package/dist/usb/bindings.js +0 -10
  13. package/dist/usb/bindings.js.map +0 -1
  14. package/dist/usb/capability.d.ts +0 -13
  15. package/dist/usb/capability.js +0 -17
  16. package/dist/usb/capability.js.map +0 -1
  17. package/dist/usb/descriptors.d.ts +0 -128
  18. package/dist/usb/descriptors.js +0 -3
  19. package/dist/usb/descriptors.js.map +0 -1
  20. package/dist/usb/device.d.ts +0 -100
  21. package/dist/usb/device.js +0 -297
  22. package/dist/usb/device.js.map +0 -1
  23. package/dist/usb/endpoint.d.ts +0 -94
  24. package/dist/usb/endpoint.js +0 -219
  25. package/dist/usb/endpoint.js.map +0 -1
  26. package/dist/usb/index.d.ts +0 -31
  27. package/dist/usb/index.js +0 -116
  28. package/dist/usb/index.js.map +0 -1
  29. package/dist/usb/interface.d.ts +0 -80
  30. package/dist/usb/interface.js +0 -133
  31. package/dist/usb/interface.js.map +0 -1
  32. package/dist/webusb/index.d.ts +0 -64
  33. package/dist/webusb/index.js +0 -295
  34. package/dist/webusb/index.js.map +0 -1
  35. package/dist/webusb/webusb-device.d.ts +0 -54
  36. package/dist/webusb/webusb-device.js +0 -434
  37. package/dist/webusb/webusb-device.js.map +0 -1
  38. package/libusb/.clang-tidy +0 -34
  39. package/libusb/.codespellrc +0 -3
  40. package/libusb/.private/README.txt +0 -5
  41. package/libusb/.private/appveyor_build.sh +0 -26
  42. package/libusb/.private/bm.sh +0 -54
  43. package/libusb/.private/ci-build.sh +0 -92
  44. package/libusb/.private/ci-container-build.sh +0 -67
  45. package/libusb/.private/post-rewrite.sh +0 -32
  46. package/libusb/.private/pre-commit.sh +0 -52
  47. package/libusb/.private/wbs.txt +0 -43
  48. package/libusb/.travis.yml +0 -58
  49. package/libusb/AUTHORS +0 -231
  50. package/libusb/COPYING +0 -504
  51. package/libusb/ChangeLog +0 -365
  52. package/libusb/HACKING +0 -25
  53. package/libusb/INSTALL_WIN.txt +0 -52
  54. package/libusb/KEYS +0 -123
  55. package/libusb/Makefile.am +0 -50
  56. package/libusb/NEWS +0 -2
  57. package/libusb/PORTING +0 -94
  58. package/libusb/README +0 -29
  59. package/libusb/README.git +0 -41
  60. package/libusb/TODO +0 -2
  61. package/libusb/Xcode/common.xcconfig +0 -92
  62. package/libusb/Xcode/config.h +0 -31
  63. package/libusb/Xcode/debug.xcconfig +0 -32
  64. package/libusb/Xcode/libusb.xcconfig +0 -21
  65. package/libusb/Xcode/libusb.xcodeproj/project.pbxproj +0 -1391
  66. package/libusb/Xcode/libusb_debug.xcconfig +0 -21
  67. package/libusb/Xcode/libusb_release.xcconfig +0 -21
  68. package/libusb/Xcode/release.xcconfig +0 -30
  69. package/libusb/android/README +0 -152
  70. package/libusb/android/config.h +0 -55
  71. package/libusb/android/examples/unrooted_android.c +0 -301
  72. package/libusb/android/examples/unrooted_android.h +0 -36
  73. package/libusb/android/jni/Android.mk +0 -23
  74. package/libusb/android/jni/Application.mk +0 -40
  75. package/libusb/android/jni/examples.mk +0 -168
  76. package/libusb/android/jni/libusb.mk +0 -60
  77. package/libusb/android/jni/tests.mk +0 -45
  78. package/libusb/appveyor.yml +0 -108
  79. package/libusb/autogen.sh +0 -10
  80. package/libusb/bootstrap.sh +0 -10
  81. package/libusb/configure.ac +0 -450
  82. package/libusb/doc/Makefile.in +0 -22
  83. package/libusb/doc/doxygen.cfg.in +0 -2571
  84. package/libusb/doc/libusb.png +0 -0
  85. package/libusb/examples/Makefile.am +0 -12
  86. package/libusb/examples/dpfp.c +0 -711
  87. package/libusb/examples/ezusb.c +0 -846
  88. package/libusb/examples/ezusb.h +0 -109
  89. package/libusb/examples/fxload.c +0 -310
  90. package/libusb/examples/hotplugtest.c +0 -147
  91. package/libusb/examples/listdevs.c +0 -73
  92. package/libusb/examples/sam3u_benchmark.c +0 -228
  93. package/libusb/examples/testlibusb.c +0 -312
  94. package/libusb/examples/xusb.c +0 -1254
  95. package/libusb/libusb/Makefile.am +0 -98
  96. package/libusb/libusb/Makefile.am.extra +0 -26
  97. package/libusb/libusb/core.c +0 -2925
  98. package/libusb/libusb/descriptor.c +0 -1558
  99. package/libusb/libusb/hotplug.c +0 -489
  100. package/libusb/libusb/io.c +0 -2865
  101. package/libusb/libusb/libusb-1.0.def +0 -199
  102. package/libusb/libusb/libusb-1.0.rc +0 -53
  103. package/libusb/libusb/libusb.h +0 -2421
  104. package/libusb/libusb/libusbi.h +0 -1535
  105. package/libusb/libusb/os/darwin_usb.c +0 -2977
  106. package/libusb/libusb/os/darwin_usb.h +0 -156
  107. package/libusb/libusb/os/emscripten_webusb.cpp +0 -875
  108. package/libusb/libusb/os/events_posix.c +0 -340
  109. package/libusb/libusb/os/events_posix.h +0 -62
  110. package/libusb/libusb/os/events_windows.c +0 -214
  111. package/libusb/libusb/os/events_windows.h +0 -46
  112. package/libusb/libusb/os/haiku_pollfs.cpp +0 -372
  113. package/libusb/libusb/os/haiku_usb.h +0 -113
  114. package/libusb/libusb/os/haiku_usb_backend.cpp +0 -532
  115. package/libusb/libusb/os/haiku_usb_raw.cpp +0 -231
  116. package/libusb/libusb/os/haiku_usb_raw.h +0 -188
  117. package/libusb/libusb/os/linux_netlink.c +0 -401
  118. package/libusb/libusb/os/linux_udev.c +0 -321
  119. package/libusb/libusb/os/linux_usbfs.c +0 -2829
  120. package/libusb/libusb/os/linux_usbfs.h +0 -221
  121. package/libusb/libusb/os/netbsd_usb.c +0 -617
  122. package/libusb/libusb/os/null_usb.c +0 -111
  123. package/libusb/libusb/os/openbsd_usb.c +0 -700
  124. package/libusb/libusb/os/sunos_usb.c +0 -1619
  125. package/libusb/libusb/os/sunos_usb.h +0 -79
  126. package/libusb/libusb/os/threads_posix.c +0 -126
  127. package/libusb/libusb/os/threads_posix.h +0 -98
  128. package/libusb/libusb/os/threads_windows.c +0 -40
  129. package/libusb/libusb/os/threads_windows.h +0 -113
  130. package/libusb/libusb/os/windows_common.c +0 -923
  131. package/libusb/libusb/os/windows_common.h +0 -424
  132. package/libusb/libusb/os/windows_usbdk.c +0 -724
  133. package/libusb/libusb/os/windows_usbdk.h +0 -106
  134. package/libusb/libusb/os/windows_winusb.c +0 -4766
  135. package/libusb/libusb/os/windows_winusb.h +0 -787
  136. package/libusb/libusb/strerror.c +0 -223
  137. package/libusb/libusb/sync.c +0 -342
  138. package/libusb/libusb/version.h +0 -18
  139. package/libusb/libusb/version_nano.h +0 -1
  140. package/libusb/libusb-1.0.pc.in +0 -11
  141. package/libusb/msvc/Base.props +0 -60
  142. package/libusb/msvc/Configuration.Application.props +0 -7
  143. package/libusb/msvc/Configuration.Base.props +0 -47
  144. package/libusb/msvc/Configuration.DynamicLibrary.props +0 -21
  145. package/libusb/msvc/Configuration.StaticLibrary.props +0 -7
  146. package/libusb/msvc/ProjectConfigurations.Base.props +0 -69
  147. package/libusb/msvc/build_all.ps1 +0 -17
  148. package/libusb/msvc/config.h +0 -58
  149. package/libusb/msvc/dpfp.vcxproj +0 -33
  150. package/libusb/msvc/dpfp_threaded.vcxproj +0 -38
  151. package/libusb/msvc/fxload.vcxproj +0 -46
  152. package/libusb/msvc/getopt/getopt.c +0 -1060
  153. package/libusb/msvc/getopt/getopt.h +0 -180
  154. package/libusb/msvc/getopt/getopt1.c +0 -188
  155. package/libusb/msvc/getopt.vcxproj +0 -33
  156. package/libusb/msvc/hotplugtest.vcxproj +0 -32
  157. package/libusb/msvc/init_context.vcxproj +0 -35
  158. package/libusb/msvc/libusb.sln +0 -542
  159. package/libusb/msvc/libusb_dll.vcxproj +0 -61
  160. package/libusb/msvc/libusb_static.vcxproj +0 -49
  161. package/libusb/msvc/listdevs.vcxproj +0 -32
  162. package/libusb/msvc/sam3u_benchmark.vcxproj +0 -33
  163. package/libusb/msvc/set_option.vcxproj +0 -35
  164. package/libusb/msvc/stress.vcxproj +0 -35
  165. package/libusb/msvc/stress_mt.vcxproj +0 -33
  166. package/libusb/msvc/testlibusb.vcxproj +0 -32
  167. package/libusb/msvc/xusb.vcxproj +0 -38
  168. package/libusb/tests/Makefile.am +0 -40
  169. package/libusb/tests/init_context.c +0 -153
  170. package/libusb/tests/libusb_testlib.h +0 -76
  171. package/libusb/tests/macos.c +0 -130
  172. package/libusb/tests/set_option.c +0 -253
  173. package/libusb/tests/stress.c +0 -172
  174. package/libusb/tests/stress_mt.c +0 -267
  175. package/libusb/tests/testlib.c +0 -184
  176. package/libusb/tests/umockdev.c +0 -1175
  177. package/libusb/tests/webusb-test-shim/index.js +0 -12
  178. package/libusb/tests/webusb-test-shim/package-lock.json +0 -50
  179. package/libusb/tests/webusb-test-shim/package.json +0 -10
  180. package/libusb.gypi +0 -154
  181. package/libusb_config/config.h +0 -1
  182. package/prebuilds/android-arm/node.napi.armv7.node +0 -0
  183. package/prebuilds/android-arm64/node.napi.armv8.node +0 -0
  184. package/prebuilds/darwin-x64+arm64/node.napi.node +0 -0
  185. package/prebuilds/linux-arm/node.napi.armv6.node +0 -0
  186. package/prebuilds/linux-arm/node.napi.armv7.node +0 -0
  187. package/prebuilds/linux-arm64/node.napi.armv8.node +0 -0
  188. package/prebuilds/linux-ia32/node.napi.node +0 -0
  189. package/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  190. package/prebuilds/linux-x64/node.napi.musl.node +0 -0
  191. package/prebuilds/win32-arm64/node.napi.node +0 -0
  192. package/prebuilds/win32-ia32/node.napi.node +0 -0
  193. package/prebuilds/win32-x64/node.napi.node +0 -0
  194. package/src/device.cc +0 -439
  195. package/src/helpers.h +0 -64
  196. package/src/hotplug/hotplug.h +0 -22
  197. package/src/hotplug/libusb.cc +0 -90
  198. package/src/hotplug/windows.cc +0 -168
  199. package/src/node_usb.cc +0 -314
  200. package/src/node_usb.h +0 -131
  201. package/src/thread_name.cc +0 -79
  202. package/src/thread_name.h +0 -11
  203. package/src/transfer.cc +0 -143
  204. package/src/uv_async_queue.h +0 -41
  205. package/test/usb.coffee +0 -250
  206. package/test/webusb.coffee +0 -227
  207. package/test/worker.cjs +0 -13
@@ -1,221 +0,0 @@
1
- /*
2
- * usbfs header structures
3
- * Copyright © 2007 Daniel Drake <dsd@gentoo.org>
4
- * Copyright © 2001 Johannes Erdfelt <johannes@erdfelt.com>
5
- *
6
- * This library is free software; you can redistribute it and/or
7
- * modify it under the terms of the GNU Lesser General Public
8
- * License as published by the Free Software Foundation; either
9
- * version 2.1 of the License, or (at your option) any later version.
10
- *
11
- * This library is distributed in the hope that it will be useful,
12
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
- * Lesser General Public License for more details.
15
- *
16
- * You should have received a copy of the GNU Lesser General Public
17
- * License along with this library; if not, write to the Free Software
18
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
- */
20
-
21
- #ifndef LIBUSB_USBFS_H
22
- #define LIBUSB_USBFS_H
23
-
24
- #include <linux/magic.h>
25
- #include <linux/types.h>
26
-
27
- #define SYSFS_MOUNT_PATH "/sys"
28
- #define SYSFS_DEVICE_PATH SYSFS_MOUNT_PATH "/bus/usb/devices"
29
-
30
- struct usbfs_ctrltransfer {
31
- /* keep in sync with usbdevice_fs.h:usbdevfs_ctrltransfer */
32
- __u8 bmRequestType;
33
- __u8 bRequest;
34
- __u16 wValue;
35
- __u16 wIndex;
36
- __u16 wLength;
37
- __u32 timeout; /* in milliseconds */
38
-
39
- /* pointer to data */
40
- void *data;
41
- };
42
-
43
- struct usbfs_setinterface {
44
- /* keep in sync with usbdevice_fs.h:usbdevfs_setinterface */
45
- unsigned int interface;
46
- unsigned int altsetting;
47
- };
48
-
49
- #define USBFS_MAXDRIVERNAME 255
50
-
51
- struct usbfs_getdriver {
52
- unsigned int interface;
53
- char driver[USBFS_MAXDRIVERNAME + 1];
54
- };
55
-
56
- #define USBFS_URB_SHORT_NOT_OK 0x01
57
- #define USBFS_URB_ISO_ASAP 0x02
58
- #define USBFS_URB_BULK_CONTINUATION 0x04
59
- #define USBFS_URB_QUEUE_BULK 0x10
60
- #define USBFS_URB_ZERO_PACKET 0x40
61
-
62
- #define USBFS_URB_TYPE_ISO 0
63
- #define USBFS_URB_TYPE_INTERRUPT 1
64
- #define USBFS_URB_TYPE_CONTROL 2
65
- #define USBFS_URB_TYPE_BULK 3
66
-
67
- struct usbfs_iso_packet_desc {
68
- unsigned int length;
69
- unsigned int actual_length;
70
- unsigned int status;
71
- };
72
-
73
- #define MAX_BULK_BUFFER_LENGTH 16384
74
- #define MAX_CTRL_BUFFER_LENGTH 4096
75
-
76
- #define MAX_ISO_PACKETS_PER_URB 128
77
-
78
- struct usbfs_urb {
79
- unsigned char type;
80
- unsigned char endpoint;
81
- int status;
82
- unsigned int flags;
83
- void *buffer;
84
- int buffer_length;
85
- int actual_length;
86
- int start_frame;
87
- union {
88
- int number_of_packets; /* Only used for isoc urbs */
89
- unsigned int stream_id; /* Only used with bulk streams */
90
- };
91
- int error_count;
92
- unsigned int signr;
93
- void *usercontext;
94
- struct usbfs_iso_packet_desc iso_frame_desc[0];
95
- };
96
-
97
- struct usbfs_connectinfo {
98
- unsigned int devnum;
99
- unsigned char slow;
100
- };
101
-
102
- struct usbfs_ioctl {
103
- int ifno; /* interface 0..N ; negative numbers reserved */
104
- int ioctl_code; /* MUST encode size + direction of data so the
105
- * macros in <asm/ioctl.h> give correct values */
106
- void *data; /* param buffer (in, or out) */
107
- };
108
-
109
- #define USBFS_CAP_ZERO_PACKET 0x01
110
- #define USBFS_CAP_BULK_CONTINUATION 0x02
111
- #define USBFS_CAP_NO_PACKET_SIZE_LIM 0x04
112
- #define USBFS_CAP_BULK_SCATTER_GATHER 0x08
113
- #define USBFS_CAP_REAP_AFTER_DISCONNECT 0x10
114
-
115
- #define USBFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
116
- #define USBFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
117
-
118
- struct usbfs_disconnect_claim {
119
- unsigned int interface;
120
- unsigned int flags;
121
- char driver[USBFS_MAXDRIVERNAME + 1];
122
- };
123
-
124
- struct usbfs_streams {
125
- unsigned int num_streams; /* Not used by USBDEVFS_FREE_STREAMS */
126
- unsigned int num_eps;
127
- unsigned char eps[0];
128
- };
129
-
130
- #define USBFS_SPEED_UNKNOWN 0
131
- #define USBFS_SPEED_LOW 1
132
- #define USBFS_SPEED_FULL 2
133
- #define USBFS_SPEED_HIGH 3
134
- #define USBFS_SPEED_WIRELESS 4
135
- #define USBFS_SPEED_SUPER 5
136
- #define USBFS_SPEED_SUPER_PLUS 6
137
-
138
- #define IOCTL_USBFS_CONTROL _IOWR('U', 0, struct usbfs_ctrltransfer)
139
- #define IOCTL_USBFS_SETINTERFACE _IOR('U', 4, struct usbfs_setinterface)
140
- #define IOCTL_USBFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
141
- #define IOCTL_USBFS_GETDRIVER _IOW('U', 8, struct usbfs_getdriver)
142
- #define IOCTL_USBFS_SUBMITURB _IOR('U', 10, struct usbfs_urb)
143
- #define IOCTL_USBFS_DISCARDURB _IO('U', 11)
144
- #define IOCTL_USBFS_REAPURBNDELAY _IOW('U', 13, void *)
145
- #define IOCTL_USBFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
146
- #define IOCTL_USBFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
147
- #define IOCTL_USBFS_CONNECTINFO _IOW('U', 17, struct usbfs_connectinfo)
148
- #define IOCTL_USBFS_IOCTL _IOWR('U', 18, struct usbfs_ioctl)
149
- #define IOCTL_USBFS_RESET _IO('U', 20)
150
- #define IOCTL_USBFS_CLEAR_HALT _IOR('U', 21, unsigned int)
151
- #define IOCTL_USBFS_DISCONNECT _IO('U', 22)
152
- #define IOCTL_USBFS_CONNECT _IO('U', 23)
153
- #define IOCTL_USBFS_GET_CAPABILITIES _IOR('U', 26, __u32)
154
- #define IOCTL_USBFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbfs_disconnect_claim)
155
- #define IOCTL_USBFS_ALLOC_STREAMS _IOR('U', 28, struct usbfs_streams)
156
- #define IOCTL_USBFS_FREE_STREAMS _IOR('U', 29, struct usbfs_streams)
157
- #define IOCTL_USBFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
158
- #define IOCTL_USBFS_GET_SPEED _IO('U', 31)
159
-
160
- extern usbi_mutex_static_t linux_hotplug_lock;
161
-
162
- #ifdef HAVE_LIBUDEV
163
- int linux_udev_start_event_monitor(void);
164
- int linux_udev_stop_event_monitor(void);
165
- int linux_udev_scan_devices(struct libusb_context *ctx);
166
- void linux_udev_hotplug_poll(void);
167
- #else
168
- int linux_netlink_start_event_monitor(void);
169
- int linux_netlink_stop_event_monitor(void);
170
- void linux_netlink_hotplug_poll(void);
171
- #endif
172
-
173
- static inline int linux_start_event_monitor(void)
174
- {
175
- #if defined(HAVE_LIBUDEV)
176
- return linux_udev_start_event_monitor();
177
- /*
178
- * __ANDROID__: preprocessor macro defined automatically by GCC for all Android
179
- * targets (i.e. both Android native applications, and Android OS-level
180
- * services)
181
- *
182
- * ANDROID_OS: compilation flag that should be set for using libusb from programs
183
- * running on Android at OS level (e.g. Android platform services).
184
- * The programs using libusb built with the ANDROID_OS flag must have
185
- * permission to access netlink sockets.
186
- */
187
- #elif !defined(__ANDROID__) || defined(ANDROID_OS)
188
- return linux_netlink_start_event_monitor();
189
- #else
190
- return LIBUSB_SUCCESS;
191
- #endif
192
- }
193
-
194
- static inline void linux_stop_event_monitor(void)
195
- {
196
- #if defined(HAVE_LIBUDEV)
197
- linux_udev_stop_event_monitor();
198
- #elif !defined(__ANDROID__) || defined(ANDROID_OS)
199
- linux_netlink_stop_event_monitor();
200
- #endif
201
- }
202
-
203
- static inline void linux_hotplug_poll(void)
204
- {
205
- #if defined(HAVE_LIBUDEV)
206
- linux_udev_hotplug_poll();
207
- #elif !defined(__ANDROID__) || defined(ANDROID_OS)
208
- linux_netlink_hotplug_poll();
209
- #endif
210
- }
211
-
212
- void linux_hotplug_enumerate(uint8_t busnum, uint8_t devaddr, const char *sys_name);
213
- void linux_device_disconnected(uint8_t busnum, uint8_t devaddr);
214
-
215
- int linux_get_device_address(struct libusb_context *ctx, int detached,
216
- uint8_t *busnum, uint8_t *devaddr, const char *dev_node,
217
- const char *sys_name, int fd);
218
- int linux_enumerate_device(struct libusb_context *ctx,
219
- uint8_t busnum, uint8_t devaddr, const char *sysfs_dir);
220
-
221
- #endif