ReactOS  0.4.12-dev-43-g63b00d8
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_INFORMATIONPUSBD_VERSION_INFORMATION
 
typedef enum _USBD_PIPE_TYPE USBD_PIPE_TYPE
 
typedef struct _USBD_DEVICE_INFORMATION USBD_DEVICE_INFORMATION
 
typedef struct _USBD_DEVICE_INFORMATIONPUSBD_DEVICE_INFORMATION
 
typedef struct _USBD_PIPE_INFORMATION USBD_PIPE_INFORMATION
 
typedef struct _USBD_PIPE_INFORMATIONPUSBD_PIPE_INFORMATION
 
typedef struct _USBD_INTERFACE_INFORMATION USBD_INTERFACE_INFORMATION
 
typedef struct _USBD_INTERFACE_INFORMATIONPUSBD_INTERFACE_INFORMATION
 
typedef struct _USBD_ISO_PACKET_DESCRIPTOR USBD_ISO_PACKET_DESCRIPTOR
 
typedef struct _USBD_ISO_PACKET_DESCRIPTORPUSBD_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

◆ __GNU_EXTENSION

#define __GNU_EXTENSION

Definition at line 28 of file usb.h.

◆ URB_FROM_IRP

◆ URB_FUNCTION_ABORT_PIPE

#define URB_FUNCTION_ABORT_PIPE   0x0002

◆ URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER

◆ URB_FUNCTION_CLASS_DEVICE

◆ URB_FUNCTION_CLASS_ENDPOINT

#define URB_FUNCTION_CLASS_ENDPOINT   0x001C

◆ URB_FUNCTION_CLASS_INTERFACE

◆ URB_FUNCTION_CLASS_OTHER

◆ URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE

#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE   0x0010

Definition at line 102 of file usb.h.

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

◆ URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT

#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT   0x0012

◆ URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE

#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE   0x0011

◆ URB_FUNCTION_CLEAR_FEATURE_TO_OTHER

#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER   0x0022

Definition at line 120 of file usb.h.

Referenced by USBPORT_HandleSetOrClearFeature(), and USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_CONTROL_TRANSFER

#define URB_FUNCTION_CONTROL_TRANSFER   0x0008

◆ URB_FUNCTION_GET_CONFIGURATION

#define URB_FUNCTION_GET_CONFIGURATION   0x0026

Definition at line 124 of file usb.h.

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

◆ URB_FUNCTION_GET_CURRENT_FRAME_NUMBER

#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER   0x0007

Definition at line 93 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE

◆ URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT

#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT   0x0024

◆ URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE

#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE   0x0028

◆ URB_FUNCTION_GET_FRAME_LENGTH

#define URB_FUNCTION_GET_FRAME_LENGTH   0x0005

Definition at line 91 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_GET_INTERFACE

#define URB_FUNCTION_GET_INTERFACE   0x0027

Definition at line 125 of file usb.h.

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

◆ URB_FUNCTION_GET_STATUS_FROM_DEVICE

◆ URB_FUNCTION_GET_STATUS_FROM_ENDPOINT

◆ URB_FUNCTION_GET_STATUS_FROM_INTERFACE

◆ URB_FUNCTION_GET_STATUS_FROM_OTHER

#define URB_FUNCTION_GET_STATUS_FROM_OTHER   0x0021

Definition at line 119 of file usb.h.

Referenced by USBPORT_HandleGetStatus(), and USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_ISOCH_TRANSFER

◆ URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL

#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL   0x0004

Definition at line 90 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_RESERVE_0X001D

#define URB_FUNCTION_RESERVE_0X001D   0x001D

Definition at line 115 of file usb.h.

◆ URB_FUNCTION_RESERVE_0X002B

#define URB_FUNCTION_RESERVE_0X002B   0x002B

Definition at line 145 of file usb.h.

◆ URB_FUNCTION_RESERVE_0X002C

#define URB_FUNCTION_RESERVE_0X002C   0x002C

Definition at line 146 of file usb.h.

◆ URB_FUNCTION_RESERVE_0X002D

#define URB_FUNCTION_RESERVE_0X002D   0x002D

Definition at line 147 of file usb.h.

◆ URB_FUNCTION_RESERVE_0X002E

