2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: Serial driver
4 * FILE: drivers/dd/serial/serial.c
5 * PURPOSE: Serial driver loading/unloading
7 * PROGRAMMERS: Hervé Poussineau (hpoussin@reactos.org)
12 static DRIVER_UNLOAD DriverUnload
;
13 DRIVER_INITIALIZE DriverEntry
;
16 DriverUnload(IN PDRIVER_OBJECT DriverObject
)
18 // nothing to do here yet
22 * Standard DriverEntry method.
26 IN PDRIVER_OBJECT DriverObject
,
27 IN PUNICODE_STRING RegPath
)
31 DriverObject
->DriverUnload
= DriverUnload
;
32 DriverObject
->DriverExtension
->AddDevice
= SerialAddDevice
;
34 for (i
= 0; i
<= IRP_MJ_MAXIMUM_FUNCTION
; i
++)
35 DriverObject
->MajorFunction
[i
] = ForwardIrpAndForget
;
36 DriverObject
->MajorFunction
[IRP_MJ_CREATE
] = SerialCreate
;
37 DriverObject
->MajorFunction
[IRP_MJ_CLOSE
] = SerialClose
;
38 DriverObject
->MajorFunction
[IRP_MJ_CLEANUP
] = SerialCleanup
;
39 DriverObject
->MajorFunction
[IRP_MJ_READ
] = SerialRead
;
40 DriverObject
->MajorFunction
[IRP_MJ_WRITE
] = SerialWrite
;
41 DriverObject
->MajorFunction
[IRP_MJ_DEVICE_CONTROL
] = SerialDeviceControl
;
42 DriverObject
->MajorFunction
[IRP_MJ_QUERY_INFORMATION
] = SerialQueryInformation
;
43 DriverObject
->MajorFunction
[IRP_MJ_PNP
] = SerialPnp
;
44 DriverObject
->MajorFunction
[IRP_MJ_POWER
] = SerialPower
;
46 return STATUS_SUCCESS
;