X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Finclude%2Fusb_host.h;h=ab372797d2fac47539b22da96d8b8610ba6a91d4;hb=759315c5321e354458086e0fc28335c4c12ed194;hp=eda42cf985738e75b0150a8c097b92b23a8030a5;hpb=06f200335c3bcbd68c6df92589d8b17b73ac3679;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 eda42cf9..ab372797 100644 --- a/KernelLand/Modules/USB/Core/include/usb_host.h +++ b/KernelLand/Modules/USB/Core/include/usb_host.h @@ -13,24 +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; - - /** - * \brief Check if an operation has completed - * \note Only valid to call if CB passed was ERRPTR - */ - 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); };