1 /** 2 * @file hidsdi.h 3 * Copyright 2012, 2013 MinGW.org project 4 * 5 * Permission is hereby granted, free of charge, to any person obtaining a 6 * copy of this software and associated documentation files (the "Software"), 7 * to deal in the Software without restriction, including without limitation 8 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 9 * and/or sell copies of the Software, and to permit persons to whom the 10 * Software is furnished to do so, subject to the following conditions: 11 * 12 * The above copyright notice and this permission notice (including the next 13 * paragraph) shall be included in all copies or substantial portions of the 14 * Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 * DEALINGS IN THE SOFTWARE. 23 */ 24 #ifndef _HIDSDI_H 25 #define _HIDSDI_H 26 #pragma GCC system_header 27 #include <_mingw.h> 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 #include <ddk/hidusage.h> 34 #include <ddk/hidpi.h> 35 36 #ifndef WINHIDSDI 37 #define WINHIDSDI DECLSPEC_IMPORT 38 #endif 39 40 #include <pshpack4.h> 41 42 typedef struct _HIDD_CONFIGURATION { 43 PVOID cookie; 44 ULONG size; 45 ULONG RingBufferSize; 46 } HIDD_CONFIGURATION, *PHIDD_CONFIGURATION; 47 48 typedef struct _HIDD_ATTRIBUTES { 49 ULONG Size; 50 USHORT VendorID; 51 USHORT ProductID; 52 USHORT VersionNumber; 53 } HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES; 54 55 WINHIDSDI BOOL WINAPI HidD_GetAttributes (HANDLE, PHIDD_ATTRIBUTES); 56 WINHIDSDI VOID WINAPI HidD_GetHidGuid (LPGUID); 57 WINHIDSDI BOOL WINAPI HidD_GetPreparsedData(HANDLE, PHIDP_PREPARSED_DATA *); 58 WINHIDSDI BOOL WINAPI HidD_FreePreparsedData(PHIDP_PREPARSED_DATA); 59 WINHIDSDI BOOL WINAPI HidD_FlushQueue (HANDLE); 60 WINHIDSDI BOOL WINAPI HidD_GetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG); 61 WINHIDSDI BOOL WINAPI HidD_SetConfiguration (HANDLE, PHIDD_CONFIGURATION, ULONG); 62 WINHIDSDI BOOL WINAPI HidD_GetFeature (HANDLE, PVOID, ULONG); 63 WINHIDSDI BOOL WINAPI HidD_SetFeature (HANDLE, PVOID, ULONG); 64 WINHIDSDI BOOL WINAPI HidD_GetNumInputBuffers (HANDLE, PULONG); 65 WINHIDSDI BOOL WINAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG); 66 WINHIDSDI BOOL WINAPI HidD_GetPhysicalDescriptor (HANDLE, PVOID, ULONG); 67 WINHIDSDI BOOL WINAPI HidD_GetManufacturerString (HANDLE, PVOID, ULONG); 68 WINHIDSDI BOOL WINAPI HidD_GetProductString ( HANDLE, PVOID, ULONG); 69 WINHIDSDI BOOL WINAPI HidD_GetIndexedString ( HANDLE, ULONG, PVOID, ULONG); 70 WINHIDSDI BOOL WINAPI HidD_GetSerialNumberString (HANDLE, PVOID, ULONG); 71 72 #include <poppack.h> 73 74 #ifdef __cplusplus 75 } 76 #endif 77 78 #endif /* _HIDSDI_H */ 79