added stubs for the Hid User Library (hid.dll)
authorThomas Bluemel <thomas@reactsoft.com>
Mon, 12 Jul 2004 15:08:43 +0000 (15:08 +0000)
committerThomas Bluemel <thomas@reactsoft.com>
Mon, 12 Jul 2004 15:08:43 +0000 (15:08 +0000)
svn path=/trunk/; revision=10089

reactos/lib/hid/.cvsignore [new file with mode: 0644]
reactos/lib/hid/Makefile [new file with mode: 0644]
reactos/lib/hid/hid.c [new file with mode: 0644]
reactos/lib/hid/hid.def [new file with mode: 0644]
reactos/lib/hid/hid.edf [new file with mode: 0644]
reactos/lib/hid/hid.rc [new file with mode: 0644]
reactos/lib/hid/internal.h [new file with mode: 0644]
reactos/lib/hid/stubs.c [new file with mode: 0644]
reactos/w32api/include/ddk/hidpi.h

diff --git a/reactos/lib/hid/.cvsignore b/reactos/lib/hid/.cvsignore
new file mode 100644 (file)
index 0000000..9103a52
--- /dev/null
@@ -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 (file)
index 0000000..fa7242c
--- /dev/null
@@ -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 (file)
index 0000000..0ac9130
--- /dev/null
@@ -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 <windows.h>
+#include <ddk/hidpi.h>
+#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 (file)
index 0000000..4b20fa5
--- /dev/null
@@ -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 (file)
index 0000000..0439b56
--- /dev/null
@@ -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 (file)
index 0000000..bafd392
--- /dev/null
@@ -0,0 +1,39 @@
+#include <reactos/resource.h>
+#include <defines.h>
+
+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 (file)
index 0000000..114b97b
--- /dev/null
@@ -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 (file)
index 0000000..25b5f8d
--- /dev/null
@@ -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 <windows.h>
+#include <ddk/hidpi.h>
+#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 */
index d602178..a9ac5bc 100644 (file)
@@ -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