#define URB_FUNCTION_RESERVE_0X002E   0x002E

Definition at line 148 of file usb.h.

◆ URB_FUNCTION_RESERVE_0X002F

#define URB_FUNCTION_RESERVE_0X002F   0x002F

Definition at line 149 of file usb.h.

◆ URB_FUNCTION_RESERVED_0X0016

#define URB_FUNCTION_RESERVED_0X0016   0x0016

Definition at line 108 of file usb.h.

◆ URB_FUNCTION_RESET_PIPE

Definition at line 151 of file usb.h.

Referenced by FreeBT_ResetPipe().

◆ URB_FUNCTION_SELECT_CONFIGURATION

◆ URB_FUNCTION_SELECT_INTERFACE

◆ URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE

#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE   0x000C

◆ URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT

#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT   0x0025

◆ URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE

#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE   0x0029

◆ URB_FUNCTION_SET_FEATURE_TO_DEVICE

#define URB_FUNCTION_SET_FEATURE_TO_DEVICE   0x000D

◆ URB_FUNCTION_SET_FEATURE_TO_ENDPOINT

#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT   0x000F

◆ URB_FUNCTION_SET_FEATURE_TO_INTERFACE

#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE   0x000E

◆ URB_FUNCTION_SET_FEATURE_TO_OTHER

#define URB_FUNCTION_SET_FEATURE_TO_OTHER   0x0023

Definition at line 121 of file usb.h.

Referenced by USBPORT_HandleSetOrClearFeature(), and USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_SET_FRAME_LENGTH

#define URB_FUNCTION_SET_FRAME_LENGTH   0x0006

Definition at line 92 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL

◆ URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL

#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL   0x0003

Definition at line 89 of file usb.h.

Referenced by USBPORT_HandleSubmitURB().

◆ URB_FUNCTION_VENDOR_DEVICE

#define URB_FUNCTION_VENDOR_DEVICE   0x0017

◆ URB_FUNCTION_VENDOR_ENDPOINT

#define URB_FUNCTION_VENDOR_ENDPOINT   0x0019

Definition at line 111 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

◆ URB_FUNCTION_VENDOR_INTERFACE

#define URB_FUNCTION_VENDOR_INTERFACE   0x0018

Definition at line 110 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

◆ URB_FUNCTION_VENDOR_OTHER

#define URB_FUNCTION_VENDOR_OTHER   0x0020

Definition at line 118 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_HandleVendorOrClass().

◆ USB_DEFAULT_DEVICE_ADDRESS

#define USB_DEFAULT_DEVICE_ADDRESS   0

Definition at line 82 of file usb.h.

Referenced by USBPORT_InitializeDevice().

◆ USB_DEFAULT_ENDPOINT_ADDRESS

#define USB_DEFAULT_ENDPOINT_ADDRESS   0

Definition at line 83 of file usb.h.

◆ USB_DEFAULT_MAX_PACKET

#define USB_DEFAULT_MAX_PACKET   64

Definition at line 84 of file usb.h.

Referenced by USBPORT_CreateDevice().

◆ USB_PORTATTR_MINI_CONNECTOR

#define USB_PORTATTR_MINI_CONNECTOR   0x00000004

Definition at line 49 of file usb.h.

◆ USB_PORTATTR_NO_CONNECTOR

#define USB_PORTATTR_NO_CONNECTOR   0x00000001

Definition at line 47 of file usb.h.

◆ USB_PORTATTR_NO_OVERCURRENT_UI

#define USB_PORTATTR_NO_OVERCURRENT_UI   0x02000000

Definition at line 52 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

◆ USB_PORTATTR_OEM_CONNECTOR

#define USB_PORTATTR_OEM_CONNECTOR   0x00000008

Definition at line 50 of file usb.h.

◆ USB_PORTATTR_OWNED_BY_CC

#define USB_PORTATTR_OWNED_BY_CC   0x01000000

Definition at line 51 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

◆ USB_PORTATTR_SHARED_USB2

#define USB_PORTATTR_SHARED_USB2   0x00000002

Definition at line 48 of file usb.h.

Referenced by USBHI_GetExtendedHubInformation().

◆ USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE

#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE   PAGE_SIZE

Definition at line 236 of file usb.h.

Referenced by SelectInterfaces().

