361df57045a6f35b1431b943e14fbc9a180db194
[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 extern
14 "C"
15 NTSTATUS
16 NTAPI
17 DriverEntry(
18 PDRIVER_OBJECT DriverObject,
19 PUNICODE_STRING RegistryPath)
20 {
21
22 /* initialize driver object*/
23 DriverObject->DriverExtension->AddDevice = USBLIB_AddDevice;
24
25 DriverObject->MajorFunction[IRP_MJ_CREATE] = USBLIB_Dispatch;
26 DriverObject->MajorFunction[IRP_MJ_CLOSE] = USBLIB_Dispatch;
27 DriverObject->MajorFunction[IRP_MJ_CLEANUP] = USBLIB_Dispatch;
28 DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = USBLIB_Dispatch;
29 DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = USBLIB_Dispatch;
30 DriverObject->MajorFunction[IRP_MJ_PNP] = USBLIB_Dispatch;
31
32 return STATUS_SUCCESS;
33 }
34
35 extern "C" {
36 void
37 __cxa_pure_virtual()
38 {
39 // put error handling here
40
41 DbgBreakPoint();
42
43 }
44 }
45
46 extern "C" {
47 void free(void * ptr)
48 {
49 ExFreePool(ptr);
50 }
51 }
52
53