c0cf7854a1425bfd59e083f8198b334a33840d87
[tpg/acess2.git] / Modules / USB / Core / usb.h
1 /*
2  * AcessOS Version 1
3  * USB Stack
4  */
5 #ifndef _USB_H_
6 #define _USB_H_
7
8 // === TYPES ===
9 typedef struct sUSBHost tUSBHost;
10 typedef struct sUSBDevice       tUSBDevice;
11
12 // === STRUCTURES ===
13 /**
14  * \brief Defines a USB Host Controller
15  */
16 struct sUSBHost
17 {
18          int    (*SendIN)(void *Ptr, int Fcn, int Endpt, int DataTgl, void *Data, size_t Length);
19          int    (*SendOUT)(void *Ptr, int Fcn, int Endpt, int DataTgl, void *Data, size_t Length);
20          int    (*SendSETUP)(void *Ptr, int Fcn, int Endpt, int DataTgl, void *Data, size_t Length);
21 };
22
23 /**
24  * \brief Defines a single device on the USB Bus
25  */
26 struct sUSBDevice
27 {
28         tUSBHost        *HostDef;
29         void    *Controller;
30
31          int    Address;
32
33          int    MaxControl;
34          int    MaxBulk;
35          int    MaxISync;
36 };
37
38 extern void USB_RegisterHost(tUSBHost *HostDef, void *ControllerPtr);
39
40 #endif

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