◆ USBD_DEFAULT_PIPE_TRANSFER

#define USBD_DEFAULT_PIPE_TRANSFER   0x00000008

Definition at line 156 of file usb.h.

Referenced by USBPORT_QueueTransferUrb(), and USBPORT_ValidateURB().

◆ USBD_ERROR

◆ USBD_ISO_START_FRAME_RANGE

#define USBD_ISO_START_FRAME_RANGE   1024

Definition at line 163 of file usb.h.

◆ USBD_PENDING

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

Definition at line 168 of file usb.h.

◆ USBD_PF_CHANGE_MAX_PACKET

#define USBD_PF_CHANGE_MAX_PACKET   0x00000001

Definition at line 269 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo(), and USBPORT_OpenInterface().

◆ USBD_PF_ENABLE_RT_THREAD_ACCESS

#define USBD_PF_ENABLE_RT_THREAD_ACCESS   0x00000004

Definition at line 271 of file usb.h.

◆ USBD_PF_MAP_ADD_TRANSFERS

#define USBD_PF_MAP_ADD_TRANSFERS   0x00000008

Definition at line 272 of file usb.h.

◆ USBD_PF_SHORT_PACKET_OPT

#define USBD_PF_SHORT_PACKET_OPT   0x00000002

Definition at line 270 of file usb.h.

◆ USBD_PF_VALID_MASK

#define USBD_PF_VALID_MASK
Value:
USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS)
#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

Definition at line 273 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

◆ USBD_PIPE_DIRECTION_IN

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

Definition at line 251 of file usb.h.

◆ USBD_SHORT_TRANSFER_OK

◆ USBD_START_ISO_TRANSFER_ASAP

#define USBD_START_ISO_TRANSFER_ASAP   0x00000004

◆ USBD_STATUS_BABBLE_DETECTED

#define USBD_STATUS_BABBLE_DETECTED   ((USBD_STATUS)0xC0000012L)

◆ USBD_STATUS_BAD_CONFIG_DESC_LENGTH

#define USBD_STATUS_BAD_CONFIG_DESC_LENGTH   ((USBD_STATUS)0xC0100006L)

Definition at line 224 of file usb.h.

◆ USBD_STATUS_BAD_DESCRIPTOR

#define USBD_STATUS_BAD_DESCRIPTOR   ((USBD_STATUS)0xC0100000L)

Definition at line 218 of file usb.h.

◆ USBD_STATUS_BAD_DESCRIPTOR_BLEN

#define USBD_STATUS_BAD_DESCRIPTOR_BLEN   ((USBD_STATUS)0xC0100001L)

Definition at line 219 of file usb.h.

◆ USBD_STATUS_BAD_DESCRIPTOR_TYPE

#define USBD_STATUS_BAD_DESCRIPTOR_TYPE   ((USBD_STATUS)0xC0100002L)

Definition at line 220 of file usb.h.

◆ USBD_STATUS_BAD_ENDPOINT_ADDRESS

#define USBD_STATUS_BAD_ENDPOINT_ADDRESS   ((USBD_STATUS)0xC0100009L)

Definition at line 227 of file usb.h.

◆ USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR

#define USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR   ((USBD_STATUS)0xC0100004L)

Definition at line 222 of file usb.h.

◆ USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR

#define USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR   ((USBD_STATUS)0xC0100005L)

Definition at line 223 of file usb.h.

◆ USBD_STATUS_BAD_INTERFACE_DESCRIPTOR

#define USBD_STATUS_BAD_INTERFACE_DESCRIPTOR   ((USBD_STATUS)0xC0100003L)

Definition at line 221 of file usb.h.

◆ USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS

#define USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS   ((USBD_STATUS)0xC0100008L)

Definition at line 226 of file usb.h.

◆ USBD_STATUS_BAD_NUMBER_OF_INTERFACES

#define USBD_STATUS_BAD_NUMBER_OF_INTERFACES   ((USBD_STATUS)0xC0100007L)

Definition at line 225 of file usb.h.

◆ USBD_STATUS_BAD_START_FRAME

#define USBD_STATUS_BAD_START_FRAME   ((USBD_STATUS)0xC0000A00L)

Definition at line 198 of file usb.h.

Referenced by USBPORT_USBDStatusToNtStatus().

◆ USBD_STATUS_BTSTUFF

