mirror of
https://github.com/reactos/reactos.git
synced 2024-09-12 05:43:24 +00:00
![Hermès Bélusca-Maïto](/assets/img/avatar_default.png)
The idea then would be to have the following behaviour (when specifying the following options in the kernel command line): /DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible. /DEBUGPORT=FOO --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...) /DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port. svn path=/branches/kd++/; revision=58883
177 lines
2.6 KiB
C
177 lines
2.6 KiB
C
/*
|
|
* PROJECT: ReactOS Kernel
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
* FILE: ntoskrnl/fsrtl/oplock.c
|
|
* PURPOSE: Provides an Opportunistic Lock for file system drivers.
|
|
* PROGRAMMERS: None.
|
|
*/
|
|
|
|
/* INCLUDES ******************************************************************/
|
|
|
|
#include <ntoskrnl.h>
|
|
#define NDEBUG
|
|
#include <debug.h>
|
|
|
|
/* PUBLIC FUNCTIONS **********************************************************/
|
|
|
|
/*++
|
|
* @name FsRtlCheckOplock
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @param Irp
|
|
* FILLME
|
|
*
|
|
* @param Context
|
|
* FILLME
|
|
*
|
|
* @param CompletionRoutine
|
|
* FILLME
|
|
*
|
|
* @param PostIrpRoutine
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
NTSTATUS
|
|
NTAPI
|
|
FsRtlCheckOplock(IN POPLOCK Oplock,
|
|
IN PIRP Irp,
|
|
IN PVOID Context,
|
|
IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL,
|
|
IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
return STATUS_NOT_IMPLEMENTED;
|
|
}
|
|
|
|
/*++
|
|
* @name FsRtlCurrentBatchOplock
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
BOOLEAN
|
|
NTAPI
|
|
FsRtlCurrentBatchOplock(IN POPLOCK Oplock)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
return FALSE;
|
|
}
|
|
|
|
/*++
|
|
* @name FsRtlInitializeOplock
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
VOID
|
|
NTAPI
|
|
FsRtlInitializeOplock(IN OUT POPLOCK Oplock)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
}
|
|
|
|
/*++
|
|
* @name FsRtlOplockFsctrl
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @param Irp
|
|
* FILLME
|
|
*
|
|
* @param OpenCount
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
NTSTATUS
|
|
NTAPI
|
|
FsRtlOplockFsctrl(IN POPLOCK Oplock,
|
|
IN PIRP Irp,
|
|
IN ULONG OpenCount)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
return STATUS_NOT_IMPLEMENTED;
|
|
}
|
|
|
|
/*++
|
|
* @name FsRtlOplockIsFastIoPossible
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
BOOLEAN
|
|
NTAPI
|
|
FsRtlOplockIsFastIoPossible(IN POPLOCK Oplock)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
return FALSE;
|
|
}
|
|
|
|
/*++
|
|
* @name FsRtlUninitializeOplock
|
|
* @unimplemented
|
|
*
|
|
* FILLME
|
|
*
|
|
* @param Oplock
|
|
* FILLME
|
|
*
|
|
* @return None
|
|
*
|
|
* @remarks None
|
|
*
|
|
*--*/
|
|
VOID
|
|
NTAPI
|
|
FsRtlUninitializeOplock(IN POPLOCK Oplock)
|
|
{
|
|
/* Unimplemented */
|
|
KeBugCheck(FILE_SYSTEM);
|
|
}
|
|
|