ReactOS  r76032
usb.h File Reference
#include "usb200.h"
Include dependency graph for usb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _USBD_VERSION_INFORMATION
 
struct  _USBD_DEVICE_INFORMATION
 
struct  _USBD_PIPE_INFORMATION
 
struct  _USBD_INTERFACE_INFORMATION
 
struct  _URB_HCD_AREA
 
struct  _URB_HEADER
 
struct  _URB_SELECT_INTERFACE
 
struct  _URB_SELECT_CONFIGURATION
 
struct  _URB_PIPE_REQUEST
 
struct  _URB_FRAME_LENGTH_CONTROL
 
struct  _URB_GET_FRAME_LENGTH
 
struct  _URB_SET_FRAME_LENGTH
 
struct  _URB_GET_CURRENT_FRAME_NUMBER
 
struct  _URB_CONTROL_DESCRIPTOR_REQUEST
 
struct  _URB_CONTROL_GET_STATUS_REQUEST
 
struct  _URB_CONTROL_FEATURE_REQUEST
 
struct  _URB_CONTROL_VENDOR_OR_CLASS_REQUEST
 
struct  _URB_CONTROL_GET_INTERFACE_REQUEST
 
struct  _URB_CONTROL_GET_CONFIGURATION_REQUEST
 
struct  _URB_CONTROL_TRANSFER
 
struct  _URB_BULK_OR_INTERRUPT_TRANSFER
 
struct  _USBD_ISO_PACKET_DESCRIPTOR
 
struct  _URB_ISOCH_TRANSFER
 
struct  _URB
 

Macros

#define __GNU_EXTENSION
 
#define USBDI_VERSION   0x00000500
 
#define USB_PORTATTR_NO_CONNECTOR   0x00000001
 
#define USB_PORTATTR_SHARED_USB2   0x00000002
 
#define USB_PORTATTR_MINI_CONNECTOR   0x00000004
 
#define USB_PORTATTR_OEM_CONNECTOR   0x00000008
 
#define USB_PORTATTR_OWNED_BY_CC   0x01000000
 
#define USB_PORTATTR_NO_OVERCURRENT_UI   0x02000000
 
#define USB_DEFAULT_DEVICE_ADDRESS   0
 
#define USB_DEFAULT_ENDPOINT_ADDRESS   0
 
#define USB_DEFAULT_MAX_PACKET   64
 
#define URB_FROM_IRP(Irp)   ((IoGetCurrentIrpStackLocation(Irp))->Parameters.Others.Argument1)
 
#define URB_FUNCTION_SELECT_CONFIGURATION   0x0000
 
#define URB_FUNCTION_SELECT_INTERFACE   0x0001
 
#define URB_FUNCTION_ABORT_PIPE   0x0002
 
#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL   0x0003
 
#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL   0x0004
 
#define URB_FUNCTION_GET_FRAME_LENGTH   0x0005
 
#define URB_FUNCTION_SET_FRAME_LENGTH   0x0006
 
#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER   0x0007
 
#define URB_FUNCTION_CONTROL_TRANSFER   0x0008
 
#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER   0x0009
 
#define URB_FUNCTION_ISOCH_TRANSFER   0x000A
 
#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE   0x000B
 
#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE   0x000C
 
#define URB_FUNCTION_SET_FEATURE_TO_DEVICE   0x000D
 
#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE   0x000E
 
#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT   0x000F
 
#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE   0x0010
 
#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE   0x0011
 
#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT   0x0012
 
#define URB_FUNCTION_GET_STATUS_FROM_DEVICE   0x0013
 
#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE   0x0014
 
#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT   0x0015
 
#define URB_FUNCTION_RESERVED_0X0016   0x0016
 
#define URB_FUNCTION_VENDOR_DEVICE   0x0017
 
#define URB_FUNCTION_VENDOR_INTERFACE   0x0018
 
#define URB_FUNCTION_VENDOR_ENDPOINT   0x0019
 
#define URB_FUNCTION_CLASS_DEVICE   0x001A
 
#define URB_FUNCTION_CLASS_INTERFACE   0x001B
 
#define URB_FUNCTION_CLASS_ENDPOINT   0x001C
 
#define URB_FUNCTION_RESERVE_0X001D   0x001D
 
#define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL   0x001E
 
