2 * PROJECT: ReactOS Floppy Disk Controller Driver
3 * LICENSE: GNU GPLv2 only as published by the Free Software Foundation
4 * FILE: drivers/storage/fdc/fdc/fdc.c
5 * PURPOSE: Main Driver Routines
6 * PROGRAMMERS: Eric Kohl
9 /* INCLUDES *******************************************************************/
18 /* GLOBALS ********************************************************************/
20 ULONG ControllerCount
= 0;
22 /* FUNCTIONS ******************************************************************/
27 FdcDriverUnload(IN PDRIVER_OBJECT DriverObject
)
29 DPRINT1("FdcDriverUnload()\n");
36 FdcCreate(IN PDEVICE_OBJECT DeviceObject
,
39 DPRINT1("FdcCreate()\n");
41 Irp
->IoStatus
.Status
= STATUS_SUCCESS
;
42 Irp
->IoStatus
.Information
= FILE_OPENED
;
44 IoCompleteRequest( Irp
, IO_NO_INCREMENT
);
46 return STATUS_SUCCESS
;
53 FdcClose(IN PDEVICE_OBJECT DeviceObject
,
56 DPRINT1("FdcClose()\n");
58 Irp
->IoStatus
.Status
= STATUS_SUCCESS
;
59 Irp
->IoStatus
.Information
= 0;
61 IoCompleteRequest(Irp
, IO_NO_INCREMENT
);
63 return STATUS_SUCCESS
;
70 FdcPnp(IN PDEVICE_OBJECT DeviceObject
,
73 PCOMMON_DEVICE_EXTENSION Common
= DeviceObject
->DeviceExtension
;
75 DPRINT1("FdcPnP()\n");
78 return FdcFdoPnp(DeviceObject
,
83 return FdcPdoPnp(DeviceObject
,
92 FdcPower(IN PDEVICE_OBJECT DeviceObject
,
95 DPRINT1("FdcPower()\n");
96 return STATUS_UNSUCCESSFUL
;
102 DriverEntry(IN PDRIVER_OBJECT DriverObject
,
103 IN PUNICODE_STRING RegistryPath
)
105 DPRINT1("FDC: DriverEntry()\n");
107 DriverObject
->MajorFunction
[IRP_MJ_CREATE
] = FdcCreate
;
108 DriverObject
->MajorFunction
[IRP_MJ_CLOSE
] = FdcClose
;
109 // DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = FdcDeviceControl;
110 DriverObject
->MajorFunction
[IRP_MJ_PNP
] = FdcPnp
;
111 DriverObject
->MajorFunction
[IRP_MJ_POWER
] = FdcPower
;
113 DriverObject
->DriverExtension
->AddDevice
= FdcAddDevice
;
114 DriverObject
->DriverUnload
= FdcDriverUnload
;
116 return STATUS_SUCCESS
;