Modules/USB - Working on USB support again
[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        *Host;
29
30          int    Address;
31
32          int    MaxControl;
33          int    MaxBulk;
34          int    MaxISync;
35 };
36
37 #endif

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