#define USBD_STATUS_BTSTUFF   ((USBD_STATUS)0xC0000002L)

Definition at line 173 of file usb.h.

Referenced by CUSBRequest::BuildControlTransferDescriptor(), and CUSBRequest::CheckError().

◆ USBD_STATUS_BUFFER_OVERRUN

#define USBD_STATUS_BUFFER_OVERRUN   ((USBD_STATUS)0xC000000CL)

Definition at line 183 of file usb.h.

Referenced by CUSBRequest::CheckError(), and UhciGetErrorFromTD().

◆ USBD_STATUS_BUFFER_TOO_SMALL

#define USBD_STATUS_BUFFER_TOO_SMALL   ((USBD_STATUS)0xC0003000L)

Definition at line 206 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

◆ USBD_STATUS_BUFFER_UNDERRUN

#define USBD_STATUS_BUFFER_UNDERRUN   ((USBD_STATUS)0xC000000DL)

Definition at line 184 of file usb.h.

Referenced by CUSBRequest::CheckError().

◆ USBD_STATUS_CANCELED

◆ USBD_STATUS_CRC

#define USBD_STATUS_CRC   ((USBD_STATUS)0xC0000001L)

Definition at line 172 of file usb.h.

Referenced by CUSBRequest::CheckError(), and UhciGetErrorFromTD().

◆ USBD_STATUS_DATA_BUFFER_ERROR

#define USBD_STATUS_DATA_BUFFER_ERROR   ((USBD_STATUS)0xC0000013L)

◆ USBD_STATUS_DATA_OVERRUN

#define USBD_STATUS_DATA_OVERRUN   ((USBD_STATUS)0xC0000008L)

Definition at line 179 of file usb.h.

Referenced by CUSBRequest::CheckError(), and UhciGetErrorFromTD().

◆ USBD_STATUS_DATA_TOGGLE_MISMATCH

#define USBD_STATUS_DATA_TOGGLE_MISMATCH   ((USBD_STATUS)0xC0000003L)

Definition at line 174 of file usb.h.

Referenced by CUSBRequest::CheckError().

◆ USBD_STATUS_DATA_UNDERRUN

#define USBD_STATUS_DATA_UNDERRUN   ((USBD_STATUS)0xC0000009L)

Definition at line 180 of file usb.h.

Referenced by CUSBRequest::CheckError().

◆ USBD_STATUS_DEV_NOT_RESPONDING

#define USBD_STATUS_DEV_NOT_RESPONDING   ((USBD_STATUS)0xC0000005L)

Definition at line 176 of file usb.h.

Referenced by CUSBRequest::CheckError(), and UhciGetErrorFromTD().

◆ USBD_STATUS_DEVICE_GONE

#define USBD_STATUS_DEVICE_GONE   ((USBD_STATUS)0xC0007000L)

◆ USBD_STATUS_ENDPOINT_HALTED

#define USBD_STATUS_ENDPOINT_HALTED   ((USBD_STATUS)0xC0000030L)

Definition at line 190 of file usb.h.

◆ USBD_STATUS_ERROR_BUSY

#define USBD_STATUS_ERROR_BUSY   ((USBD_STATUS)0x80000400L)

Definition at line 193 of file usb.h.

Referenced by USBPORT_ResetPipe().

◆ USBD_STATUS_ERROR_SHORT_TRANSFER

#define USBD_STATUS_ERROR_SHORT_TRANSFER   ((USBD_STATUS)0x80000900L)

Definition at line 197 of file usb.h.

Referenced by UhciGetErrorFromTD().

◆ USBD_STATUS_FIFO

#define USBD_STATUS_FIFO   ((USBD_STATUS)0xC0000010L)

Definition at line 186 of file usb.h.

◆ USBD_STATUS_FRAME_CONTROL_NOT_OWNED

#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED   ((USBD_STATUS)0xC0000D00L)

Definition at line 201 of file usb.h.

◆ USBD_STATUS_FRAME_CONTROL_OWNED

#define USBD_STATUS_FRAME_CONTROL_OWNED   ((USBD_STATUS)0xC0000C00L)

Definition at line 200 of file usb.h.

◆ USBD_STATUS_HUB_INTERNAL_ERROR

