nusb 0.2.6

Cross-platform low-level access to USB devices in pure Rust
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.85"
name = "nusb"
version = "0.2.6"
authors = ["Kevin Mehall <km@kevinmehall.net>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform low-level access to USB devices in pure Rust"
readme = "README.md"
keywords = [
    "usb",
    "hardware",
]
categories = ["hardware-support"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/kevinmehall/nusb"

[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
smol = [
    "dep:blocking",
    "dep:futures-io",
]
tokio = ["dep:tokio"]

[lib]
name = "nusb"
path = "src/lib.rs"

[[example]]
name = "bulk"
path = "examples/bulk.rs"

[[example]]
name = "bulk_io"
path = "examples/bulk_io.rs"

[[example]]
name = "bulk_io_smol"
path = "examples/bulk_io_smol.rs"
required-features = ["smol"]

[[example]]
name = "bulk_io_tokio"
path = "examples/bulk_io_tokio.rs"
required-features = ["tokio"]

[[example]]
name = "buses"
path = "examples/buses.rs"

[[example]]
name = "control"
path = "examples/control.rs"

[[example]]
name = "descriptors"
path = "examples/descriptors.rs"

[[example]]
name = "detach"
path = "examples/detach.rs"

[[example]]
name = "detach_claim"
path = "examples/detach_claim.rs"

[[example]]
name = "hotplug"
path = "examples/hotplug.rs"

[[example]]
name = "list"
path = "examples/list.rs"

[[example]]
name = "string_descriptors"
path = "examples/string_descriptors.rs"

[dependencies.futures-core]
version = "0.3.29"

[dependencies.futures-io]
version = "0.3"
optional = true

[dependencies.log]
version = "0.4.20"

[dependencies.once_cell]
version = "1.18.0"

[dependencies.slab]
version = "0.4.9"

[dependencies.tokio]
version = "1"
features = ["rt"]
optional = true

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.futures-lite]
version = "2.0"

[dev-dependencies.tokio]
version = "1.11"
features = [
    "rt",
    "macros",
    "io-util",
    "rt-multi-thread",
]

[target.'cfg(any(target_os="linux", target_os="android"))'.dependencies.linux-raw-sys]
version = ">= 0.11, <= 0.12"
features = ["ioctl"]

[target.'cfg(any(target_os="linux", target_os="android"))'.dependencies.rustix]
version = "1.0.1"
features = [
    "fs",
    "event",
    "net",
    "time",
    "mm",
]

[target.'cfg(any(target_os="linux", target_os="android", target_os="windows", target_os="macos"))'.dependencies.blocking]
version = "1.6.1"
optional = true

[target.'cfg(target_arch="wasm32")'.dependencies.js-sys]
version = "0.3"

[target.'cfg(target_arch="wasm32")'.dependencies.wasm-bindgen]
version = "0.2"

[target.'cfg(target_arch="wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"

[target.'cfg(target_arch="wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
    "Document",
    "Window",
    "Navigator",
    "Usb",
    "UsbDevice",
    "UsbDeviceFilter",
    "UsbDeviceRequestOptions",
    "UsbConfiguration",
    "UsbInterface",
    "UsbAlternateInterface",
    "UsbControlTransferParameters",
    "UsbRequestType",
    "UsbRecipient",
    "UsbInTransferResult",
    "UsbTransferStatus",
    "UsbOutTransferResult",
    "UsbDirection",
    "UsbConnectionEvent",
    "WorkerGlobalScope",
    "WorkerNavigator",
]

[target.'cfg(target_os="macos")'.dependencies.core-foundation]
version = "0.10.1"

[target.'cfg(target_os="macos")'.dependencies.core-foundation-sys]
version = "0.8.4"

[target.'cfg(target_os="macos")'.dependencies.io-kit-sys]
version = "0.5.0"

[target.'cfg(target_os="windows")'.dependencies.windows-sys]
version = ">= 0.60, <= 0.61"
features = [
    "Win32_Devices_Usb",
    "Win32_Devices_DeviceAndDriverInstallation",
    "Win32_Foundation",
    "Win32_Devices_Properties",
    "Win32_Storage_FileSystem",
    "Win32_Security",
    "Win32_System_IO",
    "Win32_System_Registry",
    "Win32_System_Threading",
    "Win32_System_Com",
]

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(fuzzing)"]