From 9a607474bdd66dd716635cfed7f2c832c39b4523 Mon Sep 17 00:00:00 2001 From: Andy Wortman Date: Thu, 14 Mar 2019 15:52:30 -0700 Subject: add qhy headers......... --- include/qhy/winusb.h | 253 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 include/qhy/winusb.h (limited to 'include/qhy/winusb.h') diff --git a/include/qhy/winusb.h b/include/qhy/winusb.h new file mode 100644 index 0000000..0c8db70 --- /dev/null +++ b/include/qhy/winusb.h @@ -0,0 +1,253 @@ +/*++ + +Copyright (c) 2002 Microsoft Corporation + +Module Name: + + wusb.h + +Abstract: + + Public interface to winusb.dll + +Environment: + + Kernel Mode Only + +Notes: + + THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR + PURPOSE. + + Copyright (c) 2001 Microsoft Corporation. All Rights Reserved. + + +Revision History: + + 11/19/2002 : created + +Authors: + +--*/ + +#ifndef __WUSB_H__ +#define __WUSB_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#if(NTDDI_VERSION >= NTDDI_WINXP) + +#include "winusbio.h" + + +typedef PVOID WINUSB_INTERFACE_HANDLE, *PWINUSB_INTERFACE_HANDLE; + + +#pragma pack(1) + +typedef struct _WINUSB_SETUP_PACKET { + UCHAR RequestType; + UCHAR Request; + USHORT Value; + USHORT Index; + USHORT Length; +} WINUSB_SETUP_PACKET, *PWINUSB_SETUP_PACKET; + +#pragma pack() + + + +BOOL __stdcall +WinUsb_Initialize( + __in HANDLE DeviceHandle, + __out PWINUSB_INTERFACE_HANDLE InterfaceHandle + ); + + +BOOL __stdcall +WinUsb_Free( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle + ); + + +BOOL __stdcall +WinUsb_GetAssociatedInterface( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR AssociatedInterfaceIndex, + __out PWINUSB_INTERFACE_HANDLE AssociatedInterfaceHandle + ); + + + +BOOL __stdcall +WinUsb_GetDescriptor( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR DescriptorType, + __in UCHAR Index, + __in USHORT LanguageID, + __out_bcount_part_opt(BufferLength, *LengthTransferred) PUCHAR Buffer, + __in ULONG BufferLength, + __out PULONG LengthTransferred + ); + +BOOL __stdcall +WinUsb_QueryInterfaceSettings( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR AlternateInterfaceNumber, + __out PUSB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor + ); + +BOOL __stdcall +WinUsb_QueryDeviceInformation( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in ULONG InformationType, + __inout PULONG BufferLength, + __out_bcount(*BufferLength) PVOID Buffer + ); + +BOOL __stdcall +WinUsb_SetCurrentAlternateSetting( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR SettingNumber + ); + +BOOL __stdcall +WinUsb_GetCurrentAlternateSetting( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __out PUCHAR SettingNumber + ); + + +BOOL __stdcall +WinUsb_QueryPipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR AlternateInterfaceNumber, + __in UCHAR PipeIndex, + __out PWINUSB_PIPE_INFORMATION PipeInformation + ); + + +BOOL __stdcall +WinUsb_SetPipePolicy( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID, + __in ULONG PolicyType, + __in ULONG ValueLength, + __in_bcount(ValueLength) PVOID Value + ); + +BOOL __stdcall +WinUsb_GetPipePolicy( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID, + __in ULONG PolicyType, + __inout PULONG ValueLength, + __out_bcount(*ValueLength) PVOID Value + ); + +BOOL __stdcall +WinUsb_ReadPipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID, + __out_bcount_part_opt(BufferLength,*LengthTransferred) PUCHAR Buffer, + __in ULONG BufferLength, + __out_opt PULONG LengthTransferred, + __in_opt LPOVERLAPPED Overlapped + ); + +BOOL __stdcall +WinUsb_WritePipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID, + __in_bcount(BufferLength) PUCHAR Buffer, + __in ULONG BufferLength, + __out_opt PULONG LengthTransferred, + __in_opt LPOVERLAPPED Overlapped + ); + +BOOL __stdcall +WinUsb_ControlTransfer( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in WINUSB_SETUP_PACKET SetupPacket, + __out_bcount_part_opt(BufferLength, *LengthTransferred) PUCHAR Buffer, + __in ULONG BufferLength, + __out_opt PULONG LengthTransferred, + __in_opt LPOVERLAPPED Overlapped + ); + +BOOL __stdcall +WinUsb_ResetPipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID + ); + +BOOL __stdcall +WinUsb_AbortPipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID + ); + +BOOL __stdcall +WinUsb_FlushPipe( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in UCHAR PipeID + ); + +BOOL __stdcall +WinUsb_SetPowerPolicy( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in ULONG PolicyType, + __in ULONG ValueLength, + __in_bcount(ValueLength) PVOID Value + ); + +BOOL __stdcall +WinUsb_GetPowerPolicy( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in ULONG PolicyType, + __inout PULONG ValueLength, + __out_bcount(*ValueLength) PVOID Value + ); + +BOOL __stdcall +WinUsb_GetOverlappedResult( + __in WINUSB_INTERFACE_HANDLE InterfaceHandle, + __in LPOVERLAPPED lpOverlapped, + __out LPDWORD lpNumberOfBytesTransferred, + __in BOOL bWait + ); + + +PUSB_INTERFACE_DESCRIPTOR __stdcall +WinUsb_ParseConfigurationDescriptor( + __in PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, + __in PVOID StartPosition, + __in LONG InterfaceNumber, + __in LONG AlternateSetting, + __in LONG InterfaceClass, + __in LONG InterfaceSubClass, + __in LONG InterfaceProtocol + ); + +PUSB_COMMON_DESCRIPTOR __stdcall +WinUsb_ParseDescriptors( + __in_bcount(TotalLength) PVOID DescriptorBuffer, + __in ULONG TotalLength, + __in PVOID StartPosition, + __in LONG DescriptorType + ); + + +#endif // (NTDDI_VERSION >= NTDDI_WINXP) + +#ifdef __cplusplus +} +#endif + + +#endif //__WUSB_H__ + -- cgit v1.1