#define URB_FUNCTION_CLASS_OTHER   0x001F
 
#define URB_FUNCTION_VENDOR_OTHER   0x0020
 
#define URB_FUNCTION_GET_STATUS_FROM_OTHER   0x0021
 
#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER   0x0022
 
#define URB_FUNCTION_SET_FEATURE_TO_OTHER   0x0023
 
#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT   0x0024
 
#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT   0x0025
 
#define URB_FUNCTION_GET_CONFIGURATION   0x0026
 
#define URB_FUNCTION_GET_INTERFACE   0x0027
 
#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE   0x0028
 
#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE   0x0029
 
#define URB_FUNCTION_RESERVE_0X002B   0x002B
 
#define URB_FUNCTION_RESERVE_0X002C   0x002C
 
#define URB_FUNCTION_RESERVE_0X002D   0x002D
 
#define URB_FUNCTION_RESERVE_0X002E   0x002E
 
#define URB_FUNCTION_RESERVE_0X002F   0x002F
 
#define URB_FUNCTION_RESET_PIPE   URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL
 
#define USBD_TRANSFER_DIRECTION   0x00000001
 
#define USBD_SHORT_TRANSFER_OK   0x00000002
 
#define USBD_START_ISO_TRANSFER_ASAP   0x00000004
 
#define USBD_DEFAULT_PIPE_TRANSFER   0x00000008
 
#define USBD_TRANSFER_DIRECTION_FLAG(flags)   ((flags) & USBD_TRANSFER_DIRECTION)
 
#define USBD_TRANSFER_DIRECTION_OUT   0
 
#define USBD_TRANSFER_DIRECTION_IN   1
 
#define VALID_TRANSFER_FLAGS_MASK
 
#define USBD_ISO_START_FRAME_RANGE   1024
 
#define USBD_SUCCESS(Status)   ((USBD_STATUS)(Status) >= 0)
 
#define USBD_PENDING(Status)   ((ULONG)(Status) >> 30 == 1)
 
#define USBD_ERROR(Status)   ((USBD_STATUS)(Status) < 0)
 
#define USBD_STATUS_SUCCESS   ((USBD_STATUS)0x00000000L)
 
#define USBD_STATUS_PENDING   ((USBD_STATUS)0x40000000L)
 
#define USBD_STATUS_CRC   ((USBD_STATUS)0xC0000001L)
 
#define USBD_STATUS_BTSTUFF   ((USBD_STATUS)0xC0000002L)
 
#define USBD_STATUS_DATA_TOGGLE_MISMATCH   ((USBD_STATUS)0xC0000003L)
 
#define USBD_STATUS_STALL_PID   ((USBD_STATUS)0xC0000004L)
 
#define USBD_STATUS_DEV_NOT_RESPONDING   ((USBD_STATUS)0xC0000005L)
 
#define USBD_STATUS_PID_CHECK_FAILURE   ((USBD_STATUS)0xC0000006L)
 
#define USBD_STATUS_UNEXPECTED_PID   ((USBD_STATUS)0xC0000007L)
 
#define USBD_STATUS_DATA_OVERRUN   ((USBD_STATUS)0xC0000008L)
 
#define USBD_STATUS_DATA_UNDERRUN   ((USBD_STATUS)0xC0000009L)
 
#define USBD_STATUS_RESERVED1   ((USBD_STATUS)0xC000000AL)
 
#define USBD_STATUS_RESERVED2   ((USBD_STATUS)0xC000000BL)
 
#define USBD_STATUS_BUFFER_OVERRUN   ((USBD_STATUS)0xC000000CL)
 
#define USBD_STATUS_BUFFER_UNDERRUN   ((USBD_STATUS)0xC000000DL)
 
#define USBD_STATUS_NOT_ACCESSED   ((USBD_STATUS)0xC000000FL)
 
#define USBD_STATUS_FIFO   ((USBD_STATUS)0xC0000010L)
 
#define USBD_STATUS_XACT_ERROR   ((USBD_STATUS)0xC0000011L)
 
#define USBD_STATUS_BABBLE_DETECTED   ((USBD_STATUS)0xC0000012L)
 
#define USBD_STATUS_DATA_BUFFER_ERROR   ((USBD_STATUS)0xC0000013L)
 
