- Stubplement handlers for all needed IRP_MJ except EA and PNP one.

- Cleanup remains of unneeded functions.

svn path=/trunk/; revision=38726
This commit is contained in:
Aleksey Bragin 2009-01-12 17:04:13 +00:00
parent 45c73d1f38
commit cf776e38c2
15 changed files with 129 additions and 55 deletions

View file

@ -14,9 +14,10 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS NTSTATUS
VfatCleanup(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
DPRINT("VfatCleanup(DeviceObject %p, Irp %p)\n", IrpContext->DeviceObject, IrpContext->Irp); DPRINT("FatCleanup(DeviceObject %p, Irp %p)\n", DeviceObject, Irp);
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -14,9 +14,10 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS NTSTATUS
VfatClose(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatClose(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
DPRINT("VfatClose(DeviceObject %p, Irp %p)\n", IrpContext->DeviceObject, IrpContext->Irp); DPRINT("FatClose(DeviceObject %p, Irp %p)\n", DeviceObject, Irp);
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -14,7 +14,8 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
NTSTATUS NTSTATUS
VfatCreate(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -0,0 +1,23 @@
/*
* PROJECT: ReactOS FAT file system driver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: drivers/filesystems/fastfat/device.c
* PURPOSE: Device control
* PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org)
*/
/* INCLUDES *****************************************************************/
#define NDEBUG
#include "fastfat.h"
/* FUNCTIONS ****************************************************************/
NTSTATUS
NTAPI
FatDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -14,7 +14,8 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
NTSTATUS NTSTATUS
VfatDirectoryControl(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatDirectoryControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -42,25 +42,25 @@ DriverEntry(PDRIVER_OBJECT DriverObject,
FatGlobalData.DriverObject = DriverObject; FatGlobalData.DriverObject = DriverObject;
FatGlobalData.DiskDeviceObject = DeviceObject; FatGlobalData.DiskDeviceObject = DeviceObject;
// TODO: Fill major function handlers /* Fill major function handlers */
#if 0 DriverObject->MajorFunction[IRP_MJ_CLOSE] = FatClose;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_CREATE] = FatCreate;
DriverObject->MajorFunction[IRP_MJ_CREATE] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_READ] = FatRead;
DriverObject->MajorFunction[IRP_MJ_READ] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_WRITE] = FatWrite;
DriverObject->MajorFunction[IRP_MJ_WRITE] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = FatFileSystemControl;
DriverObject->MajorFunction[IRP_MJ_FILE_SYSTEM_CONTROL] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = FatQueryInformation;
DriverObject->MajorFunction[IRP_MJ_QUERY_INFORMATION] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = FatSetInformation;
DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = FatDirectoryControl;
DriverObject->MajorFunction[IRP_MJ_DIRECTORY_CONTROL] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = FatQueryVolumeInfo;
DriverObject->MajorFunction[IRP_MJ_QUERY_VOLUME_INFORMATION] = DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = FatSetVolumeInfo;
VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = FatShutdown;
DriverObject->MajorFunction[IRP_MJ_SET_VOLUME_INFORMATION] = DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = FatLockControl;
VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = FatDeviceControl;
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] = VfatShutdown; DriverObject->MajorFunction[IRP_MJ_CLEANUP] = FatCleanup;
DriverObject->MajorFunction[IRP_MJ_LOCK_CONTROL] = VfatBuildRequest; DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = FatFlushBuffers;
DriverObject->MajorFunction[IRP_MJ_CLEANUP] = VfatBuildRequest; //DriverObject->MajorFunction[IRP_MJ_QUERY_EA]
DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = VfatBuildRequest; //DriverObject->MajorFunction[IRP_MJ_SET_EA]
#endif //DriverObject->MajorFunction[IRP_MJ_PNP]
DriverObject->DriverUnload = NULL; DriverObject->DriverUnload = NULL;

View file

@ -457,27 +457,33 @@ FatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* -------------------------------------------------------- volume.c */ /* -------------------------------------------------------- volume.c */
NTSTATUS VfatQueryVolumeInformation (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatQueryVolumeInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS VfatSetVolumeInformation (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatSetVolumeInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------ blockdev.c */ /* ------------------------------------------------------ blockdev.c */
/* ----------------------------------------------------------- dir.c */ /* ----------------------------------------------------------- dir.c */
NTSTATUS VfatDirectoryControl (PFAT_IRP_CONTEXT); NTSTATUS NTAPI
FatDirectoryControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* -------------------------------------------------------- create.c */ /* -------------------------------------------------------- create.c */
NTSTATUS VfatCreate (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- close.c */ /* --------------------------------------------------------- close.c */
NTSTATUS VfatClose (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatClose(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------- cleanup.c */ /* ------------------------------------------------------- cleanup.c */
NTSTATUS VfatCleanup (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- fastio.c */ /* --------------------------------------------------------- fastio.c */
@ -505,16 +511,20 @@ FatNoopAcquire(IN PVOID Context,
VOID NTAPI VOID NTAPI
FatNoopRelease(IN PVOID Context); FatNoopRelease(IN PVOID Context);
/* --------------------------------------------------------- lock.c */
NTSTATUS NTAPI
FatLockControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- fsctl.c */ /* --------------------------------------------------------- fsctl.c */
NTSTATUS VfatFileSystemControl (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatFileSystemControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- finfo.c */ /* --------------------------------------------------------- finfo.c */
NTSTATUS VfatQueryInformation (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI FatQueryInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS NTAPI FatSetInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS VfatSetInformation (PFAT_IRP_CONTEXT IrpContext);
/* --------------------------------------------------------- iface.c */ /* --------------------------------------------------------- iface.c */
@ -524,19 +534,27 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath);
/* ----------------------------------------------------------- fat.c */ /* ----------------------------------------------------------- fat.c */
/* ------------------------------------------------------ device.c */
NTSTATUS NTAPI
FatDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------ direntry.c */ /* ------------------------------------------------------ direntry.c */
/* ----------------------------------------------------------- fcb.c */ /* ----------------------------------------------------------- fcb.c */
/* ------------------------------------------------------------ rw.c */ /* ------------------------------------------------------------ rw.c */
NTSTATUS VfatRead (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatRead(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS VfatWrite (PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------------- flush.c */ /* ------------------------------------------------------------- flush.c */
NTSTATUS VfatFlush(PFAT_IRP_CONTEXT IrpContext); NTSTATUS NTAPI
FatFlushBuffers(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* EOF */ /* EOF */

View file

@ -9,6 +9,7 @@
<file>cleanup.c</file> <file>cleanup.c</file>
<file>close.c</file> <file>close.c</file>
<file>create.c</file> <file>create.c</file>
<file>device.c</file>
<file>dir.c</file> <file>dir.c</file>
<file>direntry.c</file> <file>direntry.c</file>
<file>ea.c</file> <file>ea.c</file>
@ -19,6 +20,7 @@
<file>finfo.c</file> <file>finfo.c</file>
<file>flush.c</file> <file>flush.c</file>
<file>fsctl.c</file> <file>fsctl.c</file>
<file>lock.c</file>
<file>rw.c</file> <file>rw.c</file>
<file>shutdown.c</file> <file>shutdown.c</file>
<file>volume.c</file> <file>volume.c</file>

View file

@ -13,12 +13,16 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS VfatQueryInformation(PFAT_IRP_CONTEXT IrpContext) NTSTATUS
NTAPI
FatQueryInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }
NTSTATUS VfatSetInformation(PFAT_IRP_CONTEXT IrpContext) NTSTATUS
NTAPI
FatSetInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -14,14 +14,9 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS VfatFlushVolume(PDEVICE_EXTENSION DeviceExt, PVFATFCB VolumeFcb) NTSTATUS
{ NTAPI
DPRINT("VfatFlushVolume(DeviceExt %p, FatFcb %p)\n", DeviceExt, VolumeFcb); FatFlushBuffers(PDEVICE_OBJECT DeviceObject, PIRP Irp)
return STATUS_NOT_IMPLEMENTED;
}
NTSTATUS VfatFlush(PFAT_IRP_CONTEXT IrpContext)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -14,9 +14,10 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS NTSTATUS
VfatFileSystemControl(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatFileSystemControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
DPRINT("VfatFileSystemControl(IrpContext %p)\n", IrpContext); DPRINT("VfatFileSystemControl(DeviceObject %p, Irp %p)\n", DeviceObject, Irp);
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -0,0 +1,23 @@
/*
* PROJECT: ReactOS FAT file system driver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: drivers/filesystems/fastfat/lock.c
* PURPOSE: Lock support routines
* PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org)
*/
/* INCLUDES *****************************************************************/
#define NDEBUG
#include "fastfat.h"
/* FUNCTIONS ****************************************************************/
NTSTATUS
NTAPI
FatLockControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
return STATUS_NOT_IMPLEMENTED;
}
/* EOF */

View file

@ -14,13 +14,15 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
NTSTATUS NTSTATUS
VfatRead(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatRead(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }
NTSTATUS NTSTATUS
VfatWrite(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -17,7 +17,7 @@ NTSTATUS
NTAPI NTAPI
FatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp) FatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
DPRINT("VfatShutdown(DeviceObject %p, Irp %p)\n", DeviceObject, Irp); DPRINT("FatShutdown(DeviceObject %p, Irp %p)\n", DeviceObject, Irp);
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }

View file

@ -14,13 +14,15 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
NTSTATUS NTSTATUS
VfatQueryVolumeInformation(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatQueryVolumeInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }
NTSTATUS NTSTATUS
VfatSetVolumeInformation(PFAT_IRP_CONTEXT IrpContext) NTAPI
FatSetVolumeInfo(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }