// Copyright 2019 The ChromiumOS Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //! USB device access and descriptor manipulation. mod descriptor; #[cfg(any(target_os = "android", target_os = "linux"))] mod device; mod error; mod types; pub use self::descriptor::parse_usbfs_descriptors; pub use self::descriptor::ConfigDescriptorTree; pub use self::descriptor::DeviceDescriptorTree; pub use self::descriptor::InterfaceDescriptorTree; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::Device; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::DmaBuffer; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::Transfer; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::TransferBuffer; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::TransferHandle; #[cfg(any(target_os = "android", target_os = "linux"))] pub use self::device::TransferStatus; pub use self::error::Error; pub use self::error::Result; pub use self::types::control_request_type; pub use self::types::ConfigDescriptor; pub use self::types::ControlRequestDataPhaseTransferDirection; pub use self::types::ControlRequestRecipient; pub use self::types::ControlRequestType; pub use self::types::DescriptorHeader; pub use self::types::DescriptorType; pub use self::types::DeviceDescriptor; pub use self::types::DeviceSpeed; pub use self::types::EndpointDescriptor; pub use self::types::EndpointDirection; pub use self::types::EndpointType; pub use self::types::InterfaceDescriptor; pub use self::types::StandardControlRequest; pub use self::types::UsbRequestSetup; pub use self::types::ENDPOINT_DIRECTION_OFFSET;