#define USBD_STATUS_ENDPOINT_HALTED   ((USBD_STATUS)0xC0000030L)
 
#define USBD_STATUS_INVALID_URB_FUNCTION   ((USBD_STATUS)0x80000200L)
 
#define USBD_STATUS_INVALID_PARAMETER   ((USBD_STATUS)0x80000300L)
 
#define USBD_STATUS_ERROR_BUSY   ((USBD_STATUS)0x80000400L)
 
#define USBD_STATUS_INVALID_PIPE_HANDLE   ((USBD_STATUS)0x80000600L)
 
#define USBD_STATUS_NO_BANDWIDTH   ((USBD_STATUS)0x80000700L)
 
#define USBD_STATUS_INTERNAL_HC_ERROR   ((USBD_STATUS)0x80000800L)
 
#define USBD_STATUS_ERROR_SHORT_TRANSFER   ((USBD_STATUS)0x80000900L)
 
#define USBD_STATUS_BAD_START_FRAME   ((USBD_STATUS)0xC0000A00L)
 
#define USBD_STATUS_ISOCH_REQUEST_FAILED   ((USBD_STATUS)0xC0000B00L)
 
#define USBD_STATUS_FRAME_CONTROL_OWNED   ((USBD_STATUS)0xC0000C00L)
 
#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED   ((USBD_STATUS)0xC0000D00L)
 
#define USBD_STATUS_NOT_SUPPORTED   ((USBD_STATUS)0xC0000E00L)
 
#define USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR   ((USBD_STATUS)0xC0000F00L)
 
#define USBD_STATUS_INSUFFICIENT_RESOURCES   ((USBD_STATUS)0xC0001000L)
 
#define USBD_STATUS_SET_CONFIG_FAILED   ((USBD_STATUS)0xC0002000L)
 
#define USBD_STATUS_BUFFER_TOO_SMALL   ((USBD_STATUS)0xC0003000L)
 
#define USBD_STATUS_INTERFACE_NOT_FOUND   ((USBD_STATUS)0xC0004000L)
 
#define USBD_STATUS_INVALID_PIPE_FLAGS   ((USBD_STATUS)0xC0005000L)
 
#define USBD_STATUS_TIMEOUT   ((USBD_STATUS)0xC0006000L)
 
#define USBD_STATUS_DEVICE_GONE   ((USBD_STATUS)0xC0007000L)
 
#define USBD_STATUS_STATUS_NOT_MAPPED   ((USBD_STATUS)0xC0008000L)
 
#define USBD_STATUS_HUB_INTERNAL_ERROR   ((USBD_STATUS)0xC0009000L)
 
#define USBD_STATUS_CANCELED   ((USBD_STATUS)0xC0010000L)
 
#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW   ((USBD_STATUS)0xC0020000L)
 
#define USBD_STATUS_ISO_TD_ERROR   ((USBD_STATUS)0xC0030000L)
 
#define USBD_STATUS_ISO_NA_LATE_USBPORT   ((USBD_STATUS)0xC0040000L)
 
#define USBD_STATUS_ISO_NOT_ACCESSED_LATE   ((USBD_STATUS)0xC0050000L)
 
#define USBD_STATUS_BAD_DESCRIPTOR   ((USBD_STATUS)0xC0100000L)
 
#define USBD_STATUS_BAD_DESCRIPTOR_BLEN   ((USBD_STATUS)0xC0100001L)
 
#define USBD_STATUS_BAD_DESCRIPTOR_TYPE   ((USBD_STATUS)0xC0100002L)
 
#define USBD_STATUS_BAD_INTERFACE_DESCRIPTOR   ((USBD_STATUS)0xC0100003L)
 
#define USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR   ((USBD_STATUS)0xC0100004L)
 
#define USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR   ((USBD_STATUS)0xC0100005L)
 
#define USBD_STATUS_BAD_CONFIG_DESC_LENGTH   ((USBD_STATUS)0xC0100006L)
 
#define USBD_STATUS_BAD_NUMBER_OF_INTERFACES   ((USBD_STATUS)0xC0100007L)
 
#define USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS   ((USBD_STATUS)0xC0100008L)
 
#define USBD_STATUS_BAD_ENDPOINT_ADDRESS   ((USBD_STATUS)0xC0100009L)
 
#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE   PAGE_SIZE
 
