Mercurial > games > semicongine
comparison fuhtark_test/include/ddk/usb.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 | |
| 3 #ifndef __USB_H__ | |
| 4 #define __USB_H__ | |
| 5 | |
| 6 #ifdef __USBDI_H__ | |
| 7 error | |
| 8 #endif | |
| 9 | |
| 10 #ifdef OSR21_COMPAT | |
| 11 #pragma message("WARNING: OSR21_COMPAT SWITCH NOT SUPPORTED") | |
| 12 #endif | |
| 13 | |
| 14 #ifndef _NTDDK_ | |
| 15 #ifndef _WDMDDK_ | |
| 16 typedef PVOID PIRP; | |
| 17 typedef PVOID PMDL; | |
| 18 #endif | |
| 19 #endif | |
| 20 | |
| 21 #define USBDI_VERSION 0x00000500 | |
| 22 | |
| 23 #include "usb200.h" | |
| 24 | |
| 25 typedef LONG USBD_STATUS; | |
| 26 typedef PVOID USBD_PIPE_HANDLE; | |
| 27 typedef PVOID USBD_CONFIGURATION_HANDLE; | |
| 28 typedef PVOID USBD_INTERFACE_HANDLE; | |
| 29 | |
| 30 typedef enum _USB_CONTROLLER_FLAVOR | |
| 31 { | |
| 32 USB_HcGeneric = 0, | |
| 33 OHCI_Generic = 100, | |
| 34 OHCI_Hydra, | |
| 35 OHCI_NEC, | |
| 36 UHCI_Generic = 200, | |
| 37 UHCI_Piix4, | |
| 38 UHCI_Piix3, | |
| 39 UHCI_Ich2_1, | |
| 40 UHCI_Ich2_2, | |
| 41 UHCI_Ich1, | |
| 42 UHCI_VIA = 250, | |
| 43 EHCI_Generic = 1000, | |
| 44 EHCI_NEC = 2000, | |
| 45 EHCI_Lucent = 3000 | |
| 46 } USB_CONTROLLER_FLAVOR; | |
| 47 | |
| 48 typedef enum _USBD_PIPE_TYPE | |
| 49 { | |
| 50 UsbdPipeTypeControl, | |
| 51 UsbdPipeTypeIsochronous, | |
| 52 UsbdPipeTypeBulk, | |
| 53 UsbdPipeTypeInterrupt | |
| 54 } USBD_PIPE_TYPE; | |
| 55 | |
| 56 typedef struct _USBD_VERSION_INFORMATION | |
| 57 { | |
| 58 ULONG USBDI_Version; | |
| 59 ULONG Supported_USB_Version; | |
| 60 } USBD_VERSION_INFORMATION, *PUSBD_VERSION_INFORMATION; | |
| 61 | |
| 62 typedef struct _USBD_PIPE_INFORMATION | |
| 63 { | |
| 64 USHORT MaximumPacketSize; | |
| 65 UCHAR EndpointAddress; | |
| 66 UCHAR Interval; | |
| 67 USBD_PIPE_TYPE PipeType; | |
| 68 USBD_PIPE_HANDLE PipeHandle; | |
| 69 ULONG MaximumTransferSize; | |
| 70 ULONG PipeFlags; | |
| 71 } USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION; | |
| 72 | |
| 73 typedef struct _USBD_DEVICE_INFORMATION | |
| 74 { | |
| 75 ULONG OffsetNext; | |
| 76 PVOID UsbdDeviceHandle; | |
| 77 USB_DEVICE_DESCRIPTOR DeviceDescriptor; | |
| 78 } USBD_DEVICE_INFORMATION, *PUSBD_DEVICE_INFORMATION; | |
| 79 | |
| 80 typedef struct _USBD_INTERFACE_INFORMATION | |
| 81 { | |
| 82 USHORT Length; | |
| 83 UCHAR InterfaceNumber; | |
| 84 UCHAR AlternateSetting; | |
| 85 UCHAR Class; | |
| 86 UCHAR SubClass; | |
| 87 UCHAR Protocol; | |
| 88 UCHAR Reserved; | |
| 89 USBD_INTERFACE_HANDLE InterfaceHandle; | |
| 90 ULONG NumberOfPipes; | |
| 91 USBD_PIPE_INFORMATION Pipes[1]; | |
| 92 } USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION; | |
| 93 | |
| 94 struct _URB_HCD_AREA | |
| 95 { | |
| 96 PVOID Reserved8[8]; | |
| 97 }; | |
| 98 | |
| 99 struct _URB_HEADER | |
| 100 { | |
| 101 USHORT Length; | |
| 102 USHORT Function; | |
| 103 USBD_STATUS Status; | |
| 104 PVOID UsbdDeviceHandle; | |
| 105 ULONG UsbdFlags; | |
| 106 }; | |
| 107 | |
| 108 struct _URB_SELECT_INTERFACE | |
| 109 { | |
| 110 struct _URB_HEADER Hdr; | |
| 111 USBD_CONFIGURATION_HANDLE ConfigurationHandle; | |
| 112 USBD_INTERFACE_INFORMATION Interface; | |
| 113 }; | |
| 114 | |
| 115 struct _URB_SELECT_CONFIGURATION | |
| 116 { | |
| 117 struct _URB_HEADER Hdr; | |
| 118 PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; | |
| 119 USBD_CONFIGURATION_HANDLE ConfigurationHandle; | |
| 120 USBD_INTERFACE_INFORMATION Interface; | |
| 121 }; | |
| 122 | |
| 123 struct _URB_PIPE_REQUEST | |
| 124 { | |
| 125 struct _URB_HEADER Hdr; | |
| 126 USBD_PIPE_HANDLE PipeHandle; | |
| 127 ULONG Reserved; | |
| 128 }; | |
| 129 | |
| 130 struct _URB_FRAME_LENGTH_CONTROL | |
| 131 { | |
| 132 struct _URB_HEADER Hdr; | |
| 133 }; | |
| 134 | |
| 135 struct _URB_GET_FRAME_LENGTH | |
| 136 { | |
| 137 struct _URB_HEADER Hdr; | |
| 138 ULONG FrameLength; | |
| 139 ULONG FrameNumber; | |
| 140 }; | |
| 141 | |
| 142 struct _URB_SET_FRAME_LENGTH | |
| 143 { | |
| 144 struct _URB_HEADER Hdr; | |
| 145 LONG FrameLengthDelta; | |
| 146 }; | |
| 147 | |
| 148 struct _URB_GET_CURRENT_FRAME_NUMBER | |
| 149 { | |
| 150 struct _URB_HEADER Hdr; | |
| 151 ULONG FrameNumber; | |
| 152 }; | |
| 153 | |
| 154 struct _URB_CONTROL_DESCRIPTOR_REQUEST | |
| 155 { | |
| 156 struct _URB_HEADER Hdr; | |
| 157 PVOID Reserved; | |
| 158 ULONG Reserved0; | |
| 159 ULONG TransferBufferLength; | |
| 160 PVOID TransferBuffer; | |
| 161 PMDL TransferBufferMDL; | |
| 162 struct _URB *UrbLink; | |
| 163 struct _URB_HCD_AREA hca; | |
| 164 USHORT Reserved1; | |
| 165 UCHAR Index; | |
| 166 UCHAR DescriptorType; | |
| 167 USHORT LanguageId; | |
| 168 USHORT Reserved2; | |
| 169 }; | |
| 170 | |
| 171 struct _URB_CONTROL_GET_STATUS_REQUEST | |
| 172 { | |
| 173 struct _URB_HEADER Hdr; | |
| 174 PVOID Reserved; | |
| 175 ULONG Reserved0; | |
| 176 ULONG TransferBufferLength; | |
| 177 PVOID TransferBuffer; | |
| 178 PMDL TransferBufferMDL; | |
| 179 struct _URB *UrbLink; | |
| 180 struct _URB_HCD_AREA hca; | |
| 181 UCHAR Reserved1[4]; | |
| 182 USHORT Index; | |
| 183 USHORT Reserved2; | |
| 184 }; | |
| 185 | |
| 186 struct _URB_CONTROL_FEATURE_REQUEST | |
| 187 { | |
| 188 struct _URB_HEADER Hdr; | |
| 189 PVOID Reserved; | |
| 190 ULONG Reserved2; | |
| 191 ULONG Reserved3; | |
| 192 PVOID Reserved4; | |
| 193 PMDL Reserved5; | |
| 194 struct _URB *UrbLink; | |
| 195 struct _URB_HCD_AREA hca; | |
| 196 USHORT Reserved0; | |
| 197 USHORT FeatureSelector; | |
| 198 USHORT Index; | |
| 199 USHORT Reserved1; | |
| 200 }; | |
| 201 | |
| 202 struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST | |
| 203 { | |
| 204 struct _URB_HEADER Hdr; | |
| 205 PVOID Reserved; | |
| 206 ULONG TransferFlags; | |
| 207 ULONG TransferBufferLength; | |
| 208 PVOID TransferBuffer; | |
| 209 PMDL TransferBufferMDL; | |
| 210 struct _URB *UrbLink; | |
| 211 struct _URB_HCD_AREA hca; | |
| 212 UCHAR RequestTypeReservedBits; | |
| 213 UCHAR Request; | |
| 214 USHORT Value; | |
| 215 USHORT Index; | |
| 216 USHORT Reserved1; | |
| 217 }; | |
| 218 | |
| 219 struct _URB_CONTROL_GET_INTERFACE_REQUEST | |
| 220 { | |
| 221 struct _URB_HEADER Hdr; | |
| 222 PVOID Reserved; | |
| 223 ULONG Reserved0; | |
| 224 ULONG TransferBufferLength; | |
| 225 PVOID TransferBuffer; | |
| 226 PMDL TransferBufferMDL; | |
| 227 struct _URB *UrbLink; | |
| 228 struct _URB_HCD_AREA hca; | |
| 229 UCHAR Reserved1[4]; | |
| 230 USHORT Interface; | |
| 231 USHORT Reserved2; | |
| 232 }; | |
| 233 | |
| 234 struct _URB_CONTROL_GET_CONFIGURATION_REQUEST | |
| 235 { | |
| 236 struct _URB_HEADER Hdr; | |
| 237 PVOID Reserved; | |
| 238 ULONG Reserved0; | |
| 239 ULONG TransferBufferLength; | |
| 240 PVOID TransferBuffer; | |
| 241 PMDL TransferBufferMDL; | |
| 242 struct _URB *UrbLink; | |
| 243 struct _URB_HCD_AREA hca; | |
| 244 UCHAR Reserved1[8]; | |
| 245 }; | |
| 246 | |
| 247 typedef struct _OS_STRING | |
| 248 { | |
| 249 UCHAR bLength; | |
| 250 UCHAR bDescriptorType; | |
| 251 WCHAR MicrosoftString[7]; | |
| 252 UCHAR bVendorCode; | |
| 253 UCHAR bPad; | |
| 254 } OS_STRING, *POS_STRING; | |
| 255 | |
| 256 | |
| 257 struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST | |
| 258 { | |
| 259 struct _URB_HEADER Hdr; | |
| 260 PVOID Reserved; | |
| 261 ULONG Reserved0; | |
| 262 ULONG TransferBufferLength; | |
| 263 PVOID TransferBuffer; | |
| 264 PMDL TransferBufferMDL; | |
| 265 struct _URB *UrbLink; | |
| 266 struct _URB_HCD_AREA hca; | |
| 267 UCHAR Recipient:5; | |
| 268 UCHAR Reserved1:3; | |
| 269 UCHAR Reserved2; | |
| 270 UCHAR InterfaceNumber; | |
| 271 UCHAR MS_PageIndex; | |
| 272 USHORT MS_FeatureDescriptorIndex; | |
| 273 USHORT Reserved3; | |
| 274 }; | |
| 275 | |
| 276 struct _URB_CONTROL_TRANSFER | |
| 277 { | |
| 278 struct _URB_HEADER Hdr; | |
| 279 USBD_PIPE_HANDLE PipeHandle; | |
| 280 ULONG TransferFlags; | |
| 281 ULONG TransferBufferLength; | |
| 282 PVOID TransferBuffer; | |
| 283 PMDL TransferBufferMDL; | |
| 284 struct _URB *UrbLink; | |
| 285 struct _URB_HCD_AREA hca; | |
| 286 UCHAR SetupPacket[8]; | |
| 287 }; | |
| 288 | |
| 289 struct _URB_BULK_OR_INTERRUPT_TRANSFER | |
| 290 { | |
| 291 struct _URB_HEADER Hdr; | |
| 292 USBD_PIPE_HANDLE PipeHandle; | |
| 293 ULONG TransferFlags; | |
| 294 ULONG TransferBufferLength; | |
| 295 PVOID TransferBuffer; | |
| 296 PMDL TransferBufferMDL; | |
| 297 struct _URB *UrbLink; | |
| 298 struct _URB_HCD_AREA hca; | |
| 299 }; | |
| 300 | |
| 301 typedef struct _USBD_ISO_PACKET_DESCRIPTOR | |
| 302 { | |
| 303 ULONG Offset; | |
| 304 ULONG Length; | |
| 305 USBD_STATUS Status; | |
| 306 } USBD_ISO_PACKET_DESCRIPTOR, *PUSBD_ISO_PACKET_DESCRIPTOR; | |
| 307 | |
| 308 struct _URB_ISOCH_TRANSFER | |
| 309 { | |
| 310 struct _URB_HEADER Hdr; | |
| 311 USBD_PIPE_HANDLE PipeHandle; | |
| 312 ULONG TransferFlags; | |
| 313 ULONG TransferBufferLength; | |
| 314 PVOID TransferBuffer; | |
| 315 PMDL TransferBufferMDL; | |
| 316 struct _URB *UrbLink; | |
| 317 struct _URB_HCD_AREA hca; | |
| 318 ULONG StartFrame; | |
| 319 ULONG NumberOfPackets; | |
| 320 ULONG ErrorCount; | |
| 321 USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1]; | |
| 322 }; | |
| 323 | |
| 324 typedef struct _URB | |
| 325 { | |
| 326 union | |
| 327 { | |
| 328 struct _URB_HEADER | |
| 329 UrbHeader; | |
| 330 struct _URB_SELECT_INTERFACE | |
| 331 UrbSelectInterface; | |
| 332 struct _URB_SELECT_CONFIGURATION | |
| 333 UrbSelectConfiguration; | |
| 334 struct _URB_PIPE_REQUEST | |
| 335 UrbPipeRequest; | |
| 336 struct _URB_FRAME_LENGTH_CONTROL | |
| 337 UrbFrameLengthControl; | |
| 338 struct _URB_GET_FRAME_LENGTH | |
| 339 UrbGetFrameLength; | |
| 340 struct _URB_SET_FRAME_LENGTH | |
| 341 UrbSetFrameLength; | |
| 342 struct _URB_GET_CURRENT_FRAME_NUMBER | |
| 343 UrbGetCurrentFrameNumber; | |
| 344 struct _URB_CONTROL_TRANSFER | |
| 345 UrbControlTransfer; | |
| 346 struct _URB_BULK_OR_INTERRUPT_TRANSFER | |
| 347 UrbBulkOrInterruptTransfer; | |
| 348 struct _URB_ISOCH_TRANSFER | |
| 349 UrbIsochronousTransfer; | |
| 350 struct _URB_CONTROL_DESCRIPTOR_REQUEST | |
| 351 UrbControlDescriptorRequest; | |
| 352 struct _URB_CONTROL_GET_STATUS_REQUEST | |
| 353 UrbControlGetStatusRequest; | |
| 354 struct _URB_CONTROL_FEATURE_REQUEST | |
| 355 UrbControlFeatureRequest; | |
| 356 struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST | |
| 357 UrbControlVendorClassRequest; | |
| 358 struct _URB_CONTROL_GET_INTERFACE_REQUEST | |
| 359 UrbControlGetInterfaceRequest; | |
| 360 struct _URB_CONTROL_GET_CONFIGURATION_REQUEST | |
| 361 UrbControlGetConfigurationRequest; | |
| 362 struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST | |
| 363 UrbOSFeatureDescriptorRequest; | |
| 364 }; | |
| 365 } URB, *PURB; | |
| 366 | |
| 367 #define USB_PORTATTR_NO_CONNECTOR 0x00000001 | |
| 368 #define USB_PORTATTR_SHARED_USB2 0x00000002 | |
| 369 #define USB_PORTATTR_MINI_CONNECTOR 0x00000004 | |
| 370 #define USB_PORTATTR_OEM_CONNECTOR 0x00000008 | |
| 371 #define USB_PORTATTR_OWNED_BY_CC 0x01000000 | |
| 372 #define USB_PORTATTR_NO_OVERCURRENT_UI 0x02000000 | |
| 373 #define USB_DEFAULT_DEVICE_ADDRESS 0 | |
| 374 #define USB_DEFAULT_ENDPOINT_ADDRESS 0 | |
| 375 #define USB_DEFAULT_MAX_PACKET 64 | |
| 376 #define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1) | |
| 377 #define URB_FUNCTION_SELECT_CONFIGURATION 0x0000 | |
| 378 #define URB_FUNCTION_SELECT_INTERFACE 0x0001 | |
| 379 #define URB_FUNCTION_ABORT_PIPE 0x0002 | |
| 380 #define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003 | |
| 381 #define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004 | |
| 382 #define URB_FUNCTION_GET_FRAME_LENGTH 0x0005 | |
| 383 #define URB_FUNCTION_SET_FRAME_LENGTH 0x0006 | |
| 384 #define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007 | |
| 385 #define URB_FUNCTION_CONTROL_TRANSFER 0x0008 | |
| 386 #define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009 | |
| 387 #define URB_FUNCTION_ISOCH_TRANSFER 0x000A | |
| 388 #define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000B | |
| 389 #define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000C | |
| 390 #define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000D | |
| 391 #define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000E | |
| 392 #define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000F | |
| 393 #define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010 | |
| 394 #define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011 | |
| 395 #define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012 | |
| 396 #define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013 | |
| 397 #define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014 | |
| 398 #define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015 | |
| 399 #define URB_FUNCTION_RESERVED_0X0016 0x0016 | |
| 400 #define URB_FUNCTION_VENDOR_DEVICE 0x0017 | |
| 401 #define URB_FUNCTION_VENDOR_INTERFACE 0x0018 | |
| 402 #define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 | |
| 403 #define URB_FUNCTION_CLASS_DEVICE 0x001A | |
| 404 #define URB_FUNCTION_CLASS_INTERFACE 0x001B | |
| 405 #define URB_FUNCTION_CLASS_ENDPOINT 0x001C | |
| 406 #define URB_FUNCTION_RESERVE_0X001D 0x001D | |
| 407 #define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL 0x001E | |
| 408 #define URB_FUNCTION_CLASS_OTHER 0x001F | |
| 409 #define URB_FUNCTION_VENDOR_OTHER 0x0020 | |
| 410 #define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021 | |
| 411 #define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022 | |
| 412 #define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023 | |
| 413 #define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024 | |
| 414 #define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025 | |
| 415 #define URB_FUNCTION_GET_CONFIGURATION 0x0026 | |
| 416 #define URB_FUNCTION_GET_INTERFACE 0x0027 | |
| 417 #define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028 | |
| 418 #define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029 | |
| 419 #define URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR 0x002A | |
| 420 #define URB_FUNCTION_RESERVE_0X002B 0x002B | |
| 421 #define URB_FUNCTION_RESERVE_0X002C 0x002C | |
| 422 #define URB_FUNCTION_RESERVE_0X002D 0x002D | |
| 423 #define URB_FUNCTION_RESERVE_0X002E 0x002E | |
| 424 #define URB_FUNCTION_RESERVE_0X002F 0x002F | |
| 425 #define URB_FUNCTION_SYNC_RESET_PIPE 0x0030 | |
| 426 #define URB_FUNCTION_SYNC_CLEAR_STALL 0x0031 | |
| 427 #define URB_FUNCTION_RESET_PIPE URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL | |
| 428 #define USBD_TRANSFER_DIRECTION 0x00000001 | |
| 429 #define USBD_SHORT_TRANSFER_OK 0x00000002 | |
| 430 #define USBD_START_ISO_TRANSFER_ASAP 0x00000004 | |
| 431 #define USBD_DEFAULT_PIPE_TRANSFER 0x00000008 | |
| 432 #define USBD_TRANSFER_DIRECTION_FLAG(flags) ((flags) & USBD_TRANSFER_DIRECTION) | |
| 433 | |
| 434 #define USBD_TRANSFER_DIRECTION_OUT 0 | |
| 435 #define USBD_TRANSFER_DIRECTION_IN 1 | |
| 436 #define VALID_TRANSFER_FLAGS_MASK (USBD_SHORT_TRANSFER_OK | USBD_TRANSFER_DIRECTION | \ | |
| 437 USBD_START_ISO_TRANSFER_ASAP | USBD_DEFAULT_PIPE_TRANSFER) | |
| 438 #define USBD_ISO_START_FRAME_RANGE 1024 | |
| 439 #define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0) | |
| 440 #define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1) | |
| 441 #define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0) | |
| 442 #define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000L) | |
| 443 #define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000L) | |
| 444 #define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001L) | |
| 445 #define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002L) | |
| 446 #define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003L) | |
| 447 #define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004L) | |
| 448 #define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005L) | |
| 449 #define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006L) | |
| 450 #define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007L) | |
| 451 #define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008L) | |
| 452 #define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009L) | |
| 453 #define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000AL) | |
| 454 #define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000BL) | |
| 455 #define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000CL) | |
| 456 #define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000DL) | |
| 457 #define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000FL) | |
| 458 #define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010L) | |
| 459 #define USBD_STATUS_XACT_ERROR ((USBD_STATUS)0xC0000011L) | |
| 460 #define USBD_STATUS_BABBLE_DETECTED ((USBD_STATUS)0xC0000012L) | |
| 461 #define USBD_STATUS_DATA_BUFFER_ERROR ((USBD_STATUS)0xC0000013L) | |
| 462 #define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030L) | |
| 463 #define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200L) | |
| 464 #define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300L) | |
| 465 #define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400L) | |
| 466 #define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600L) | |
| 467 #define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700L) | |
| 468 #define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800L) | |
| 469 #define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900L) | |
| 470 #define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00L) | |
| 471 #define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00L) | |
| 472 #define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00L) | |
| 473 #define USBD_STATUS_FRAME_CONTROL_NOT_OWNED ((USBD_STATUS)0xC0000D00L) | |
| 474 #define USBD_STATUS_NOT_SUPPORTED ((USBD_STATUS)0xC0000E00L) | |
| 475 #define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR ((USBD_STATUS)0xC0000F00L) | |
| 476 #define USBD_STATUS_INSUFFICIENT_RESOURCES ((USBD_STATUS)0xC0001000L) | |
| 477 #define USBD_STATUS_SET_CONFIG_FAILED ((USBD_STATUS)0xC0002000L) | |
| 478 #define USBD_STATUS_BUFFER_TOO_SMALL ((USBD_STATUS)0xC0003000L) | |
| 479 #define USBD_STATUS_INTERFACE_NOT_FOUND ((USBD_STATUS)0xC0004000L) | |
| 480 #define USBD_STATUS_INAVLID_PIPE_FLAGS ((USBD_STATUS)0xC0005000L) | |
| 481 #define USBD_STATUS_TIMEOUT ((USBD_STATUS)0xC0006000L) | |
| 482 #define USBD_STATUS_DEVICE_GONE ((USBD_STATUS)0xC0007000L) | |
| 483 #define USBD_STATUS_STATUS_NOT_MAPPED ((USBD_STATUS)0xC0008000L) | |
| 484 #define USBD_STATUS_CANCELED ((USBD_STATUS)0xC0010000L) | |
| 485 #define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW ((USBD_STATUS)0xC0020000L) | |
| 486 #define USBD_STATUS_ISO_TD_ERROR ((USBD_STATUS)0xC0030000L) | |
| 487 #define USBD_STATUS_ISO_NA_LATE_USBPORT ((USBD_STATUS)0xC0040000L) | |
| 488 #define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS)0xC0050000L) | |
| 489 #define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE 0xFFFFFFFF | |
| 490 #define USBD_PF_CHANGE_MAX_PACKET 0x00000001 | |
| 491 #define USBD_PF_SHORT_PACKET_OPT 0x00000002 | |
| 492 #define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004 | |
| 493 #define USBD_PF_MAP_ADD_TRANSFERS 0x00000008 | |
| 494 #define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | USBD_PF_SHORT_PACKET_OPT | \ | |
| 495 USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS) | |
| 496 #define OS_STRING_DESCRIPTOR_INDEX 0xEE | |
| 497 #define MS_GENRE_DESCRIPTOR_INDEX 0x0001 | |
| 498 #define MS_POWER_DESCRIPTOR_INDEX 0x0002 | |
| 499 #define MS_OS_STRING_SIGNATURE L"MSFT100" | |
| 500 #define USBD_PIPE_DIRECTION_IN(pipeInformation) ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK) | |
| 501 | |
| 502 #endif /* __USB_H */ |