#define USBD_STATUS_HUB_INTERNAL_ERROR   ((USBD_STATUS)0xC0009000L)

Definition at line 212 of file usb.h.

◆ USBD_STATUS_INSUFFICIENT_RESOURCES

◆ USBD_STATUS_INTERFACE_NOT_FOUND

#define USBD_STATUS_INTERFACE_NOT_FOUND   ((USBD_STATUS)0xC0004000L)

Definition at line 207 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

◆ USBD_STATUS_INTERNAL_HC_ERROR

#define USBD_STATUS_INTERNAL_HC_ERROR   ((USBD_STATUS)0x80000800L)

Definition at line 196 of file usb.h.

Referenced by UhciGetErrorFromTD().

◆ USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR

#define USBD_STATUS_INVALID_CONFIGURATION_DESCRIPTOR   ((USBD_STATUS)0xC0000F00L)

Definition at line 203 of file usb.h.

Referenced by USBH_PdoUrbFilter(), and USBPORT_HandleSelectConfiguration().

◆ USBD_STATUS_INVALID_PARAMETER

#define USBD_STATUS_INVALID_PARAMETER   ((USBD_STATUS)0x80000300L)

◆ USBD_STATUS_INVALID_PIPE_FLAGS

#define USBD_STATUS_INVALID_PIPE_FLAGS   ((USBD_STATUS)0xC0005000L)

Definition at line 208 of file usb.h.

Referenced by USBPORT_InitInterfaceInfo().

◆ USBD_STATUS_INVALID_PIPE_HANDLE

◆ USBD_STATUS_INVALID_URB_FUNCTION

#define USBD_STATUS_INVALID_URB_FUNCTION   ((USBD_STATUS)0x80000200L)

Definition at line 191 of file usb.h.

Referenced by USBPORT_HandleSubmitURB(), and USBPORT_USBDStatusToNtStatus().

◆ USBD_STATUS_ISO_NA_LATE_USBPORT

#define USBD_STATUS_ISO_NA_LATE_USBPORT   ((USBD_STATUS)0xC0040000L)

Definition at line 216 of file usb.h.

◆ USBD_STATUS_ISO_NOT_ACCESSED_BY_HW

#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW   ((USBD_STATUS)0xC0020000L)

Definition at line 214 of file usb.h.

◆ USBD_STATUS_ISO_NOT_ACCESSED_LATE

#define USBD_STATUS_ISO_NOT_ACCESSED_LATE   ((USBD_STATUS)0xC0050000L)

Definition at line 217 of file usb.h.

◆ USBD_STATUS_ISO_TD_ERROR

#define USBD_STATUS_ISO_TD_ERROR   ((USBD_STATUS)0xC0030000L)

Definition at line 215 of file usb.h.

◆ USBD_STATUS_ISOCH_REQUEST_FAILED

#define USBD_STATUS_ISOCH_REQUEST_FAILED   ((USBD_STATUS)0xC0000B00L)

Definition at line 199 of file usb.h.

◆ USBD_STATUS_NO_BANDWIDTH

#define USBD_STATUS_NO_BANDWIDTH   ((USBD_STATUS)0x80000700L)

Definition at line 195 of file usb.h.

Referenced by USBPORT_OpenPipe().

◆ USBD_STATUS_NOT_ACCESSED

#define USBD_STATUS_NOT_ACCESSED   ((USBD_STATUS)0xC000000FL)

Definition at line 185 of file usb.h.

◆ USBD_STATUS_NOT_SUPPORTED

#define USBD_STATUS_NOT_SUPPORTED   ((USBD_STATUS)0xC0000E00L)

◆ USBD_STATUS_PENDING

#define USBD_STATUS_PENDING   ((USBD_STATUS)0x40000000L)

Definition at line 171 of file usb.h.

Referenced by USBPORT_QueuePendingUrbToEndpoint().

◆ USBD_STATUS_PID_CHECK_FAILURE

#define USBD_STATUS_PID_CHECK_FAILURE   ((USBD_STATUS)0xC0000006L)

Definition at line 177 of file usb.h.

Referenced by CUSBRequest::CheckError().

◆ USBD_STATUS_RESERVED1

#define USBD_STATUS_RESERVED1   ((USBD_STATUS)0xC000000AL)

Definition at line 181 of file usb.h.