#define USBD_PIPE_DIRECTION_IN(pipeInformation)   ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)
 
#define USBD_PF_CHANGE_MAX_PACKET   0x00000001
 
#define USBD_PF_SHORT_PACKET_OPT   0x00000002
 
#define USBD_PF_ENABLE_RT_THREAD_ACCESS   0x00000004
 
#define USBD_PF_MAP_ADD_TRANSFERS   0x00000008
 
#define USBD_PF_VALID_MASK
 

Typedefs

typedef PVOID PIRP
 
typedef PVOID PMDL
 
typedef enum _USB_CONTROLLER_FLAVOR USB_CONTROLLER_FLAVOR
 
typedef LONG USBD_STATUS
 
typedef PVOID USBD_PIPE_HANDLE
 
typedef PVOID USBD_CONFIGURATION_HANDLE
 
typedef PVOID USBD_INTERFACE_HANDLE
 
typedef struct
_USBD_VERSION_INFORMATION 
USBD_VERSION_INFORMATION
 
typedef struct
_USBD_VERSION_INFORMATION
PUSBD_VERSION_INFORMATION
 
typedef enum _USBD_PIPE_TYPE USBD_PIPE_TYPE
 
typedef struct
_USBD_DEVICE_INFORMATION 
USBD_DEVICE_INFORMATION
 
typedef struct
_USBD_DEVICE_INFORMATION
PUSBD_DEVICE_INFORMATION
 
typedef struct
_USBD_PIPE_INFORMATION 
USBD_PIPE_INFORMATION
 
typedef struct
_USBD_PIPE_INFORMATION
PUSBD_PIPE_INFORMATION
 
typedef struct
_USBD_INTERFACE_INFORMATION 
USBD_INTERFACE_INFORMATION
 
typedef struct
_USBD_INTERFACE_INFORMATION
PUSBD_INTERFACE_INFORMATION
 
typedef struct
_USBD_ISO_PACKET_DESCRIPTOR 
USBD_ISO_PACKET_DESCRIPTOR
 
typedef struct
_USBD_ISO_PACKET_DESCRIPTOR
PUSBD_ISO_PACKET_DESCRIPTOR
 
typedef struct _URB URB
 
typedef struct _URBPURB
 

Enumerations

enum  _USB_CONTROLLER_FLAVOR {
  USB_HcGeneric = 0, OHCI_Generic = 100, OHCI_Hydra, OHCI_NEC,
  UHCI_Generic = 200, UHCI_Piix4 = 201, UHCI_Piix3 = 202, UHCI_Ich2 = 203,
  UHCI_Reserved204 = 204, UHCI_Ich1 = 205, UHCI_Ich3m = 206, UHCI_Ich4 = 207,
  UHCI_Ich5 = 208, UHCI_Ich6 = 209, UHCI_Intel = 249, UHCI_VIA = 250,
  UHCI_VIA_x01 = 251, UHCI_VIA_x02 = 252, UHCI_VIA_x03 = 253, UHCI_VIA_x04 = 254,
  UHCI_VIA_x0E_FIFO = 264, EHCI_Generic = 1000, EHCI_NEC = 2000, EHCI_Lucent = 3000
}
 
enum  _USBD_PIPE_TYPE { UsbdPipeTypeControl, UsbdPipeTypeIsochronous, UsbdPipeTypeBulk, UsbdPipeTypeInterrupt }
 

Macro Definition Documentation

#define __GNU_EXTENSION

Definition at line 28 of file usb.h.

#define URB_FUNCTION_ABORT_PIPE   0x0002
#define URB_FUNCTION_CLASS_ENDPOINT   0x001C
#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE   0x0010

Definition at line 102 of file usb.h.

Referenced by CUSBRequest::BuildSetupPacketFromURB(), and USBPORT_HandleSetOrClearFeature().

#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT   0x0012
#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE   0x0011
#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER   0x0022

Definition at line 120 of file usb.h.

Referenced by USBPORT_HandleSetOrClearFeature(), and USBPORT_HandleSubmitURB().

#define URB_FUNCTION_CONTROL_TRANSFER   0x0008
#define URB_FUNCTION_GET_CONFIGURATION   0x0026

Definition at line 124 of file usb.h.

Referenced by CUSBRequest::BuildSetupPacketFromURB(), and USBPORT_HandleSubmitURB().

