diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h | |
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h')
| -rw-r--r-- | contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h b/contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h new file mode 100644 index 0000000..09bf4d7 --- /dev/null +++ b/contrib/SDL-3.2.8/src/hidapi/windows/hidapi_cfgmgr32.h | |||
| @@ -0,0 +1,86 @@ | |||
| 1 | /******************************************************* | ||
| 2 | HIDAPI - Multi-Platform library for | ||
| 3 | communication with HID devices. | ||
| 4 | |||
| 5 | libusb/hidapi Team | ||
| 6 | |||
| 7 | Copyright 2022, All Rights Reserved. | ||
| 8 | |||
| 9 | At the discretion of the user of this library, | ||
| 10 | this software may be licensed under the terms of the | ||
| 11 | GNU General Public License v3, a BSD-Style license, or the | ||
| 12 | original HIDAPI license as outlined in the LICENSE.txt, | ||
| 13 | LICENSE-gpl3.txt, LICENSE-bsd.txt, and LICENSE-orig.txt | ||
| 14 | files located at the root of the source distribution. | ||
| 15 | These files may also be found in the public source | ||
| 16 | code repository located at: | ||
| 17 | https://github.com/libusb/hidapi . | ||
| 18 | ********************************************************/ | ||
| 19 | |||
| 20 | #ifndef HIDAPI_CFGMGR32_H | ||
| 21 | #define HIDAPI_CFGMGR32_H | ||
| 22 | |||
| 23 | #ifdef HIDAPI_USE_DDK | ||
| 24 | |||
| 25 | #include <cfgmgr32.h> | ||
| 26 | #include <initguid.h> | ||
| 27 | #include <devpkey.h> | ||
| 28 | #include <propkey.h> | ||
| 29 | |||
| 30 | #else | ||
| 31 | |||
| 32 | /* This part of the header mimics cfgmgr32.h, | ||
| 33 | but only what is used by HIDAPI */ | ||
| 34 | |||
| 35 | //#include <initguid.h> | ||
| 36 | #include <devpropdef.h> | ||
| 37 | //#include <propkeydef.h> | ||
| 38 | |||
| 39 | #ifndef PROPERTYKEY_DEFINED | ||
| 40 | #define PROPERTYKEY_DEFINED | ||
| 41 | |||
| 42 | typedef struct | ||
| 43 | { | ||
| 44 | GUID fmtid; | ||
| 45 | DWORD pid; | ||
| 46 | } PROPERTYKEY; | ||
| 47 | |||
| 48 | #endif /* PROPERTYKEY_DEFINED */ | ||
| 49 | |||
| 50 | typedef DWORD RETURN_TYPE; | ||
| 51 | typedef RETURN_TYPE CONFIGRET; | ||
| 52 | typedef DWORD DEVNODE, DEVINST; | ||
| 53 | typedef DEVNODE* PDEVNODE, * PDEVINST; | ||
| 54 | typedef WCHAR* DEVNODEID_W, * DEVINSTID_W; | ||
| 55 | |||
| 56 | #define CR_SUCCESS (0x00000000) | ||
| 57 | #define CR_BUFFER_SMALL (0x0000001A) | ||
| 58 | #define CR_FAILURE (0x00000013) | ||
| 59 | |||
| 60 | #define CM_LOCATE_DEVNODE_NORMAL 0x00000000 | ||
| 61 | |||
| 62 | #define CM_GET_DEVICE_INTERFACE_LIST_PRESENT (0x00000000) | ||
| 63 | |||
| 64 | typedef CONFIGRET(__stdcall* CM_Locate_DevNodeW_)(PDEVINST pdnDevInst, DEVINSTID_W pDeviceID, ULONG ulFlags); | ||
| 65 | typedef CONFIGRET(__stdcall* CM_Get_Parent_)(PDEVINST pdnDevInst, DEVINST dnDevInst, ULONG ulFlags); | ||
| 66 | typedef CONFIGRET(__stdcall* CM_Get_DevNode_PropertyW_)(DEVINST dnDevInst, CONST DEVPROPKEY* PropertyKey, DEVPROPTYPE* PropertyType, PBYTE PropertyBuffer, PULONG PropertyBufferSize, ULONG ulFlags); | ||
| 67 | typedef CONFIGRET(__stdcall* CM_Get_Device_Interface_PropertyW_)(LPCWSTR pszDeviceInterface, CONST DEVPROPKEY* PropertyKey, DEVPROPTYPE* PropertyType, PBYTE PropertyBuffer, PULONG PropertyBufferSize, ULONG ulFlags); | ||
| 68 | typedef CONFIGRET(__stdcall* CM_Get_Device_Interface_List_SizeW_)(PULONG pulLen, LPGUID InterfaceClassGuid, DEVINSTID_W pDeviceID, ULONG ulFlags); | ||
| 69 | typedef CONFIGRET(__stdcall* CM_Get_Device_Interface_ListW_)(LPGUID InterfaceClassGuid, DEVINSTID_W pDeviceID, WCHAR* /*PZZWSTR*/ Buffer, ULONG BufferLen, ULONG ulFlags); | ||
| 70 | |||
| 71 | // from devpkey.h | ||
| 72 | static DEVPROPKEY DEVPKEY_NAME = { { 0xb725f130, 0x47ef, 0x101a, {0xa5, 0xf1, 0x02, 0x60, 0x8c, 0x9e, 0xeb, 0xac} }, 10 }; // DEVPROP_TYPE_STRING | ||
| 73 | static DEVPROPKEY DEVPKEY_Device_Manufacturer = { { 0xa45c254e, 0xdf1c, 0x4efd, {0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0} }, 13 }; // DEVPROP_TYPE_STRING | ||
| 74 | static DEVPROPKEY DEVPKEY_Device_InstanceId = { { 0x78c34fc8, 0x104a, 0x4aca, {0x9e, 0xa4, 0x52, 0x4d, 0x52, 0x99, 0x6e, 0x57} }, 256 }; // DEVPROP_TYPE_STRING | ||
| 75 | static DEVPROPKEY DEVPKEY_Device_HardwareIds = { { 0xa45c254e, 0xdf1c, 0x4efd, {0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0} }, 3 }; // DEVPROP_TYPE_STRING_LIST | ||
| 76 | static DEVPROPKEY DEVPKEY_Device_CompatibleIds = { { 0xa45c254e, 0xdf1c, 0x4efd, {0x80, 0x20, 0x67, 0xd1, 0x46, 0xa8, 0x50, 0xe0} }, 4 }; // DEVPROP_TYPE_STRING_LIST | ||
| 77 | static DEVPROPKEY DEVPKEY_Device_ContainerId = { { 0x8c7ed206, 0x3f8a, 0x4827, {0xb3, 0xab, 0xae, 0x9e, 0x1f, 0xae, 0xfc, 0x6c} }, 2 }; // DEVPROP_TYPE_GUID | ||
| 78 | |||
| 79 | // from propkey.h | ||
| 80 | static PROPERTYKEY PKEY_DeviceInterface_Bluetooth_DeviceAddress = { { 0x2bd67d8b, 0x8beb, 0x48d5, {0x87, 0xe0, 0x6c, 0xda, 0x34, 0x28, 0x04, 0x0a} }, 1 }; // DEVPROP_TYPE_STRING | ||
| 81 | static PROPERTYKEY PKEY_DeviceInterface_Bluetooth_Manufacturer = { { 0x2bd67d8b, 0x8beb, 0x48d5, {0x87, 0xe0, 0x6c, 0xda, 0x34, 0x28, 0x04, 0x0a} }, 4 }; // DEVPROP_TYPE_STRING | ||
| 82 | static PROPERTYKEY PKEY_DeviceInterface_Bluetooth_ModelNumber = { { 0x2BD67D8B, 0x8BEB, 0x48D5, {0x87, 0xE0, 0x6C, 0xDA, 0x34, 0x28, 0x04, 0x0A} }, 5 }; // DEVPROP_TYPE_STRING | ||
| 83 | |||
| 84 | #endif | ||
| 85 | |||
| 86 | #endif /* HIDAPI_CFGMGR32_H */ | ||
