Expand description
USB protocol implementations
This module provides virtual USB device protocols using USB/IP. Each is its
own Cargo feature, and each enables the shared usb-common feature that
gates common (USB constant tables) and descriptors (descriptor builders):
- usb-keyboard: HID Keyboard device
- usb-mouse: HID Mouse device
- usb-serial: CDC ACM Serial device
- usb-msc: Mass Storage Class device (flash drive/disk)
- usb-fido2: FIDO2/U2F Security Key device
- usb-smartcard: Smart Card (CCID) device over USB/IP (no external daemon)
The separate usb feature is the USB client (nusb) in src/client/usb,
not a server, and does not build anything in this module.
Re-exports§
pub use keyboard::UsbKeyboardProtocol;pub use mouse::UsbMouseProtocol;pub use serial::actions::UsbSerialProtocol;pub use msc::UsbMscProtocol;pub use fido2::actions::UsbFido2Protocol;pub use smartcard::actions::UsbSmartCardProtocol;
Modules§
- common
- USB constant tables shared across the USB device protocols
- descriptors
- USB descriptor builders for various device types
- fido2
- USB FIDO2/U2F Security Key server implementation
- guard
- The USB/IP message screen every USB server runs the
usbipcrate behind. A USB/IP message screen that sits between the network and theusbipcrate. - keyboard
- USB HID Keyboard server implementation
- mouse
- USB HID Mouse server implementation
- msc
- USB Mass Storage Class (MSC) server implementation
- serial
- USB CDC ACM Serial server implementation.
- smartcard
- USB Smart Card (CCID) server — a virtual chip card interface device over USB/IP.