yubihsm 0.26.0

Pure Rust client for YubiHSM2 devices with support for HTTP and USB-based access to the device. Supports most HSM functionality including ECDSA, Ed25519, HMAC, and RSA.
Documentation
//! USB-related macros

/// Write consistent `debug!(...) lines for `UsbConnection`
macro_rules! usb_debug {
    ($device:expr, $msg:expr) => {
        debug!(
            concat!("USB(bus={},addr={}): ", $msg),
            $device.bus_number(),
            $device.address(),
        );
    };
    ($device:expr, $fmt:expr, $($arg:tt)+) => {
        debug!(
            concat!("USB(bus={},addr={}): ", $fmt),
            $device.bus_number(),
            $device.address(),
            $($arg)+
        );
    };
}

/// Create `UsbError`s that include bus and address information
macro_rules! usb_err {
    ($device:expr, $msg:expr) => {
        err!(
            UsbError,
            "USB(bus={},addr={}): {}",
            $device.bus_number(),
            $device.address(),
            $msg
        );
    };
    ($device:expr, $fmt:expr, $($arg:tt)+) => {
        err!(
            UsbError,
            concat!("USB(bus={},addr={}): ", $fmt),
            $device.bus_number(),
            $device.address(),
            $($arg)+
        );
    };
}