X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Finclude%2Fusb_host.h;h=ab372797d2fac47539b22da96d8b8610ba6a91d4;hb=d8bf9f747a87c3c1d23461c155ef90b7fc148a21;hp=e2748da92dda1eec18a00cce6c8b28dbf128baf6;hpb=0387e49399279e685d2a2657392f3bccbf624184;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/Core/include/usb_host.h b/KernelLand/Modules/USB/Core/include/usb_host.h index e2748da9..ab372797 100644 --- a/KernelLand/Modules/USB/Core/include/usb_host.h +++ b/KernelLand/Modules/USB/Core/include/usb_host.h @@ -13,20 +13,26 @@ typedef struct sUSBHostDef tUSBHostDef; -typedef void (*tUSBHostCb)(void *DataPtr, void *Data, int Length); +typedef void (*tUSBHostCb)(void *DataPtr, void *Data, size_t Length); typedef void *(*tUSBHostOp)(void *Ptr, int Dest, int DataTgl, tUSBHostCb CB, void *CbData, void *Data, size_t Length); +typedef void *(*tUSBIntOp)(void *Ptr, int Dest, int Period, tUSBHostCb CB, void *CbData, void *Data, size_t Length); /** * \brief Defines a USB Host Controller type */ struct sUSBHostDef { - tUSBHostOp SendIN; - tUSBHostOp SendOUT; - tUSBHostOp SendSETUP; - - int (*IsOpComplete)(void *Ptr, void *OpPtr); + tUSBIntOp InterruptIN; + tUSBIntOp InterruptOUT; + void (*StopInterrupt)(void *Ptr, void *Handle); + + void *(*ControlSETUP)(void *Ptr, int Dest, int DataTgl, void *Data, size_t Length); + tUSBHostOp ControlIN; + tUSBHostOp ControlOUT; + + tUSBHostOp BulkIN; + tUSBHostOp BulkOUT; void (*CheckPorts)(void *Ptr); };