3 * - By John Hodge (thePowersGang)
6 * - USB Internal definitions
14 #include "usb_proto.h"
16 typedef struct sUSBHubPort tUSBHubPort;
17 typedef struct sUSBHost tUSBHost;
18 typedef struct sUSBDevice tUSBDevice;
19 typedef struct sUSBEndpoint tUSBEndpoint;
35 tUSBInterface *Interface;
38 struct sUSBHubPort Ports[];
43 tUSBEndpoint *Next; // (usb_poll.c) Clock list
44 tUSBInterface *Interface;
45 int EndpointIdx; // Interface endpoint index
46 int EndpointNum; // Device endpoint num
49 int PollingPeriod; // In 1ms intervals
50 int MaxPacketSize; // In bytes
51 Uint8 Type; // Same as sUSBDriver.Endpoints.Type
53 int PollingAtoms; // (usb_poll.c) Period in clock list
58 * \brief Structure for a device's interface
62 // tUSBInterface *Next;
68 struct sDescriptor_Interface IfaceDesc;
71 tUSBEndpoint Endpoints[];
75 * \brief Defines a single device on the USB Bus
82 * \brief Host controller used
87 void *EndpointHandles[16];
89 struct sDescriptor_Device DevDesc;
92 tUSBInterface *Interfaces[];
97 struct sUSBHost *Next;
102 Uint8 AddressBitmap[128/8];
104 tUSBDevice RootHubDev;
105 tUSBInterface RootHubIf;
109 extern tUSBDriver *USB_int_FindDriverByClass(Uint32 ClassCode);