Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/hidpi.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /* | |
| 2 * hidpi.h | |
| 3 * | |
| 4 * Public Interface for HID parsing library. | |
| 5 * | |
| 6 * This file is part of the w32api package. | |
| 7 * | |
| 8 * Contributors: | |
| 9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> | |
| 10 * | |
| 11 * THIS SOFTWARE IS NOT COPYRIGHTED | |
| 12 * | |
| 13 * This source code is offered for use in the public domain. You may | |
| 14 * use, modify or distribute it freely. | |
| 15 * | |
| 16 * This code is distributed in the hope that it will be useful but | |
| 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY | |
| 18 * DISCLAIMED. This includes but is not limited to warranties of | |
| 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
| 20 * | |
| 21 */ | |
| 22 | |
| 23 #ifndef __HIDPI_H | |
| 24 #define __HIDPI_H | |
| 25 | |
| 26 #include "hidusage.h" | |
| 27 | |
| 28 #ifdef __cplusplus | |
| 29 extern "C" { | |
| 30 #endif | |
| 31 | |
| 32 #if defined(_HIDPI_) | |
| 33 #define HIDAPI | |
| 34 #else | |
| 35 #define HIDAPI DECLSPEC_IMPORT | |
| 36 #endif | |
| 37 | |
| 38 typedef PUCHAR PHIDP_REPORT_DESCRIPTOR; | |
| 39 typedef struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA; | |
| 40 | |
| 41 typedef struct _HIDP_UNKNOWN_TOKEN { | |
| 42 UCHAR Token; | |
| 43 UCHAR Reserved[3]; | |
| 44 ULONG BitField; | |
| 45 } HIDP_UNKNOWN_TOKEN, *PHIDP_UNKNOWN_TOKEN; | |
| 46 | |
| 47 typedef enum _HIDP_KEYBOARD_DIRECTION { | |
| 48 HidP_Keyboard_Break, | |
| 49 HidP_Keyboard_Make | |
| 50 } HIDP_KEYBOARD_DIRECTION; | |
| 51 | |
| 52 typedef struct _HIDP_KEYBOARD_MODIFIER_STATE { | |
| 53 _ANONYMOUS_UNION union { | |
| 54 _ANONYMOUS_STRUCT struct { | |
| 55 ULONG LeftControl : 1; | |
| 56 ULONG LeftShift : 1; | |
| 57 ULONG LeftAlt : 1; | |
| 58 ULONG LeftGUI : 1; | |
| 59 ULONG RightControl : 1; | |
| 60 ULONG RightShift : 1; | |
| 61 ULONG RightAlt : 1; | |
| 62 ULONG RigthGUI : 1; | |
| 63 ULONG CapsLock : 1; | |
| 64 ULONG ScollLock : 1; | |
| 65 ULONG NumLock : 1; | |
| 66 ULONG Reserved : 21; | |
| 67 } DUMMYSTRUCTNAME; | |
| 68 ULONG ul; | |
| 69 } DUMMYUNIONNAME; | |
| 70 } HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE; | |
| 71 | |
| 72 typedef BOOLEAN (DDKAPI *PHIDP_INSERT_SCANCODES)( | |
| 73 IN PVOID Context, | |
| 74 IN PCHAR NewScanCodes, | |
| 75 IN ULONG Length); | |
| 76 | |
| 77 typedef struct _USAGE_AND_PAGE { | |
| 78 USAGE Usage; | |
| 79 USAGE UsagePage; | |
| 80 } USAGE_AND_PAGE, *PUSAGE_AND_PAGE; | |
| 81 | |
| 82 typedef struct _HIDD_ATTRIBUTES { | |
| 83 ULONG Size; | |
| 84 USHORT VendorID; | |
| 85 USHORT ProductID; | |
| 86 USHORT VersionNumber; | |
| 87 } HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES; | |
| 88 | |
| 89 typedef struct _HIDD_CONFIGURATION { | |
| 90 PVOID cookie; | |
| 91 ULONG size; | |
| 92 ULONG RingBufferSize; | |
| 93 } HIDD_CONFIGURATION, *PHIDD_CONFIGURATION; | |
| 94 | |
| 95 HIDAPI | |
| 96 NTSTATUS | |
| 97 DDKAPI | |
| 98 HidP_TranslateUsageAndPagesToI8042ScanCodes( | |
| 99 IN PUSAGE_AND_PAGE ChangedUsageList, | |
| 100 IN ULONG UsageListLength, | |
| 101 IN HIDP_KEYBOARD_DIRECTION KeyAction, | |
| 102 IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, | |
| 103 IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, | |
| 104 IN PVOID InsertCodesContext); | |
| 105 | |
| 106 HIDAPI | |
| 107 NTSTATUS | |
| 108 DDKAPI | |
| 109 HidP_TranslateUsagesToI8042ScanCodes( | |
| 110 IN PUSAGE ChangedUsageList, | |
| 111 IN ULONG UsageListLength, | |
| 112 IN HIDP_KEYBOARD_DIRECTION KeyAction, | |
| 113 IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, | |
| 114 IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, | |
| 115 IN PVOID InsertCodesContext); | |
| 116 | |
| 117 typedef struct _HIDP_BUTTON_CAPS { | |
| 118 USAGE UsagePage; | |
| 119 UCHAR ReportID; | |
| 120 BOOLEAN IsAlias; | |
| 121 USHORT BitField; | |
| 122 USHORT LinkCollection; | |
| 123 USAGE LinkUsage; | |
| 124 USAGE LinkUsagePage; | |
| 125 BOOLEAN IsRange; | |
| 126 BOOLEAN IsStringRange; | |
| 127 BOOLEAN IsDesignatorRange; | |
| 128 BOOLEAN IsAbsolute; | |
| 129 ULONG Reserved[10]; | |
| 130 _ANONYMOUS_UNION union { | |
| 131 struct { | |
| 132 USAGE UsageMin, UsageMax; | |
| 133 USHORT StringMin, StringMax; | |
| 134 USHORT DesignatorMin, DesignatorMax; | |
| 135 USHORT DataIndexMin, DataIndexMax; | |
| 136 } Range; | |
| 137 struct { | |
| 138 USAGE Usage, Reserved1; | |
| 139 USHORT StringIndex, Reserved2; | |
| 140 USHORT DesignatorIndex, Reserved3; | |
| 141 USHORT DataIndex, Reserved4; | |
| 142 } NotRange; | |
| 143 } DUMMYUNIONNAME; | |
| 144 } HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS; | |
| 145 | |
| 146 typedef struct _HIDP_CAPS { | |
| 147 USAGE Usage; | |
| 148 USAGE UsagePage; | |
| 149 USHORT InputReportByteLength; | |
| 150 USHORT OutputReportByteLength; | |
| 151 USHORT FeatureReportByteLength; | |
| 152 USHORT Reserved[17]; | |
| 153 USHORT NumberLinkCollectionNodes; | |
| 154 USHORT NumberInputButtonCaps; | |
| 155 USHORT NumberInputValueCaps; | |
| 156 USHORT NumberInputDataIndices; | |
| 157 USHORT NumberOutputButtonCaps; | |
| 158 USHORT NumberOutputValueCaps; | |
| 159 USHORT NumberOutputDataIndices; | |
| 160 USHORT NumberFeatureButtonCaps; | |
| 161 USHORT NumberFeatureValueCaps; | |
| 162 USHORT NumberFeatureDataIndices; | |
| 163 } HIDP_CAPS, *PHIDP_CAPS; | |
| 164 | |
| 165 typedef struct _HIDP_DATA { | |
| 166 USHORT DataIndex; | |
| 167 USHORT Reserved; | |
| 168 _ANONYMOUS_UNION union { | |
| 169 ULONG RawValue; | |
| 170 BOOLEAN On; | |
| 171 } DUMMYUNIONNAME; | |
| 172 } HIDP_DATA, *PHIDP_DATA; | |
| 173 | |
| 174 typedef struct _HIDP_EXTENDED_ATTRIBUTES { | |
| 175 UCHAR NumGlobalUnknowns; | |
| 176 UCHAR Reserved[3]; | |
| 177 PHIDP_UNKNOWN_TOKEN GlobalUnknowns; | |
| 178 ULONG Data[1]; | |
| 179 } HIDP_EXTENDED_ATTRIBUTES, *PHIDP_EXTENDED_ATTRIBUTES; | |
| 180 | |
| 181 #define HIDP_LINK_COLLECTION_ROOT ((USHORT) -1) | |
| 182 #define HIDP_LINK_COLLECTION_UNSPECIFIED ((USHORT) 0) | |
| 183 | |
| 184 typedef struct _HIDP_LINK_COLLECTION_NODE { | |
| 185 USAGE LinkUsage; | |
| 186 USAGE LinkUsagePage; | |
| 187 USHORT Parent; | |
| 188 USHORT NumberOfChildren; | |
| 189 USHORT NextSibling; | |
| 190 USHORT FirstChild; | |
| 191 ULONG CollectionType: 8; | |
| 192 ULONG IsAlias: 1; | |
| 193 ULONG Reserved: 23; | |
| 194 PVOID UserContext; | |
| 195 } HIDP_LINK_COLLECTION_NODE, *PHIDP_LINK_COLLECTION_NODE; | |
| 196 | |
| 197 typedef struct _HIDP_VALUE_CAPS { | |
| 198 USAGE UsagePage; | |
| 199 UCHAR ReportID; | |
| 200 BOOLEAN IsAlias; | |
| 201 USHORT BitField; | |
| 202 USHORT LinkCollection; | |
| 203 USAGE LinkUsage; | |
| 204 USAGE LinkUsagePage; | |
| 205 BOOLEAN IsRange; | |
| 206 BOOLEAN IsStringRange; | |
| 207 BOOLEAN IsDesignatorRange; | |
| 208 BOOLEAN IsAbsolute; | |
| 209 BOOLEAN HasNull; | |
| 210 UCHAR Reserved; | |
| 211 USHORT BitSize; | |
| 212 USHORT ReportCount; | |
| 213 USHORT Reserved2[5]; | |
| 214 ULONG UnitsExp; | |
| 215 ULONG Units; | |
| 216 LONG LogicalMin, LogicalMax; | |
| 217 LONG PhysicalMin, PhysicalMax; | |
| 218 _ANONYMOUS_UNION union { | |
| 219 struct { | |
| 220 USAGE UsageMin, UsageMax; | |
| 221 USHORT StringMin, StringMax; | |
| 222 USHORT DesignatorMin, DesignatorMax; | |
| 223 USHORT DataIndexMin, DataIndexMax; | |
| 224 } Range; | |
| 225 struct { | |
| 226 USAGE Usage, Reserved1; | |
| 227 USHORT StringIndex, Reserved2; | |
| 228 USHORT DesignatorIndex, Reserved3; | |
| 229 USHORT DataIndex, Reserved4; | |
| 230 } NotRange; | |
| 231 } DUMMYUNIONNAME; | |
| 232 } HIDP_VALUE_CAPS, *PHIDP_VALUE_CAPS; | |
| 233 | |
| 234 typedef enum _HIDP_REPORT_TYPE { | |
| 235 HidP_Input, | |
| 236 HidP_Output, | |
| 237 HidP_Feature | |
| 238 } HIDP_REPORT_TYPE; | |
| 239 | |
| 240 #define FACILITY_HID_ERROR_CODE 0x11 | |
| 241 | |
| 242 #define HIDP_ERROR_CODES(SEV, CODE) \ | |
| 243 ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE))) | |
| 244 | |
| 245 #define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0, 0)) | |
| 246 #define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8, 1)) | |
| 247 #define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC, 1)) | |
| 248 #define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC, 2)) | |
| 249 #define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC, 3)) | |
| 250 #define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC, 4)) | |
| 251 #define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 5)) | |
| 252 #define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC, 6)) | |
| 253 #define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC, 7)) | |
| 254 #define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC, 8)) | |
| 255 #define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC, 9)) | |
| 256 #define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC, 0xA)) | |
| 257 #define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xB)) | |
| 258 #define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xC)) | |
| 259 #define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC, 0xD)) | |
| 260 #define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE)) | |
| 261 #define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC, 0xF)) | |
| 262 #define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC, 0x10)) | |
| 263 #define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC, 0x20)) | |
| 264 #define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN | |
| 265 | |
| 266 | |
| 267 #if !defined(_HIDPI_NO_FUNCTION_MACROS_) | |
| 268 /* | |
| 269 * NTSTATUS | |
| 270 * HidP_GetButtonCaps( | |
| 271 * IN HIDP_REPORT_TYPE ReportType, | |
| 272 * OUT PHIDP_BUTTON_CAPS ButtonCaps, | |
| 273 * IN OUT PULONG ButtonCapsLength, | |
| 274 * IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 275 */ | |
| 276 #define HidP_GetButtonCaps(_Type_, _Caps_, _Len_, _Data_) \ | |
| 277 HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) | |
| 278 | |
| 279 /* | |
| 280 * NTSTATUS | |
| 281 * HidP_GetButtons( | |
| 282 * IN HIDP_REPORT_TYPE ReportType, | |
| 283 * IN USAGE UsagePage, | |
| 284 * IN USHORT LinkCollection, | |
| 285 * OUT USAGE *UsageList, | |
| 286 * IN OUT ULONG *UsageLength, | |
| 287 * IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 288 * IN PCHAR Report, | |
| 289 * IN ULONG ReportLength); | |
| 290 */ | |
| 291 #define HidP_GetButtons(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) \ | |
| 292 HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) | |
| 293 | |
| 294 #define HidP_GetButtonListLength(RTy, UPa, Ppd) \ | |
| 295 HidP_GetUsageListLength(Rty, UPa, Ppd) | |
| 296 | |
| 297 | |
| 298 /* | |
| 299 * NTSTATUS | |
| 300 * HidP_GetButtonsEx( | |
| 301 * IN HIDP_REPORT_TYPE ReportType, | |
| 302 * IN USHORT LinkCollection, | |
| 303 * OUT PUSAGE_AND_PAGE ButtonList, | |
| 304 * IN OUT ULONG *UsageLength, | |
| 305 * IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 306 * IN PCHAR Report, | |
| 307 * IN ULONG ReportLength); | |
| 308 */ | |
| 309 #define HidP_GetButtonsEx(RT, LC, BL, UL, PD, R, RL) \ | |
| 310 HidP_GetUsagesEx(RT, LC, BL, UL, PD, R, RL) | |
| 311 | |
| 312 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */ | |
| 313 | |
| 314 HIDAPI | |
| 315 NTSTATUS | |
| 316 DDKAPI | |
| 317 HidP_GetCaps( | |
| 318 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 319 OUT PHIDP_CAPS Capabilities); | |
| 320 | |
| 321 HIDAPI | |
| 322 NTSTATUS | |
| 323 DDKAPI | |
| 324 HidP_GetData( | |
| 325 IN HIDP_REPORT_TYPE ReportType, | |
| 326 OUT PHIDP_DATA DataList, | |
| 327 IN OUT PULONG DataLength, | |
| 328 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 329 IN PCHAR Report, | |
| 330 IN ULONG ReportLength); | |
| 331 | |
| 332 HIDAPI | |
| 333 NTSTATUS | |
| 334 DDKAPI | |
| 335 HidP_GetExtendedAttributes( | |
| 336 IN HIDP_REPORT_TYPE ReportType, | |
| 337 IN USHORT DataIndex, | |
| 338 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 339 OUT PHIDP_EXTENDED_ATTRIBUTES Attributes, | |
| 340 IN OUT PULONG LengthAttributes); | |
| 341 | |
| 342 HIDAPI | |
| 343 NTSTATUS | |
| 344 DDKAPI | |
| 345 HidP_GetLinkCollectionNodes( | |
| 346 OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, | |
| 347 IN OUT PULONG LinkCollectionNodesLength, | |
| 348 IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 349 | |
| 350 HIDAPI | |
| 351 NTSTATUS | |
| 352 DDKAPI | |
| 353 HidP_GetScaledUsageValue( | |
| 354 IN HIDP_REPORT_TYPE ReportType, | |
| 355 IN USAGE UsagePage, | |
| 356 IN USHORT LinkCollection OPTIONAL, | |
| 357 IN USAGE Usage, | |
| 358 OUT PLONG UsageValue, | |
| 359 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 360 IN PCHAR Report, | |
| 361 IN ULONG ReportLength); | |
| 362 | |
| 363 HIDAPI | |
| 364 NTSTATUS | |
| 365 DDKAPI | |
| 366 HidP_GetSpecificButtonCaps( | |
| 367 IN HIDP_REPORT_TYPE ReportType, | |
| 368 IN USAGE UsagePage, | |
| 369 IN USHORT LinkCollection, | |
| 370 IN USAGE Usage, | |
| 371 OUT PHIDP_BUTTON_CAPS ButtonCaps, | |
| 372 IN OUT PULONG ButtonCapsLength, | |
| 373 IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 374 | |
| 375 HIDAPI | |
| 376 NTSTATUS | |
| 377 DDKAPI | |
| 378 HidP_GetSpecificValueCaps( | |
| 379 IN HIDP_REPORT_TYPE ReportType, | |
| 380 IN USAGE UsagePage, | |
| 381 IN USHORT LinkCollection, | |
| 382 IN USAGE Usage, | |
| 383 OUT PHIDP_VALUE_CAPS ValueCaps, | |
| 384 IN OUT PULONG ValueCapsLength, | |
| 385 IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 386 | |
| 387 HIDAPI | |
| 388 NTSTATUS | |
| 389 DDKAPI | |
| 390 HidP_GetUsages( | |
| 391 IN HIDP_REPORT_TYPE ReportType, | |
| 392 IN USAGE UsagePage, | |
| 393 IN USHORT LinkCollection OPTIONAL, | |
| 394 OUT USAGE *UsageList, | |
| 395 IN OUT ULONG *UsageLength, | |
| 396 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 397 IN PCHAR Report, | |
| 398 IN ULONG ReportLength); | |
| 399 | |
| 400 HIDAPI | |
| 401 NTSTATUS | |
| 402 DDKAPI | |
| 403 HidP_GetUsagesEx( | |
| 404 IN HIDP_REPORT_TYPE ReportType, | |
| 405 IN USHORT LinkCollection, | |
| 406 OUT PUSAGE_AND_PAGE ButtonList, | |
| 407 IN OUT ULONG *UsageLength, | |
| 408 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 409 IN PCHAR Report, | |
| 410 IN ULONG ReportLength); | |
| 411 | |
| 412 HIDAPI | |
| 413 NTSTATUS | |
| 414 DDKAPI | |
| 415 HidP_GetUsageValue( | |
| 416 IN HIDP_REPORT_TYPE ReportType, | |
| 417 IN USAGE UsagePage, | |
| 418 IN USHORT LinkCollection, | |
| 419 IN USAGE Usage, | |
| 420 OUT PULONG UsageValue, | |
| 421 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 422 IN PCHAR Report, | |
| 423 IN ULONG ReportLength); | |
| 424 | |
| 425 HIDAPI | |
| 426 NTSTATUS | |
| 427 DDKAPI | |
| 428 HidP_GetUsageValueArray( | |
| 429 IN HIDP_REPORT_TYPE ReportType, | |
| 430 IN USAGE UsagePage, | |
| 431 IN USHORT LinkCollection OPTIONAL, | |
| 432 IN USAGE Usage, | |
| 433 OUT PCHAR UsageValue, | |
| 434 IN USHORT UsageValueByteLength, | |
| 435 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 436 IN PCHAR Report, | |
| 437 IN ULONG ReportLength); | |
| 438 | |
| 439 #if !defined(_HIDPI_NO_FUNCTION_MACROS_) | |
| 440 | |
| 441 /* | |
| 442 * NTSTATUS | |
| 443 * HidP_GetValueCaps( | |
| 444 * IN HIDP_REPORT_TYPE ReportType, | |
| 445 * OUT PHIDP_VALUE_CAPS ValueCaps, | |
| 446 * IN OUT PULONG ValueCapsLength, | |
| 447 * IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 448 */ | |
| 449 #define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \ | |
| 450 HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) | |
| 451 | |
| 452 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */ | |
| 453 | |
| 454 HIDAPI | |
| 455 NTSTATUS | |
| 456 DDKAPI | |
| 457 HidP_InitializeReportForID( | |
| 458 IN HIDP_REPORT_TYPE ReportType, | |
| 459 IN UCHAR ReportID, | |
| 460 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 461 IN OUT PCHAR Report, | |
| 462 IN ULONG ReportLength); | |
| 463 | |
| 464 #if !defined(_HIDPI_NO_FUNCTION_MACROS_) | |
| 465 | |
| 466 /* | |
| 467 * BOOLEAN | |
| 468 * HidP_IsSameUsageAndPage( | |
| 469 * USAGE_AND_PAGE u1, | |
| 470 * USAGE_AND_PAGE u2); | |
| 471 */ | |
| 472 #define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2)) | |
| 473 | |
| 474 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */ | |
| 475 | |
| 476 HIDAPI | |
| 477 ULONG | |
| 478 DDKAPI | |
| 479 HidP_MaxDataListLength( | |
| 480 IN HIDP_REPORT_TYPE ReportType, | |
| 481 IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 482 | |
| 483 HIDAPI | |
| 484 ULONG | |
| 485 DDKAPI | |
| 486 HidP_MaxUsageListLength( | |
| 487 IN HIDP_REPORT_TYPE ReportType, | |
| 488 IN USAGE UsagePage OPTIONAL, | |
| 489 IN PHIDP_PREPARSED_DATA PreparsedData); | |
| 490 | |
| 491 #if !defined(_HIDPI_NO_FUNCTION_MACROS_) | |
| 492 | |
| 493 /* | |
| 494 * NTSTATUS | |
| 495 * HidP_SetButtons( | |
| 496 * IN HIDP_REPORT_TYPE ReportType, | |
| 497 * IN USAGE UsagePage, | |
| 498 * IN USHORT LinkCollection, | |
| 499 * IN PUSAGE UsageList, | |
| 500 * IN OUT PULONG UsageLength, | |
| 501 * IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 502 * IN OUT PCHAR Report, | |
| 503 * IN ULONG ReportLength); | |
| 504 */ | |
| 505 #define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \ | |
| 506 HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL) | |
| 507 | |
| 508 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */ | |
| 509 | |
| 510 HIDAPI | |
| 511 NTSTATUS | |
| 512 DDKAPI | |
| 513 HidP_SetData( | |
| 514 IN HIDP_REPORT_TYPE ReportType, | |
| 515 IN PHIDP_DATA DataList, | |
| 516 IN OUT PULONG DataLength, | |
| 517 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 518 IN OUT PCHAR Report, | |
| 519 IN ULONG ReportLength); | |
| 520 | |
| 521 HIDAPI | |
| 522 NTSTATUS | |
| 523 DDKAPI | |
| 524 HidP_SetScaledUsageValue( | |
| 525 IN HIDP_REPORT_TYPE ReportType, | |
| 526 IN USAGE UsagePage, | |
| 527 IN USHORT LinkCollection OPTIONAL, | |
| 528 IN USAGE Usage, | |
| 529 IN LONG UsageValue, | |
| 530 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 531 IN OUT PCHAR Report, | |
| 532 IN ULONG ReportLength); | |
| 533 | |
| 534 HIDAPI | |
| 535 NTSTATUS | |
| 536 DDKAPI | |
| 537 HidP_SetUsages( | |
| 538 IN HIDP_REPORT_TYPE ReportType, | |
| 539 IN USAGE UsagePage, | |
| 540 IN USHORT LinkCollection, /* Optional */ | |
| 541 IN PUSAGE UsageList, | |
| 542 IN OUT PULONG UsageLength, | |
| 543 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 544 IN OUT PCHAR Report, | |
| 545 IN ULONG ReportLength); | |
| 546 | |
| 547 HIDAPI | |
| 548 NTSTATUS | |
| 549 DDKAPI | |
| 550 HidP_SetUsageValue( | |
| 551 IN HIDP_REPORT_TYPE ReportType, | |
| 552 IN USAGE UsagePage, | |
| 553 IN USHORT LinkCollection, | |
| 554 IN USAGE Usage, | |
| 555 IN ULONG UsageValue, | |
| 556 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 557 IN OUT PCHAR Report, | |
| 558 IN ULONG ReportLength); | |
| 559 | |
| 560 HIDAPI | |
| 561 NTSTATUS | |
| 562 DDKAPI | |
| 563 HidP_SetUsageValueArray( | |
| 564 IN HIDP_REPORT_TYPE ReportType, | |
| 565 IN USAGE UsagePage, | |
| 566 IN USHORT LinkCollection OPTIONAL, | |
| 567 IN USAGE Usage, | |
| 568 IN PCHAR UsageValue, | |
| 569 IN USHORT UsageValueByteLength, | |
| 570 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 571 OUT PCHAR Report, | |
| 572 IN ULONG ReportLength); | |
| 573 | |
| 574 #if !defined(_HIDPI_NO_FUNCTION_MACROS_) | |
| 575 | |
| 576 /* | |
| 577 * NTSTATUS | |
| 578 * HidP_UnsetButtons( | |
| 579 * IN HIDP_REPORT_TYPE ReportType, | |
| 580 * IN USAGE UsagePage, | |
| 581 * IN USHORT LinkCollection, | |
| 582 * IN PUSAGE UsageList, | |
| 583 * IN OUT PULONG UsageLength, | |
| 584 * IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 585 * IN OUT PCHAR Report, | |
| 586 * IN ULONG ReportLength); | |
| 587 */ | |
| 588 #define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \ | |
| 589 HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL) | |
| 590 | |
| 591 #endif /* _HIDPI_NO_FUNCTION_MACROS_ */ | |
| 592 | |
| 593 HIDAPI | |
| 594 NTSTATUS | |
| 595 DDKAPI | |
| 596 HidP_UnsetUsages( | |
| 597 IN HIDP_REPORT_TYPE ReportType, | |
| 598 IN USAGE UsagePage, | |
| 599 IN USHORT LinkCollection, | |
| 600 IN PUSAGE UsageList, | |
| 601 IN OUT PULONG UsageLength, | |
| 602 IN PHIDP_PREPARSED_DATA PreparsedData, | |
| 603 IN OUT PCHAR Report, | |
| 604 IN ULONG ReportLength); | |
| 605 | |
| 606 HIDAPI | |
| 607 NTSTATUS | |
| 608 DDKAPI | |
| 609 HidP_UsageAndPageListDifference( | |
| 610 IN PUSAGE_AND_PAGE PreviousUsageList, | |
| 611 IN PUSAGE_AND_PAGE CurrentUsageList, | |
| 612 OUT PUSAGE_AND_PAGE BreakUsageList, | |
| 613 OUT PUSAGE_AND_PAGE MakeUsageList, | |
| 614 IN ULONG UsageListLength); | |
| 615 | |
| 616 HIDAPI | |
| 617 NTSTATUS | |
| 618 DDKAPI | |
| 619 HidP_UsageListDifference( | |
| 620 IN PUSAGE PreviousUsageList, | |
| 621 IN PUSAGE CurrentUsageList, | |
| 622 OUT PUSAGE BreakUsageList, | |
| 623 OUT PUSAGE MakeUsageList, | |
| 624 IN ULONG UsageListLength); | |
| 625 | |
| 626 #ifdef __cplusplus | |
| 627 } | |
| 628 #endif | |
| 629 | |
| 630 #endif /* __HIDPI_H */ |
