[USBEHCI]
[reactos.git] / reactos / drivers / usb / usbehci / usbehci.cpp
1 /*
2 * PROJECT: ReactOS Universal Serial Bus Bulk Enhanced Host Controller Interface
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/usb/usbehci/usbehci.cpp
5 * PURPOSE: USB EHCI device driver.
6 * PROGRAMMERS:
7 * Michael Martin (michael.martin@reactos.org)
8 * Johannes Anderwald (johannes.anderwald@reactos.org)
9 */
10
11 #include "usbehci.h"
12
13 #define NDEBUG
14 #include <debug.h>
15
16 extern
17 "C"
18 NTSTATUS
19 NTAPI
20 DriverEntry(
21 PDRIVER_OBJECT DriverObject,
22 PUNICODE_STRING RegistryPath)
23 {
24
25 /* initialize driver object*/
26 DriverObject->DriverExtension->AddDevice = USBLIB_AddDevice;
27
28 DriverObject->MajorFunction[IRP_MJ_CREATE] = USBLIB_Dispatch;
29 DriverObject->MajorFunction[IRP_MJ_CLOSE] = USBLIB_Dispatch;
30 DriverObject->MajorFunction[IRP_MJ_CLEANUP] = USBLIB_Dispatch;
31 DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = USBLIB_Dispatch;
32 DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = USBLIB_Dispatch;
33 DriverObject->MajorFunction[IRP_MJ_PNP] = USBLIB_Dispatch;
34
35 return STATUS_SUCCESS;
36 }
37
38 extern "C" {
39 void
40 __cxa_pure_virtual()
41 {
42 // put error handling here
43
44 DbgBreakPoint();
45
46 }
47 }
48
49 extern "C" {
50 void free(void * ptr)
51 {
52 ExFreePool(ptr);
53 }
54 }
55
56