◆ USBD_STATUS_RESERVED2

#define USBD_STATUS_RESERVED2   ((USBD_STATUS)0xC000000BL)

Definition at line 182 of file usb.h.

◆ USBD_STATUS_SET_CONFIG_FAILED

#define USBD_STATUS_SET_CONFIG_FAILED   ((USBD_STATUS)0xC0002000L)

Definition at line 205 of file usb.h.

Referenced by USBPORT_HandleSelectConfiguration().

◆ USBD_STATUS_STALL_PID

◆ USBD_STATUS_STATUS_NOT_MAPPED

#define USBD_STATUS_STATUS_NOT_MAPPED   ((USBD_STATUS)0xC0008000L)

Definition at line 211 of file usb.h.

◆ USBD_STATUS_SUCCESS

◆ USBD_STATUS_TIMEOUT

#define USBD_STATUS_TIMEOUT   ((USBD_STATUS)0xC0006000L)

Definition at line 209 of file usb.h.

Referenced by CUSBRequest::BuildControlTransferDescriptor().

◆ USBD_STATUS_UNEXPECTED_PID

#define USBD_STATUS_UNEXPECTED_PID   ((USBD_STATUS)0xC0000007L)

Definition at line 178 of file usb.h.

Referenced by CUSBRequest::BuildControlTransferDescriptor(), and CUSBRequest::CheckError().

◆ USBD_STATUS_XACT_ERROR

#define USBD_STATUS_XACT_ERROR   ((USBD_STATUS)0xC0000011L)

Definition at line 187 of file usb.h.

Referenced by EHCI_GetErrorFromTD().

◆ USBD_SUCCESS

◆ USBD_TRANSFER_DIRECTION

#define USBD_TRANSFER_DIRECTION   0x00000001

Definition at line 153 of file usb.h.

Referenced by USBPORT_SendSetupPacket().

◆ USBD_TRANSFER_DIRECTION_FLAG

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

Definition at line 157 of file usb.h.

Referenced by USBPORT_HandleVendorOrClass().

◆ USBD_TRANSFER_DIRECTION_IN

◆ USBD_TRANSFER_DIRECTION_OUT

◆ USBDI_VERSION

#define USBDI_VERSION   0x00000500

Definition at line 43 of file usb.h.

Referenced by USBD_GetUSBDIVersion().

◆ VALID_TRANSFER_FLAGS_MASK

#define VALID_TRANSFER_FLAGS_MASK
Value:
USBD_START_ISO_TRANSFER_ASAP | USBD_DEFAULT_PIPE_TRANSFER)
#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

Definition at line 161 of file usb.h.

Typedef Documentation

◆ PIRP

typedef PVOID PIRP

Definition at line 38 of file usb.h.

◆ PMDL

typedef PVOID PMDL

Definition at line 39 of file usb.h.

◆ PURB

typedef struct _URB * PURB

◆ PUSBD_DEVICE_INFORMATION

◆ PUSBD_INTERFACE_INFORMATION

◆ PUSBD_ISO_PACKET_DESCRIPTOR

◆ PUSBD_PIPE_INFORMATION

◆ PUSBD_VERSION_INFORMATION

◆ URB

typedef struct _URB URB

◆ USB_CONTROLLER_FLAVOR

◆ USBD_CONFIGURATION_HANDLE

Definition at line 230 of file usb.h.

◆ USBD_DEVICE_INFORMATION

◆ USBD_INTERFACE_HANDLE

Definition at line 231 of file usb.h.

◆ USBD_INTERFACE_INFORMATION

◆ USBD_ISO_PACKET_DESCRIPTOR

◆ USBD_PIPE_HANDLE

Definition at line 229 of file usb.h.

◆ USBD_PIPE_INFORMATION

◆ USBD_PIPE_TYPE

◆ USBD_STATUS

typedef LONG USBD_STATUS

Definition at line 165 of file usb.h.

◆ USBD_VERSION_INFORMATION

Enumeration Type Documentation

◆ _USB_CONTROLLER_FLAVOR

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

◆ _USBD_PIPE_TYPE

Enumerator
UsbdPipeTypeControl 
UsbdPipeTypeIsochronous 
UsbdPipeTypeBulk 
UsbdPipeTypeInterrupt 

Definition at line 244 of file usb.h.