diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/descriptor.rs | 28 | ||||
-rw-r--r--[-rwxr-xr-x] | src/lib.rs | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/src/descriptor.rs b/src/descriptor.rs index 8461413..c0d3314 100644 --- a/src/descriptor.rs +++ b/src/descriptor.rs @@ -1,4 +1,5 @@ #[derive(Clone, Copy, Debug)] +#[repr(u8)] pub enum DescriptorType { Device = 1, Configuration = 2, @@ -66,3 +67,30 @@ pub struct EndpointDescriptor { pub w_max_packet_size: u16, pub b_interval: u8, } + +#[cfg(test)] +mod test { + use super::*; + + use core::mem; + + #[test] + fn device_descriptor_layout() { + assert_eq!(mem::size_of::<DeviceDescriptor>(), 18); + } + + #[test] + fn configuration_descriptor_layout() { + assert_eq!(mem::size_of::<ConfigurationDescriptor>(), 9); + } + + #[test] + fn interface_descriptor_layout() { + assert_eq!(mem::size_of::<InterfaceDescriptor>(), 9); + } + + #[test] + fn endpoint_descriptor_layout() { + assert_eq!(mem::size_of::<EndpointDescriptor>(), 7); + } +} diff --git a/src/lib.rs b/src/lib.rs index 551824a..742e02c 100755..100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,5 @@ +//! Traits for a hardware-agnostic USB host interface. + #![no_std] mod descriptor; |