W32API conversion update

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
This commit is contained in:
Andrew Greenwood 2003-08-07 11:47:33 +00:00
parent 12d87df6e0
commit 59a33415c2
29 changed files with 350 additions and 94 deletions

View file

@ -1,4 +1,4 @@
/* $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
@ -74,7 +74,7 @@ int main(int argc, char* argv[])
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);

View file

@ -16,7 +16,7 @@
* 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
@ -544,14 +544,14 @@ CdfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
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;

View file

@ -16,7 +16,7 @@
* 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
@ -29,6 +29,7 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <ntos.h>
#define NDEBUG
#include <debug.h>

View file

@ -1,4 +1,4 @@
/* $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
@ -22,7 +22,7 @@ NTSTATUS STDCALL
MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp)
{
PIO_STACK_LOCATION IoStack;
PEXTENDED_IO_STACK_LOCATION IoStack;
PFILE_OBJECT FileObject;
PMSFS_MAILSLOT Mailslot;
PMSFS_FCB Fcb;
@ -30,14 +30,14 @@ MsfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
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:

View file

@ -1,4 +1,4 @@
/* $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
@ -395,7 +395,7 @@ NTSTATUS STDCALL
NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
PIRP Irp)
{
PIO_STACK_LOCATION IoStack;
PEXTENDED_IO_STACK_LOCATION IoStack;
PFILE_OBJECT FileObject;
NTSTATUS Status;
PNPFS_DEVICE_EXTENSION DeviceExt;
@ -405,7 +405,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
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);
@ -415,7 +415,7 @@ NpfsFileSystemControl(PDEVICE_OBJECT DeviceObject,
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");

View file

@ -16,7 +16,7 @@
* 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
@ -29,6 +29,8 @@
#include <ddk/ntddk.h>
#include <ntos.h>
//#define NDEBUG
#include <debug.h>

View file

@ -16,7 +16,7 @@
* 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
@ -494,14 +494,14 @@ NtfsQueryDirectory(PDEVICE_OBJECT DeviceObject,
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;

View file

@ -16,7 +16,7 @@
* 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
@ -32,6 +32,8 @@
//#define NDEBUG
#include <debug.h>
#include <ntos.h>
#include "ntfs.h"

View file

@ -1,5 +1,5 @@
/*
* $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
@ -207,6 +207,8 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
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;
@ -218,11 +220,11 @@ NTSTATUS DoQuery (PVFAT_IRP_CONTEXT IrpContext)
}
// 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)

View file

@ -1,4 +1,4 @@
/* $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
@ -14,6 +14,7 @@
#include <ddk/ntddk.h>
#include <wchar.h>
#include <limits.h>
#include <ntos.h>
#define NDEBUG
#include <debug.h>

View file

@ -16,7 +16,7 @@
* 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
@ -29,6 +29,8 @@
#include <ddk/ntddk.h>
#include <wchar.h>
#include <ntos.h>
#define NDEBUG
#include <debug.h>

View file

@ -1,5 +1,5 @@
/* $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
@ -15,6 +15,8 @@
#include <wchar.h>
#include <ntos/minmax.h>
#include <ntos.h>
#define NDEBUG
#include <debug.h>

View file

@ -1,4 +1,4 @@
/* $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
@ -248,6 +248,7 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT IrpContext)
NTSTATUS Status = STATUS_SUCCESS;
PVOID SystemBuffer;
ULONG BufferLength;
PEXTENDED_IO_STACK_LOCATION Stack = (PEXTENDED_IO_STACK_LOCATION) IrpContext->Stack;
/* PRECONDITION */
assert(IrpContext);
@ -260,8 +261,8 @@ NTSTATUS VfatSetVolumeInformation(PVFAT_IRP_CONTEXT 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);

View file

