diff --git a/reactos/include/ddk/hidclass.h b/reactos/include/ddk/hidclass.h index 6e41a9013e4..172d987d291 100644 --- a/reactos/include/ddk/hidclass.h +++ b/reactos/include/ddk/hidclass.h @@ -79,6 +79,22 @@ DEFINE_GUID (GUID_HID_INTERFACE_HIDPARSE, \ #define IOCTL_HID_SET_DRIVER_CONFIG HID_BUFFER_CTL_CODE(101) #define IOCTL_HID_GET_MS_GENRE_DESCRIPTOR HID_OUT_CTL_CODE(121) +/* FIXME: these values are wrong! */ +#define IOCTL_HID_GET_STRING 0 +#define IOCTL_HID_GET_DEVICE_ATTRIBUTES 1 +#define IOCTL_HID_GET_DEVICE_DESCRIPTOR 2 +#define IOCTL_HID_READ_REPORT 3 +#define IOCTL_HID_WRITE_REPORT 4 +#define IOCTL_HID_GET_REPORT_DESCRIPTOR 5 + +typedef enum _HID_STRING_TYPE +{ + HID_STRING_INDEXED = 0, + HID_STRING_ID_IMANUFACTURER, + HID_STRING_ID_IPRODUCT, + HID_STRING_ID_ISERIALNUMBER, + HID_STRING_MAX +} HID_STRING_TYPE; enum DeviceObjectState { DeviceObjectStarted = 0, diff --git a/reactos/include/psdk/windows.h b/reactos/include/psdk/windows.h index 390b5ff3c21..34ab88dc7d6 100644 --- a/reactos/include/psdk/windows.h +++ b/reactos/include/psdk/windows.h @@ -16,21 +16,16 @@ #pragma GCC system_header #endif -/* translate GCC target defines to MS equivalents. Keep this synchronized - with winnt.h. */ -#if defined(__i686__) && !defined(_M_IX86) -#define _M_IX86 600 -#elif defined(__i586__) && !defined(_M_IX86) -#define _M_IX86 500 -#elif defined(__i486__) && !defined(_M_IX86) -#define _M_IX86 400 -#elif defined(__i386__) && !defined(_M_IX86) -#define _M_IX86 300 +#ifdef __GNUC__ +#include #endif + #if defined(_M_IX86) && !defined(_X86_) #define _X86_ #elif defined(_M_ALPHA) && !defined(_ALPHA_) #define _ALPHA_ +#elif defined(_M_ARM) && !defined(_ARM_) +#define _ARM_ #elif defined(_M_PPC) && !defined(_PPC_) #define _PPC_ #elif defined(_M_MRX000) && !defined(_MIPS_) diff --git a/reactos/include/psdk/winnt.h b/reactos/include/psdk/winnt.h index 05093d5c20b..8eed528e681 100644 --- a/reactos/include/psdk/winnt.h +++ b/reactos/include/psdk/winnt.h @@ -4,24 +4,16 @@ #pragma GCC system_header #endif -/* translate GCC target defines to MS equivalents. Keep this synchronized - with windows.h. */ -#if defined(__i686__) && !defined(_M_IX86) -#define _M_IX86 600 -#elif defined(__i586__) && !defined(_M_IX86) -#define _M_IX86 500 -#elif defined(__i486__) && !defined(_M_IX86) -#define _M_IX86 400 -#elif defined(__i386__) && !defined(_M_IX86) -#define _M_IX86 300 +#ifdef __GNUC__ +#include #endif + #if defined(_M_IX86) && !defined(_X86_) #define _X86_ #elif defined(_M_ALPHA) && !defined(_ALPHA_) #define _ALPHA_ - -#elif defined(_M_ARM) && !defined(ARM) -#define ARM +#elif defined(_M_ARM) && !defined(_ARM_) +#define _ARM_ #elif defined(_M_PPC) && !defined(_PPC_) #define _PPC_ #elif defined(_M_MRX000) && !defined(_MIPS_) diff --git a/reactos/include/reactos/msvctarget.h b/reactos/include/reactos/msvctarget.h new file mode 100644 index 00000000000..2366279f9db --- /dev/null +++ b/reactos/include/reactos/msvctarget.h @@ -0,0 +1,17 @@ +#ifndef __GNUC__ +#error Unsupported compiler +#endif + +/* translate GCC target defines to MS equivalents. */ +#if defined(__i686__) && !defined(_M_IX86) +#define _M_IX86 600 +#undef __i686__ +#elif defined(__i586__) && !defined(_M_IX86) +#define _M_IX86 500 +#undef __i586__ +#elif defined(__i486__) && !defined(_M_IX86) +#define _M_IX86 400 +#undef __i486__ +#elif defined(__i386__) && !defined(_M_IX86) +#define _M_IX86 300 +#endif