pub struct DeviceDescriptor {
pub usb_release: u16,
pub class: u8,
pub subclass: u8,
pub protocol: u8,
pub max_packet_size_ep0: u8,
pub vendor_id: u16,
pub product_id: u16,
pub device_release: u16,
pub manufacturer_string: u8,
pub product_string: u8,
pub serial_number_string: u8,
pub num_configurations: u8,
}
Fields§
§usb_release: u16
Valid values include 0x0100 (USB1.0), 0x0110 (USB1.1) and 0x0200 (USB2.0)
class: u8
0x00 means each interface defines its own class. 0xFF means the class behavior is defined by the vendor. All other values have meaning assigned by USB-IF
subclass: u8
Assigned by USB-IF if class
is
protocol: u8
Assigned by USB-IF if class
is
max_packet_size_ep0: u8
Max packet size for endpoint 0. Must be 8, 16, 32 or 64
vendor_id: u16
Obtained from USB-IF
product_id: u16
Together with vendor_id
, this must be unique to the product
device_release: u16
Device release number in binary coded decimal (BCD)
manufacturer_string: u8
Index of the string descriptor describing manufacturer, or 0 if none
product_string: u8
Index of the string descriptor describing product, or 0 if none
serial_number_string: u8
Index of the string descriptor giving device serial number, or 0 if none
num_configurations: u8
Number of configurations the device supports. Must be at least one
Trait Implementations§
Source§impl Default for DeviceDescriptor
impl Default for DeviceDescriptor
Source§impl Descriptor for DeviceDescriptor
impl Descriptor for DeviceDescriptor
Auto Trait Implementations§
impl Freeze for DeviceDescriptor
impl RefUnwindSafe for DeviceDescriptor
impl Send for DeviceDescriptor
impl Sync for DeviceDescriptor
impl Unpin for DeviceDescriptor
impl UnwindSafe for DeviceDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more