1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 //! Public header for WINUSB 7 use shared::minwindef::{UCHAR, ULONG, USHORT}; 8 use shared::usb::USBD_PIPE_TYPE; 9 pub const SHORT_PACKET_TERMINATE: ULONG = 0x01; 10 pub const AUTO_CLEAR_STALL: ULONG = 0x02; 11 pub const PIPE_TRANSFER_TIMEOUT: ULONG = 0x03; 12 pub const IGNORE_SHORT_PACKETS: ULONG = 0x04; 13 pub const ALLOW_PARTIAL_READS: ULONG = 0x05; 14 pub const AUTO_FLUSH: ULONG = 0x06; 15 pub const RAW_IO: ULONG = 0x07; 16 pub const MAXIMUM_TRANSFER_SIZE: ULONG = 0x08; 17 pub const RESET_PIPE_ON_RESUME: ULONG = 0x09; 18 pub const DEVICE_SPEED: ULONG = 0x01; 19 pub const LowSpeed: ULONG = 0x01; 20 pub const FullSpeed: ULONG = 0x02; 21 pub const HighSpeed: ULONG = 0x03; 22 DEFINE_GUID!{WinUSB_TestGuid, 23 0xda812bff, 0x12c3, 0x46a2, 0x8e, 0x2b, 0xdb, 0xd3, 0xb7, 0x83, 0x4c, 0x43} 24 STRUCT!{struct WINUSB_PIPE_INFORMATION { 25 PipeType: USBD_PIPE_TYPE, 26 PipeId: UCHAR, 27 MaximumPacketSize: USHORT, 28 Interval: UCHAR, 29 }} 30 pub type PWINUSB_PIPE_INFORMATION = *mut WINUSB_PIPE_INFORMATION; 31 STRUCT!{struct WINUSB_PIPE_INFORMATION_EX { 32 PipeType: USBD_PIPE_TYPE, 33 PipeId: UCHAR, 34 MaximumPacketSize: USHORT, 35 Interval: UCHAR, 36 MaximumBytesPerInterval: ULONG, 37 }} 38 pub type PWINUSB_PIPE_INFORMATION_EX = *mut WINUSB_PIPE_INFORMATION_EX; 39