fcacb2606c34e5e7af6a3b0057f6b98f8f517aae
[reactos.git] / drivers / usb / usbehci_new / usbehci.h
1 #ifndef USBEHCI_H__
2 #define USBEHCI_H__
3
4 #include <ntddk.h>
5 #define YDEBUG
6 #include <debug.h>
7 #include <hubbusif.h>
8 #include <usbbusif.h>
9 #include <usbioctl.h>
10 #include <usb.h>
11 #include <stdio.h>
12 #include <wdmguid.h>
13
14 //
15 // FIXME:
16 // the following includes are required to get kcom to compile
17 //
18 #include <portcls.h>
19 #include <dmusicks.h>
20 #include <kcom.h>
21
22 #include "interfaces.h"
23
24 typedef struct
25 {
26 BOOLEAN IsFDO; // is device a FDO or PDO
27 BOOLEAN IsHub; // is device a hub / child - not yet used
28 union
29 {
30 PHCDCONTROLLER HcdController; // hcd controller
31 PHUBCONTROLLER HubController; // hub controller
32 };
33 }COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION;
34
35
36 //
37 // assert for c++ - taken from portcls
38 //
39 #define PC_ASSERT(exp) \
40 (VOID)((!(exp)) ? \
41 RtlAssert((PVOID) #exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
42
43 //
44 // hcd_controller.cpp
45 //
46 NTSTATUS CreateHCDController(PHCDCONTROLLER *HcdController);
47
48 //
49 // hardware.cpp
50 //
51 NTSTATUS CreateUSBHardware(PUSBHARDWAREDEVICE *OutHardware);
52
53 //
54 // misc.cpp
55 //
56 NTSTATUS NTAPI SyncForwardIrp(PDEVICE_OBJECT DeviceObject, PIRP Irp);
57
58 #endif