Merge branch 'master' of github.com:thepowersgang/acess2
[tpg/acess2.git] / KernelLand / Modules / USB / Core / include / usb_hub.h
1 /*
2  * Acess2 USB Stack
3  * - By John Hodge (thePowersGang)
4  *
5  * usb_hub.h
6  * - Core Hub Definitions
7  */
8 #ifndef _USB_HUB_H_
9 #define _USB_HUB_H_
10
11 #include "usb_core.h"
12
13 typedef struct sUSBHub  tUSBHub;
14
15 /**
16  * \brief Register a device as a hub
17  * 
18  * Used by the hub class initialisation routine.
19  */
20 extern tUSBHub  *USB_RegisterHub(tUSBInterface *Device, int nPorts);
21 extern void     USB_RemoveHub(tUSBHub *Hub);
22
23 extern void     USB_DeviceConnected(tUSBHub *Hub, int Port);
24 extern void     USB_DeviceDisconnected(tUSBHub *Hub, int Port);
25
26 #define PORT_CONNECTION 0
27 #define PORT_ENABLE     1
28 #define PORT_SUSPEND    2
29 #define PORT_OVER_CURRENT       3
30 #define PORT_RESET      4
31 #define PORT_POWER      8
32 #define PORT_LOW_SPEED  9
33 #define C_PORT_CONNECTION       16
34 #define C_PORT_ENABLE   17
35 #define C_PORT_SUSPEND  18
36 #define C_PORT_OVER_CURRENT     19
37 #define C_PORT_RESET    20
38 #define PORT_TEST       21
39 #define PORT_INDICATOR  21
40
41 extern void     Hub_SetPortFeature(tUSBInterface *HubDev, int Port, int Feat);
42 extern void     Hub_ClearPortFeature(tUSBInterface *HubDev, int Port, int Feat);
43 extern int      Hub_GetPortStatus(tUSBInterface *HubDev, int Port, int Flag);
44
45 extern void     USB_PortCtl_BeginReset(tUSBHub *Hub, int Port);
46
47 #endif
48

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