This shouldn't directly affect anything for normal (non-W32API) builds. A more detailed change log will be sent to the ros-kernel mailing list shortly.
svn path=/trunk/; revision=5461
-/* $Id: lpcsrv.c,v 1.11 2002/09/08 10:21:58 chorns Exp $
+/* $Id: lpcsrv.c,v 1.12 2003/08/07 11:47:32 silverblade Exp $
*
* DESCRIPTION: Simple LPC Server
* PROGRAMMER: David Welch
printf("%s: Received connection request 0x%08x on port 0x%x.\n", MyName,
ConnectMsg.Header.MessageId, NamedPortHandle);
printf("%s: Request from: PID=%x, TID=%x.\n", MyName,
- ConnectMsg.Header.Cid.UniqueProcess, ConnectMsg.Header.Cid.UniqueThread);
+ ConnectMsg.Header.ClientId.UniqueProcess, ConnectMsg.Header.ClientId.UniqueThread);
printf("%s: Accepting connection request 0x%08x...\n", MyName,
ConnectMsg.Header.MessageId);
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: dirctl.c,v 1.12 2003/02/13 22:24:15 hbirr Exp $
+/* $Id: dirctl.c,v 1.13 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PCCB Ccb;
FCB TempFcb;
BOOLEAN First = FALSE;
- PIO_STACK_LOCATION Stack;
+ PEXTENDED_IO_STACK_LOCATION Stack;
PFILE_OBJECT FileObject;
NTSTATUS Status = STATUS_SUCCESS;
DPRINT("CdfsQueryDirectory() called\n");
DeviceExtension = DeviceObject->DeviceExtension;
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
FileObject = Stack->FileObject;
Ccb = (PCCB)FileObject->FsContext2;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: fcb.c,v 1.14 2003/07/21 21:53:47 royce Exp $
+/* $Id: fcb.c,v 1.15 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
+#include <ntos.h>
#define NDEBUG
#include <debug.h>
-/* $Id: fsctrl.c,v 1.3 2002/09/08 10:22:10 chorns Exp $
+/* $Id: fsctrl.c,v 1.4 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp)
{
- PIO_STACK_LOCATION IoStack;
+ PEXTENDED_IO_STACK_LOCATION IoStack;
PFILE_OBJECT FileObject;
PMSFS_MAILSLOT Mailslot;
PMSFS_FCB Fcb;
DPRINT1("MsfsFileSystemControl(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
- IoStack = IoGetCurrentIrpStackLocation(Irp);
+ IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
FileObject = IoStack->FileObject;
Fcb = FileObject->FsContext;
Mailslot = Fcb->Mailslot;
DPRINT1("Mailslot name: %wZ\n", &Mailslot->Name);
- switch (IoStack->Parameters.FileSystemControl.IoControlCode)
+ switch (IoStack->Parameters.FileSystemControl.FsControlCode)
{
#if 0
case FSCTL_WAIT_PIPE:
-/* $Id: fsctrl.c,v 1.10 2002/09/08 10:22:11 chorns Exp $
+/* $Id: fsctrl.c,v 1.11 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp)
{
- PIO_STACK_LOCATION IoStack;
+ PEXTENDED_IO_STACK_LOCATION IoStack;
PFILE_OBJECT FileObject;
NTSTATUS Status;
PNPFS_DEVICE_EXTENSION DeviceExt;
DPRINT("NpfsFileSystemContol(DeviceObject %p Irp %p)\n", DeviceObject, Irp);
DeviceExt = (PNPFS_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
- IoStack = IoGetCurrentIrpStackLocation(Irp);
+ IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
DPRINT("IoStack: %p\n", IoStack);
FileObject = IoStack->FileObject;
DPRINT("FileObject: %p\n", FileObject);
DPRINT("Pipe: %p\n", Pipe);
DPRINT("PipeName: %wZ\n", &Pipe->PipeName);
- switch (IoStack->Parameters.FileSystemControl.IoControlCode)
+ switch (IoStack->Parameters.FileSystemControl.FsControlCode)
{
case FSCTL_PIPE_ASSIGN_EVENT:
DPRINT("Assign event\n");
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: attrib.c,v 1.4 2003/07/21 21:53:47 royce Exp $
+/* $Id: attrib.c,v 1.5 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#include <ddk/ntddk.h>
+#include <ntos.h>
+
//#define NDEBUG
#include <debug.h>
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: dirctl.c,v 1.5 2003/02/13 22:24:16 hbirr Exp $
+/* $Id: dirctl.c,v 1.6 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PCCB Ccb;
FCB TempFcb;
BOOLEAN First = FALSE;
- PIO_STACK_LOCATION Stack;
+ PEXTENDED_IO_STACK_LOCATION Stack;
PFILE_OBJECT FileObject;
NTSTATUS Status = STATUS_SUCCESS;
DPRINT1("NtfsQueryDirectory() called\n");
DeviceExtension = DeviceObject->DeviceExtension;
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
FileObject = Stack->FileObject;
Ccb = (PCCB)FileObject->FsContext2;
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: fcb.c,v 1.8 2003/07/21 21:53:47 royce Exp $
+/* $Id: fcb.c,v 1.9 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
//#define NDEBUG
#include <debug.h>
+#include <ntos.h>
+
#include "ntfs.h"
/*
- * $Id: dir.c,v 1.30 2003/07/24 20:52:58 chorns Exp $
+ * $Id: dir.c,v 1.31 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
VFATFCB tmpFcb;
PVFATCCB pCcb;
BOOLEAN First = FALSE;
+
+ PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
pCcb = (PVFATCCB) IrpContext->FileObject->FsContext2;
pFcb = (PVFATFCB) IrpContext->FileObject->FsContext;
}
// Obtain the callers parameters
- BufferLength = IrpContext->Stack->Parameters.QueryDirectory.Length;
- pSearchPattern = IrpContext->Stack->Parameters.QueryDirectory.FileName;
+ BufferLength = Stack->Parameters.QueryDirectory.Length;
+ pSearchPattern = Stack->Parameters.QueryDirectory.FileName;
FileInformationClass =
- IrpContext->Stack->Parameters.QueryDirectory.FileInformationClass;
- FileIndex = IrpContext->Stack->Parameters.QueryDirectory.FileIndex;
+ Stack->Parameters.QueryDirectory.FileInformationClass;
+ FileIndex = Stack->Parameters.QueryDirectory.FileIndex;
if (pSearchPattern)
{
if (!pCcb->DirectorySearchPattern)
-/* $Id: fcb.c,v 1.32 2003/07/24 20:52:58 chorns Exp $
+/* $Id: fcb.c,v 1.33 2003/08/07 11:47:32 silverblade Exp $
*
*
* FILE: fcb.c
#include <ddk/ntddk.h>
#include <wchar.h>
#include <limits.h>
+#include <ntos.h>
#define NDEBUG
#include <debug.h>
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: fsctl.c,v 1.20 2003/07/24 20:52:58 chorns Exp $
+/* $Id: fsctl.c,v 1.21 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#include <ddk/ntddk.h>
#include <wchar.h>
+#include <ntos.h>
+
#define NDEBUG
#include <debug.h>
-/* $Id: rw.c,v 1.59 2003/07/24 20:52:58 chorns Exp $
+/* $Id: rw.c,v 1.60 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#include <wchar.h>
#include <ntos/minmax.h>
+#include <ntos.h>
+
#define NDEBUG
#include <debug.h>
-/* $Id: volume.c,v 1.22 2003/07/24 20:52:58 chorns Exp $
+/* $Id: volume.c,v 1.23 2003/08/07 11:47:32 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
NTSTATUS Status = STATUS_SUCCESS;
PVOID SystemBuffer;
ULONG BufferLength;
+ PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
/* PRECONDITION */
assert(IrpContext);
return VfatQueueRequest (IrpContext);
}
- FsInformationClass = IrpContext->Stack->Parameters.SetVolume.FsInformationClass;
- BufferLength = IrpContext->Stack->Parameters.SetVolume.Length;
+ FsInformationClass = Stack->Parameters.SetVolume.FsInformationClass;
+ BufferLength = Stack->Parameters.SetVolume.Length;
SystemBuffer = IrpContext->Irp->AssociatedIrp.SystemBuffer;
DPRINT1("FsInformationClass %d\n", FsInformationClass);
#ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H
-/* $Id: fstypes.h,v 1.11 2003/06/07 10:14:39 chorns Exp $ */
+/* $Id: fstypes.h,v 1.12 2003/08/07 11:47:32 silverblade Exp $ */
#define FSRTL_TAG TAG('F','S','r','t')
typedef ULONG VBN;
typedef VBN *PVBN;
+
+#ifndef __USE_W32API
+
typedef struct _FILE_LOCK_INFO {
LARGE_INTEGER StartingByte;
LARGE_INTEGER Length;
LARGE_INTEGER EndingByte;
} FILE_LOCK_INFO, *PFILE_LOCK_INFO;
-typedef struct _FILE_LOCK_GRANTED {
- LIST_ENTRY ListEntry;
- FILE_LOCK_INFO Lock;
-} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
-
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
IN PVOID Context,
IN PIRP Irp
typedef PVOID OPLOCK, *POPLOCK;
+#endif /* __USE_W32API */
+
+typedef struct _FILE_LOCK_GRANTED {
+ LIST_ENTRY ListEntry;
+ FILE_LOCK_INFO Lock;
+} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
+
+
#endif /* __INCLUDE_DDK_FSFUNCS_H */
#ifndef _INCLUDE_DDK_IOFUNCS_H
#define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.38 2003/06/07 10:14:39 chorns Exp $ */
+/* $Id: iofuncs.h,v 1.39 2003/08/07 11:47:32 silverblade Exp $ */
/* --- EXPORTED BY NTOSKRNL --- */
((PDRIVER_CANCEL)InterlockedExchangePointer(&(Irp)->CancelRoutine, \
NewCancelRoutine))
-#define IoSetCompletionRoutine(Irp,Routine,Context,Success,Error,Cancel) \
+// AG: Context is now NewContext, otherwise we end up with this:
+// param->LocalLength=(LocalLength)
+// ...which isn't possible.
+
+#define IoSetCompletionRoutine(Irp,Routine,NewContext,Success,Error,Cancel) \
{ \
PIO_STACK_LOCATION param; \
assert((Success)||(Error)||(Cancel)?(Routine)!=NULL:TRUE); \
param = IoGetNextIrpStackLocation((Irp)); \
param->CompletionRoutine=(Routine); \
- param->CompletionContext=(Context); \
+ param->Context=(NewContext); \
param->Control = 0; \
if ((Success)) \
param->Control = SL_INVOKE_ON_SUCCESS; \
-/* $Id: iotypes.h,v 1.50 2003/07/17 16:57:38 silverblade Exp $
+/* $Id: iotypes.h,v 1.51 2003/08/07 11:47:32 silverblade Exp $
*
*/
extern POBJECT_TYPE IMPORTED IoFileObjectType;
#endif
+
+// from winddk.h
+#define POINTER_ALIGNMENT
+
+
/*
* These are referenced before they can be fully defined
*/
/*
* PURPOSE: IRP stack location
*/
+
+/*
typedef struct __attribute__((packed)) _IO_STACK_LOCATION
{
UCHAR MajorFunction;
PCM_RESOURCE_LIST AllocatedResources;
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
} StartDevice;
-
+*/
/* Parameters for IRP_MN_SCSI_CLASS */
- struct
+/* struct
{
struct _SCSI_REQUEST_BLOCK *Srb;
} Scsi;
ULONG Key;
LARGE_INTEGER ByteOffset;
} LockControl;
-
+*/
/* Paramters for other calls */
- struct
+/* struct
{
PVOID Argument1;
PVOID Argument2;
PIO_COMPLETION_ROUTINE CompletionRoutine;
PVOID CompletionContext;
-} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;
+} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;*/
+
+typedef struct _IO_STACK_LOCATION {
+ UCHAR MajorFunction;
+ UCHAR MinorFunction;
+ UCHAR Flags;
+ UCHAR Control;
+ union {
+ struct {
+ PIO_SECURITY_CONTEXT SecurityContext;
+ ULONG Options;
+ USHORT POINTER_ALIGNMENT FileAttributes;
+ USHORT ShareAccess;
+ ULONG POINTER_ALIGNMENT EaLength;
+ } Create;
+ struct {
+ ULONG Length;
+ ULONG POINTER_ALIGNMENT Key;
+ LARGE_INTEGER ByteOffset;
+ } Read;
+ struct {
+ ULONG Length;
+ ULONG POINTER_ALIGNMENT Key;
+ LARGE_INTEGER ByteOffset;
+ } Write;
+ struct {
+ ULONG Length;
+ FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
+ } QueryFile;
+ struct {
+ ULONG Length;
+ FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;
+ struct _FILE_OBJECT* FileObject;
+ union {
+ struct {
+ BOOLEAN ReplaceIfExists;
+ BOOLEAN AdvanceOnly;
+ };
+ ULONG ClusterCount;
+ HANDLE DeleteHandle;
+ };
+ } SetFile;
+ struct {
+ ULONG Length;
+ FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;
+ } QueryVolume;
+ struct {
+ ULONG OutputBufferLength;
+ ULONG POINTER_ALIGNMENT InputBufferLength;
+ ULONG POINTER_ALIGNMENT IoControlCode;
+ PVOID Type3InputBuffer;
+ } DeviceIoControl;
+ struct {
+ SECURITY_INFORMATION SecurityInformation;
+ ULONG POINTER_ALIGNMENT Length;
+ } QuerySecurity;
+ struct {
+ SECURITY_INFORMATION SecurityInformation;
+ PSECURITY_DESCRIPTOR SecurityDescriptor;
+ } SetSecurity;
+ struct {
+ struct _VPB* Vpb;
+ struct _DEVICE_OBJECT* DeviceObject;
+ } MountVolume;
+ struct {
+ struct _VPB* Vpb;
+ struct _DEVICE_OBJECT* DeviceObject;
+ } VerifyVolume;
+ struct {
+ struct _SCSI_REQUEST_BLOCK *Srb;
+ } Scsi;
+ struct {
+ DEVICE_RELATION_TYPE Type;
+ } QueryDeviceRelations;
+ struct {
+ CONST GUID *InterfaceType;
+ USHORT Size;
+ USHORT Version;
+ PINTERFACE Interface;
+ PVOID InterfaceSpecificData;
+ } QueryInterface;
+ struct {
+ PDEVICE_CAPABILITIES Capabilities;
+ } DeviceCapabilities;
+ struct {
+ PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
+ } FilterResourceRequirements;
+ struct {
+ ULONG WhichSpace;
+ PVOID Buffer;
+ ULONG Offset;
+ ULONG POINTER_ALIGNMENT Length;
+ } ReadWriteConfig;
+ struct {
+ BOOLEAN Lock;
+ } SetLock;
+ struct {
+ BUS_QUERY_ID_TYPE IdType;
+ } QueryId;
+ struct {
+ DEVICE_TEXT_TYPE DeviceTextType;
+ LCID POINTER_ALIGNMENT LocaleId;
+ } QueryDeviceText;
+ struct {
+ BOOLEAN InPath;
+ BOOLEAN Reserved[3];
+ DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;
+ } UsageNotification;
+ struct {
+ SYSTEM_POWER_STATE PowerState;
+ } WaitWake;
+ struct {
+ PPOWER_SEQUENCE PowerSequence;
+ } PowerSequence;
+ struct {
+ ULONG SystemContext;
+ POWER_STATE_TYPE POINTER_ALIGNMENT Type;
+ POWER_STATE POINTER_ALIGNMENT State;
+ POWER_ACTION POINTER_ALIGNMENT ShutdownType;
+ } Power;
+ struct {
+ PCM_RESOURCE_LIST AllocatedResources;
+ PCM_RESOURCE_LIST AllocatedResourcesTranslated;
+ } StartDevice;
+ struct {
+ ULONG_PTR ProviderId;
+ PVOID DataPath;
+ ULONG BufferSize;
+ PVOID Buffer;
+ } WMI;
+ struct {
+ PVOID Argument1;
+ PVOID Argument2;
+ PVOID Argument3;
+ PVOID Argument4;
+ } Others;
+ } Parameters;
+ struct _DEVICE_OBJECT* DeviceObject;
+ struct _FILE_OBJECT* FileObject;
+ PIO_COMPLETION_ROUTINE CompletionRoutine;
+ PVOID Context;
+} IO_STACK_LOCATION, *PIO_STACK_LOCATION;
+
+
+// AG: The commented lines in this structure are due to PMAILSLOT_CREATE_PARAMETERS
+// and PNAMED_PIPE_CREATE_PARAMETERS and PFILE_GET_QUOTA_INFORMATION not being
+// defined.
+
+typedef struct _EXTENDED_IO_STACK_LOCATION {
+
+ /* Included for padding */
+ UCHAR MajorFunction;
+ UCHAR MinorFunction;
+ UCHAR Flags;
+ UCHAR Control;
+
+ union {
+
+// struct {
+// PIO_SECURITY_CONTEXT SecurityContext;
+// ULONG Options;
+// USHORT Reserved;
+// USHORT ShareAccess;
+// PMAILSLOT_CREATE_PARAMETERS Parameters;
+// } CreateMailslot;
+
+// struct {
+// PIO_SECURITY_CONTEXT SecurityContext;
+// ULONG Options;
+// USHORT Reserved;
+// USHORT ShareAccess;
+// PNAMED_PIPE_CREATE_PARAMETERS Parameters;
+// } CreatePipe;
+
+ struct {
+ ULONG OutputBufferLength;
+ ULONG InputBufferLength;
+ ULONG FsControlCode;
+ PVOID Type3InputBuffer;
+ } FileSystemControl;
+
+ struct {
+ PLARGE_INTEGER Length;
+ ULONG Key;
+ LARGE_INTEGER ByteOffset;
+ } LockControl;
+
+ struct {
+ ULONG Length;
+ ULONG CompletionFilter;
+ } NotifyDirectory;
+
+ struct {
+ ULONG Length;
+ PUNICODE_STRING FileName;
+ FILE_INFORMATION_CLASS FileInformationClass;
+ ULONG FileIndex;
+ } QueryDirectory;
+
+ struct {
+ ULONG Length;
+ PVOID EaList;
+ ULONG EaListLength;
+ ULONG EaIndex;
+ } QueryEa;
+
+// struct {
+// ULONG Length;
+// PSID StartSid;
+// PFILE_GET_QUOTA_INFORMATION SidList;
+// ULONG SidListLength;
+// } QueryQuota;
+
+ struct {
+ ULONG Length;
+ } SetEa;
+
+ struct {
+ ULONG Length;
+ } SetQuota;
+
+ struct {
+ ULONG Length;
+ FS_INFORMATION_CLASS FsInformationClass;
+ } SetVolume;
+
+ } Parameters;
+ struct _DEVICE_OBJECT* DeviceObject;
+ struct _FILE_OBJECT* FileObject;
+ PIO_COMPLETION_ROUTINE CompletionRoutine;
+ PVOID Context;
+
+} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
+
typedef struct _IO_STATUS_BLOCK
VOID STDCALL KeAcquireSpinLockAtDpcLevel (IN PKSPIN_LOCK SpinLock);
-//NTOSAPI
-//DDKFASTAPI
-
-//STDCALL
-//VOID
-//KefAcquireSpinLockAtDpcLevel(
-// IN PKSPIN_LOCK SpinLock);
-
#define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
-//NTOSAPI
-//DDKFASTAPI
-
VOID
STDCALL
KeReleaseSpinLockFromDpcLevel(
* knows what file/line number where the bug check occured
*/
VOID STDCALL KeBugCheck (ULONG BugCheckCode);
-#define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a)
/*
* FUNCTION: Brings the system down in a controlled manner when an
ULONG BugCheckParameter2,
ULONG BugCheckParameter3,
ULONG BugCheckParameter4);
-#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
BOOLEAN STDCALL KeCancelTimer (PKTIMER Timer);
#ifdef __USE_W32API
#include <ddk/ntapi.h>
+#include <napi/types.h>
#endif /* !__USE_W32API */
#include <ntos/security.h>
USHORT MessageSize;
USHORT MessageType;
USHORT VirtualRangesOffset;
- CLIENT_ID Cid;
+ CLIENT_ID ClientId;
ULONG MessageId;
- ULONG SharedSectionSize; // CallbackID
+ ULONG SectionSize; // CallbackID
} LPC_MESSAGE, *PLPC_MESSAGE;
#endif /* !__USE_W32API */
#define UNIMPLEMENTED DbgPrint("%s in %s:%d is unimplemented\n",__FUNCTION__,__FILE__,__LINE__);
+#ifndef __USE_W32API
+
#ifndef NASSERT
#define assert(x) if (!(x)) {DbgPrint("Assertion "#x" failed at %s:%d\n", __FILE__,__LINE__); for(;;);}
#else
#define assert(x)
#endif
+#endif
+
#ifdef NDEBUG
#define DPRINT(args...)
#define CHECKPOINT
#ifndef _NTOS_H
#define _NTOS_H
-/* $Id: ntos.h,v 1.12 2003/06/07 16:16:38 chorns Exp $ */
+/* $Id: ntos.h,v 1.13 2003/08/07 11:47:33 silverblade Exp $ */
#if defined(NTOS_MODE_USER)
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
#include "ntos/haltypes.h"
#include "ntos/halfuncs.h"
#include "ntos/kdfuncs.h"
+#include "ntos/kefuncs.h" // AG
#include "ntos/obtypes.h"
#include "ntos/tss.h"
#include "rosrtl/thread.h"
-/* $Id: filelock.c,v 1.9 2003/07/11 01:23:14 royce Exp $
+/* $Id: filelock.c,v 1.10 2003/08/07 11:47:33 silverblade Exp $
*
* reactos/ntoskrnl/fs/filelock.c
*
//walk pending list, FIFO order, try 2 complete locks
PLIST_ENTRY EnumEntry;
PIRP Irp;
- PIO_STACK_LOCATION Stack;
+ PEXTENDED_IO_STACK_LOCATION Stack;
EnumEntry = LockToc->PendingListHead.Blink;
while (EnumEntry != &LockToc->PendingListHead)
{
Irp = CONTAINING_RECORD(EnumEntry,IRP, Tail.Overlay.ListEntry);
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
if (FsRtlpAddLock(LockToc,
Stack->FileObject,
&Stack->Parameters.LockControl.ByteOffset,
PFILE_LOCK_GRANTED Granted;
PIRP Irp;
PLIST_ENTRY EnumEntry;
- PIO_STACK_LOCATION Stack;
+ PEXTENDED_IO_STACK_LOCATION Stack;
assert(FileLock);
LockToc = FileLock->LockInformation;
{
Irp = CONTAINING_RECORD(EnumEntry, IRP , Tail.Overlay.ListEntry );
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
DPRINT1("%s, start: %i, len: %i, end: %i, key: %i, proc: 0x%X, fob: 0x%X\n",
(Stack->Flags & SL_EXCLUSIVE_LOCK) ? "EXCL" : "SHRD",
IN PVOID Context OPTIONAL
)
{
- PIO_STACK_LOCATION Stack;
+ PEXTENDED_IO_STACK_LOCATION Stack;
NTSTATUS Status;
IO_STATUS_BLOCK LocalIoStatus;
assert(FileLock);
- Stack = IoGetCurrentIrpStackLocation(Irp);
+ Stack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
Irp->IoStatus.Information = 0;
switch(Stack->MinorFunction)
-/* $Id: dir.c,v 1.18 2003/07/11 01:23:14 royce Exp $
+/* $Id: dir.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
NTSTATUS Status;
- PIO_STACK_LOCATION IoStack;
+ PEXTENDED_IO_STACK_LOCATION IoStack;
IO_STATUS_BLOCK IoSB;
DPRINT("NtQueryDirectoryFile()\n");
KeResetEvent( &FileObject->Event );
Irp->UserBuffer=FileInformation;
- IoStack = IoGetNextIrpStackLocation(Irp);
+ IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
IoStack->MajorFunction = IRP_MJ_DIRECTORY_CONTROL;
IoStack->MinorFunction = IRP_MN_QUERY_DIRECTORY;
{
IoStack->Flags = IoStack->Flags | SL_INDEX_SPECIFIED;
}
-
+
IoStack->Parameters.QueryDirectory.FileInformationClass =
FileInformationClass;
IoStack->Parameters.QueryDirectory.FileName = FileName;
-/* $Id: fs.c,v 1.35 2003/07/10 15:47:00 royce Exp $
+/* $Id: fs.c,v 1.36 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PFILE_OBJECT FileObject;
PDEVICE_OBJECT DeviceObject;
PIRP Irp;
- PIO_STACK_LOCATION StackPtr;
+ PEXTENDED_IO_STACK_LOCATION StackPtr;
PKEVENT ptrEvent;
IO_STATUS_BLOCK IoSB;
Irp->Overlay.AsynchronousParameters.UserApcRoutine = ApcRoutine;
Irp->Overlay.AsynchronousParameters.UserApcContext = ApcContext;
- StackPtr = IoGetNextIrpStackLocation(Irp);
+ StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
StackPtr->FileObject = FileObject;
StackPtr->DeviceObject = DeviceObject;
StackPtr->Parameters.FileSystemControl.InputBufferLength = InputBufferSize;
-/* $Id: irp.c,v 1.52 2003/07/10 15:47:00 royce Exp $
+/* $Id: irp.c,v 1.53 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
{
Status = Irp->Stack[i].CompletionRoutine(DeviceObject,
Irp,
- Irp->Stack[i].CompletionContext);
+ Irp->Stack[i].Context);
if (Status == STATUS_MORE_PROCESSING_REQUIRED)
{
PLARGE_INTEGER LocalLength = NULL;
PKEVENT Event = NULL;
PIRP Irp = NULL;
- PIO_STACK_LOCATION StackPtr;
+ PEXTENDED_IO_STACK_LOCATION StackPtr;
IO_STATUS_BLOCK LocalIoStatusBlock;
PIO_STATUS_BLOCK IoStatusBlock;
PDEVICE_OBJECT DeviceObject;
Irp->UserIosb = IoStatusBlock;
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
- StackPtr = IoGetNextIrpStackLocation(Irp);
+ StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
StackPtr->MinorFunction = IRP_MN_LOCK;
StackPtr->FileObject = FileObject;
StackPtr->Parameters.LockControl.Length = LocalLength;
StackPtr->Parameters.LockControl.ByteOffset = *ByteOffset;
StackPtr->Parameters.LockControl.Key = Key ? *Key : 0;
-
+
IoSetCompletionRoutine(
Irp,
NtLockFileCompletionRoutine,
PFILE_OBJECT FileObject = NULL;
PLARGE_INTEGER LocalLength = NULL;
PIRP Irp = NULL;
- PIO_STACK_LOCATION StackPtr;
+ PEXTENDED_IO_STACK_LOCATION StackPtr;
IO_STATUS_BLOCK LocalIoStatusBlock;
PDEVICE_OBJECT DeviceObject;
Irp->UserIosb = &LocalIoStatusBlock;
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
- StackPtr = IoGetNextIrpStackLocation(Irp);
+ StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
StackPtr->MajorFunction = IRP_MJ_LOCK_CONTROL;
StackPtr->MinorFunction = IRP_MN_UNLOCK_SINGLE;
StackPtr->DeviceObject = DeviceObject;
-/* $Id: vpb.c,v 1.21 2003/07/10 15:47:00 royce Exp $
+/* $Id: vpb.c,v 1.22 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
PDEVICE_OBJECT DeviceObject;
PIRP Irp;
NTSTATUS Status;
- PIO_STACK_LOCATION StackPtr;
+ PEXTENDED_IO_STACK_LOCATION StackPtr;
PVOID SystemBuffer;
IO_STATUS_BLOCK IoSB;
Irp->UserIosb = &IoSB;
Irp->Tail.Overlay.Thread = PsGetCurrentThread();
- StackPtr = IoGetNextIrpStackLocation(Irp);
+ StackPtr = (PEXTENDED_IO_STACK_LOCATION) IoGetNextIrpStackLocation(Irp);
StackPtr->MajorFunction = IRP_MJ_SET_VOLUME_INFORMATION;
StackPtr->MinorFunction = 0;
StackPtr->Flags = 0;
-/* $Id: connect.c,v 1.18 2003/07/11 01:23:15 royce Exp $
+/* $Id: connect.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
sizeof(EPORT_CONNECT_REQUEST_MESSAGE) + RequestConnectDataLength;
DPRINT("RequestMessageSize %d\n",
RequestMessage->MessageHeader.MessageSize);
- RequestMessage->MessageHeader.SharedSectionSize = 0;
+ RequestMessage->MessageHeader.SectionSize = 0;
RequestMessage->ConnectingProcess = PsGetCurrentProcess();
ObReferenceObjectByPointer(RequestMessage->ConnectingProcess,
PROCESS_VM_OPERATION,
-/* $Id: reply.c,v 1.18 2003/07/21 21:53:52 royce Exp $
+/* $Id: reply.c,v 1.19 2003/08/07 11:47:33 silverblade Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
memcpy(&MessageReply->Message, LpcReply, LpcReply->MessageSize);
}
- MessageReply->Message.Cid.UniqueProcess = PsGetCurrentProcessId();
- MessageReply->Message.Cid.UniqueThread = PsGetCurrentThreadId();
+ MessageReply->Message.ClientId.UniqueProcess = PsGetCurrentProcessId();
+ MessageReply->Message.ClientId.UniqueThread = PsGetCurrentThreadId();
MessageReply->Message.MessageType = MessageType;
MessageReply->Message.MessageId = InterlockedIncrement((LONG *)&EiNextLpcMessageId);
-/* $Id: wapi.c,v 1.29 2003/07/29 23:03:01 jimtabor Exp $
+/* $Id: wapi.c,v 1.30 2003/08/07 11:47:33 silverblade Exp $
*
* reactos/subsys/csrss/api/wapi.c
*
if ( LpcRequest.Header.MessageType == LPC_PORT_CLOSED )
{
- CsrFreeProcessData( (ULONG)LpcRequest.Header.Cid.UniqueProcess );
+ CsrFreeProcessData( (ULONG)LpcRequest.Header.ClientId.UniqueProcess );
NtClose(ServerPort);
NtTerminateThread(NtCurrentThread(), STATUS_SUCCESS);
continue;
Reply = (PCSRSS_API_REPLY)&LpcReply;
ProcessData = CsrGetProcessData(
- (ULONG)LpcRequest.Header.Cid.UniqueProcess);
+ (ULONG)LpcRequest.Header.ClientId.UniqueProcess);
// DisplayString(L"CSR: Received request\n");
if( Request->Type >= (sizeof( CsrFuncs ) / sizeof( CsrFunc )) - 1 )
NtTerminateThread(NtCurrentThread(), Status);
}
- ProcessData = CsrGetProcessData((ULONG)Request.Header.Cid.UniqueProcess);
+ ProcessData = CsrGetProcessData((ULONG)Request.Header.ClientId.UniqueProcess);
ProcessData->CsrSectionViewBase = LpcRead.ViewBase;
ProcessData->CsrSectionViewSize = LpcRead.ViewSize;