#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER   0x0007

Definition at line 93 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT   0x0024
#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE   0x0028
#define URB_FUNCTION_GET_FRAME_LENGTH   0x0005

Definition at line 91 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

#define URB_FUNCTION_GET_INTERFACE   0x0027

Definition at line 125 of file usb.h.

Referenced by CUSBRequest::BuildSetupPacketFromURB(), and USBPORT_HandleSubmitURB().

#define URB_FUNCTION_GET_STATUS_FROM_OTHER   0x0021

Definition at line 119 of file usb.h.

Referenced by USBPORT_HandleGetStatus(), and USBPORT_HandleSubmitURB().

#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL   0x0004

Definition at line 90 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

#define URB_FUNCTION_RESERVE_0X001D   0x001D

Definition at line 115 of file usb.h.

#define URB_FUNCTION_RESERVE_0X002B   0x002B

Definition at line 145 of file usb.h.

#define URB_FUNCTION_RESERVE_0X002C   0x002C

Definition at line 146 of file usb.h.

#define URB_FUNCTION_RESERVE_0X002D   0x002D

Definition at line 147 of file usb.h.

#define URB_FUNCTION_RESERVE_0X002E   0x002E

Definition at line 148 of file usb.h.

#define URB_FUNCTION_RESERVE_0X002F   0x002F

Definition at line 149 of file usb.h.

#define URB_FUNCTION_RESERVED_0X0016   0x0016

Definition at line 108 of file usb.h.

Definition at line 151 of file usb.h.

Referenced by FreeBT_ResetPipe().

#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE   0x000C
#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT   0x0025
#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE   0x0029
#define URB_FUNCTION_SET_FEATURE_TO_DEVICE   0x000D
#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT   0x000F
#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE   0x000E
#define URB_FUNCTION_SET_FEATURE_TO_OTHER   0x0023

Definition at line 121 of file usb.h.

Referenced by USBPORT_HandleSetOrClearFeature(), and USBPORT_HandleSubmitURB().

#define URB_FUNCTION_SET_FRAME_LENGTH   0x0006

Definition at line 92 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL   0x0003

Definition at line 89 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

#define URB_FUNCTION_VENDOR_DEVICE   0x0017
#define URB_FUNCTION_VENDOR_ENDPOINT   0x0019

Definition at line 111 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

#define URB_FUNCTION_VENDOR_INTERFACE   0x0018

Definition at line 110 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

#define URB_FUNCTION_VENDOR_OTHER   0x0020

Definition at line 118 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

#define USB_DEFAULT_DEVICE_ADDRESS   0

Definition at line 82 of file usb.h.

Referenced by USBPORT_InitializeDevice().

#define USB_DEFAULT_ENDPOINT_ADDRESS   0

Definition at line 83 of file usb.h.

#define USB_DEFAULT_MAX_PACKET   64

Definition at line 84 of file usb.h.

Referenced by USBPORT_CreateDevice().

#define USB_PORTATTR_MINI_CONNECTOR   0x00000004

Definition at line 49 of file usb.h.

#define USB_PORTATTR_NO_CONNECTOR   0x00000001

Definition at line 47 of file usb.h.

#define USB_PORTATTR_NO_OVERCURRENT_UI   0x02000000

Definition at line 52 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

#define USB_PORTATTR_OEM_CONNECTOR   0x00000008

Definition at line 50 of file usb.h.

#define USB_PORTATTR_OWNED_BY_CC   0x01000000

Definition at line 51 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

#define USB_PORTATTR_SHARED_USB2   0x00000002

Definition at line 48 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE   PAGE_SIZE

Definition at line 236 of file usb.h.

Referenced by SelectInterfaces().

#define USBD_DEFAULT_PIPE_TRANSFER   0x00000008

Definition at line 156 of file usb.h.

Referenced by USBPORT_QueueTransferUrb(), and USBPORT_ValidateURB().

#define USBD_ISO_START_FRAME_RANGE   1024

Definition at line 163 of file usb.h.

#define USBD_PENDING (   Status)    ((ULONG)(Status) >> 30 == 1)

Definition at line 168 of file usb.h.

#define USBD_PF_CHANGE_MAX_PACKET   0x00000001

Definition at line 269 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo(), and USBPORT_OpenInterface().

