Home | History | Annotate | Download | only in include
      1 /*
      2  * hidsdi.h
      3  *
      4  * Public interface for USB HID user space functions.
      5  *
      6  * Contributors:
      7  *   Created by Simon Josefsson <simon (at) josefsson.org>
      8  *   Extended by Kai Tietz
      9  *
     10  * THIS SOFTWARE IS NOT COPYRIGHTED
     11  *
     12  * This source code is offered for use in the public domain. You may
     13  * use, modify or distribute it freely.
     14  *
     15  * This code is distributed in the hope that it will be useful but
     16  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
     17  * DISCLAIMED. This includes but is not limited to warranties of
     18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
     19  *
     20  */
     21 
     22 #include <winapifamily.h>
     23 
     24 #ifndef _HIDSDI_H
     25 #define _HIDSDI_H
     26 
     27 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
     28 
     29 #include <pshpack4.h>
     30 
     31 typedef LONG NTSTATUS;
     32 
     33 #include "hidusage.h"
     34 #include "hidpi.h"
     35 
     36 typedef struct _HIDD_CONFIGURATION {
     37   PVOID cookie;
     38   ULONG size;
     39   ULONG RingBufferSize;
     40 } HIDD_CONFIGURATION,*PHIDD_CONFIGURATION;
     41 
     42 typedef struct _HIDD_ATTRIBUTES {
     43   ULONG Size;
     44   USHORT VendorID;
     45   USHORT ProductID;
     46   USHORT VersionNumber;
     47 } HIDD_ATTRIBUTES,*PHIDD_ATTRIBUTES;
     48 
     49 BOOLEAN NTAPI HidD_FlushQueue (HANDLE HidDeviceObject);
     50 BOOLEAN NTAPI HidD_FreePreparsedData (PHIDP_PREPARSED_DATA PreparsedData);
     51 BOOLEAN NTAPI HidD_GetAttributes (HANDLE HidDeviceObject, PHIDD_ATTRIBUTES Attributes);
     52 BOOLEAN NTAPI HidD_GetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength);
     53 BOOLEAN NTAPI HidD_GetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
     54 void NTAPI HidD_GetHidGuid (LPGUID HidGuid);
     55 BOOLEAN NTAPI HidD_GetInputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
     56 BOOLEAN NTAPI HidD_GetIndexedString (HANDLE HidDeviceObject, ULONG StringIndex, PVOID Buffer, ULONG BufferLength);
     57 BOOLEAN NTAPI HidD_GetManufacturerString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
     58 BOOLEAN NTAPI HidD_GetMsGenreDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
     59 BOOLEAN NTAPI HidD_GetNumInputBuffers (HANDLE HidDeviceObject, PULONG NumberBuffers);
     60 BOOLEAN NTAPI HidD_GetPhysicalDescriptor (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
     61 BOOLEAN NTAPI HidD_GetPreparsedData (HANDLE HidDeviceObject, PHIDP_PREPARSED_DATA *PreparsedData);
     62 BOOLEAN NTAPI HidD_GetProductString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
     63 BOOLEAN NTAPI HidD_GetSerialNumberString (HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength);
     64 BOOLEAN NTAPI HidD_SetConfiguration (HANDLE HidDeviceObject, PHIDD_CONFIGURATION Configuration, ULONG ConfigurationLength);
     65 BOOLEAN NTAPI HidD_SetFeature (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
     66 BOOLEAN NTAPI HidD_SetNumInputBuffers (HANDLE HidDeviceObject, ULONG NumberBuffers);
     67 BOOLEAN NTAPI HidD_SetOutputReport (HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength);
     68 
     69 #include <poppack.h>
     70 
     71 #endif
     72 #endif
     73