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);
};