#define USBD_PF_ENABLE_RT_THREAD_ACCESS   0x00000004

Definition at line 271 of file usb.h.

#define USBD_PF_MAP_ADD_TRANSFERS   0x00000008

Definition at line 272 of file usb.h.

#define USBD_PF_SHORT_PACKET_OPT   0x00000002

Definition at line 270 of file usb.h.

#define USBD_PF_VALID_MASK
Value:
#define USBD_PF_SHORT_PACKET_OPT
Definition: usb.h:270
#define USBD_PF_MAP_ADD_TRANSFERS
Definition: usb.h:272
#define USBD_PF_CHANGE_MAX_PACKET
Definition: usb.h:269
#define USBD_PF_ENABLE_RT_THREAD_ACCESS
Definition: usb.h:271

Definition at line 273 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

#define USBD_PIPE_DIRECTION_IN (   pipeInformation)    ((pipeInformation)->EndpointAddress & USB_ENDPOINT_DIRECTION_MASK)

Definition at line 251 of file usb.h.

#define USBD_START_ISO_TRANSFER_ASAP   0x00000004
#define USBD_STATUS_BABBLE_DETECTED   ((USBD_STATUS)0xC0000012L)

Definition at line 188 of file usb.h.

Referenced by CUSBQueue::QueueHeadCleanup().

#define USBD_STATUS_BAD_CONFIG_DESC_LENGTH   ((USBD_STATUS)0xC0100006L)

Definition at line 224 of file usb.h.

#define USBD_STATUS_BAD_DESCRIPTOR   ((USBD_STATUS)0xC0100000L)

Definition at line 218 of file usb.h.

#define USBD_STATUS_BAD_DESCRIPTOR_BLEN   ((USBD_STATUS)0xC0100001L)

Definition at line 219 of file usb.h.

#define USBD_STATUS_BAD_DESCRIPTOR_TYPE   ((USBD_STATUS)0xC0100002L)

Definition at line 220 of file usb.h.

#define USBD_STATUS_BAD_ENDPOINT_ADDRESS   ((USBD_STATUS)0xC0100009L)

Definition at line 227 of file usb.h.

#define USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR   ((USBD_STATUS)0xC0100004L)

Definition at line 222 of file usb.h.

#define USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR   ((USBD_STATUS)0xC0100005L)

Definition at line 223 of file usb.h.

#define USBD_STATUS_BAD_INTERFACE_DESCRIPTOR   ((USBD_STATUS)0xC0100003L)

Definition at line 221 of file usb.h.

#define USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS   ((USBD_STATUS)0xC0100008L)

Definition at line 226 of file usb.h.

#define USBD_STATUS_BAD_NUMBER_OF_INTERFACES   ((USBD_STATUS)0xC0100007L)

Definition at line 225 of file usb.h.

#define USBD_STATUS_BAD_START_FRAME   ((USBD_STATUS)0xC0000A00L)

Definition at line 198 of file usb.h.

Referenced by USBPORT_USBDStatusToNtStatus().

#define USBD_STATUS_BTSTUFF   ((USBD_STATUS)0xC0000002L)

Definition at line 173 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_BUFFER_OVERRUN   ((USBD_STATUS)0xC000000CL)

Definition at line 183 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_BUFFER_TOO_SMALL   ((USBD_STATUS)0xC0003000L)

Definition at line 206 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

#define USBD_STATUS_BUFFER_UNDERRUN   ((USBD_STATUS)0xC000000DL)

Definition at line 184 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_CRC   ((USBD_STATUS)0xC0000001L)

Definition at line 172 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_DATA_BUFFER_ERROR   ((USBD_STATUS)0xC0000013L)

Definition at line 189 of file usb.h.

Referenced by CUSBQueue::QueueHeadCleanup().

#define USBD_STATUS_DATA_OVERRUN   ((USBD_STATUS)0xC0000008L)

Definition at line 179 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_DATA_TOGGLE_MISMATCH   ((USBD_STATUS)0xC0000003L)

Definition at line 174 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_DATA_UNDERRUN   ((USBD_STATUS)0xC0000009L)

Definition at line 180 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_DEV_NOT_RESPONDING   ((USBD_STATUS)0xC0000005L)

