[HIDPARSER]
[reactos.git] / lib / drivers / hidparser / hidparser.h
index 24d282a..71eb157 100644 (file)
@@ -79,23 +79,8 @@ typedef struct
     // debug function
     //
     PHIDPARSER_DEBUG_FUNCTION Debug;
     // debug function
     //
     PHIDPARSER_DEBUG_FUNCTION Debug;
-
-    //
-    // parser context
-    //
-    void * ParserContext;
-
 }HID_PARSER, *PHID_PARSER;
 
 }HID_PARSER, *PHID_PARSER;
 
-HIDPARSER_STATUS
-HidParser_AllocateParser(
-    IN PHIDPARSER_ALLOC_FUNCTION AllocFunction,
-    IN PHIDPARSER_FREE_FUNCTION FreeFunction,
-    IN PHIDPARSER_ZERO_FUNCTION ZeroFunction,
-    IN PHIDPARSER_COPY_FUNCTION CopyFunction,
-    IN PHIDPARSER_DEBUG_FUNCTION DebugFunction,
-    OUT PHID_PARSER *OutParser);
-
 VOID
 HidParser_InitParser(
     IN PHIDPARSER_ALLOC_FUNCTION AllocFunction,
 VOID
 HidParser_InitParser(
     IN PHIDPARSER_ALLOC_FUNCTION AllocFunction,
@@ -103,7 +88,6 @@ HidParser_InitParser(
     IN PHIDPARSER_ZERO_FUNCTION ZeroFunction,
     IN PHIDPARSER_COPY_FUNCTION CopyFunction,
     IN PHIDPARSER_DEBUG_FUNCTION DebugFunction,
     IN PHIDPARSER_ZERO_FUNCTION ZeroFunction,
     IN PHIDPARSER_COPY_FUNCTION CopyFunction,
     IN PHIDPARSER_DEBUG_FUNCTION DebugFunction,
-    IN PVOID ParserContext,
     OUT PHID_PARSER Parser);
 
 NTSTATUS
     OUT PHID_PARSER Parser);
 
 NTSTATUS
@@ -126,6 +110,7 @@ NTSTATUS
 NTAPI
 HidParser_GetCaps(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetCaps(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     OUT PHIDP_CAPS  Capabilities);
 
 HIDAPI
     OUT PHIDP_CAPS  Capabilities);
 
 HIDAPI
@@ -133,6 +118,7 @@ NTSTATUS
 NTAPI
 HidParser_GetSpecificValueCaps(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetSpecificValueCaps(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -146,6 +132,7 @@ NTSTATUS
 NTAPI
 HidParser_GetButtonCaps(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetButtonCaps(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     HIDP_REPORT_TYPE ReportType,
     PHIDP_BUTTON_CAPS ButtonCaps,
     PUSHORT ButtonCapsLength);
     HIDP_REPORT_TYPE ReportType,
     PHIDP_BUTTON_CAPS ButtonCaps,
     PUSHORT ButtonCapsLength);
@@ -155,6 +142,7 @@ NTSTATUS
 NTAPI
 HidParser_GetSpecificButtonCaps(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetSpecificButtonCaps(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -167,6 +155,7 @@ NTSTATUS
 NTAPI
 HidParser_GetScaledUsageValue(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetScaledUsageValue(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
@@ -181,6 +170,7 @@ NTSTATUS
 NTAPI
 HidParser_GetData(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetData(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     OUT PHIDP_DATA  DataList,
     IN OUT PULONG  DataLength,
     IN HIDP_REPORT_TYPE  ReportType,
     OUT PHIDP_DATA  DataList,
     IN OUT PULONG  DataLength,
@@ -192,6 +182,7 @@ NTSTATUS
 NTAPI
 HidParser_GetExtendedAttributes(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetExtendedAttributes(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USHORT  DataIndex,
     OUT PHIDP_EXTENDED_ATTRIBUTES  Attributes,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USHORT  DataIndex,
     OUT PHIDP_EXTENDED_ATTRIBUTES  Attributes,
@@ -202,6 +193,7 @@ NTSTATUS
 NTAPI
 HidParser_GetLinkCollectionNodes(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetLinkCollectionNodes(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     OUT PHIDP_LINK_COLLECTION_NODE  LinkCollectionNodes,
     IN OUT PULONG  LinkCollectionNodesLength);
 
     OUT PHIDP_LINK_COLLECTION_NODE  LinkCollectionNodes,
     IN OUT PULONG  LinkCollectionNodesLength);
 
@@ -210,6 +202,7 @@ NTSTATUS
 NTAPI
 HidParser_GetUsageValue(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetUsageValue(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -234,6 +227,7 @@ ULONG
 NTAPI
 HidParser_MaxUsageListLength(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_MaxUsageListLength(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage  OPTIONAL);
 
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage  OPTIONAL);
 
@@ -242,6 +236,7 @@ NTSTATUS
 NTAPI
 HidParser_GetUsages(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetUsages(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
@@ -255,6 +250,7 @@ NTSTATUS
 NTAPI
 HidParser_GetUsagesEx(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetUsagesEx(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USHORT  LinkCollection,
     OUT PUSAGE_AND_PAGE  ButtonList,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USHORT  LinkCollection,
     OUT PUSAGE_AND_PAGE  ButtonList,
@@ -267,6 +263,7 @@ NTSTATUS
 NTAPI
 HidParser_SysPowerEvent (
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SysPowerEvent (
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN PCHAR HidPacket,
     IN USHORT HidPacketLength,
     OUT PULONG OutputBuffer);
     IN PCHAR HidPacket,
     IN USHORT HidPacketLength,
     OUT PULONG OutputBuffer);
@@ -275,6 +272,7 @@ NTSTATUS
 NTAPI
 HidParser_SysPowerCaps (
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SysPowerCaps (
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     OUT PULONG OutputBuffer);
 
 HIDAPI
     OUT PULONG OutputBuffer);
 
 HIDAPI
@@ -282,6 +280,7 @@ NTSTATUS
 NTAPI
 HidParser_GetUsageValueArray(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_GetUsageValueArray(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
@@ -307,6 +306,7 @@ NTSTATUS
 NTAPI
 HidParser_UnsetUsages(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_UnsetUsages(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -343,6 +343,7 @@ NTSTATUS
 NTAPI
 HidParser_SetUsages(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SetUsages(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -356,6 +357,7 @@ NTSTATUS
 NTAPI
 HidParser_SetUsageValueArray(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SetUsageValueArray(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
@@ -370,6 +372,7 @@ NTSTATUS
 NTAPI
 HidParser_SetUsageValue(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SetUsageValue(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection,
@@ -383,6 +386,7 @@ NTSTATUS
 NTAPI
 HidParser_SetScaledUsageValue(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SetScaledUsageValue(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
     IN HIDP_REPORT_TYPE  ReportType,
     IN USAGE  UsagePage,
     IN USHORT  LinkCollection  OPTIONAL,
@@ -396,6 +400,7 @@ NTSTATUS
 NTAPI
 HidParser_SetData(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_SetData(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN PHIDP_DATA  DataList,
     IN OUT PULONG  DataLength,
     IN HIDP_REPORT_TYPE  ReportType,
     IN PHIDP_DATA  DataList,
     IN OUT PULONG  DataLength,
@@ -407,6 +412,7 @@ ULONG
 NTAPI
 HidParser_MaxDataListLength(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_MaxDataListLength(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType);
 
 HIDAPI
     IN HIDP_REPORT_TYPE  ReportType);
 
 HIDAPI
@@ -414,6 +420,7 @@ NTSTATUS
 NTAPI
 HidParser_InitializeReportForID(
     IN PHID_PARSER Parser,
 NTAPI
 HidParser_InitializeReportForID(
     IN PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     IN HIDP_REPORT_TYPE  ReportType,
     IN UCHAR  ReportID,
     IN OUT PCHAR  Report,
     IN HIDP_REPORT_TYPE  ReportType,
     IN UCHAR  ReportID,
     IN OUT PCHAR  Report,
@@ -422,7 +429,6 @@ HidParser_InitializeReportForID(
 HIDPARSER_STATUS
 HidParser_TranslateUsage(
     IN PHID_PARSER Parser,
 HIDPARSER_STATUS
 HidParser_TranslateUsage(
     IN PHID_PARSER Parser,
-    IN ULONG CollectionNumber,
     IN USAGE Usage,
     IN HIDP_KEYBOARD_DIRECTION  KeyAction,
     IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
     IN USAGE Usage,
     IN HIDP_KEYBOARD_DIRECTION  KeyAction,
     IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
@@ -434,6 +440,7 @@ NTSTATUS
 NTAPI
 HidParser_GetValueCaps(
     PHID_PARSER Parser,
 NTAPI
 HidParser_GetValueCaps(
     PHID_PARSER Parser,
+    IN PVOID CollectionContext,
     HIDP_REPORT_TYPE ReportType,
     PHIDP_VALUE_CAPS ValueCaps,
     PULONG ValueCapsLength);
     HIDP_REPORT_TYPE ReportType,
     PHIDP_VALUE_CAPS ValueCaps,
     PULONG ValueCapsLength);