@ -1,6 +1,6 @@
#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')
@ -10,6 +10,9 @@ typedef LBN *PLBN;
typedef ULONG VBN;
typedef VBN *PVBN;
#ifndef __USE_W32API
typedef struct _FILE_LOCK_INFO {
LARGE_INTEGER StartingByte;
LARGE_INTEGER Length;
@ -20,11 +23,6 @@ typedef struct _FILE_LOCK_INFO {
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
@ -92,4 +90,12 @@ typedef VOID
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 */

View file

@ -1,6 +1,6 @@
#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 --- */
@ -939,13 +939,17 @@ IoReportResourceUsage (
((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; \

View file

@ -1,4 +1,4 @@
/* $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 $
*
*/
@ -23,6 +23,11 @@ extern POBJECT_TYPE IMPORTED IoDriverObjectType;
extern POBJECT_TYPE IMPORTED IoFileObjectType;
#endif
// from winddk.h
#define POINTER_ALIGNMENT
/*
* These are referenced before they can be fully defined
*/
@ -294,6 +299,8 @@ typedef struct
/*
* PURPOSE: IRP stack location
*/
/*
typedef struct __attribute__((packed)) _IO_STACK_LOCATION
{
UCHAR MajorFunction;
@ -462,9 +469,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
PCM_RESOURCE_LIST AllocatedResources;
PCM_RESOURCE_LIST AllocatedResourcesTranslated;
} StartDevice;
*/
/* Parameters for IRP_MN_SCSI_CLASS */
struct
/* struct
{
struct _SCSI_REQUEST_BLOCK *Srb;
} Scsi;
@ -476,9 +483,9 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
ULONG Key;
LARGE_INTEGER ByteOffset;
} LockControl;
*/
/* Paramters for other calls */
struct
/* struct
{
PVOID Argument1;
PVOID Argument2;
@ -493,7 +500,240 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
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

View file

@ -27,19 +27,8 @@ VOID STDCALL KeAcquireSpinLock (PKSPIN_LOCK SpinLock,
VOID STDCALL KeAcquireSpinLockAtDpcLevel (IN PKSPIN_LOCK SpinLock);
//NTOSAPI
//DDKFASTAPI
//STDCALL
//VOID
//KefAcquireSpinLockAtDpcLevel(
// IN PKSPIN_LOCK SpinLock);
#define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
//NTOSAPI
//DDKFASTAPI
VOID
STDCALL
KeReleaseSpinLockFromDpcLevel(
@ -58,7 +47,6 @@ 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
@ -76,7 +64,6 @@ VOID STDCALL KeBugCheckEx (ULONG BugCheckCode,
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);

View file

@ -3,6 +3,7 @@
#ifdef __USE_W32API
#include <ddk/ntapi.h>
#include <napi/types.h>
#endif /* !__USE_W32API */
#include <ntos/security.h>
@ -52,9 +53,9 @@ typedef struct _LPC_MESSAGE
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 */

View file

@ -3,12 +3,16 @@
#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

View file

@ -1,6 +1,6 @@
#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
@ -87,6 +87,7 @@
#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"

View file

@ -1,4 +1,4 @@
/* $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
*
@ -540,14 +540,14 @@ FsRtlpCompletePendingLocks(
//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,
@ -734,7 +734,7 @@ FsRtlpDumpFileLocks(
PFILE_LOCK_GRANTED Granted;
PIRP Irp;
PLIST_ENTRY EnumEntry;
PIO_STACK_LOCATION Stack;
PEXTENDED_IO_STACK_LOCATION Stack;
assert(FileLock);
LockToc = FileLock->LockInformation;
@ -774,7 +774,7 @@ FsRtlpDumpFileLocks(
{
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",
@ -1083,12 +1083,12 @@ FsRtlProcessFileLock (
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)

View file

@ -1,4 +1,4 @@
/* $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
@ -91,7 +91,7 @@ NtQueryDirectoryFile(
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
NTSTATUS Status;
PIO_STACK_LOCATION IoStack;
PEXTENDED_IO_STACK_LOCATION IoStack;
IO_STATUS_BLOCK IoSB;
DPRINT("NtQueryDirectoryFile()\n");
@ -125,7 +125,7 @@ NtQueryDirectoryFile(
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;
@ -146,7 +146,7 @@ NtQueryDirectoryFile(
{
IoStack->Flags = IoStack->Flags | SL_INDEX_SPECIFIED;
}
IoStack->Parameters.QueryDirectory.FileInformationClass =
FileInformationClass;
IoStack->Parameters.QueryDirectory.FileName = FileName;

View file

@ -1,4 +1,4 @@
/* $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
@ -75,7 +75,7 @@ NtFsControlFile (
PFILE_OBJECT FileObject;
PDEVICE_OBJECT DeviceObject;
PIRP Irp;
PIO_STACK_LOCATION StackPtr;
PEXTENDED_IO_STACK_LOCATION StackPtr;
PKEVENT ptrEvent;
IO_STATUS_BLOCK IoSB;
@ -138,7 +138,7 @@ NtFsControlFile (
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;

View file

@ -1,4 +1,4 @@
/* $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
@ -267,7 +267,7 @@ IofCompleteRequest(PIRP Irp,
{
Status = Irp->Stack[i].CompletionRoutine(DeviceObject,
Irp,
Irp->Stack[i].CompletionContext);
Irp->Stack[i].Context);
if (Status == STATUS_MORE_PROCESSING_REQUIRED)
{

View file

@ -57,7 +57,7 @@ NtLockFile (
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;
@ -127,7 +127,7 @@ NtLockFile (
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;
@ -150,7 +150,7 @@ NtLockFile (
StackPtr->Parameters.LockControl.Length = LocalLength;
StackPtr->Parameters.LockControl.ByteOffset = *ByteOffset;
StackPtr->Parameters.LockControl.Key = Key ? *Key : 0;
IoSetCompletionRoutine(
Irp,
NtLockFileCompletionRoutine,
@ -221,7 +221,7 @@ NtUnlockFile (
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;
@ -265,7 +265,7 @@ NtUnlockFile (
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;

View file

@ -1,4 +1,4 @@
/* $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
@ -287,7 +287,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
PDEVICE_OBJECT DeviceObject;
PIRP Irp;
NTSTATUS Status;
PIO_STACK_LOCATION StackPtr;
PEXTENDED_IO_STACK_LOCATION StackPtr;
PVOID SystemBuffer;
IO_STATUS_BLOCK IoSB;
@ -334,7 +334,7 @@ NtSetVolumeInformationFile(IN HANDLE FileHandle,
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;

View file

@ -1,4 +1,4 @@
/* $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
@ -96,7 +96,7 @@ EiConnectPort(IN PEPORT* ConnectedPort,
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,

View file

@ -1,4 +1,4 @@
/* $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
@ -61,8 +61,8 @@ EiReplyOrRequestPort (IN PEPORT Port,
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);

View file

@ -1,4 +1,4 @@
/* $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
*
@ -96,7 +96,7 @@ static void Thread_Api2(HANDLE ServerPort)
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;
@ -106,7 +106,7 @@ static void Thread_Api2(HANDLE ServerPort)
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 )
@ -156,7 +156,7 @@ void Thread_Api(PVOID PortHandle)
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;