Commit graph

42 commits

Author SHA1 Message Date
Kevin Mehall
38e85c88dc Update dev-dependencies 2025-06-15 13:36:20 -06:00
Kevin Mehall
b1cc46e918 Add EndpointRead and EndpointWrite 2025-06-15 12:52:41 -06:00
Kevin Mehall
3ee0e22f81 Actually remove atomic-waker dependency 2025-05-26 12:51:39 -06:00
Kevin Mehall
4edb4a47ca v0.2-beta.1 2025-05-25 12:57:52 -06:00
Kevin Mehall
992fd16078 Expose buffer instead of transfer 2025-04-20 17:01:36 -06:00
Kevin Mehall
ef82f2c7f1 Redesign transfer / endpoint API 2025-04-12 13:47:19 -06:00
Kevin Mehall
38189baf5c cargo features for smol and tokio blocking executors 2025-04-12 13:29:17 -06:00
Kevin Mehall
413093e181 Bump MSRV to 1.79
The associated type bounds feature, stabilized in 1.79 allows adding
an implied Send bound on all IntoFuture types used with MaybeFuture,
so every function doesn't have to be marked as Send.

This is going to be especially useful with wasm, because it allows the
Send bound to be turned on and off in one place.
2025-04-09 08:23:09 -06:00
Kevin Mehall
f0a2e8c5a7 linux: use ioctl numbers from linux_raw_sys 2025-03-08 12:11:09 -07:00
Kevin Mehall
0e145f89a6 Switch to rustix for netlink bind/recvfrom 2025-03-07 22:42:44 -07:00
Kevin Mehall
d49490ce6a Update Rustix to 1.0 2025-03-07 22:39:46 -07:00
Kevin Mehall
03ffa4b36c Update windows-sys
Co-authored-by: Erkki Silvola <eki833@gmail.com>
2025-02-15 14:47:30 -07:00
Kevin Mehall
14a8f171e5
Make blocking APIs optionally async (#100)
* Make blocking APIs optionally async

`DeviceInfo::open`, `Device::from_fd`, `Device::set_configuration`,
`Device::reset`, `Interface::set_alt_setting`, `Interface::clear_halt`
all perform IO but are currently blocking because the underlying OS APIs
are blocking.

`list_devices`,`list_buses`, `Device::claim_interface`
`Device::detach_and_claim_interface` theoretically don't perform IO, but
are also included here because they need to be async on WebUSB.

The `MaybeFuture` trait allows deferring these actions to the thread pool
from the `blocking` crate when used asynchronously with `.await` /
`IntoFuture`, or directly runs the blocking syscall synchronously with a
`.wait()` method.
2025-02-11 18:53:07 -07:00
Kevin Mehall
b167c7e744 Breaking changes on main, set version to 0.2.0-beta 2024-12-27 12:47:00 -07:00
Troy Neubauer
81d6650e0a cleanup 2024-09-07 20:54:45 -07:00
Troy Neubauer
76fc011d1c wip 2024-09-07 12:49:05 -07:00
Troy Neubauer
94e8a71964 add cfgs 2024-09-05 06:40:02 +00:00
Kevin Mehall
5fc9678e8e Increase MSRV to 1.67 for Result::inspect_err 2024-08-03 18:57:42 -06:00
Kevin Mehall
70f7c22870 linux: hotplug: Use libc for now, because rustix hasn't merged my PR 2024-07-28 18:32:39 -06:00
Kevin Mehall
cecdf88c86 linux: hotplug 2024-07-28 18:32:39 -06:00
Kevin Mehall
15af931665 windows: Hotplug 2024-07-28 14:45:03 -06:00
Kevin Mehall
58b5b583f7 rust 1.80: ignore warning for cfg(fuzzing) 2024-07-28 13:58:39 -06:00
Kevin Mehall
e47fbf3ac6 v0.1.10 2024-07-27 14:44:15 -06:00
Martin Ling
cceb4bc9cb Declare minimum supported rust version as 1.74.
This minimum is imposed by the use of OsStr::as_encoded_bytes in
platform/linux_usbfs/enumeration.rs.
2024-07-03 16:01:30 +01:00
Kevin Mehall
38aee4a698 v0.1.9 2024-04-28 18:16:57 -06:00
Kevin Mehall
3a7bfe097b v0.1.8 2024-04-21 11:11:49 -06:00
Kevin Mehall
3b6e5cdbcc v0.1.7 2024-03-03 15:01:10 -07:00
Kevin Mehall
6668fa1f21 v0.1.6 2024-02-01 22:56:29 -07:00
Kevin Mehall
5267b74482 v0.1.5 2024-01-30 20:57:46 -07:00
Kevin Mehall
ac9ab80636 v0.1.4 2024-01-15 14:20:49 -07:00
Kevin Mehall
38db907058 v0.1.3 2023-12-27 10:34:03 -07:00
James Wainwright
01f8ca78fe Move futures-lite to dev-dependencies
This dependency is only used by `examples/`. Moving it to
`dev-dependencies` prevents it from being propagated to users of the
library.
2023-12-20 20:27:42 +00:00
Kevin Mehall
54759b7dce 0.1.2 2023-12-05 22:31:02 -07:00
Kevin
d75a640d3e macos: Implement transfers
Includes code from ktemkin's `usrs` at commit 1800f8739c9fae47be13703525a7329dffe3891f
2023-11-18 20:11:58 -07:00
Kevin
aaf018f9f9 macos: Initial stubs 2023-11-18 20:11:58 -07:00
Kevin Mehall
29f092b53b 0.1.1 2023-11-07 21:32:07 -07:00
Kevin Mehall
99dec9729d Pre-release docs tweaks 2023-10-08 15:36:06 -06:00
Kevin Mehall
d4f322fe18 windows: implement transfers 2023-10-07 11:06:01 -06:00
Kevin Mehall
5de605874e windows: enumeration 2023-10-05 22:37:38 -06:00
Kevin Mehall
80eab4c60d Update to released rustix 2023-10-05 19:35:31 -06:00
Kevin Mehall
1cd8c2c935 A little bit of documentation 2023-10-01 12:20:30 -06:00
Kevin Mehall
85551a9779 Initial commit: bulk transfers on Linux usbfs 2023-09-30 16:51:13 -06:00