- 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 ****************************************************************/
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;
}

View file

@ -14,9 +14,10 @@
/* FUNCTIONS ****************************************************************/
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;
}

View file

@ -14,7 +14,8 @@
/* FUNCTIONS *****************************************************************/
NTSTATUS
VfatCreate(PFAT_IRP_CONTEXT IrpContext)
NTAPI
FatCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
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 *****************************************************************/
NTSTATUS
VfatDirectoryControl(PFAT_IRP_CONTEXT IrpContext)
NTAPI
FatDirectoryControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
return STATUS_NOT_IMPLEMENTED;
}

View file

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

View file

@ -457,27 +457,33 @@ FatShutdown(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* -------------------------------------------------------- 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 */
/* ----------------------------------------------------------- dir.c */
NTSTATUS VfatDirectoryControl (PFAT_IRP_CONTEXT);
NTSTATUS NTAPI
FatDirectoryControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* -------------------------------------------------------- create.c */
NTSTATUS VfatCreate (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI
FatCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- close.c */
NTSTATUS VfatClose (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI
FatClose(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------- cleanup.c */
NTSTATUS VfatCleanup (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI
FatCleanup(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- fastio.c */
@ -505,16 +511,20 @@ FatNoopAcquire(IN PVOID Context,
VOID NTAPI
FatNoopRelease(IN PVOID Context);
/* --------------------------------------------------------- lock.c */
NTSTATUS NTAPI
FatLockControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- fsctl.c */
NTSTATUS VfatFileSystemControl (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI
FatFileSystemControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- finfo.c */
NTSTATUS VfatQueryInformation (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS VfatSetInformation (PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI FatQueryInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp);
NTSTATUS NTAPI FatSetInformation(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* --------------------------------------------------------- iface.c */
@ -524,19 +534,27 @@ DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath);
/* ----------------------------------------------------------- fat.c */
/* ------------------------------------------------------ device.c */
NTSTATUS NTAPI
FatDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* ------------------------------------------------------ direntry.c */
/* ----------------------------------------------------------- fcb.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 */
NTSTATUS VfatFlush(PFAT_IRP_CONTEXT IrpContext);
NTSTATUS NTAPI
FatFlushBuffers(PDEVICE_OBJECT DeviceObject, PIRP Irp);
/* EOF */

View file

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

View file

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

View file

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

View file

@ -14,9 +14,10 @@
/* FUNCTIONS ****************************************************************/
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;
}

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 *****************************************************************/
NTSTATUS
VfatRead(PFAT_IRP_CONTEXT IrpContext)
NTAPI
FatRead(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
return STATUS_NOT_IMPLEMENTED;
}
NTSTATUS
VfatWrite(PFAT_IRP_CONTEXT IrpContext)
NTAPI
FatWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
return STATUS_NOT_IMPLEMENTED;
}

View file

@ -17,7 +17,7 @@ NTSTATUS
NTAPI
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;
}

View file

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