Skip to main content

Module usb

Module usb 

Source
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 usbip crate behind. A USB/IP message screen that sits between the network and the usbip crate.
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.