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: u16Valid values include 0x0100 (USB1.0), 0x0110 (USB1.1) and 0x0200 (USB2.0)
class: u80x00 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: u8Assigned by USB-IF if class is
protocol: u8Assigned by USB-IF if class is
max_packet_size_ep0: u8Max packet size for endpoint 0. Must be 8, 16, 32 or 64
vendor_id: u16Obtained from USB-IF
product_id: u16Together with vendor_id, this must be unique to the product
device_release: u16Device release number in binary coded decimal (BCD)
manufacturer_string: u8Index of the string descriptor describing manufacturer, or 0 if none
product_string: u8Index of the string descriptor describing product, or 0 if none
serial_number_string: u8Index of the string descriptor giving device serial number, or 0 if none
num_configurations: u8Number 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