[USBPORT]
[reactos.git] / reactos / sdk / include / reactos / drivers / usbport / usbmport.h
index 09f3c1e..9ab71b3 100644 (file)
 #define USBPORT_ENDPOINT_HALT    1
 #define USBPORT_ENDPOINT_CONTROL 4
 
+/* Interrupt Endpoint Poll Interval */
+#define ENDPOINT_INTERRUPT_1ms   1
+#define ENDPOINT_INTERRUPT_2ms   2
+#define ENDPOINT_INTERRUPT_4ms   4
+#define ENDPOINT_INTERRUPT_8ms   8
+#define ENDPOINT_INTERRUPT_16ms  16
+#define ENDPOINT_INTERRUPT_32ms  32
+
+#define INTERRUPT_ENDPOINTs (ENDPOINT_INTERRUPT_32ms + \
+                             ENDPOINT_INTERRUPT_16ms + \
+                             ENDPOINT_INTERRUPT_8ms  + \
+                             ENDPOINT_INTERRUPT_4ms  + \
+                             ENDPOINT_INTERRUPT_2ms  + \
+                             ENDPOINT_INTERRUPT_1ms)
+
 /* Types of resources. For USBPORT_RESOURCES::ResourcesTypes */
 #define USBPORT_RESOURCES_PORT      1
 #define USBPORT_RESOURCES_INTERRUPT 2
@@ -405,6 +420,10 @@ typedef NTSTATUS
   PVOID,
   ULONG);
 
+#define USBPORT_INVALIDATE_CONTROLLER_RESET            1
+#define USBPORT_INVALIDATE_CONTROLLER_SURPRISE_REMOVE  2
+#define USBPORT_INVALIDATE_CONTROLLER_SOFT_INTERRUPT   3
+
 typedef ULONG
 (NTAPI *PUSBPORT_INVALIDATE_CONTROLLER)(
   PVOID,
@@ -453,6 +472,9 @@ typedef VOID
 #define USB_MINIPORT_FLAGS_NO_DMA       0x0100
 #define USB_MINIPORT_FLAGS_WAKE_SUPPORT 0x0200
 
+#define TOTAL_USB11_BUS_BANDWIDTH  12000
+#define TOTAL_USB20_BUS_BANDWIDTH  400000
+
 typedef struct _USBPORT_REGISTRATION_PACKET {
   ULONG MiniPortVersion;
   ULONG MiniPortFlags;
@@ -545,6 +567,9 @@ typedef struct _USBPORT_REGISTRATION_PACKET {
   ULONG Reserved5;
 } USBPORT_REGISTRATION_PACKET, *PUSBPORT_REGISTRATION_PACKET;
 
+#define USB10_MINIPORT_INTERFACE_VERSION  100
+#define USB20_MINIPORT_INTERFACE_VERSION  200
+
 typedef struct _USBPORT_MINIPORT_INTERFACE {
   PDRIVER_OBJECT DriverObject;
   LIST_ENTRY DriverLink;