From 8a210f4e55cf29c7317cab43d5fcbbcb9fa3ad91 Mon Sep 17 00:00:00 2001 From: Damjan Jovanovic Date: Wed, 21 Oct 2009 07:53:24 +0200 Subject: [PATCH] usb.h: Add USBD_STATUS codes and the USBD_VERSION_INFORMATION struct. --- include/ddk/usb.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/include/ddk/usb.h b/include/ddk/usb.h index b8f5f3f541..af1c10d7f6 100644 --- a/include/ddk/usb.h +++ b/include/ddk/usb.h @@ -82,6 +82,64 @@ typedef PVOID USBD_PIPE_HANDLE; typedef PVOID USBD_CONFIGURATION_HANDLE; typedef PVOID USBD_INTERFACE_HANDLE; +#define USBD_STATUS_SUCCESS ((USBD_STATUS)0x00000000) +#define USBD_STATUS_PENDING ((USBD_STATUS)0x40000000) +#define USBD_STATUS_CRC ((USBD_STATUS)0xC0000001) +#define USBD_STATUS_BTSTUFF ((USBD_STATUS)0xC0000002) +#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS)0xC0000003) +#define USBD_STATUS_STALL_PID ((USBD_STATUS)0xC0000004) +#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS)0xC0000005) +#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS)0xC0000006) +#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS)0xC0000007) +#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS)0xC0000008) +#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS)0xC0000009) +#define USBD_STATUS_RESERVED1 ((USBD_STATUS)0xC000000A) +#define USBD_STATUS_RESERVED2 ((USBD_STATUS)0xC000000B) +#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS)0xC000000C) +#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS)0xC000000D) +#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS)0xC000000F) +#define USBD_STATUS_FIFO ((USBD_STATUS)0xC0000010) +#define USBD_STATUS_XACT_ERROR ((USBD_STATUS)0xC0000011) +#define USBD_STATUS_BABBLE_DETECTED ((USBD_STATUS)0xC0000012) +#define USBD_STATUS_DATA_BUFFER_ERROR ((USBD_STATUS)0xC0000013) +#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS)0xC0000030) +#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS)0x80000200) +#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS)0x80000300) +#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS)0x80000400) +#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS)0x80000600) +#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS)0x80000700) +#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS)0x80000800) +#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS)0x80000900) +#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS)0xC0000A00) +#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS)0xC0000B00) +#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS)0xC0000C00) +#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED ((USBD_STATUS)0xC0000D00) +#define USBD_STATUS_NOT_SUPPORTED ((USBD_STATUS)0xC0000E00) +#define USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR ((USBD_STATUS)0xC0000F00) +#define USBD_STATUS_INSUFFICIENT_RESOURCES ((USBD_STATUS)0xC0001000) +#define USBD_STATUS_SET_CONFIG_FAILED ((USBD_STATUS)0xC0002000) +#define USBD_STATUS_BUFFER_TOO_SMALL ((USBD_STATUS)0xC0003000) +#define USBD_STATUS_INTERFACE_NOT_FOUND ((USBD_STATUS)0xC0004000) +#define USBD_STATUS_INVALID_PIPE_FLAGS ((USBD_STATUS)0xC0005000) +#define USBD_STATUS_TIMEOUT ((USBD_STATUS)0xC0006000) +#define USBD_STATUS_DEVICE_GONE ((USBD_STATUS)0xC0007000) +#define USBD_STATUS_STATUS_NOT_MAPPED ((USBD_STATUS)0xC0008000) +#define USBD_STATUS_CANCELED ((USBD_STATUS)0xC0010000) +#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW ((USBD_STATUS)0xC0020000) +#define USBD_STATUS_ISO_TD_ERROR ((USBD_STATUS)0xC0030000) +#define USBD_STATUS_ISO_NA_LATE_USBPORT ((USBD_STATUS)0xC0040000) +#define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS)0xC0050000) + +#define USBD_SUCCESS(Status) ((USBD_STATUS)(Status) >= 0) +#define USBD_PENDING(Status) ((ULONG)(Status) >> 30 == 1) +#define USBD_ERROR(Status) ((USBD_STATUS)(Status) < 0) + +typedef struct _USBD_VERSION_INFORMATION { + ULONG USBDI_Version; + ULONG Supported_USB_Version; +} USBD_VERSION_INFORMATION; +typedef struct _USBD_VERSION_INFORMATION *PUSBD_VERSION_INFORMATION; + typedef enum _USBD_PIPE_TYPE { UsbdPipeTypeControl, UsbdPipeTypeIsochronous, -- 2.33.8