aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/shared/usb.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-07-19 15:37:58 +0300
committerValentin Popov <valentin@popov.link>2024-07-19 15:37:58 +0300
commita990de90fe41456a23e58bd087d2f107d321f3a1 (patch)
tree15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/winapi/src/shared/usb.rs
parent3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff)
downloadfparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz
fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip
Deleted vendor folder
Diffstat (limited to 'vendor/winapi/src/shared/usb.rs')
-rw-r--r--vendor/winapi/src/shared/usb.rs523
1 files changed, 0 insertions, 523 deletions
diff --git a/vendor/winapi/src/shared/usb.rs b/vendor/winapi/src/shared/usb.rs
deleted file mode 100644
index f6bd3b7..0000000
--- a/vendor/winapi/src/shared/usb.rs
+++ /dev/null
@@ -1,523 +0,0 @@
-// Licensed under the Apache License, Version 2.0
-// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
-// All files in the project carrying such notice may not be copied, modified, or distributed
-// except according to those terms.
-//! USB Definitions.
-use shared::minwindef::{UCHAR, ULONG, USHORT};
-use shared::usbspec::{
- PUSB_CONFIGURATION_DESCRIPTOR, USB_DEVICE_DESCRIPTOR, USB_ENDPOINT_DIRECTION_MASK,
-};
-use um::winnt::{LONG, PVOID, WCHAR};
-pub type PRIP = PVOID;
-pub type PMDL = PVOID;
-pub const USBDI_VERSION: ULONG = 0x00000600;
-pub const USB_PORTATTR_NO_CONNECTOR: ULONG = 0x00000001;
-pub const USB_PORTATTR_SHARED_USB2: ULONG = 0x00000002;
-pub const USB_PORTATTR_MINI_CONNECTOR: ULONG = 0x00000004;
-pub const USB_PORTATTR_OEM_CONNECTOR: ULONG = 0x00000008;
-pub const USB_PORTATTR_OWNED_BY_CC: ULONG = 0x01000000;
-pub const USB_PORTATTR_NO_OVERCURRENT_UI: ULONG = 0x02000000;
-ENUM!{enum USB_CONTROLLER_FLAVOR {
- USB_HcGeneric = 0,
- OHCI_Generic = 100,
- OHCI_Hydra,
- OHCI_NEC,
- UHCI_Generic = 200,
- UHCI_Piix4 = 201,
- UHCI_Piix3 = 202,
- UHCI_Ich2 = 203,
- UHCI_Reserved204 = 204,
- UHCI_Ich1 = 205,
- UHCI_Ich3m = 206,
- UHCI_Ich4 = 207,
- UHCI_Ich5 = 208,
- UHCI_Ich6 = 209,
- UHCI_Intel = 249,
- UHCI_VIA = 250,
- UHCI_VIA_x01 = 251,
- UHCI_VIA_x02 = 252,
- UHCI_VIA_x03 = 253,
- UHCI_VIA_x04 = 254,
- UHCI_VIA_x0E_FIFO = 264,
- EHCI_Generic = 1000,
- EHCI_NEC = 2000,
- EHCI_Lucent = 3000,
- EHCI_NVIDIA_Tegra2 = 4000,
- EHCI_NVIDIA_Tegra3 = 4001,
- EHCI_Intel_Medfield = 5001,
-}}
-pub const USB_DEFAULT_DEVICE_ADDRESS: UCHAR = 0;
-pub const USB_DEFAULT_ENDPOINT_ADDRESS: UCHAR = 0;
-pub const USB_DEFAULT_MAX_PACKET: USHORT = 64;
-pub const URB_FUNCTION_SELECT_CONFIGURATION: USHORT = 0x0000;
-pub const URB_FUNCTION_SELECT_INTERFACE: USHORT = 0x0001;
-pub const URB_FUNCTION_ABORT_PIPE: USHORT = 0x0002;
-pub const URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL: USHORT = 0x0003;
-pub const URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL: USHORT = 0x0004;
-pub const URB_FUNCTION_GET_FRAME_LENGTH: USHORT = 0x0005;
-pub const URB_FUNCTION_SET_FRAME_LENGTH: USHORT = 0x0006;
-pub const URB_FUNCTION_GET_CURRENT_FRAME_NUMBER: USHORT = 0x0007;
-pub const URB_FUNCTION_CONTROL_TRANSFER: USHORT = 0x0008;
-pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: USHORT = 0x0009;
-pub const URB_FUNCTION_ISOCH_TRANSFER: USHORT = 0x000A;
-pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: USHORT = 0x000B;
-pub const URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE: USHORT = 0x000C;
-pub const URB_FUNCTION_SET_FEATURE_TO_DEVICE: USHORT = 0x000D;
-pub const URB_FUNCTION_SET_FEATURE_TO_INTERFACE: USHORT = 0x000E;
-pub const URB_FUNCTION_SET_FEATURE_TO_ENDPOINT: USHORT = 0x000F;
-pub const URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE: USHORT = 0x0010;
-pub const URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE: USHORT = 0x0011;
-pub const URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT: USHORT = 0x0012;
-pub const URB_FUNCTION_GET_STATUS_FROM_DEVICE: USHORT = 0x0013;
-pub const URB_FUNCTION_GET_STATUS_FROM_INTERFACE: USHORT = 0x0014;
-pub const URB_FUNCTION_GET_STATUS_FROM_ENDPOINT: USHORT = 0x0015;
-pub const URB_FUNCTION_RESERVED_0X0016: USHORT = 0x0016;
-pub const URB_FUNCTION_VENDOR_DEVICE: USHORT = 0x0017;
-pub const URB_FUNCTION_VENDOR_INTERFACE: USHORT = 0x0018;
-pub const URB_FUNCTION_VENDOR_ENDPOINT: USHORT = 0x0019;
-pub const URB_FUNCTION_CLASS_DEVICE: USHORT = 0x001A;
-pub const URB_FUNCTION_CLASS_INTERFACE: USHORT = 0x001B;
-pub const URB_FUNCTION_CLASS_ENDPOINT: USHORT = 0x001C;
-pub const URB_FUNCTION_RESERVE_0X001D: USHORT = 0x001D;
-pub const URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL: USHORT = 0x001E;
-pub const URB_FUNCTION_CLASS_OTHER: USHORT = 0x001F;
-pub const URB_FUNCTION_VENDOR_OTHER: USHORT = 0x0020;
-pub const URB_FUNCTION_GET_STATUS_FROM_OTHER: USHORT = 0x0021;
-pub const URB_FUNCTION_CLEAR_FEATURE_TO_OTHER: USHORT = 0x0022;
-pub const URB_FUNCTION_SET_FEATURE_TO_OTHER: USHORT = 0x0023;
-pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT: USHORT = 0x0024;
-pub const URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT: USHORT = 0x0025;
-pub const URB_FUNCTION_GET_CONFIGURATION: USHORT = 0x0026;
-pub const URB_FUNCTION_GET_INTERFACE: USHORT = 0x0027;
-pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE: USHORT = 0x0028;
-pub const URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE: USHORT = 0x0029;
-pub const URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR: USHORT = 0x002A;
-pub const URB_FUNCTION_SYNC_RESET_PIPE: USHORT = 0x0030;
-pub const URB_FUNCTION_SYNC_CLEAR_STALL: USHORT = 0x0031;
-pub const URB_FUNCTION_CONTROL_TRANSFER_EX: USHORT = 0x0032;
-pub const URB_FUNCTION_RESERVE_0X0033: USHORT = 0x0033;
-pub const URB_FUNCTION_RESERVE_0X0034: USHORT = 0x0034;
-pub const URB_FUNCTION_OPEN_STATIC_STREAMS: USHORT = 0x0035;
-pub const URB_FUNCTION_CLOSE_STATIC_STREAMS: USHORT = 0x0036;
-pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL: USHORT = 0x0037;
-pub const URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL: USHORT = 0x0038;
-pub const URB_FUNCTION_RESERVE_0X002B: USHORT = 0x002B;
-pub const URB_FUNCTION_RESERVE_0X002C: USHORT = 0x002C;
-pub const URB_FUNCTION_RESERVE_0X002D: USHORT = 0x002D;
-pub const URB_FUNCTION_RESERVE_0X002E: USHORT = 0x002E;
-pub const URB_FUNCTION_RESERVE_0X002F: USHORT = 0x002F;
-pub const URB_FUNCTION_RESET_PIPE: USHORT = URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL;
-pub const USBD_SHORT_TRANSFER_OK: ULONG = 0x00000002;
-pub const USBD_START_ISO_TRANSFER_ASAP: ULONG = 0x00000004;
-pub const USBD_DEFAULT_PIPE_TRANSFER: ULONG = 0x00000008;
-pub const USBD_TRANSFER_DIRECTION_OUT: ULONG = 0;
-pub const USBD_TRANSFER_DIRECTION_IN: ULONG = 1;
-pub const USBD_TRANSFER_DIRECTION: ULONG = USBD_TRANSFER_DIRECTION_IN;
-#[inline]
-pub fn USBD_TRANSFER_DIRECTION_FLAG(flags: ULONG) -> ULONG {
- flags & USBD_TRANSFER_DIRECTION
-}
-pub const VALID_TRANSFER_FLAGS_MASK: ULONG = USBD_SHORT_TRANSFER_OK | USBD_TRANSFER_DIRECTION
- | USBD_START_ISO_TRANSFER_ASAP | USBD_DEFAULT_PIPE_TRANSFER;
-pub const USBD_ISO_START_FRAME_RANGE: ULONG = 1024;
-pub type USBD_STATUS = LONG;
-#[inline]
-pub fn USBD_SUCCESS(Status: USBD_STATUS) -> bool {
- Status >= 0
-}
-#[inline]
-pub fn USBD_PENDING(Status: ULONG) -> bool {
- (Status >> 30) == 1
-}
-pub const USBD_STATUS_SUCCESS: USBD_STATUS = 0x00000000;
-pub const USBD_STATUS_PORT_OPERATION_PENDING: USBD_STATUS = 0x00000001;
-pub const USBD_STATUS_PENDING: USBD_STATUS = 0x40000000;
-pub const USBD_STATUS_CRC: USBD_STATUS = 0xC0000001;
-pub const USBD_STATUS_BTSTUFF: USBD_STATUS = 0xC0000002;
-pub const USBD_STATUS_DATA_TOGGLE_MISMATCH: USBD_STATUS = 0xC0000003;
-pub const USBD_STATUS_STALL_PID: USBD_STATUS = 0xC0000004;
-pub const USBD_STATUS_DEV_NOT_RESPONDING: USBD_STATUS = 0xC0000005;
-pub const USBD_STATUS_PID_CHECK_FAILURE: USBD_STATUS = 0xC0000006;
-pub const USBD_STATUS_UNEXPECTED_PID: USBD_STATUS = 0xC0000007;
-pub const USBD_STATUS_DATA_OVERRUN: USBD_STATUS = 0xC0000008;
-pub const USBD_STATUS_DATA_UNDERRUN: USBD_STATUS = 0xC0000009;
-pub const USBD_STATUS_RESERVED1: USBD_STATUS = 0xC000000A;
-pub const USBD_STATUS_RESERVED2: USBD_STATUS = 0xC000000B;
-pub const USBD_STATUS_BUFFER_OVERRUN: USBD_STATUS = 0xC000000C;
-pub const USBD_STATUS_BUFFER_UNDERRUN: USBD_STATUS = 0xC000000D;
-pub const USBD_STATUS_NOT_ACCESSED: USBD_STATUS = 0xC000000F;
-pub const USBD_STATUS_FIFO: USBD_STATUS = 0xC0000010;
-pub const USBD_STATUS_XACT_ERROR: USBD_STATUS = 0xC0000011;
-pub const USBD_STATUS_BABBLE_DETECTED: USBD_STATUS = 0xC0000012;
-pub const USBD_STATUS_DATA_BUFFER_ERROR: USBD_STATUS = 0xC0000013;
-pub const USBD_STATUS_NO_PING_RESPONSE: USBD_STATUS = 0xC0000014;
-pub const USBD_STATUS_INVALID_STREAM_TYPE: USBD_STATUS = 0xC0000015;
-pub const USBD_STATUS_INVALID_STREAM_ID: USBD_STATUS = 0xC0000016;
-pub const USBD_STATUS_ENDPOINT_HALTED: USBD_STATUS = 0xC0000030;
-pub const USBD_STATUS_INVALID_URB_FUNCTION: USBD_STATUS = 0x80000200;
-pub const USBD_STATUS_INVALID_PARAMETER: USBD_STATUS = 0x80000300;
-pub const USBD_STATUS_ERROR_BUSY: USBD_STATUS = 0x80000400;
-pub const USBD_STATUS_INVALID_PIPE_HANDLE: USBD_STATUS = 0x80000600;
-pub const USBD_STATUS_NO_BANDWIDTH: USBD_STATUS = 0x80000700;
-pub const USBD_STATUS_INTERNAL_HC_ERROR: USBD_STATUS = 0x80000800;
-pub const USBD_STATUS_ERROR_SHORT_TRANSFER: USBD_STATUS = 0x80000900;
-pub const USBD_STATUS_BAD_START_FRAME: USBD_STATUS = 0xC0000A00;
-pub const USBD_STATUS_ISOCH_REQUEST_FAILED: USBD_STATUS = 0xC0000B00;
-pub const USBD_STATUS_FRAME_CONTROL_OWNED: USBD_STATUS = 0xC0000C00;
-pub const USBD_STATUS_FRAME_CONTROL_NOT_OWNED: USBD_STATUS = 0xC0000D00;
-pub const USBD_STATUS_NOT_SUPPORTED: USBD_STATUS = 0xC0000E00;
-pub const USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR: USBD_STATUS = 0xC0000F00;
-pub const USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR: USBD_STATUS = 0xC0000F00;
-pub const USBD_STATUS_INSUFFICIENT_RESOURCES: USBD_STATUS = 0xC0001000;
-pub const USBD_STATUS_SET_CONFIG_FAILED: USBD_STATUS = 0xC0002000;
-pub const USBD_STATUS_BUFFER_TOO_SMALL: USBD_STATUS = 0xC0003000;
-pub const USBD_STATUS_INTERFACE_NOT_FOUND: USBD_STATUS = 0xC0004000;
-pub const USBD_STATUS_INAVLID_PIPE_FLAGS: USBD_STATUS = 0xC0005000;
-pub const USBD_STATUS_TIMEOUT: USBD_STATUS = 0xC0006000;
-pub const USBD_STATUS_DEVICE_GONE: USBD_STATUS = 0xC0007000;
-pub const USBD_STATUS_STATUS_NOT_MAPPED: USBD_STATUS = 0xC0008000;
-pub const USBD_STATUS_HUB_INTERNAL_ERROR: USBD_STATUS = 0xC0009000;
-pub const USBD_STATUS_CANCELED: USBD_STATUS = 0xC0010000;
-pub const USBD_STATUS_ISO_NOT_ACCESSED_BY_HW: USBD_STATUS = 0xC0020000;
-pub const USBD_STATUS_ISO_TD_ERROR: USBD_STATUS = 0xC0030000;
-pub const USBD_STATUS_ISO_NA_LATE_USBPORT: USBD_STATUS = 0xC0040000;
-pub const USBD_STATUS_ISO_NOT_ACCESSED_LATE: USBD_STATUS = 0xC0050000;
-pub const USBD_STATUS_BAD_DESCRIPTOR: USBD_STATUS = 0xC0100000;
-pub const USBD_STATUS_BAD_DESCRIPTOR_BLEN: USBD_STATUS = 0xC0100001;
-pub const USBD_STATUS_BAD_DESCRIPTOR_TYPE: USBD_STATUS = 0xC0100002;
-pub const USBD_STATUS_BAD_INTERFACE_DESCRIPTOR: USBD_STATUS = 0xC0100003;
-pub const USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR: USBD_STATUS = 0xC0100004;
-pub const USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR: USBD_STATUS = 0xC0100005;
-pub const USBD_STATUS_BAD_CONFIG_DESC_LENGTH: USBD_STATUS = 0xC0100006;
-pub const USBD_STATUS_BAD_NUMBER_OF_INTERFACES: USBD_STATUS = 0xC0100007;
-pub const USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS: USBD_STATUS = 0xC0100008;
-pub const USBD_STATUS_BAD_ENDPOINT_ADDRESS: USBD_STATUS = 0xC0100009;
-pub type USBD_PIPE_HANDLE = PVOID;
-pub type USBD_CONFIGURATION_HANDLE = PVOID;
-pub type USBD_INTERFACE_HANDLE = PVOID;
-pub const USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE: ULONG = 0xFFFFFFFF;
-STRUCT!{struct USBD_VERSION_INFORMATION {
- USBDI_Version: ULONG,
- Supported_USB_Version: ULONG,
-}}
-pub type PUSBD_VERSION_INFORMATION = *mut USBD_VERSION_INFORMATION;
-ENUM!{enum USBD_PIPE_TYPE {
- UsbdPipeTypeControl,
- UsbdPipeTypeIsochronous,
- UsbdPipeTypeBulk,
- UsbdPipeTypeInterrupt,
-}}
-#[inline]
-pub fn USBD_PIPE_DIRECTION_IN(pipeInformation: &USBD_PIPE_INFORMATION) -> UCHAR {
- pipeInformation.EndpointAddress & USB_ENDPOINT_DIRECTION_MASK
-}
-STRUCT!{struct USBD_DEVICE_INFORMATION {
- OffsetNext: ULONG,
- UsbdDeviceHandle: PVOID,
- DeviceDescriptor: USB_DEVICE_DESCRIPTOR,
-}}
-pub type PUSBD_DEVICE_INFORMATION = *mut USBD_DEVICE_INFORMATION;
-STRUCT!{struct USBD_PIPE_INFORMATION {
- MaximumPacketSize: USHORT,
- EndpointAddress: UCHAR,
- Interval: UCHAR,
- PipeType: USBD_PIPE_TYPE,
- PipeHandle: USBD_PIPE_HANDLE,
- MaximumTransferSize: ULONG,
- PipeFlags: ULONG,
-}}
-pub type PUSBD_PIPE_INFORMATION = *mut USBD_PIPE_INFORMATION;
-pub const USBD_PF_CHANGE_MAX_PACKET: ULONG = 0x00000001;
-pub const USBD_PF_SHORT_PACKET_OPT: ULONG = 0x00000002;
-pub const USBD_PF_ENABLE_RT_THREAD_ACCESS: ULONG = 0x00000004;
-pub const USBD_PF_MAP_ADD_TRANSFERS: ULONG = 0x00000008;
-pub const USBD_PF_VALID_MASK: ULONG = USBD_PF_CHANGE_MAX_PACKET | USBD_PF_SHORT_PACKET_OPT
- | USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS;
-STRUCT!{struct USBD_INTERFACE_INFORMATION {
- Length: USHORT,
- InterfaceNumber: UCHAR,
- AlternateSetting: UCHAR,
- Class: UCHAR,
- SubClass: UCHAR,
- Protocol: UCHAR,
- Reserved: UCHAR,
- InterfaceHandle: USBD_INTERFACE_HANDLE,
- NumberOfPipes: ULONG,
- Pipes: [USBD_PIPE_INFORMATION; 1],
-}}
-pub type PUSBD_INTERFACE_INFORMATION = *mut USBD_INTERFACE_INFORMATION;
-STRUCT!{struct URB_HCD_AREA {
- Reserved8: [PVOID; 8],
-}}
-STRUCT!{struct URB_HEADER {
- Length: USHORT,
- Function: USHORT,
- Status: USBD_STATUS,
- UsbdDeviceHandle: PVOID,
- UsbdFlags: ULONG,
-}}
-STRUCT!{struct URB_SELECT_INTERFACE {
- Hdr: URB_HEADER,
- ConfigurationHandle: USBD_CONFIGURATION_HANDLE,
- Interface: USBD_INTERFACE_INFORMATION,
-}}
-STRUCT!{struct URB_SELECT_CONFIGURATION {
- Hdr: URB_HEADER,
- ConfigurationDescriptor: PUSB_CONFIGURATION_DESCRIPTOR,
- ConfigurationHandle: USBD_CONFIGURATION_HANDLE,
- Interface: USBD_INTERFACE_INFORMATION,
-}}
-STRUCT!{struct URB_PIPE_REQUEST {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- Reserved: ULONG,
-}}
-STRUCT!{struct URB_FRAME_LENGTH_CONTROL {
- Hdr: URB_HEADER,
-}}
-STRUCT!{struct URB_GET_FRAME_LENGTH {
- Hdr: URB_HEADER,
- FrameLength: ULONG,
- FrameNumber: ULONG,
-}}
-STRUCT!{struct URB_SET_FRAME_LENGTH {
- Hdr: URB_HEADER,
- FrameLengthDelta: LONG,
-}}
-STRUCT!{struct URB_GET_CURRENT_FRAME_NUMBER {
- Hdr: URB_HEADER,
- FrameNumber: ULONG,
-}}
-STRUCT!{struct URB_CONTROL_DESCRIPTOR_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved0: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- Reserved1: USHORT,
- Index: UCHAR,
- DescriptorType: UCHAR,
- LanguageId: USHORT,
- Reserved2: USHORT,
-}}
-STRUCT!{struct URB_CONTROL_GET_STATUS_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved0: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- Reserved1: [UCHAR; 4],
- Index: USHORT,
- Reserved2: USHORT,
-}}
-STRUCT!{struct URB_CONTROL_FEATURE_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved2: ULONG,
- Reserved3: ULONG,
- Reserved4: PVOID,
- Reserved5: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- Reserved0: USHORT,
- FeatureSelector: USHORT,
- Index: USHORT,
- Reserved1: USHORT,
-}}
-STRUCT!{struct URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- RequestTypeReservedBits: UCHAR,
- Request: UCHAR,
- Value: USHORT,
- Index: USHORT,
- Reserved1: USHORT,
-}}
-STRUCT!{struct URB_CONTROL_GET_INTERFACE_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved0: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- Reserved1: [UCHAR; 4],
- Interface: USHORT,
- Reserved2: USHORT,
-}}
-STRUCT!{struct URB_CONTROL_GET_CONFIGURATION_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved0: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- Reserved1: [UCHAR; 8],
-}}
-pub const OS_STRING_DESCRIPTOR_INDEX: UCHAR = 0xEE;
-pub const MS_GENRE_DESCRIPTOR_INDEX: USHORT = 0x0001;
-pub const MS_POWER_DESCRIPTOR_INDEX: USHORT = 0x0002;
-pub const MS_OS_STRING_SIGNATURE: &'static str = "MSFT100";
-pub const MS_OS_FLAGS_CONTAINERID: UCHAR = 0x02;
-UNION!{union OS_STRING_u {
- [u8; 1],
- bPad bPad_mut: UCHAR,
- bFlags bFlags_mut: UCHAR,
-}}
-STRUCT!{struct OS_STRING {
- bLength: UCHAR,
- bDescriptorType: UCHAR,
- MicrosoftString: [WCHAR; 7],
- bVendorCode: UCHAR,
- u: OS_STRING_u,
-}}
-pub type POS_STRING = *mut OS_STRING;
-STRUCT!{struct URB_OS_FEATURE_DESCRIPTOR_REQUEST {
- Hdr: URB_HEADER,
- Reserved: PVOID,
- Reserved0: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- BitField: UCHAR,
- Reserved2: UCHAR,
- InterfaceNumber: UCHAR,
- MS_PageIndex: UCHAR,
- MS_FeatureDescriptorIndex: USHORT,
- Reserved3: USHORT,
-}}
-BITFIELD!{URB_OS_FEATURE_DESCRIPTOR_REQUEST BitField: UCHAR [
- Recipient set_Recipient[0..5],
- Reserved1 set_Reserved1[5..8],
-]}
-STRUCT!{struct URB_CONTROL_TRANSFER {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- SetupPacket: [UCHAR; 8],
-}}
-#[cfg(target_pointer_width = "64")]
-STRUCT!{struct URB_CONTROL_TRANSFER_EX {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- Timeout: ULONG,
- Pad: ULONG,
- hca: URB_HCD_AREA,
- SetupPacket: [UCHAR; 8],
-}}
-#[cfg(target_pointer_width = "32")]
-STRUCT!{struct URB_CONTROL_TRANSFER_EX {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- Timeout: ULONG,
- hca: URB_HCD_AREA,
- SetupPacket: [UCHAR; 8],
-}}
-STRUCT!{struct URB_BULK_OR_INTERRUPT_TRANSFER {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
-}}
-STRUCT!{struct USBD_ISO_PACKET_DESCRIPTOR {
- Offset: ULONG,
- Length: ULONG,
- Status: USBD_STATUS,
-}}
-pub type PUSBD_ISO_PACKET_DESCRIPTOR = *mut USBD_ISO_PACKET_DESCRIPTOR;
-STRUCT!{struct URB_ISOCH_TRANSFER {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- TransferFlags: ULONG,
- TransferBufferLength: ULONG,
- TransferBuffer: PVOID,
- TransferBufferMDL: PMDL,
- UrbLink: *mut URB,
- hca: URB_HCD_AREA,
- StartFrame: ULONG,
- NumberOfPackets: ULONG,
- ErrorCount: ULONG,
- IsoPacket: [USBD_ISO_PACKET_DESCRIPTOR; 1],
-}}
-pub const URB_OPEN_STATIC_STREAMS_VERSION_100: USHORT = 0x100;
-STRUCT!{struct USBD_STREAM_INFORMATION {
- PipeHandle: USBD_PIPE_HANDLE,
- StreamID: ULONG,
- MaximumTransferSize: ULONG,
- PipeFlags: ULONG,
-}}
-pub type PUSBD_STREAM_INFORMATION = *mut USBD_STREAM_INFORMATION;
-STRUCT!{struct URB_OPEN_STATIC_STREAMS {
- Hdr: URB_HEADER,
- PipeHandle: USBD_PIPE_HANDLE,
- NumberOfStreams: ULONG,
- StreamInfoVersion: USHORT,
- StreamInfoSize: USHORT,
- Streams: PUSBD_STREAM_INFORMATION,
-}}
-UNION!{union URB_u {
- [u32; 24] [u64; 19],
- UrbHeader UrbHeader_mut: URB_HEADER,
- UrbSelectInterface UrbSelectInterface_mut: URB_SELECT_INTERFACE,
- UrbSelectConfiguration UrbSelectConfiguration_mut: URB_SELECT_CONFIGURATION,
- UrbPipeRequest UrbPipeRequest_mut: URB_PIPE_REQUEST,
- UrbFrameLengthControl UrbFrameLengthControl_mut: URB_FRAME_LENGTH_CONTROL,
- UrbGetFrameLength UrbGetFrameLength_mut: URB_GET_FRAME_LENGTH,
- UrbSetFrameLength UrbSetFrameLength_mut: URB_SET_FRAME_LENGTH,
- UrbGetCurrentFrameNumber UrbGetCurrentFrameNumber_mut: URB_GET_CURRENT_FRAME_NUMBER,
- UrbControlTransfer UrbControlTransfer_mut: URB_CONTROL_TRANSFER,
- UrbControlTransferEx UrbControlTransferEx_mut: URB_CONTROL_TRANSFER_EX,
- UrbBulkOrInterruptTransfer UrbBulkOrInterruptTransfer_mut: URB_BULK_OR_INTERRUPT_TRANSFER,
- UrbIsochronousTransfer UrbIsochronousTransfer_mut: URB_ISOCH_TRANSFER,
- UrbControlDescriptorRequest UrbControlDescriptorRequest_mut: URB_CONTROL_DESCRIPTOR_REQUEST,
- UrbControlGetStatusRequest UrbControlGetStatusRequest_mut: URB_CONTROL_GET_STATUS_REQUEST,
- UrbControlFeatureRequest UrbControlFeatureRequest_mut: URB_CONTROL_FEATURE_REQUEST,
- UrbControlVendorClassRequest UrbControlVendorClassRequest_mut:
- URB_CONTROL_VENDOR_OR_CLASS_REQUEST,
- UrbControlGetInterfaceRequest UrbControlGetInterfaceRequest_mut:
- URB_CONTROL_GET_INTERFACE_REQUEST,
- UrbControlGetConfigurationRequest UrbControlGetConfigurationRequest_mut:
- URB_CONTROL_GET_CONFIGURATION_REQUEST,
- UrbOSFeatureDescriptorRequest UrbOSFeatureDescriptorRequest_mut:
- URB_OS_FEATURE_DESCRIPTOR_REQUEST,
- UrbOpenStaticStreams UrbOpenStaticStreams_mut: URB_OPEN_STATIC_STREAMS,
-}}
-STRUCT!{struct URB {
- u: URB_u,
-}}
-pub type PURB = *mut URB;