Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- GUID was uppercased for copyright reasons. --- include/Makefile.in | 1 + include/ddk/winusbio.h | 58 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 include/ddk/winusbio.h
diff --git a/include/Makefile.in b/include/Makefile.in index 047e7ff9146..25cd9c6f4eb 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -209,6 +209,7 @@ SOURCES = \ ddk/wdm.h \ ddk/winddiui.h \ ddk/winsplp.h \ + ddk/winusbio.h \ ddk/wsk.h \ ddraw.h \ ddrawgdi.h \ diff --git a/include/ddk/winusbio.h b/include/ddk/winusbio.h new file mode 100644 index 00000000000..7b6b7c92efc --- /dev/null +++ b/include/ddk/winusbio.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2022 Mohamad Al-Jaf + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _WINUSBIO_H_ +#define _WINUSBIO_H_ + +#define SHORT_PACKET_TERMINATE 0x01 +#define AUTO_CLEAR_STALL 0x02 +#define PIPE_TRANSFER_TIMEOUT 0x03 +#define IGNORE_SHORT_PACKETS 0x04 +#define ALLOW_PARTIAL_READS 0x05 +#define AUTO_FLUSH 0x06 +#define RAW_IO 0x07 +#define MAXIMUM_TRANSFER_SIZE 0x08 +#define RESET_PIPE_ON_RESUME 0x09 + +#define AUTO_SUSPEND 0x81 +#define SUSPEND_DELAY 0x83 + +#define DEVICE_SPEED 0x01 + +#define LowSpeed 0x01 +#define FullSpeed 0x02 +#define HighSpeed 0x03 + +DEFINE_GUID(WinUSB_TestGuid, 0XDA812BFF, 0X12C3, 0X46A2, 0X8E, 0X2B, 0XDB, 0XD3, 0XB7, 0X83, 0X4C, 0X43); + +typedef struct _WINUSB_PIPE_INFORMATION { + USBD_PIPE_TYPE PipeType; + UCHAR PipeId; + USHORT MaximumPacketSize; + UCHAR Interval; +} WINUSB_PIPE_INFORMATION, *PWINUSB_PIPE_INFORMATION; + +typedef struct _WINUSB_PIPE_INFORMATION_EX { + USBD_PIPE_TYPE PipeType; + UCHAR PipeId; + USHORT MaximumPacketSize; + UCHAR Interval; + ULONG MaximumBytesPerInterval; +} WINUSB_PIPE_INFORMATION_EX, *PWINUSB_PIPE_INFORMATION_EX; + +#endif /* _WINUSBIO_H_ */