X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Fusb.h;h=2de6985925545e0c3b237b6b58a8a20c517dbd8b;hb=d6fe233b0485dfefdd51729025f42cf479e57c16;hp=0b6a3c1979e388b7df51f93149b55b15b9077fb3;hpb=07a823e02a00c899379ec92804fc50606cbd4667;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/Core/usb.h b/KernelLand/Modules/USB/Core/usb.h index 0b6a3c19..2de69859 100644 --- a/KernelLand/Modules/USB/Core/usb.h +++ b/KernelLand/Modules/USB/Core/usb.h @@ -13,11 +13,20 @@ #include #include "usb_proto.h" +typedef struct sUSBHubPort tUSBHubPort; typedef struct sUSBHost tUSBHost; typedef struct sUSBDevice tUSBDevice; typedef struct sUSBEndpoint tUSBEndpoint; // === STRUCTURES === +struct sUSBHubPort +{ + void *ListNext; + char Status; + char PortNum; + tUSBDevice *Dev; +}; + /** * \brief USB Hub data */ @@ -26,7 +35,7 @@ struct sUSBHub tUSBInterface *Interface; int nPorts; - tUSBDevice *Devices[]; + struct sUSBHubPort Ports[]; }; struct sUSBEndpoint @@ -35,6 +44,7 @@ struct sUSBEndpoint tUSBInterface *Interface; int EndpointIdx; // Interface endpoint index int EndpointNum; // Device endpoint num + void *EndpointHandle; int PollingPeriod; // In 1ms intervals int MaxPacketSize; // In bytes @@ -74,6 +84,8 @@ struct sUSBDevice tUSBHost *Host; int Address; + void *EndpointHandles[16]; + struct sDescriptor_Device DevDesc; int nInterfaces; @@ -89,8 +101,8 @@ struct sUSBHost Uint8 AddressBitmap[128/8]; - tUSBDevice RootHubDev; - tUSBInterface RootHubIf; + tUSBDevice *RootHubDev; + tUSBInterface *RootHubIf; tUSBHub RootHub; };