2 * PROJECT: ReactOS Universal Serial Bus Bulk Enhanced Host Controller Interface
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/usb/hidparse/hidparse.c
7 * Michael Martin (michael.martin@reactos.org)
8 * Johannes Anderwald (johannes.anderwald@reactos.org)
15 HidP_FreeCollectionDescription (
16 IN PHIDP_DEVICE_DESC DeviceDescription
)
18 DPRINT1("HidP_FreeCollectionDescription DeviceDescription %p\n", DeviceDescription
);
23 ExFreePool(DeviceDescription
->CollectionDesc
);
28 ExFreePool(DeviceDescription
->ReportIDs
);
31 // free description itself
33 ExFreePool(DeviceDescription
);
41 HIDP_REPORT_TYPE ReportType
,
42 PHIDP_BUTTON_CAPS ButtonCaps
,
43 PUSHORT ButtonCapsLength
,
44 PHIDP_PREPARSED_DATA PreparsedData
)
46 return HidP_GetSpecificButtonCaps(ReportType
, 0, 0, 0, ButtonCaps
, (PULONG
)ButtonCapsLength
, PreparsedData
);
52 HidP_GetSpecificButtonCaps(
53 IN HIDP_REPORT_TYPE ReportType
,
55 IN USHORT LinkCollection
,
57 OUT PHIDP_BUTTON_CAPS ButtonCaps
,
58 IN OUT PULONG ButtonCapsLength
,
59 IN PHIDP_PREPARSED_DATA PreparsedData
)
63 return STATUS_NOT_IMPLEMENTED
;
71 IN PHIDP_PREPARSED_DATA PreparsedData
,
72 OUT PHIDP_CAPS Capabilities
)
76 return STATUS_NOT_IMPLEMENTED
;
80 HidP_GetCollectionDescription(
81 IN PHIDP_REPORT_DESCRIPTOR ReportDesc
,
83 IN POOL_TYPE PoolType
,
84 OUT PHIDP_DEVICE_DESC DeviceDescription
)
88 return STATUS_NOT_IMPLEMENTED
;
95 IN HIDP_REPORT_TYPE ReportType
,
96 OUT PHIDP_DATA DataList
,
97 IN OUT PULONG DataLength
,
98 IN PHIDP_PREPARSED_DATA PreparsedData
,
100 IN ULONG ReportLength
)
104 return STATUS_NOT_IMPLEMENTED
;
110 HidP_GetExtendedAttributes(
111 IN HIDP_REPORT_TYPE ReportType
,
113 IN PHIDP_PREPARSED_DATA PreparsedData
,
114 OUT PHIDP_EXTENDED_ATTRIBUTES Attributes
,
115 IN OUT PULONG LengthAttributes
)
119 return STATUS_NOT_IMPLEMENTED
;
125 HidP_GetLinkCollectionNodes(
126 OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes
,
127 IN OUT PULONG LinkCollectionNodesLength
,
128 IN PHIDP_PREPARSED_DATA PreparsedData
)
132 return STATUS_NOT_IMPLEMENTED
;
138 HidP_GetScaledUsageValue(
139 IN HIDP_REPORT_TYPE ReportType
,
141 IN USHORT LinkCollection OPTIONAL
,
143 OUT PLONG UsageValue
,
144 IN PHIDP_PREPARSED_DATA PreparsedData
,
146 IN ULONG ReportLength
)
150 return STATUS_NOT_IMPLEMENTED
;
157 IN HIDP_REPORT_TYPE ReportType
,
159 IN USHORT LinkCollection
,
161 OUT PULONG UsageValue
,
162 IN PHIDP_PREPARSED_DATA PreparsedData
,
164 IN ULONG ReportLength
)
168 return STATUS_NOT_IMPLEMENTED
;
176 HidP_UsageListDifference(
177 IN PUSAGE PreviousUsageList
,
178 IN PUSAGE CurrentUsageList
,
179 OUT PUSAGE BreakUsageList
,
180 OUT PUSAGE MakeUsageList
,
181 IN ULONG UsageListLength
)
185 return STATUS_NOT_IMPLEMENTED
;
191 HidP_GetSpecificValueCaps(
192 IN HIDP_REPORT_TYPE ReportType
,
194 IN USHORT LinkCollection
,
196 OUT PHIDP_VALUE_CAPS ValueCaps
,
197 IN OUT PULONG ValueCapsLength
,
198 IN PHIDP_PREPARSED_DATA PreparsedData
)
202 return STATUS_NOT_IMPLEMENTED
;
208 HidP_MaxUsageListLength(
209 IN HIDP_REPORT_TYPE ReportType
,
210 IN USAGE UsagePage OPTIONAL
,
211 IN PHIDP_PREPARSED_DATA PreparsedData
)
215 return STATUS_NOT_IMPLEMENTED
;
222 IN HIDP_REPORT_TYPE ReportType
,
224 IN USHORT LinkCollection OPTIONAL
,
225 OUT USAGE
*UsageList
,
226 IN OUT ULONG
*UsageLength
,
227 IN PHIDP_PREPARSED_DATA PreparsedData
,
229 IN ULONG ReportLength
)
233 return STATUS_NOT_IMPLEMENTED
;
239 IN USHORT HidPacketLength
,
240 IN PHIDP_PREPARSED_DATA Ppd
,
241 OUT PULONG OutputBuffer
)
245 return STATUS_NOT_IMPLEMENTED
;
250 IN PHIDP_PREPARSED_DATA Ppd
,
251 OUT PULONG OutputBuffer
)
255 return STATUS_NOT_IMPLEMENTED
;
261 HidP_GetUsageValueArray(
262 IN HIDP_REPORT_TYPE ReportType
,
264 IN USHORT LinkCollection OPTIONAL
,
266 OUT PCHAR UsageValue
,
267 IN USHORT UsageValueByteLength
,
268 IN PHIDP_PREPARSED_DATA PreparsedData
,
270 IN ULONG ReportLength
)
274 return STATUS_NOT_IMPLEMENTED
;
281 IN HIDP_REPORT_TYPE ReportType
,
282 IN USHORT LinkCollection
,
283 OUT PUSAGE_AND_PAGE ButtonList
,
284 IN OUT ULONG
*UsageLength
,
285 IN PHIDP_PREPARSED_DATA PreparsedData
,
287 IN ULONG ReportLength
)
291 return STATUS_NOT_IMPLEMENTED
;
298 HidP_UsageAndPageListDifference(
299 IN PUSAGE_AND_PAGE PreviousUsageList
,
300 IN PUSAGE_AND_PAGE CurrentUsageList
,
301 OUT PUSAGE_AND_PAGE BreakUsageList
,
302 OUT PUSAGE_AND_PAGE MakeUsageList
,
303 IN ULONG UsageListLength
)
307 return STATUS_NOT_IMPLEMENTED
;
314 IN HIDP_REPORT_TYPE ReportType
,
316 IN USHORT LinkCollection
,
318 IN OUT PULONG UsageLength
,
319 IN PHIDP_PREPARSED_DATA PreparsedData
,
321 IN ULONG ReportLength
)
325 return STATUS_NOT_IMPLEMENTED
;
331 HidP_TranslateUsagesToI8042ScanCodes(
332 IN PUSAGE ChangedUsageList
,
333 IN ULONG UsageListLength
,
334 IN HIDP_KEYBOARD_DIRECTION KeyAction
,
335 IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState
,
336 IN PHIDP_INSERT_SCANCODES InsertCodesProcedure
,
337 IN PVOID InsertCodesContext
)
341 return STATUS_NOT_IMPLEMENTED
;
347 HidP_TranslateUsageAndPagesToI8042ScanCodes(
348 IN PUSAGE_AND_PAGE ChangedUsageList
,
349 IN ULONG UsageListLength
,
350 IN HIDP_KEYBOARD_DIRECTION KeyAction
,
351 IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState
,
352 IN PHIDP_INSERT_SCANCODES InsertCodesProcedure
,
353 IN PVOID InsertCodesContext
)
357 return STATUS_NOT_IMPLEMENTED
;
364 IN HIDP_REPORT_TYPE ReportType
,
366 IN USHORT LinkCollection
,
368 IN OUT PULONG UsageLength
,
369 IN PHIDP_PREPARSED_DATA PreparsedData
,
371 IN ULONG ReportLength
)
375 return STATUS_NOT_IMPLEMENTED
;
381 HidP_SetUsageValueArray(
382 IN HIDP_REPORT_TYPE ReportType
,
384 IN USHORT LinkCollection OPTIONAL
,
387 IN USHORT UsageValueByteLength
,
388 IN PHIDP_PREPARSED_DATA PreparsedData
,
390 IN ULONG ReportLength
)
394 return STATUS_NOT_IMPLEMENTED
;
401 IN HIDP_REPORT_TYPE ReportType
,
403 IN USHORT LinkCollection
,
406 IN PHIDP_PREPARSED_DATA PreparsedData
,
408 IN ULONG ReportLength
)
412 return STATUS_NOT_IMPLEMENTED
;
418 HidP_SetScaledUsageValue(
419 IN HIDP_REPORT_TYPE ReportType
,
421 IN USHORT LinkCollection OPTIONAL
,
424 IN PHIDP_PREPARSED_DATA PreparsedData
,
426 IN ULONG ReportLength
)
430 return STATUS_NOT_IMPLEMENTED
;
437 IN HIDP_REPORT_TYPE ReportType
,
438 IN PHIDP_DATA DataList
,
439 IN OUT PULONG DataLength
,
440 IN PHIDP_PREPARSED_DATA PreparsedData
,
442 IN ULONG ReportLength
)
446 return STATUS_NOT_IMPLEMENTED
;
452 HidP_MaxDataListLength(
453 IN HIDP_REPORT_TYPE ReportType
,
454 IN PHIDP_PREPARSED_DATA PreparsedData
)
458 return STATUS_NOT_IMPLEMENTED
;
464 HidP_InitializeReportForID(
465 IN HIDP_REPORT_TYPE ReportType
,
467 IN PHIDP_PREPARSED_DATA PreparsedData
,
469 IN ULONG ReportLength
)
473 return STATUS_NOT_IMPLEMENTED
;
480 HIDP_REPORT_TYPE ReportType
,
481 PHIDP_VALUE_CAPS ValueCaps
,
482 PULONG ValueCapsLength
,
483 PHIDP_PREPARSED_DATA PreparsedData
)
487 return STATUS_NOT_IMPLEMENTED
;
493 IN PDRIVER_OBJECT DriverObject
,
494 IN PUNICODE_STRING RegPath
)
497 DPRINT1("********* HID PARSE *********\n");
498 return STATUS_SUCCESS
;