[USBOHCI]
[reactos.git] / reactos / drivers / usb / usbohci / usbohci.h
1 #ifndef USBOHCI_H__
2 #define USBOHCI_H__
3
4 #include <ntddk.h>
5 #define NDEBUG
6 #include <debug.h>
7 #include <hubbusif.h>
8 #include <usbbusif.h>
9 #include <usbioctl.h>
10 #include <usb100.h>
11
12 extern
13 "C"
14 {
15 #include <usbdlib.h>
16 }
17
18 //
19 // FIXME:
20 // #include <usbprotocoldefs.h>
21 //
22 #include <usb.h>
23 #include <stdio.h>
24 #include <wdmguid.h>
25
26 //
27 // FIXME:
28 // the following includes are required to get kcom to compile
29 //
30 #include <portcls.h>
31 #include <dmusicks.h>
32 #include <kcom.h>
33
34 #include "interfaces.h"
35
36 //
37 // flags for handling USB_REQUEST_SET_FEATURE / USB_REQUEST_GET_FEATURE
38 //
39 #define PORT_ENABLE 1
40 #define PORT_SUSPEND 2
41 #define PORT_OVER_CURRENT 3
42 #define PORT_RESET 4
43 #define PORT_POWER 8
44 #define C_PORT_CONNECTION 16
45 #define C_PORT_ENABLE 17
46 #define C_PORT_SUSPEND 18
47 #define C_PORT_OVER_CURRENT 19
48 #define C_PORT_RESET 20
49
50 //
51 // tag for allocations
52 //
53 #define TAG_USBOHCI 'ICHO'
54
55 //
56 // assert for c++ - taken from portcls
57 //
58 #define PC_ASSERT(exp) \
59 (VOID)((!(exp)) ? \
60 RtlAssert((PVOID) #exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
61
62 extern "C"
63 {
64
65 //
66 // hardware.cpp
67 //
68 NTSTATUS NTAPI CreateUSBHardware(PUSBHARDWAREDEVICE *OutHardware);
69
70 //
71 // usb_queue.cpp
72 //
73 NTSTATUS NTAPI CreateUSBQueue(PUSBQUEUE *OutUsbQueue);
74
75 //
76 // usb_request.cpp
77 //
78 NTSTATUS NTAPI InternalCreateUSBRequest(PUSBREQUEST *OutRequest);
79 }
80
81 #endif