Definition at line 176 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_DEVICE_GONE   ((USBD_STATUS)0xC0007000L)
#define USBD_STATUS_ENDPOINT_HALTED   ((USBD_STATUS)0xC0000030L)

Definition at line 190 of file usb.h.

#define USBD_STATUS_ERROR_BUSY   ((USBD_STATUS)0x80000400L)

Definition at line 193 of file usb.h.

Referenced by USBPORT_ResetPipe().

#define USBD_STATUS_ERROR_SHORT_TRANSFER   ((USBD_STATUS)0x80000900L)

Definition at line 197 of file usb.h.

#define USBD_STATUS_FIFO   ((USBD_STATUS)0xC0000010L)

Definition at line 186 of file usb.h.

#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED   ((USBD_STATUS)0xC0000D00L)

Definition at line 201 of file usb.h.

#define USBD_STATUS_FRAME_CONTROL_OWNED   ((USBD_STATUS)0xC0000C00L)

Definition at line 200 of file usb.h.

#define USBD_STATUS_HUB_INTERNAL_ERROR   ((USBD_STATUS)0xC0009000L)

Definition at line 212 of file usb.h.

#define USBD_STATUS_INTERFACE_NOT_FOUND   ((USBD_STATUS)0xC0004000L)

Definition at line 207 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

#define USBD_STATUS_INTERNAL_HC_ERROR   ((USBD_STATUS)0x80000800L)

Definition at line 196 of file usb.h.

#define USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR   ((USBD_STATUS)0xC0000F00L)

Definition at line 203 of file usb.h.

Referenced by USBH_PdoUrbFilter(), and USBPORT_HandleSelectConfiguration().

#define USBD_STATUS_INVALID_PARAMETER   ((USBD_STATUS)0x80000300L)
#define USBD_STATUS_INVALID_PIPE_FLAGS   ((USBD_STATUS)0xC0005000L)

Definition at line 208 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

#define USBD_STATUS_INVALID_URB_FUNCTION   ((USBD_STATUS)0x80000200L)

Definition at line 191 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_USBDStatusToNtStatus().

#define USBD_STATUS_ISO_NA_LATE_USBPORT   ((USBD_STATUS)0xC0040000L)

Definition at line 216 of file usb.h.

#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW   ((USBD_STATUS)0xC0020000L)

Definition at line 214 of file usb.h.

#define USBD_STATUS_ISO_NOT_ACCESSED_LATE   ((USBD_STATUS)0xC0050000L)

Definition at line 217 of file usb.h.

#define USBD_STATUS_ISO_TD_ERROR   ((USBD_STATUS)0xC0030000L)

Definition at line 215 of file usb.h.

#define USBD_STATUS_ISOCH_REQUEST_FAILED   ((USBD_STATUS)0xC0000B00L)

Definition at line 199 of file usb.h.

#define USBD_STATUS_NO_BANDWIDTH   ((USBD_STATUS)0x80000700L)

Definition at line 195 of file usb.h.

Referenced by USBPORT_OpenPipe().

#define USBD_STATUS_NOT_ACCESSED   ((USBD_STATUS)0xC000000FL)

Definition at line 185 of file usb.h.

#define USBD_STATUS_NOT_SUPPORTED   ((USBD_STATUS)0xC0000E00L)
#define USBD_STATUS_PENDING   ((USBD_STATUS)0x40000000L)

Definition at line 171 of file usb.h.

Referenced by USBPORT_QueuePendingUrbToEndpoint().

#define USBD_STATUS_PID_CHECK_FAILURE   ((USBD_STATUS)0xC0000006L)

Definition at line 177 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_RESERVED1   ((USBD_STATUS)0xC000000AL)

Definition at line 181 of file usb.h.

#define USBD_STATUS_RESERVED2   ((USBD_STATUS)0xC000000BL)

Definition at line 182 of file usb.h.

#define USBD_STATUS_SET_CONFIG_FAILED   ((USBD_STATUS)0xC0002000L)

Definition at line 205 of file usb.h.

Referenced by USBPORT_HandleSelectConfiguration().

#define USBD_STATUS_STALL_PID   ((USBD_STATUS)0xC0000004L)
#define USBD_STATUS_STATUS_NOT_MAPPED   ((USBD_STATUS)0xC0008000L)

Definition at line 211 of file usb.h.

#define USBD_STATUS_TIMEOUT   ((USBD_STATUS)0xC0006000L)

