usb_descriptor_decoder/descriptors/
desc_interface.rs

1#[derive(Copy, Clone, Default, Debug)]
2#[repr(C, packed)]
3pub struct Interface {
4    pub len: u8,
5    pub descriptor_type: u8,
6    pub interface_number: u8,
7    pub alternate_setting: u8,
8    pub num_endpoints: u8,
9    pub interface_class: u8,
10    pub interface_subclass: u8,
11    pub interface_protocol: u8,
12    pub interface: u8,
13}
14impl Interface {
15    pub fn ty(&self) -> (u8, u8, u8) {
16        (
17            self.interface_class,
18            self.interface_subclass,
19            self.interface_protocol,
20        )
21    }
22}
23
24#[derive(Copy, Clone, Default, Debug)]
25#[repr(C, packed)]
26pub struct InterfaceAssociation {
27    pub len: u8,
28    pub descriptor_type: u8,
29    pub first_interface: u8,
30    pub interface_count: u8,
31    pub function_class: u8,
32    pub function_subclass: u8,
33    pub function_protocol: u8,
34    pub function: u8,
35}