diff --git a/reactos/lib/hid/.cvsignore b/reactos/lib/hid/.cvsignore new file mode 100644 index 00000000000..9103a525d39 --- /dev/null +++ b/reactos/lib/hid/.cvsignore @@ -0,0 +1,8 @@ +*.coff +*.dll +*.d +*.a +*.o +*.sym +*.map +*.tmp diff --git a/reactos/lib/hid/Makefile b/reactos/lib/hid/Makefile new file mode 100644 index 00000000000..fa7242cda46 --- /dev/null +++ b/reactos/lib/hid/Makefile @@ -0,0 +1,50 @@ +# $Id: Makefile,v 1.1 2004/07/12 15:08:43 weiden Exp $ + +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = hid + +TARGET_INSTALLDIR = system32 + +TARGET_BASE = $(TARGET_BASE_LIB_ACLEDIT) + +TARGET_CFLAGS = \ + -D_WIN32_IE=0x0600 \ + -D_WIN32_WINNT=0x0501 \ + -I./include \ + -DUNICODE \ + -D_UNICODE \ + -D__REACTOS__ \ + -D__USE_W32API \ + -D_HIDPI_ \ + -D_HIDPI_NO_FUNCTION_MACROS_ \ + -Wall \ + -Werror \ + -fno-builtin + +TARGET_LFLAGS = -nostartfiles -nostdlib + +TARGET_SDKLIBS = ntdll.a kernel32.a advapi32.a + +TARGET_GCCLIBS = gcc + +TARGET_PCH = + +TARGET_CLEAN = + +TARGET_OBJECTS = hid.o stubs.o + +DEP_OBJECTS = $(TARGET_OBJECTS) + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +include $(TOOLS_PATH)/depend.mk + +%/TAGS: + etags -o $(@D)/TAGS $(@D)/\*.c + +etags: ./TAGS diff --git a/reactos/lib/hid/hid.c b/reactos/lib/hid/hid.c new file mode 100644 index 00000000000..0ac91303b8c --- /dev/null +++ b/reactos/lib/hid/hid.c @@ -0,0 +1,112 @@ +/* + * ReactOS kernel + * Copyright (C) 2004 ReactOS Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +/* $Id: hid.c,v 1.1 2004/07/12 15:08:43 weiden Exp $ + * + * PROJECT: ReactOS Hid User Library + * FILE: lib/hid/hid.c + * PURPOSE: ReactOS Hid User Library + * + * UPDATE HISTORY: + * 07/12/2004 Created + */ +#include +#include +#include "internal.h" + +HINSTANCE hDllInstance; + +BOOL STDCALL +DllMain(HINSTANCE hinstDLL, + DWORD dwReason, + LPVOID lpvReserved) +{ + switch(dwReason) + { + case DLL_PROCESS_ATTACH: + hDllInstance = hinstDLL; + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + +/* + * HidP_GetButtonCaps EXPORTED + * + * @implemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_GetButtonCaps(IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_BUTTON_CAPS ButtonCaps, + IN OUT PULONG ButtonCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + return HidP_GetSpecificButtonCaps(ReportType, 0, 0, 0, ButtonCaps, ButtonCapsLength, PreparsedData); +} + + +/* + * HidP_GetValueCaps EXPORTED + * + * @implemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_GetValueCaps(IN HIDP_REPORT_TYPE ReportType, + OUT PHIDP_VALUE_CAPS ValueCaps, + IN OUT PULONG ValueCapsLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + return HidP_GetSpecificValueCaps (ReportType, 0, 0, 0, ValueCaps, ValueCapsLength, PreparsedData); +} + + +/* + * HidD_Hello EXPORTED + * + * Undocumented easter egg function. It fills the buffer with "Hello\nI hate Jello\n" + * and returns number of bytes filled in (lstrlen(Buffer) + 1 == 20) + * + * Bugs: - doesn't check Buffer for NULL + * - always returns 20 even if BufferLength < 20 but doesn't produce a buffer overflow + * + * @implemented + */ +HIDAPI +ULONG DDKAPI +HidD_Hello(OUT PCHAR Buffer, + IN ULONG BufferLength) +{ + const PCHAR const HelloString = "Hello\nI hate Jello\n"; + int StrSize = lstrlenA(HelloString) + sizeof(CHAR); + + memcpy(Buffer, HelloString, min(StrSize, BufferLength)); + return StrSize; +} + +/* EOF */ diff --git a/reactos/lib/hid/hid.def b/reactos/lib/hid/hid.def new file mode 100644 index 00000000000..4b20fa5ef9c --- /dev/null +++ b/reactos/lib/hid/hid.def @@ -0,0 +1,48 @@ +LIBRARY hid.dll + +EXPORTS +HidD_FlushQueue@4 +HidD_FreePreparsedData@4 +HidD_GetAttributes@8 +HidD_GetConfiguration@12 +HidD_GetFeature@12 +HidD_GetHidGuid@4 +HidD_GetIndexedString@16 +HidD_GetInputReport@12 +HidD_GetManufacturerString@12 +HidD_GetMsGenreDescriptor@12 +HidD_GetNumInputBuffers@8 +HidD_GetPhysicalDescriptor@12 +HidD_GetPreparsedData@8 +HidD_GetProductString@12 +HidD_GetSerialNumberString@12 +HidD_Hello@8 +HidD_SetConfiguration@12 +HidD_SetFeature@12 +HidP_GetButtonCaps@16 +HidP_GetCaps@8 +HidP_GetData@24 +HidP_GetExtendedAttributes@20 +HidP_GetLinkCollectionNodes@12 +HidP_GetScaledUsageValue@32 +HidP_GetSpecificButtonCaps@28 +HidP_GetSpecificValueCaps@28 +HidP_GetUsageValue@32 +HidP_GetUsageValueArray@36 +HidP_GetUsages@32 +HidP_GetUsagesEx@28 +HidP_GetValueCaps@16 +HidP_InitializeReportForID@20 +HidP_MaxDataListLength@8 +HidP_MaxUsageListLength@12 +HidP_SetData@24 +HidP_SetScaledUsageValue@32 +HidP_SetUsageValue@32 +HidP_SetUsageValueArray@36 +HidP_SetUsages@32 +HidP_TranslateUsagesToI8042ScanCodes@24 +HidP_UnsetUsages@32 +HidP_UsageListDifference@20 +;HidservInstaller@0 + +; EOF diff --git a/reactos/lib/hid/hid.edf b/reactos/lib/hid/hid.edf new file mode 100644 index 00000000000..0439b56dc2c --- /dev/null +++ b/reactos/lib/hid/hid.edf @@ -0,0 +1,48 @@ +LIBRARY hid.dll + +EXPORTS +HidD_FlushQueue=HidD_FlushQueue@4 +HidD_FreePreparsedData=HidD_FreePreparsedData@4 +HidD_GetAttributes=HidD_GetAttributes@8 +HidD_GetConfiguration=HidD_GetConfiguration@12 +HidD_GetFeature=HidD_GetFeature@12 +HidD_GetHidGuid=HidD_GetHidGuid@4 +HidD_GetIndexedString=HidD_GetIndexedString@16 +HidD_GetInputReport=HidD_GetInputReport@12 +HidD_GetManufacturerString=HidD_GetManufacturerString@12 +HidD_GetMsGenreDescriptor=HidD_GetMsGenreDescriptor@12 +HidD_GetNumInputBuffers=HidD_GetNumInputBuffers@8 +HidD_GetPhysicalDescriptor=HidD_GetPhysicalDescriptor@12 +HidD_GetPreparsedData=HidD_GetPreparsedData@8 +HidD_GetProductString=HidD_GetProductString@12 +HidD_GetSerialNumberString=HidD_GetSerialNumberString@12 +HidD_Hello=HidD_Hello@8 +HidD_SetConfiguration=HidD_SetConfiguration@12 +HidD_SetFeature=HidD_SetFeature@12 +HidP_GetButtonCaps=HidP_GetButtonCaps@16 +HidP_GetCaps=HidP_GetCaps@8 +HidP_GetData=HidP_GetData@24 +HidP_GetExtendedAttributes=HidP_GetExtendedAttributes@20 +HidP_GetLinkCollectionNodes=HidP_GetLinkCollectionNodes@12 +HidP_GetScaledUsageValue=HidP_GetScaledUsageValue@32 +HidP_GetSpecificButtonCaps=HidP_GetSpecificButtonCaps@28 +HidP_GetSpecificValueCaps=HidP_GetSpecificValueCaps@28 +HidP_GetUsageValue=HidP_GetUsageValue@32 +HidP_GetUsageValueArray=HidP_GetUsageValueArray@36 +HidP_GetUsages=HidP_GetUsages@32 +HidP_GetUsagesEx=HidP_GetUsagesEx@28 +HidP_GetValueCaps=HidP_GetValueCaps@16 +HidP_InitializeReportForID=HidP_InitializeReportForID@20 +HidP_MaxDataListLength=HidP_MaxDataListLength@8 +HidP_MaxUsageListLength=HidP_MaxUsageListLength@12 +HidP_SetData=HidP_SetData@24 +HidP_SetScaledUsageValue=HidP_SetScaledUsageValue@32 +HidP_SetUsageValue=HidP_SetUsageValue@32 +HidP_SetUsageValueArray=HidP_SetUsageValueArray@36 +HidP_SetUsages=HidP_SetUsages@32 +HidP_TranslateUsagesToI8042ScanCodes=HidP_TranslateUsagesToI8042ScanCodes@24 +HidP_UnsetUsages=HidP_UnsetUsages@32 +HidP_UsageListDifference=HidP_UsageListDifference@20 +;HidservInstaller=HidservInstaller@0 + +; EOF diff --git a/reactos/lib/hid/hid.rc b/reactos/lib/hid/hid.rc new file mode 100644 index 00000000000..bafd3927031 --- /dev/null +++ b/reactos/lib/hid/hid.rc @@ -0,0 +1,39 @@ +#include +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +VS_VERSION_INFO VERSIONINFO + FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD + PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", RES_STR_COMPANY_NAME + VALUE "FileDescription", "ReactOS Hid User Library\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "hid\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "hid.dll\0" + VALUE "ProductName", RES_STR_PRODUCT_NAME + VALUE "ProductVersion", RES_STR_PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + diff --git a/reactos/lib/hid/internal.h b/reactos/lib/hid/internal.h new file mode 100644 index 00000000000..114b97b8bb5 --- /dev/null +++ b/reactos/lib/hid/internal.h @@ -0,0 +1,8 @@ +#ifndef __HIDINTERNAL_H +#define __HIDINTERNAL_H + +extern HINSTANCE hDllInstance; + +#endif /* __HIDINTERNAL_H */ + +/* EOF */ diff --git a/reactos/lib/hid/stubs.c b/reactos/lib/hid/stubs.c new file mode 100644 index 00000000000..25b5f8d915a --- /dev/null +++ b/reactos/lib/hid/stubs.c @@ -0,0 +1,655 @@ +/* $Id: stubs.c,v 1.1 2004/07/12 15:08:43 weiden Exp $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Hid User Library + * FILE: lib/hid/stubs.c + * PURPOSE: hid.dll stubs + * NOTES: If you implement a function, remove it from this file + * + * UPDATE HISTORY: + * 07/12/2004 Created + */ +#include +#include +#include "internal.h" + +#define UNIMPLEMENTED \ + DbgPrint("HID: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__) + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_FlushQueue(IN HANDLE HidDeviceObject) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_FreePreparsedData(IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetAttributes(IN HANDLE HidDeviceObject, + OUT PHIDD_ATTRIBUTES Attributes) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetConfiguration(IN HANDLE HidDeviceObject, + OUT PHIDD_CONFIGURATION Configuration, + IN ULONG ConfigurationLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetFeature(IN HANDLE HidDeviceObject, + OUT PVOID ReportBuffer, + IN ULONG ReportBufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +VOID DDKAPI +HidD_GetHidGuid(OUT LPGUID HidGuid) +{ + UNIMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetIndexedString(IN HANDLE HidDeviceObject, + IN ULONG StringIndex, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetInputReport(IN HANDLE HidDeviceObject, + IN OUT PVOID ReportBuffer, + IN ULONG ReportBufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetManufacturerString(IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetMsGenreDescriptor(IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetNumInputBuffers(IN HANDLE HidDeviceObject, + OUT PULONG NumberBuffers) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetPhysicalDescriptor(IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetPreparsedData(IN HANDLE HidDeviceObject, + OUT PHIDP_PREPARSED_DATA *PreparsedData) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetProductString(IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_GetSerialNumberString(IN HANDLE HidDeviceObject, + OUT PVOID Buffer, + IN ULONG BufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_SetConfiguration(IN HANDLE HidDeviceObject, + IN PHIDD_CONFIGURATION Configuration, + IN ULONG ConfigurationLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_SetFeature(IN HANDLE HidDeviceObject, + IN PVOID ReportBuffer, + IN ULONG ReportBufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_SetNumInputBuffers(IN HANDLE HidDeviceObject, + OUT ULONG NumberBuffers) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +BOOLEAN DDKAPI +HidD_SetOutputReport(IN HANDLE HidDeviceObject, + IN PVOID ReportBuffer, + IN ULONG ReportBufferLength) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_GetCaps(IN PHIDP_PREPARSED_DATA PreparsedData, + OUT PHIDP_CAPS Capabilities) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_GetLinkCollectionNodes(OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, + IN OUT PULONG LinkCollectionNodesLength, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_InitializeReportForID(IN HIDP_REPORT_TYPE ReportType, + IN UCHAR ReportID, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +ULONG DDKAPI +HidP_MaxDataListLength(IN HIDP_REPORT_TYPE ReportType, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED; + return 0; +} + + +/* + * @unimplemented + */ +HIDAPI +ULONG DDKAPI +HidP_MaxUsageListLength(IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage OPTIONAL, + IN PHIDP_PREPARSED_DATA PreparsedData) +{ + UNIMPLEMENTED; + return 0; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_SetUsages(IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +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; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_UnsetUsages(IN HIDP_REPORT_TYPE ReportType, + IN USAGE UsagePage, + IN USHORT LinkCollection OPTIONAL, + IN PUSAGE UsageList, + IN OUT PULONG UsageLength, + IN PHIDP_PREPARSED_DATA PreparsedData, + IN OUT PCHAR Report, + IN ULONG ReportLength) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + + +/* + * @unimplemented + */ +HIDAPI +NTSTATUS DDKAPI +HidP_UsageListDifference(IN PUSAGE PreviousUsageList, + IN PUSAGE CurrentUsageList, + OUT PUSAGE BreakUsageList, + OUT PUSAGE MakeUsageList, + IN ULONG UsageListLength) +{ + UNIMPLEMENTED; + return HIDP_STATUS_NOT_IMPLEMENTED; +} + +/* EOF */ diff --git a/reactos/w32api/include/ddk/hidpi.h b/reactos/w32api/include/ddk/hidpi.h index d6021782f20..a9ac5bc9df8 100644 --- a/reactos/w32api/include/ddk/hidpi.h +++ b/reactos/w32api/include/ddk/hidpi.h @@ -84,6 +84,19 @@ typedef struct _USAGE_AND_PAGE { USAGE UsagePage; } USAGE_AND_PAGE, *PUSAGE_AND_PAGE; +typedef struct _HIDD_ATTRIBUTES { + ULONG Size; + USHORT VendorID; + USHORT ProductID; + USHORT VersionNumber; +} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES; + +typedef struct _HIDD_CONFIGURATION { + PVOID cookie; + ULONG size; + ULONG RingBufferSize; +} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION; + HIDAPI NTSTATUS DDKAPI @@ -256,7 +269,7 @@ typedef enum _HIDP_REPORT_TYPE { #define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN - +#if !defined(_HIDPI_NO_FUNCTION_MACROS_) /* * NTSTATUS * HidP_GetButtonCaps( @@ -301,6 +314,8 @@ typedef enum _HIDP_REPORT_TYPE { #define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL) \ HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL) +#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ + HIDAPI NTSTATUS DDKAPI @@ -426,6 +441,8 @@ HidP_GetUsageValueArray( IN PCHAR Report, IN ULONG ReportLength); +#if !defined(_HIDPI_NO_FUNCTION_MACROS_) + /* * NTSTATUS * HidP_GetValueCaps( @@ -437,6 +454,8 @@ HidP_GetUsageValueArray( #define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \ HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) +#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ + HIDAPI NTSTATUS DDKAPI @@ -447,6 +466,8 @@ HidP_InitializeReportForID( IN OUT PCHAR Report, IN ULONG ReportLength); +#if !defined(_HIDPI_NO_FUNCTION_MACROS_) + /* * BOOLEAN * HidP_IsSameUsageAndPage( @@ -455,6 +476,8 @@ HidP_InitializeReportForID( */ #define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2)) +#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ + HIDAPI ULONG DDKAPI @@ -470,6 +493,8 @@ HidP_MaxUsageListLength( IN USAGE UsagePage OPTIONAL, IN PHIDP_PREPARSED_DATA PreparsedData); +#if !defined(_HIDPI_NO_FUNCTION_MACROS_) + /* * NTSTATUS * HidP_SetButtons( @@ -485,6 +510,8 @@ HidP_MaxUsageListLength( #define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \ HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL) +#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ + HIDAPI NTSTATUS DDKAPI @@ -549,6 +576,8 @@ HidP_SetUsageValueArray( OUT PCHAR Report, IN ULONG ReportLength); +#if !defined(_HIDPI_NO_FUNCTION_MACROS_) + /* * NTSTATUS * HidP_UnsetButtons( @@ -564,6 +593,8 @@ HidP_SetUsageValueArray( #define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \ HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL) +#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ + HIDAPI NTSTATUS DDKAPI