Definition at line 209 of file usb.h.

#define USBD_STATUS_UNEXPECTED_PID   ((USBD_STATUS)0xC0000007L)

Definition at line 178 of file usb.h.

Referenced by CUSBRequest::CheckError().

#define USBD_STATUS_XACT_ERROR   ((USBD_STATUS)0xC0000011L)

Definition at line 187 of file usb.h.

#define USBD_TRANSFER_DIRECTION   0x00000001

Definition at line 153 of file usb.h.

Referenced by USBPORT_SendSetupPacket().

#define USBD_TRANSFER_DIRECTION_FLAG (   flags)    ((flags) & USBD_TRANSFER_DIRECTION)

Definition at line 157 of file usb.h.

Referenced by USBPORT_HandleVendorOrClass().

#define USBDI_VERSION   0x00000500

Definition at line 43 of file usb.h.

Referenced by USBD_GetUSBDIVersion().

#define VALID_TRANSFER_FLAGS_MASK
Value:
#define USBD_SHORT_TRANSFER_OK
Definition: usb.h:154
#define USBD_DEFAULT_PIPE_TRANSFER
Definition: usb.h:156
#define USBD_TRANSFER_DIRECTION
Definition: usb.h:153
#define USBD_START_ISO_TRANSFER_ASAP
Definition: usb.h:155

Definition at line 161 of file usb.h.

Typedef Documentation

typedef PVOID PIRP

Definition at line 38 of file usb.h.

typedef PVOID PMDL

Definition at line 39 of file usb.h.

typedef struct _URB * PURB
typedef struct _URB URB

Definition at line 230 of file usb.h.

Definition at line 231 of file usb.h.

Definition at line 229 of file usb.h.

typedef LONG USBD_STATUS

Definition at line 165 of file usb.h.

Enumeration Type Documentation

Enumerator
USB_HcGeneric 
OHCI_Generic 
OHCI_Hydra 
OHCI_NEC 
UHCI_Generic 
UHCI_Piix4 
UHCI_Piix3 
UHCI_Ich2 
UHCI_Reserved204 
UHCI_Ich1 
UHCI_Ich3m 
UHCI_Ich4 
UHCI_Ich5 
UHCI_Ich6 
UHCI_Intel 
UHCI_VIA 
UHCI_VIA_x01 
UHCI_VIA_x02 
UHCI_VIA_x03 
UHCI_VIA_x04 
UHCI_VIA_x0E_FIFO 
EHCI_Generic 
EHCI_NEC 
EHCI_Lucent 

Definition at line 54 of file usb.h.

54  {
55  USB_HcGeneric = 0,
56  OHCI_Generic = 100,
57  OHCI_Hydra,
58  OHCI_NEC,
59  UHCI_Generic = 200,
60  UHCI_Piix4 = 201,
61  UHCI_Piix3 = 202,
62  UHCI_Ich2 = 203,
63  UHCI_Reserved204 = 204,
64  UHCI_Ich1 = 205,
65  UHCI_Ich3m = 206,
66  UHCI_Ich4 = 207,
67  UHCI_Ich5 = 208,
68  UHCI_Ich6 = 209,
69  UHCI_Intel = 249,
70  UHCI_VIA = 250,
71  UHCI_VIA_x01 = 251,
72  UHCI_VIA_x02 = 252,
73  UHCI_VIA_x03 = 253,
74  UHCI_VIA_x04 = 254,
75  UHCI_VIA_x0E_FIFO = 264,
76  EHCI_Generic = 1000,
77  EHCI_NEC = 2000,
78  EHCI_Lucent = 3000
Definition: usb.h:69
Definition: usb.h:77
Definition: usb.h:67
Definition: usb.h:62
Definition: usb.h:66
Definition: usb.h:57
Definition: usb.h:60
enum _USB_CONTROLLER_FLAVOR USB_CONTROLLER_FLAVOR
Definition: usb.h:70
Definition: usb.h:65
Definition: usb.h:68
Definition: usb.h:61
Definition: usb.h:58
Definition: usb.h:64
Enumerator
UsbdPipeTypeControl 
UsbdPipeTypeIsochronous 
UsbdPipeTypeBulk 
UsbdPipeTypeInterrupt 

Definition at line 244 of file usb.h.