Aric Stewart : include: Add ddk/hidpi.h.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 26 07:11:54 CDT 2015
Module: wine
Branch: master
Commit: ab3300cdda900124d827424861921558c5031222
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ab3300cdda900124d827424861921558c5031222
Author: Aric Stewart <aric at codeweavers.com>
Date: Thu Jun 25 10:15:41 2015 -0500
include: Add ddk/hidpi.h.
---
include/Makefile.in | 1 +
include/ddk/hidpi.h | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++
include/ddk/hidsdi.h | 2 +-
3 files changed, 169 insertions(+), 1 deletion(-)
diff --git a/include/Makefile.in b/include/Makefile.in
index c02199d..795642d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -253,6 +253,7 @@ SRCDIR_INCLUDES = \
ddk/compstui.h \
ddk/csq.h \
ddk/hidclass.h \
+ ddk/hidpi.h \
ddk/hidsdi.h \
ddk/imm.h \
ddk/mountmgr.h \
diff --git a/include/ddk/hidpi.h b/include/ddk/hidpi.h
new file mode 100644
index 0000000..32f6625
--- /dev/null
+++ b/include/ddk/hidpi.h
@@ -0,0 +1,167 @@
+/*
+ * Copyright (C) 2015 Aric Stewart
+ *
+ * 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 __HIDPI_H__
+#define __HIDPI_H__
+
+typedef enum _HIDP_REPORT_TYPE
+{
+ HidP_Input,
+ HidP_Output,
+ HidP_Feature
+} HIDP_REPORT_TYPE;
+
+typedef struct _HIDP_BUTTON_CAPS
+{
+ USAGE UsagePage;
+ UCHAR ReportID;
+ BOOLEAN IsAlias;
+ USHORT BitField;
+ USHORT LinkCollection;
+ USAGE LinkUsage;
+ USAGE LinkUsagePage;
+
+ BOOLEAN IsRange;
+ BOOLEAN IsStringRange;
+ BOOLEAN IsDesignatorRange;
+ BOOLEAN IsAbsolute;
+ ULONG Reserved[10];
+ union {
+ struct {
+ USAGE UsageMin;
+ USAGE UsageMax;
+ USHORT StringMin;
+ USHORT StringMax;
+ USHORT DesignatorMin;
+ USHORT DesignatorMax;
+ USHORT DataIndexMin;
+ USHORT DataIndexMax;
+ } Range;
+ struct {
+ USAGE Usage;
+ USAGE Reserved1;
+ USHORT StringIndex;
+ USHORT Reserved2;
+ USHORT DesignatorIndex;
+ USHORT Reserved3;
+ USHORT DataIndex;
+ USHORT Reserved4;
+ } NotRange;
+ } DUMMYUNIONNAME;
+} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;
+
+typedef struct _HIDP_VALUE_CAPS
+{
+ USAGE UsagePage;
+ UCHAR ReportID;
+ BOOLEAN IsAlias;
+ USHORT BitField;
+ USHORT LinkCollection;
+ USAGE LinkUsage;
+ USAGE LinkUsagePage;
+
+ BOOLEAN IsRange;
+ BOOLEAN IsStringRange;
+ BOOLEAN IsDesignatorRange;
+ BOOLEAN IsAbsolute;
+ BOOLEAN HasNull;
+ UCHAR Reserved;
+ USHORT BitSize;
+ USHORT ReportCount;
+ USHORT Reserved2[5];
+ ULONG UnitsExp;
+ ULONG Units;
+ LONG LogicalMin;
+ LONG LogicalMax;
+ LONG PhysicalMin;
+ LONG PhysicalMax;
+ union {
+ struct {
+ USAGE UsageMin;
+ USAGE UsageMax;
+ USHORT StringMin;
+ USHORT StringMax;
+ USHORT DesignatorMin;
+ USHORT DesignatorMax;
+ USHORT DataIndexMin;
+ USHORT DataIndexMax;
+ } Range;
+ struct {
+ USAGE Usage;
+ USAGE Reserved1;
+ USHORT StringIndex;
+ USHORT Reserved2;
+ USHORT DesignatorIndex;
+ USHORT Reserved3;
+ USHORT DataIndex;
+ USHORT Reserved4;
+ } NotRange;
+ } DUMMYUNIONNAME;
+} HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS;
+
+typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA;
+
+typedef struct _HIDP_CAPS
+{
+ USAGE Usage;
+ USAGE UsagePage;
+ USHORT InputReportByteLength;
+ USHORT OutputReportByteLength;
+ USHORT FeatureReportByteLength;
+ USHORT Reserved[17];
+ USHORT NumberLinkCollectionNodes;
+ USHORT NumberInputButtonCaps;
+ USHORT NumberInputValueCaps;
+ USHORT NumberInputDataIndices;
+ USHORT NumberOutputButtonCaps;
+ USHORT NumberOutputValueCaps;
+ USHORT NumberOutputDataIndices;
+ USHORT NumberFeatureButtonCaps;
+ USHORT NumberFeatureValueCaps;
+ USHORT NumberFeatureDataIndices;
+} HIDP_CAPS, *PHIDP_CAPS;
+
+NTSTATUS WINAPI HidP_GetCaps(PHIDP_PREPARSED_DATA PreparsedData, PHIDP_CAPS Capabilities);
+
+#ifndef FACILITY_HID_ERROR_CODE
+#define FACILITY_HID_ERROR_CODE 0x11
+#endif
+
+#define HIDP_ERROR_CODES(sev, code) ((NTSTATUS)(((sev) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (code)))
+
+#define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0,0x00))
+#define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8,0x01))
+#define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xc,0x01))
+#define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xc,0x02))
+#define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xc,0x03))
+#define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xc,0x04))
+#define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xc,0x05))
+#define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xc,0x06))
+#define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xc,0x07))
+#define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xc,0x08))
+#define HIDP_STATUS_I8242_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xc,0x09))
+#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xc,0x0a))
+#define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xc,0x0b))
+#define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xc,0x0c))
+#define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xc,0x0d))
+#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xc,0x0e))
+#define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xc,0x0f))
+#define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xc,0x10))
+#define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xc,0x20))
+
+#endif /* __HIDPI_H__ */
diff --git a/include/ddk/hidsdi.h b/include/ddk/hidsdi.h
index 73f5250..5eb68ff 100644
--- a/include/ddk/hidsdi.h
+++ b/include/ddk/hidsdi.h
@@ -20,7 +20,7 @@
#define __WINE_HIDSDI_H
#include "hidusage.h"
-/* FIXME: #include "hidpi.h" */
+#include "hidpi.h"
#ifndef WINE_NTSTATUS_DECLARED
#define WINE_NTSTATUS_DECLARED
More information about the wine-cvs
mailing list