+struct sUSBHub
+{
+ tUSBInterface *Interface;
+
+ int nPorts;
+ tUSBDevice *Devices[];
+};
+
+struct sUSBEndpoint
+{
+ tUSBEndpoint *Next; // (usb_poll.c) Clock list
+ tUSBInterface *Interface;
+ int EndpointIdx; // Interface endpoint index
+ int EndpointNum; // Device endpoint num
+
+ int PollingPeriod; // In 1ms intervals
+ int MaxPacketSize; // In bytes
+ Uint8 Type; // Same as sUSBDriver.Endpoints.Type
+
+ int PollingAtoms; // (usb_poll.c) Period in clock list
+ void *InputData;
+};
+
+/**
+ * \brief Structure for a device's interface
+ */
+struct sUSBInterface