Kernel/USB - Still broken, reworking host controller API to give driver more information
[tpg/acess2.git] / KernelLand / Modules / USB / Core / include / usb_host.h
index c5f3e39..ab37279 100644 (file)
 
 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 Fcn, int Endpt, int DataTgl, tUSBHostCb CB, void *CbData, 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);
 };

UCC git Repository :: git.ucc.asn.au