blob: 2fbb6199758daebf909dbcb3cb7d368b9ad67d40 [file] [log] [blame]
// Copyright © 2016, bitbegin
// Licensed under the MIT License <LICENSE.md>
//! FFI bindings to winusb.
pub type WINUSB_INTERFACE_HANDLE = ::PVOID;
pub type PWINUSB_INTERFACE_HANDLE = *mut ::PVOID;
pub type WINUSB_ISOCH_BUFFER_HANDLE = ::PVOID;
pub type PWINUSB_ISOCH_BUFFER_HANDLE = *mut ::PVOID;
STRUCT!{#[repr(packed)] struct WINUSB_SETUP_PACKET {
RequestType: ::UCHAR,
Request: ::UCHAR,
Value: ::USHORT,
Index: ::USHORT,
Length: ::USHORT,
}}
pub type PWINUSB_SETUP_PACKET = *mut WINUSB_SETUP_PACKET;
STRUCT!{struct USB_INTERFACE_DESCRIPTOR {
bLength: ::UCHAR,
bDescriptorType: ::UCHAR,
bInterfaceNumber: ::UCHAR,
bAlternateSetting: ::UCHAR,
bNumEndpoints: ::UCHAR,
bInterfaceClass: ::UCHAR,
bInterfaceSubClass: ::UCHAR,
bInterfaceProtocol: ::UCHAR,
iInterface: ::UCHAR,
}}
pub type PUSB_INTERFACE_DESCRIPTOR = *mut USB_INTERFACE_DESCRIPTOR;
#[test]
fn test_USB_INTERFACE_DESCRIPTOR_size() {
use std::mem::size_of;
assert_eq!(size_of::<USB_INTERFACE_DESCRIPTOR>(), 9)
}