16 // the following includes are required to get kcom to compile
22 #include "interfaces.h"
26 BOOLEAN IsFDO
; // is device a FDO or PDO
27 BOOLEAN IsHub
; // is device a hub / child - not yet used
28 PDISPATCHIRP Dispatcher
; // dispatches the code
29 }COMMON_DEVICE_EXTENSION
, *PCOMMON_DEVICE_EXTENSION
;
32 // tag for allocations
34 #define TAG_USBEHCI 'ICHE'
37 // assert for c++ - taken from portcls
39 #define PC_ASSERT(exp) \
41 RtlAssert((PVOID) #exp, (PVOID)__FILE__, __LINE__, NULL ), FALSE : TRUE)
46 NTSTATUS
CreateHCDController(PHCDCONTROLLER
*HcdController
);
51 NTSTATUS
CreateUSBHardware(PUSBHARDWAREDEVICE
*OutHardware
);
56 NTSTATUS NTAPI
SyncForwardIrp(PDEVICE_OBJECT DeviceObject
, PIRP Irp
);
57 NTSTATUS NTAPI
GetBusInterface(PDEVICE_OBJECT DeviceObject
, PBUS_INTERFACE_STANDARD busInterface
);
60 // root_hub_controller.cpp
62 NTSTATUS
CreateHubController(PHUBCONTROLLER
* OutHubController
);
67 NTSTATUS
CreateDMAMemoryManager(PDMAMEMORYMANAGER
*OutMemoryManager
);
73 NTSTATUS
CreateUSBDevice(PUSBDEVICE
*OutDevice
);
78 NTSTATUS
CreateUSBQueue(PUSBQUEUE
*OutUsbQueue
);