Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / reactos / sdk / lib / drivers / hidparser / parser.h
diff --git a/reactos/sdk/lib/drivers/hidparser/parser.h b/reactos/sdk/lib/drivers/hidparser/parser.h
deleted file mode 100644 (file)
index 1a8f0ce..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-#ifndef _HIDPARSER_H_
-#define _HIDPARSER_H_
-
-#include <wdm.h>
-#include <pshpack1.h>
-#define _HIDPI_
-#define _HIDPI_NO_FUNCTION_MACROS_
-#include <hidpddi.h>
-
-#include "hidparser.h"
-
- /*
-  * Copyright 2007, Haiku, Inc. All Rights Reserved.
-  * Distributed under the terms of the MIT License.
-  */
-
-#define HID_REPORT_TYPE_ANY                    0x07
-
-
-#define ITEM_TYPE_MAIN                                         0x0
-#define ITEM_TYPE_GLOBAL                                       0x1
-#define ITEM_TYPE_LOCAL                                                0x2
-#define ITEM_TYPE_LONG                                         0x3
-
-#define ITEM_TAG_MAIN_INPUT                                    0x8
-#define ITEM_TAG_MAIN_OUTPUT                           0x9
-#define ITEM_TAG_MAIN_FEATURE                          0xb
-#define ITEM_TAG_MAIN_COLLECTION                       0xa
-#define ITEM_TAG_MAIN_END_COLLECTION           0xc
-
-#define ITEM_TAG_GLOBAL_USAGE_PAGE                     0x0
-#define ITEM_TAG_GLOBAL_LOGICAL_MINIMUM                0x1
-#define ITEM_TAG_GLOBAL_LOGICAL_MAXIMUM                0x2
-#define ITEM_TAG_GLOBAL_PHYSICAL_MINIMUM       0x3
-#define ITEM_TAG_GLOBAL_PHYSICAL_MAXIMUM       0x4
-#define ITEM_TAG_GLOBAL_UNIT_EXPONENT          0x5
-#define ITEM_TAG_GLOBAL_UNIT                           0x6
-#define ITEM_TAG_GLOBAL_REPORT_SIZE                    0x7
-#define ITEM_TAG_GLOBAL_REPORT_ID                      0x8
-#define ITEM_TAG_GLOBAL_REPORT_COUNT           0x9
-#define ITEM_TAG_GLOBAL_PUSH                           0xa
-#define ITEM_TAG_GLOBAL_POP                                    0xb
-
-#define ITEM_TAG_LOCAL_USAGE                           0x0
-#define ITEM_TAG_LOCAL_USAGE_MINIMUM           0x1
-#define ITEM_TAG_LOCAL_USAGE_MAXIMUM           0x2
-#define ITEM_TAG_LOCAL_DESIGNATOR_INDEX                0x3
-#define ITEM_TAG_LOCAL_DESIGNATOR_MINIMUM      0x4
-#define ITEM_TAG_LOCAL_DESIGNATOR_MAXIMUM      0x5
-#define ITEM_TAG_LOCAL_STRING_INDEX                    0x7
-#define ITEM_TAG_LOCAL_STRING_MINIMUM          0x8
-#define ITEM_TAG_LOCAL_STRING_MAXIMUM          0x9
-#define ITEM_TAG_LOCAL_DELIMITER                       0xa
-
-#define ITEM_TAG_LONG                                          0xf
-
-#define COLLECTION_PHYSICAL                                    0x00
-#define COLLECTION_APPLICATION                         0x01
-#define COLLECTION_LOGICAL                                     0x02
-#define COLLECTION_REPORT                                      0x03
-#define COLLECTION_NAMED_ARRAY                         0x04
-#define COLLECTION_USAGE_SWITCH                                0x05
-#define COLLECTION_USAGE_MODIFIER                      0x06
-#define COLLECTION_ALL                                         0xff
-
-#define UNIT_SYSTEM                                                    0x0
-#define UNIT_LENGTH                                                    0x1
-#define UNIT_MASS                                                      0x2
-#define UNIT_TIME                                                      0x3
-#define UNIT_TEMPERATURE                                       0x4
-#define UNIT_CURRENT                                           0x5
-#define UNIT_LUMINOUS_INTENSITY                                0x6
-
-#define USAGE_PAGE_SHIFT                                       16
-#define USAGE_PAGE_MASK                                                0xffff
-#define USAGE_ID_SHIFT                                         0
-#define USAGE_ID_MASK                                          0xffff
-
-typedef struct
-{
-    UCHAR Size:2;
-    UCHAR Type:2;
-    UCHAR Tag:4;
-}ITEM_PREFIX, *PITEM_PREFIX;
-
-typedef struct
-{
-    ITEM_PREFIX Prefix;
-
-    union
-    {
-        UCHAR UData8[4];
-        CHAR  SData8[4];
-        USHORT UData16[2];
-        SHORT SData16[2];
-        ULONG UData32;
-        LONG SData32;
-    }Data;
-
-}SHORT_ITEM, *PSHORT_ITEM;
-
-typedef struct
-{
-    ITEM_PREFIX Prefix;
-    UCHAR DataSize;
-    UCHAR LongItemTag;
-    UCHAR Data[0];
-
-}LONG_ITEM,*PLONG_ITEM;
-
-
-#define  LBITFIELD9(b1,b2,b3,b4,b5,b6,b7,b8,b9)    USHORT b9,b8,b7,b6,b5,b4,b3,b2,b1
-typedef struct
-{
-    USHORT DataConstant:1;
-    USHORT ArrayVariable:1;
-    USHORT Relative:1;
-    USHORT Wrap:1;
-    USHORT NonLinear:1;
-    USHORT NoPreferred:1;
-    USHORT NullState:1;
-    USHORT IsVolatile:1;
-    USHORT BitsBytes:1;
-    UCHAR    reserved[2];
-
-}MAIN_ITEM_DATA, *PMAIN_ITEM_DATA;
-
-typedef struct __GLOBAL_ITEM_STATE_
-{
-    USHORT UsagePage;
-    ULONG  LogicalMinimum;
-    ULONG  LogicialMaximum;
-    ULONG  PhysicalMinimum;
-    ULONG  PhysicalMaximum;
-    UCHAR  UnitExponent;
-    UCHAR  Unit;
-    ULONG  ReportSize;
-    ULONG  ReportCount;
-    UCHAR  ReportId;
-    struct __GLOBAL_ITEM_STATE__ * Next;
-}GLOBAL_ITEM_STATE, *PGLOBAL_ITEM_STATE;
-
-
-typedef struct usage_value 
-{
-    union 
-    {
-        struct {
-            USHORT UsageId;
-            USHORT UsagePage;
-        }s;
-        ULONG  Extended;
-    }u;
-
-   UCHAR IsExtended;
-}USAGE_VALUE, *PUSAGE_VALUE;
-
-
-typedef struct
-{
-    PUSAGE_VALUE    UsageStack;
-    ULONG           UsageStackUsed;
-    ULONG           UsageStackAllocated;
-
-    USAGE_VALUE     UsageMinimum;
-    USAGE_VALUE     UsageMaximum;
-
-    UCHAR           UsageMinimumSet;
-    UCHAR           UsageMaximumSet;
-
-    ULONG           DesignatorIndex;
-    UCHAR           DesignatorIndexSet;
-
-    ULONG           DesignatorMinimum;
-    ULONG           DesignatorMaximum;
-
-    UCHAR           StringIndex;
-    UCHAR           StringIndexSet;
-    UCHAR           StringMinimum;
-    UCHAR           StringMaximum;
-
-}LOCAL_ITEM_STATE, *PLOCAL_ITEM_STATE;
-
-typedef struct
-{
-    ULONG ByteOffset;
-    UCHAR Shift;
-    ULONG Mask;
-    UCHAR BitCount;
-    UCHAR HasData;
-    UCHAR Array;
-    UCHAR Relative;
-    ULONG Minimum;
-    ULONG Maximum;
-    ULONG UsageMinimum;
-    ULONG UsageMaximum;
-    ULONG Data;
-    UCHAR Valid;
-}HID_REPORT_ITEM, *PHID_REPORT_ITEM;
-
-struct _HID_REPORT;
-
-typedef struct __HID_COLLECTION__
-{
-    UCHAR Type;
-    ULONG Usage;
-    UCHAR StringID;
-    UCHAR PhysicalID;
-    ULONG ReportCount;
-    ULONG NodeCount;
-
-    struct __HID_COLLECTION__ ** Nodes;
-    struct __HID_COLLECTION__ * Root;
-    struct _HID_REPORT ** Reports; 
-
-    ULONG Offsets[1];
-
-}HID_COLLECTION, *PHID_COLLECTION;
-
-typedef struct _HID_REPORT
-{
-    UCHAR Type;
-    UCHAR ReportID;
-    ULONG ReportSize;
-    ULONG ItemCount;
-    ULONG ItemAllocated;
-    HID_REPORT_ITEM Items[1];
-}HID_REPORT, *PHID_REPORT;
-
-typedef struct
-{
-    //
-    // global item state
-    //
-    GLOBAL_ITEM_STATE GlobalItemState;
-
-    //
-    // local item state
-    //
-    LOCAL_ITEM_STATE LocalItemState;
-
-    //
-    // root collection
-    //
-    PHID_COLLECTION RootCollection;
-
-    //
-    // uses report ids
-    //
-    UCHAR UseReportIDs;
-
-    //
-    // collection index
-    //
-    ULONG CollectionIndex;
-
-}HID_PARSER_CONTEXT, *PHID_PARSER_CONTEXT;
-
-#define HID_REPORT_TYPE_INPUT          0x01
-#define HID_REPORT_TYPE_OUTPUT         0x02
-#define HID_REPORT_TYPE_FEATURE                0x04
-
-ULONG
-HidParser_UsesReportId(
-    IN PVOID CollectionContext,
-    IN UCHAR  ReportType);
-
-HIDPARSER_STATUS
-HidParser_GetCollectionUsagePage(
-    IN PVOID CollectionContext,
-    OUT PUSHORT Usage,
-    OUT PUSHORT UsagePage);
-
-ULONG
-HidParser_GetReportLength(
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType);
-
-UCHAR
-HidParser_IsReportIDUsed(
-    IN PHID_PARSER Parser);
-
-ULONG
-HidParser_GetReportItemCountFromReportType(
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType);
-
-ULONG
-HidParser_GetReportItemTypeCountFromReportType(
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType,
-    IN ULONG bData);
-
-ULONG
-HidParser_GetMaxUsageListLengthWithReportAndPage(
-    IN PVOID CollectionContext,
-    IN UCHAR  ReportType,
-    IN USAGE  UsagePage  OPTIONAL);
-
-HIDPARSER_STATUS
-HidParser_GetSpecificValueCapsWithReport(
-    IN PHID_PARSER Parser,
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType,
-    IN USHORT UsagePage,
-    IN USHORT Usage,
-    OUT PHIDP_VALUE_CAPS  ValueCaps,
-    IN OUT PUSHORT  ValueCapsLength);
-
-
-HIDPARSER_STATUS
-HidParser_GetUsagesWithReport(
-    IN PHID_PARSER Parser,
-    IN PVOID CollectionContext,
-    IN UCHAR  ReportType,
-    IN USAGE  UsagePage,
-    OUT USAGE  *UsageList,
-    IN OUT PULONG UsageLength,
-    IN PCHAR  ReportDescriptor,
-    IN ULONG  ReportDescriptorLength);
-
-HIDPARSER_STATUS
-HidParser_GetScaledUsageValueWithReport(
-    IN PHID_PARSER Parser,
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType,
-    IN USAGE UsagePage,
-    IN USAGE  Usage,
-    OUT PLONG UsageValue,
-    IN PCHAR ReportDescriptor,
-    IN ULONG ReportDescriptorLength);
-
-HIDPARSER_STATUS
-HidParser_GetUsageValueWithReport(
-    IN PHID_PARSER Parser,
-    IN PVOID CollectionContext,
-    IN UCHAR ReportType,
-    IN USAGE UsagePage,
-    IN USAGE  Usage,
-    OUT PULONG UsageValue,
-    IN PCHAR ReportDescriptor,
-    IN ULONG ReportDescriptorLength);
-
-/* parser.c */
-
-HIDPARSER_STATUS
-HidParser_BuildContext(
-    IN PHID_PARSER Parser,
-    IN PVOID ParserContext,
-    IN ULONG CollectionIndex,
-    IN ULONG ContextSize,
-    OUT PVOID *CollectionContext);
-
-ULONG
-HidParser_CalculateContextSize(
-    IN PHID_COLLECTION Collection);
-
-HIDPARSER_STATUS
-HidParser_ParseReportDescriptor(
-    PHID_PARSER Parser,
-    PUCHAR Report,
-    ULONG ReportSize,
-    OUT PVOID *ParserContext);
-
-ULONG
-HidParser_NumberOfTopCollections(
-    IN PVOID ParserContext);
-
-ULONG
-HidParser_GetContextSize(
-    IN PHID_PARSER Parser,
-    IN PVOID ParserContext,
-    IN ULONG CollectionNumber);
-
-
-/* context.c */
-
-PHID_COLLECTION
-HidParser_GetCollectionFromContext(
-    IN PVOID Context);
-
-ULONG
-HidParser_GetTotalCollectionCount(
-    IN PVOID CollectionContext);
-
-HIDPARSER_STATUS
-HidParser_BuildCollectionContext(
-    IN PHID_PARSER Parser,
-    IN PHID_COLLECTION RootCollection,
-    IN PVOID Context,
-    IN ULONG ContextSize);
-
-PHID_REPORT
-HidParser_GetReportInCollection(
-    IN PVOID Context,
-    IN UCHAR ReportType);
-
-#endif /* _HIDPARSER_H_ */