Author: janderwald Date: Thu Jun 2 19:13:51 2011 New Revision: 52067
URL: http://svn.reactos.org/svn/reactos?rev=52067&view=rev Log: [HIDPARSE] - Start of HID parser driver - Contains currently only stubs
Added: branches/usb-bringup/drivers/usb/hidparse/ (with props) branches/usb-bringup/drivers/usb/hidparse/CMakeLists.txt (with props) branches/usb-bringup/drivers/usb/hidparse/hidparse.c (with props) branches/usb-bringup/drivers/usb/hidparse/hidparse.h (with props) branches/usb-bringup/drivers/usb/hidparse/hidparse.rc (with props) branches/usb-bringup/drivers/usb/hidparse/hidparse.spec (with props) branches/usb-bringup/include/ddk/hidpddi.h (with props) Modified: branches/usb-bringup/drivers/usb/CMakeLists.txt
Modified: branches/usb-bringup/drivers/usb/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/CMakeLis... ============================================================================== --- branches/usb-bringup/drivers/usb/CMakeLists.txt [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/CMakeLists.txt [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,6 +1,7 @@ - +add_subdirectory(hidparse) add_subdirectory(nt4compat) add_subdirectory(usbd) add_subdirectory(usbehci_new) add_subdirectory(usbhub_new) +add_subdirectory(usbohci) add_subdirectory(usbstor)
Propchange: branches/usb-bringup/drivers/usb/hidparse/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Thu Jun 2 19:13:51 2011 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: branches/usb-bringup/drivers/usb/hidparse/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: branches/usb-bringup/drivers/usb/hidparse/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/usb-bringup/drivers/usb/hidparse/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Added: branches/usb-bringup/drivers/usb/hidparse/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/hidparse... ============================================================================== --- branches/usb-bringup/drivers/usb/hidparse/CMakeLists.txt (added) +++ branches/usb-bringup/drivers/usb/hidparse/CMakeLists.txt [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,14 @@ + +spec2def(hidparse.sys hidparse.spec) +add_definitions(-DDEBUG_MODE) + +include_directories(${REACTOS_SOURCE_DIR}/ntoskrnl/include) + +add_library(hidparse SHARED hidparse.c hidparse.rc ${CMAKE_CURRENT_BINARY_DIR}/hidparse.def) + +set_module_type(hidparse kernelmodedriver) +add_importlibs(hidparse ntoskrnl) +add_cab_target(hidparse 2) + +add_cab_target(hidparse 2) +add_importlib_target(hidparse.spec)
Propchange: branches/usb-bringup/drivers/usb/hidparse/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/usb-bringup/drivers/usb/hidparse/hidparse.c URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/hidparse... ============================================================================== --- branches/usb-bringup/drivers/usb/hidparse/hidparse.c (added) +++ branches/usb-bringup/drivers/usb/hidparse/hidparse.c [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,499 @@ +/* + * PROJECT: ReactOS Universal Serial Bus Bulk Enhanced Host Controller Interface + * LICENSE: GPL - See COPYING in the top level directory + * FILE: drivers/usb/hidparse/hidparse.c + * PURPOSE: HID Parser + * PROGRAMMERS: + * Michael Martin (michael.martin@reactos.org) + * Johannes Anderwald (johannes.anderwald@reactos.org) + */ + +#include "hidparse.h" + + +VOID +HidP_FreeCollectionDescription ( + IN PHIDP_DEVICE_DESC DeviceDescription) +{ + DPRINT1("HidP_FreeCollectionDescription DeviceDescription %p\n", DeviceDescription); + + // + // free collection + // + ExFreePool(DeviceDescription->CollectionDesc); + + // + // free report ids + // + ExFreePool(DeviceDescription->ReportIDs); + + // + // free description itself + // + ExFreePool(DeviceDescription); + +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetButtonCaps( + HIDP_REPORT_TYPE ReportType, + PHIDP_BUTTON_CAPS ButtonCaps, + PUSHORT ButtonCapsLength, + PHIDP_PREPARSED_DATA PreparsedData) +{ + return HidP_GetSpecificButtonCaps(ReportType, 0, 0, 0, ButtonCaps, (PULONG)ButtonCapsLength, PreparsedData); +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetSpecificButtonCaps( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN USAGE Usage, + OUT PHIDP_BUTTON_CAPS ButtonCaps, + IN OUT PULONG ButtonCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + + +HIDAPI +NTSTATUS +NTAPI +HidP_GetCaps( + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PHIDP_CAPS Capabilities) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +HidP_GetCollectionDescription( + IN PHIDP_REPORT_DESCRIPTOR ReportDesc, + IN ULONG DescLength, + IN POOL_TYPE PoolType, + OUT PHIDP_DEVICE_DESC DeviceDescription) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetData( + IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_DATA DataList, + IN OUT PULONG DataLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetExtendedAttributes( + IN HIDP_REPORT_TYPE ReportType, + IN USHORT DataIndex, + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PHIDP_EXTENDED_ATTRIBUTES Attributes, + IN OUT PULONG LengthAttributes) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetLinkCollectionNodes( + OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, + IN OUT PULONG LinkCollectionNodesLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetScaledUsageValue( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN USAGE Usage, + OUT PLONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetUsageValue( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN USAGE Usage, + OUT PULONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + + + +HIDAPI +NTSTATUS +NTAPI +HidP_UsageListDifference( + IN PUSAGE PreviousUsageList, + IN PUSAGE CurrentUsageList, + OUT PUSAGE BreakUsageList, + OUT PUSAGE MakeUsageList, + IN ULONG UsageListLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetSpecificValueCaps( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN USAGE Usage, + OUT PHIDP_VALUE_CAPS ValueCaps, + IN OUT PULONG ValueCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +ULONG +NTAPI +HidP_MaxUsageListLength( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage OPTIONAL, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetUsages( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + OUT USAGE *UsageList, + IN OUT ULONG *UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +HidP_SysPowerEvent ( + IN PCHAR HidPacket, + IN USHORT HidPacketLength, + IN PHIDP_PREPARSED_DATA Ppd, + OUT PULONG OutputBuffer) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +HidP_SysPowerCaps ( + IN PHIDP_PREPARSED_DATA Ppd, + OUT PULONG OutputBuffer) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetUsageValueArray( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN USAGE Usage, + OUT PCHAR UsageValue, + IN USHORT UsageValueByteLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetUsagesEx( + IN HIDP_REPORT_TYPE ReportType, + IN USHORT LinkCollection, + OUT PUSAGE_AND_PAGE ButtonList, + IN OUT ULONG *UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + + +HIDAPI +NTSTATUS +NTAPI +HidP_UsageAndPageListDifference( + IN PUSAGE_AND_PAGE PreviousUsageList, + IN PUSAGE_AND_PAGE CurrentUsageList, + OUT PUSAGE_AND_PAGE BreakUsageList, + OUT PUSAGE_AND_PAGE MakeUsageList, + IN ULONG UsageListLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_UnsetUsages( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_TranslateUsagesToI8042ScanCodes( + IN PUSAGE ChangedUsageList, + IN ULONG UsageListLength, + IN HIDP_KEYBOARD_DIRECTION KeyAction, + IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, + IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, + IN PVOID InsertCodesContext) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_TranslateUsageAndPagesToI8042ScanCodes( + IN PUSAGE_AND_PAGE ChangedUsageList, + IN ULONG UsageListLength, + IN HIDP_KEYBOARD_DIRECTION KeyAction, + IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, + IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, + IN PVOID InsertCodesContext) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_SetUsages( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_SetUsageValueArray( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN USAGE Usage, + IN PCHAR UsageValue, + IN USHORT UsageValueByteLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_SetUsageValue( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection, + IN USAGE Usage, + IN ULONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_SetScaledUsageValue( + IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN USAGE Usage, + IN LONG UsageValue, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_SetData( + IN HIDP_REPORT_TYPE ReportType, + IN PHIDP_DATA DataList, + IN OUT PULONG DataLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +ULONG +NTAPI +HidP_MaxDataListLength( + IN HIDP_REPORT_TYPE ReportType, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_InitializeReportForID( + IN HIDP_REPORT_TYPE ReportType, + IN UCHAR ReportID, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +HIDAPI +NTSTATUS +NTAPI +HidP_GetValueCaps( + HIDP_REPORT_TYPE ReportType, + PHIDP_VALUE_CAPS ValueCaps, + PULONG ValueCapsLength, + PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED + ASSERT(FALSE); + return STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS +NTAPI +DriverEntry( + IN PDRIVER_OBJECT DriverObject, + IN PUNICODE_STRING RegPath) +{ + + DPRINT1("********* HID PARSE *********\n"); + return STATUS_SUCCESS; +}
Propchange: branches/usb-bringup/drivers/usb/hidparse/hidparse.c ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/usb-bringup/drivers/usb/hidparse/hidparse.h URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/hidparse... ============================================================================== --- branches/usb-bringup/drivers/usb/hidparse/hidparse.h (added) +++ branches/usb-bringup/drivers/usb/hidparse/hidparse.h [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,8 @@ +#pragma once + +#define _HIDPI_ +#define _HIDPI_NO_FUNCTION_MACROS_ +#include <ntddk.h> +#include <hidpddi.h> +#include <hidpi.h> +#include <debug.h>
Propchange: branches/usb-bringup/drivers/usb/hidparse/hidparse.h ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/usb-bringup/drivers/usb/hidparse/hidparse.rc URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/hidparse... ============================================================================== --- branches/usb-bringup/drivers/usb/hidparse/hidparse.rc (added) +++ branches/usb-bringup/drivers/usb/hidparse/hidparse.rc [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,5 @@ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "USB HID Parser\0" +#define REACTOS_STR_INTERNAL_NAME "hidparse\0" +#define REACTOS_STR_ORIGINAL_FILENAME "hidparse.sys\0" +#include <reactos/version.rc>
Propchange: branches/usb-bringup/drivers/usb/hidparse/hidparse.rc ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/usb-bringup/drivers/usb/hidparse/hidparse.spec URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/hidparse... ============================================================================== --- branches/usb-bringup/drivers/usb/hidparse/hidparse.spec (added) +++ branches/usb-bringup/drivers/usb/hidparse/hidparse.spec [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,53 @@ +@ stdcall HidP_FreeCollectionDescription(ptr) +@ stdcall HidP_GetButtonCaps(long ptr ptr ptr) +@ stdcall HidP_GetCaps(ptr ptr) +@ stdcall HidP_GetCollectionDescription(ptr long long ptr) +@ stdcall HidP_GetData(long ptr ptr ptr ptr long) +@ stdcall HidP_GetExtendedAttributes(long long ptr ptr long) +@ stdcall HidP_GetLinkCollectionNodes(ptr ptr ptr) +@ stdcall HidP_GetScaledUsageValue(long long long long ptr ptr ptr long) +@ stdcall HidP_GetSpecificButtonCaps(long long long long ptr ptr ptr) +@ stdcall HidP_GetSpecificValueCaps(long long long long ptr ptr ptr) +@ stdcall HidP_GetUsageValue(long long long long ptr ptr ptr long) +@ stdcall HidP_GetUsageValueArray(long long long long ptr long ptr ptr long) +@ stdcall HidP_GetUsages(long long ptr ptr ptr ptr long) +@ stdcall HidP_GetUsagesEx(long long ptr ptr ptr ptr long) +@ stdcall HidP_GetValueCaps(long ptr ptr ptr) +@ stdcall HidP_InitializeReportForID(long long ptr ptr long) +@ stdcall HidP_MaxDataListLength(long ptr) +@ stdcall HidP_MaxUsageListLength(long long ptr) +@ stdcall HidP_SetData(long ptr ptr ptr ptr long) +@ stdcall HidP_SetScaledUsageValue(long long long long long ptr ptr long) +@ stdcall HidP_SetUsageValue(long long long long long ptr ptr long) +@ stdcall HidP_SetUsageValueArray(long long long long ptr long long ptr long) +@ stdcall HidP_SetUsages(long long long ptr ptr ptr ptr long) +@ stdcall HidP_SysPowerCaps(ptr ptr) +@ stdcall HidP_SysPowerEvent(ptr long ptr ptr) +@ stdcall HidP_TranslateUsageAndPagesToI8042ScanCodes(ptr long long ptr ptr ptr) +@ stdcall HidP_TranslateUsagesToI8042ScanCodes(ptr long long ptr ptr ptr) +@ stdcall HidP_UnsetUsages(long long long ptr ptr ptr ptr long) +@ stdcall HidP_UsageAndPageListDifference(ptr ptr ptr ptr long) +@ stdcall HidP_UsageListDifference(ptr ptr ptr ptr long) + + + + + + + + + + + + + + + + + + + + + + +
Propchange: branches/usb-bringup/drivers/usb/hidparse/hidparse.spec ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/usb-bringup/include/ddk/hidpddi.h URL: http://svn.reactos.org/svn/reactos/branches/usb-bringup/include/ddk/hidpddi.... ============================================================================== --- branches/usb-bringup/include/ddk/hidpddi.h (added) +++ branches/usb-bringup/include/ddk/hidpddi.h [iso-8859-1] Thu Jun 2 19:13:51 2011 @@ -1,0 +1,97 @@ +#ifndef _HIDPDDI_H +#define _HIDPDDI_H + +#include "hidusage.h" +#include "hidpi.h" + +typedef struct _HIDP_COLLECTION_DESC +{ + USAGE UsagePage; + USAGE Usage; + UCHAR CollectionNumber; + UCHAR Reserved [15]; + USHORT InputLength; + USHORT OutputLength; + USHORT FeatureLength; + USHORT PreparsedDataLength; + PHIDP_PREPARSED_DATA PreparsedData; +}HIDP_COLLECTION_DESC, *PHIDP_COLLECTION_DESC; + +typedef struct _HIDP_REPORT_IDS +{ + UCHAR ReportID; + UCHAR CollectionNumber; + USHORT InputLength; + USHORT OutputLength; + USHORT FeatureLength; +}HIDP_REPORT_IDS, *PHIDP_REPORT_IDS; + +typedef struct _HIDP_GETCOLDESC_DBG +{ + ULONG BreakOffset; + ULONG ErrorCode; + ULONG Args[6]; +}HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG; + +typedef struct _HIDP_DEVICE_DESC +{ + PHIDP_COLLECTION_DESC CollectionDesc; + ULONG CollectionDescLength; + PHIDP_REPORT_IDS ReportIDs; + ULONG ReportIDsLength; + HIDP_GETCOLDESC_DBG Dbg; +}HIDP_DEVICE_DESC, *PHIDP_DEVICE_DESC; + +NTSTATUS +HidP_GetCollectionDescription( + IN PHIDP_REPORT_DESCRIPTOR ReportDesc, + IN ULONG DescLength, + IN POOL_TYPE PoolType, + OUT PHIDP_DEVICE_DESC DeviceDescription +); + +VOID +HidP_FreeCollectionDescription ( + IN PHIDP_DEVICE_DESC DeviceDescription +); + +NTSTATUS +HidP_SysPowerEvent ( + IN PCHAR HidPacket, + IN USHORT HidPacketLength, + IN PHIDP_PREPARSED_DATA Ppd, + OUT PULONG OutputBuffer +); + +NTSTATUS +HidP_SysPowerCaps ( + IN PHIDP_PREPARSED_DATA Ppd, + OUT PULONG OutputBuffer +); + +#define HIDP_GETCOLDESC_SUCCESS 0x00 +#define HIDP_GETCOLDESC_RESOURCES 0x01 +#define HIDP_GETCOLDESC_BUFFER 0x02 +#define HIDP_GETCOLDESC_LINK_RESOURCES 0x03 +#define HIDP_GETCOLDESC_UNEXP_END_COL 0x04 +#define HIDP_GETCOLDESC_PREPARSE_RESOURCES 0x05 +#define HIDP_GETCOLDESC_ONE_BYTE 0x06 +#define HIDP_GETCOLDESC_TWO_BYTE 0x07 +#define HIDP_GETCOLDESC_FOUR_BYTE 0x08 +#define HIDP_GETCOLDESC_BYTE_ALLIGN 0x09 +#define HIDP_GETCOLDESC_MAIN_ITEM_NO_USAGE 0x0A +#define HIDP_GETCOLDESC_TOP_COLLECTION_USAGE 0x0B +#define HIDP_GETCOLDESC_PUSH_RESOURCES 0x10 +#define HIDP_GETCOLDESC_ITEM_UNKNOWN 0x12 +#define HIDP_GETCOLDESC_REPORT_ID 0x13 +#define HIDP_GETCOLDESC_BAD_REPORT_ID 0x14 +#define HIDP_GETCOLDESC_NO_REPORT_ID 0x15 +#define HIDP_GETCOLDESC_DEFAULT_ID_ERROR 0x16 +#define HIDP_GETCOLDESC_NO_DATA 0x1A +#define HIDP_GETCOLDESC_INVALID_MAIN_ITEM 0x1B +#define HIDP_GETCOLDESC_NO_CLOSE_DELIMITER 0x20 +#define HIDP_GETCOLDESC_NOT_VALID_DELIMITER 0x21 +#define HIDP_GETCOLDESC_MISMATCH_OC_DELIMITER 0x22 +#define HIDP_GETCOLDESC_UNSUPPORTED 0x40 + +#endif
Propchange: branches/usb-bringup/include/ddk/hidpddi.h ------------------------------------------------------------------------------ svn:eol-style = native