ReactOS W32API convert part 4

I've modified ReactOS' headers and source files to match W32API's headers, and fully recompiled and booted ReactOS without them, so it does still work.

A more detailed log of changes will be sent to the ros-kernel mailing list shortly.

svn path=/trunk/; revision=5572
This commit is contained in:
Andrew Greenwood 2003-08-14 18:30:28 +00:00
parent 979c196068
commit 8535425fcd
31 changed files with 276 additions and 188 deletions

View file

@ -478,7 +478,7 @@ ExPostSystemEvent (
* ); * );
*/ */
#define ExQueryDepthSList(ListHead) \ #define ExQueryDepthSList(ListHead) \
(USHORT)(ListHead)->s.Depth (USHORT)(ListHead)->Depth
VOID VOID
STDCALL STDCALL

View file

@ -1,4 +1,4 @@
/* $Id: extypes.h,v 1.18 2003/07/17 16:57:38 silverblade Exp $ */ /* $Id: extypes.h,v 1.19 2003/08/14 18:30:27 silverblade Exp $ */
#ifndef __INCLUDE_DDK_EXTYPES_H #ifndef __INCLUDE_DDK_EXTYPES_H
#define __INCLUDE_DDK_EXTYPES_H #define __INCLUDE_DDK_EXTYPES_H
@ -27,7 +27,7 @@ typedef struct _OWNER_ENTRY
{ {
LONG OwnerCount; LONG OwnerCount;
ULONG TableSize; ULONG TableSize;
} u; }; // anon
} OWNER_ENTRY, *POWNER_ENTRY; } OWNER_ENTRY, *POWNER_ENTRY;
typedef struct _ERESOURCE typedef struct _ERESOURCE
@ -46,7 +46,7 @@ typedef struct _ERESOURCE
{ {
PVOID Address; PVOID Address;
ULONG CreatorBackTraceIndex; ULONG CreatorBackTraceIndex;
} u; }; // anon
KSPIN_LOCK SpinLock; KSPIN_LOCK SpinLock;
} ERESOURCE, *PERESOURCE; } ERESOURCE, *PERESOURCE;
@ -105,7 +105,7 @@ typedef union _SLIST_HEADER
SINGLE_LIST_ENTRY Next; SINGLE_LIST_ENTRY Next;
USHORT Depth; USHORT Depth;
USHORT Sequence; USHORT Sequence;
} s; }; // now anonymous
} SLIST_HEADER, *PSLIST_HEADER; } SLIST_HEADER, *PSLIST_HEADER;
typedef struct _NPAGED_LOOKASIDE_LIST typedef struct _NPAGED_LOOKASIDE_LIST

View file

@ -1,8 +1,11 @@
#ifndef __INCLUDE_DDK_FSFUNCS_H #ifndef __INCLUDE_DDK_FSFUNCS_H
#define __INCLUDE_DDK_FSFUNCS_H #define __INCLUDE_DDK_FSFUNCS_H
/* $Id: fsfuncs.h,v 1.19 2003/04/26 23:13:26 hyperion Exp $ */ /* $Id: fsfuncs.h,v 1.20 2003/08/14 18:30:27 silverblade Exp $ */
#define FlagOn(x,f) ((x) & (f)) #define FlagOn(x,f) ((x) & (f))
#include <ntos/fstypes.h>
VOID VOID
STDCALL STDCALL
FsRtlFreeFileLock( FsRtlFreeFileLock(
@ -217,7 +220,7 @@ FsRtlFastUnlockSingle (
IN PVOID Context OPTIONAL, IN PVOID Context OPTIONAL,
IN BOOLEAN AlreadySynchronized IN BOOLEAN AlreadySynchronized
); );
VOID BOOLEAN
STDCALL STDCALL
FsRtlFindInTunnelCache ( FsRtlFindInTunnelCache (
IN PTUNNEL Cache, IN PTUNNEL Cache,
@ -453,7 +456,7 @@ FsRtlNotifyFullReportChange (
VOID VOID
STDCALL STDCALL
FsRtlNotifyUninitializeSync ( FsRtlNotifyUninitializeSync (
IN OUT PNOTIFY_SYNC * NotifySync IN OUT PNOTIFY_SYNC * NotifySync
); );
VOID VOID
STDCALL STDCALL
@ -466,7 +469,7 @@ FsRtlNotifyReportChange (
); );
VOID STDCALL VOID STDCALL
FsRtlNotifyInitializeSync(IN OUT PNOTIFY_SYNC *NotifySync); FsRtlNotifyInitializeSync(IN OUT PNOTIFY_SYNC * NotifySync);
NTSTATUS STDCALL NTSTATUS STDCALL
FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject, FsRtlNotifyVolumeEvent(IN PFILE_OBJECT FileObject,

View file

@ -1,15 +1,6 @@
#ifndef __INCLUDE_DDK_FSTYPES_H #ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H #define __INCLUDE_DDK_FSTYPES_H
/* $Id: fstypes.h,v 1.12 2003/08/07 11:47:32 silverblade Exp $ */ /* $Id: fstypes.h,v 1.13 2003/08/14 18:30:27 silverblade Exp $ */
#define FSRTL_TAG TAG('F','S','r','t')
typedef ULONG LBN;
typedef LBN *PLBN;
typedef ULONG VBN;
typedef VBN *PVBN;
#ifndef __USE_W32API #ifndef __USE_W32API
@ -23,6 +14,7 @@ typedef struct _FILE_LOCK_INFO {
LARGE_INTEGER EndingByte; LARGE_INTEGER EndingByte;
} FILE_LOCK_INFO, *PFILE_LOCK_INFO; } FILE_LOCK_INFO, *PFILE_LOCK_INFO;
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) ( typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
IN PVOID Context, IN PVOID Context,
IN PIRP Irp IN PIRP Irp
@ -33,6 +25,7 @@ typedef VOID (*PUNLOCK_ROUTINE) (
IN PFILE_LOCK_INFO FileLockInfo IN PFILE_LOCK_INFO FileLockInfo
); );
typedef struct _FILE_LOCK { typedef struct _FILE_LOCK {
PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine; PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
PUNLOCK_ROUTINE UnlockRoutine; PUNLOCK_ROUTINE UnlockRoutine;
@ -43,6 +36,7 @@ typedef struct _FILE_LOCK {
PVOID LastReturnedLock; PVOID LastReturnedLock;
} FILE_LOCK, *PFILE_LOCK; } FILE_LOCK, *PFILE_LOCK;
typedef struct _TUNNEL { typedef struct _TUNNEL {
FAST_MUTEX Mutex; FAST_MUTEX Mutex;
PRTL_SPLAY_LINKS Cache; PRTL_SPLAY_LINKS Cache;
@ -67,19 +61,6 @@ typedef struct _NOTIFY_SYNC
} NOTIFY_SYNC, * PNOTIFY_SYNC; } NOTIFY_SYNC, * PNOTIFY_SYNC;
typedef struct _LARGE_MCB
{
PFAST_MUTEX FastMutex;
ULONG MaximumPairCount;
ULONG PairCount;
POOL_TYPE PoolType;
PVOID Mapping;
} LARGE_MCB, *PLARGE_MCB;
typedef struct _MCB {
LARGE_MCB LargeMcb;
} MCB, *PMCB;
typedef VOID typedef VOID
(*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context, (*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context,
PIRP Irp); PIRP Irp);
@ -92,10 +73,4 @@ typedef PVOID OPLOCK, *POPLOCK;
#endif /* __USE_W32API */ #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 */ #endif /* __INCLUDE_DDK_FSFUNCS_H */

View file

@ -5,8 +5,8 @@
#define CTL_CODE(Dev, Func, Meth, Acc) ( ((Dev)<<16) | ((Acc)<<14) | ((Func)<<2) | (Meth)) #define CTL_CODE(Dev, Func, Meth, Acc) ( ((Dev)<<16) | ((Acc)<<14) | ((Func)<<2) | (Meth))
#define DEVICE_TYPE_FROM_CTL_CODE(ctlCode) (((ULONG)(ctlCode&0xffff0000))>>16) //#define DEVICE_TYPE_FROM_CTL_CODE(ctlCode) (((ULONG)(ctlCode&0xffff0000))>>16)
#define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003) //#define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003)
// IOCTL Parameter buffering methods // IOCTL Parameter buffering methods

View file

@ -1,4 +1,4 @@
/* $Id: iotypes.h,v 1.51 2003/08/07 11:47:32 silverblade Exp $ /* $Id: iotypes.h,v 1.52 2003/08/14 18:30:27 silverblade Exp $
* *
*/ */
@ -742,32 +742,6 @@ typedef struct _IO_STATUS_BLOCK
ULONG Information; ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
typedef struct _IO_COMPLETION_PACKET{
ULONG Key;
ULONG Overlapped;
IO_STATUS_BLOCK IoStatus;
LIST_ENTRY ListEntry;
} IO_COMPLETION_PACKET, *PIO_COMPLETION_PACKET;
typedef struct _IO_PIPE_CREATE_BUFFER
{
BOOLEAN WriteModeMessage;
BOOLEAN ReadModeMessage;
BOOLEAN NonBlocking;
ULONG MaxInstances;
ULONG InBufferSize;
ULONG OutBufferSize;
LARGE_INTEGER TimeOut;
} IO_PIPE_CREATE_BUFFER, *PIO_PIPE_CREATE_BUFFER;
typedef struct _IO_MAILSLOT_CREATE_BUFFER
{
ULONG Param; /* ?? */
ULONG MaxMessageSize;
LARGE_INTEGER TimeOut;
} IO_MAILSLOT_CREATE_BUFFER, *PIO_MAILSLOT_CREATE_BUFFER;
/* /*
* Driver entry point declaration * Driver entry point declaration
@ -1142,4 +1116,23 @@ typedef VOID STDCALL_FUNC
IN BOOLEAN DriverActive); IN BOOLEAN DriverActive);
#endif // (_WIN32_WINNT >= 0x0400) #endif // (_WIN32_WINNT >= 0x0400)
typedef struct _IO_PIPE_CREATE_BUFFER
{
BOOLEAN WriteModeMessage;
BOOLEAN ReadModeMessage;
BOOLEAN NonBlocking;
ULONG MaxInstances;
ULONG InBufferSize;
ULONG OutBufferSize;
LARGE_INTEGER TimeOut;
} IO_PIPE_CREATE_BUFFER, *PIO_PIPE_CREATE_BUFFER;
typedef struct _IO_MAILSLOT_CREATE_BUFFER
{
ULONG Param; /* ?? */
ULONG MaxMessageSize;
LARGE_INTEGER TimeOut;
} IO_MAILSLOT_CREATE_BUFFER, *PIO_MAILSLOT_CREATE_BUFFER;
#endif /* __INCLUDE_DDK_IOTYPES_H */ #endif /* __INCLUDE_DDK_IOTYPES_H */

View file

@ -91,8 +91,6 @@ VOID STDCALL KeEnterCriticalRegion (VOID);
*/ */
VOID STDCALL KeEnterKernelDebugger (VOID); VOID STDCALL KeEnterKernelDebugger (VOID);
VOID STDCALL KeFlushWriteBuffer (VOID);
KIRQL STDCALL KeGetCurrentIrql (VOID); KIRQL STDCALL KeGetCurrentIrql (VOID);
#ifndef __USE_W32API #ifndef __USE_W32API

View file

@ -3,19 +3,7 @@
#ifndef __INCLUDE_DDK_KETYPES_H #ifndef __INCLUDE_DDK_KETYPES_H
#define __INCLUDE_DDK_KETYPES_H #define __INCLUDE_DDK_KETYPES_H
#ifdef __NTOSKRNL__ // include ntos/ketypes.h here?
extern CHAR EXPORTED KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK EXPORTED KeLoaderBlock;
extern ULONG EXPORTED KeDcacheFlushCount;
extern ULONG EXPORTED KeIcacheFlushCount;
#else
extern CHAR IMPORTED KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK IMPORTED KeLoaderBlock;
extern ULONG EXPORTED KeDcacheFlushCount;
extern ULONG EXPORTED KeIcacheFlushCount;
#endif
struct _KMUTANT; struct _KMUTANT;

View file

@ -1,6 +1,6 @@
#ifndef _NTOS_H #ifndef _NTOS_H
#define _NTOS_H #define _NTOS_H
/* $Id: ntos.h,v 1.13 2003/08/07 11:47:33 silverblade Exp $ */ /* $Id: ntos.h,v 1.14 2003/08/14 18:30:27 silverblade Exp $ */
#if defined(NTOS_MODE_USER) #if defined(NTOS_MODE_USER)
// include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions // include windows.h before ntddk.h to get user mode prototype for InterlockedXxx functions
@ -14,6 +14,7 @@
#include "ntos/except.h" #include "ntos/except.h"
#include "ntos/file.h" #include "ntos/file.h"
#include "ntos/gditypes.h" #include "ntos/gditypes.h"
#include "ntos/fstypes.h" // AG
#include "ntos/heap.h" #include "ntos/heap.h"
#include "ntos/kdbgsyms.h" #include "ntos/kdbgsyms.h"
#include "ntos/keyboard.h" #include "ntos/keyboard.h"
@ -88,6 +89,7 @@
#include "ntos/halfuncs.h" #include "ntos/halfuncs.h"
#include "ntos/kdfuncs.h" #include "ntos/kdfuncs.h"
#include "ntos/kefuncs.h" // AG #include "ntos/kefuncs.h" // AG
#include "ntos/fstypes.h" // AG
#include "ntos/obtypes.h" #include "ntos/obtypes.h"
#include "ntos/tss.h" #include "ntos/tss.h"
#include "rosrtl/thread.h" #include "rosrtl/thread.h"

View file

@ -1,4 +1,4 @@
/* $Id: disk.h,v 1.13 2003/06/22 16:33:44 ekohl Exp $ /* $Id: disk.h,v 1.14 2003/08/14 18:30:27 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -166,16 +166,16 @@ typedef struct _DISK_GEOMETRY
DWORD BytesPerSector; DWORD BytesPerSector;
} DISK_GEOMETRY, *PDISK_GEOMETRY; } DISK_GEOMETRY, *PDISK_GEOMETRY;
#ifndef __USE_W32API
typedef struct _DRIVE_LAYOUT_INFORMATION typedef struct _DRIVE_LAYOUT_INFORMATION
{ {
DWORD PartitionCount; DWORD PartitionCount;
DWORD Signature; DWORD Signature;
PARTITION_INFORMATION PartitionEntry[1]; PARTITION_INFORMATION PartitionEntry[1];
} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION; } DRIVE_LAYOUT_INFORMATION;
#endif /* !__USE_W32API */ #ifndef __USE_W32API
typedef DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
#endif
#endif /* __INCLUDE_DISK_H */ #endif /* __INCLUDE_DISK_H */

View file

@ -0,0 +1,35 @@
#ifndef __INCLUDE_NTOS_FSTYPES_H
#define __INCLUDE_NTOS_FSTYPES_H
#define FSRTL_TAG TAG('F','S','r','t')
typedef ULONG LBN;
typedef LBN *PLBN;
typedef ULONG VBN;
typedef VBN *PVBN;
typedef struct _LARGE_MCB
{
PFAST_MUTEX FastMutex;
ULONG MaximumPairCount;
ULONG PairCount;
POOL_TYPE PoolType;
PVOID Mapping;
} LARGE_MCB, *PLARGE_MCB;
typedef struct _MCB {
LARGE_MCB LargeMcb;
} MCB, *PMCB;
typedef struct _FILE_LOCK_GRANTED {
LIST_ENTRY ListEntry;
FILE_LOCK_INFO Lock;
} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
#endif /* __INCLUDE_DDK_FSTYPES_H */

View file

@ -1,4 +1,4 @@
/* $Id: haltypes.h,v 1.1 2003/05/28 18:35:35 chorns Exp $ /* $Id: haltypes.h,v 1.2 2003/08/14 18:30:27 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -10,8 +10,16 @@
*/ */
#ifndef __INCLUDE_DDK_HALTYPES_H #ifndef __INCLUDE_NTOS_HALTYPES_H
#define __INCLUDE_DDK_HALTYPES_H #define __INCLUDE_NTOS_HALTYPES_H
#ifdef __GNUC__
#define STDCALL_FUNC STDCALL
#else
#define STDCALL_FUNC(a) (__stdcall a )
#endif /*__GNUC__*/
#include "types.h"
/* HalReturnToFirmware */ /* HalReturnToFirmware */
@ -424,14 +432,19 @@ typedef struct _HAL_DISPATCH
#ifdef __NTOSKRNL__ #ifdef __NTOSKRNL__
extern HAL_DISPATCH EXPORTED HalDispatchTable; extern HAL_DISPATCH EXPORTED HalDispatchTable;
#define HALDISPATCH (&HalDispatchTable)
#else #else
extern PHAL_DISPATCH IMPORTED HalDispatchTable; extern PHAL_DISPATCH IMPORTED HalDispatchTable;
#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
#endif #endif
#endif /* !__USE_W32API */ #endif /* !__USE_W32API */
#ifdef __NTOSKRNL__
#define HALDISPATCH (&HalDispatchTable)
#else
#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
#endif
#define HAL_DISPATCH_VERSION 1 #define HAL_DISPATCH_VERSION 1
#define HalDispatchTableVersion HALDISPATCH->Version #define HalDispatchTableVersion HALDISPATCH->Version
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation #define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation

View file

@ -9,4 +9,20 @@
#define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a) #define KEBUGCHECK(a) DbgPrint("KeBugCheck at %s:%i\n",__FILE__,__LINE__), KeBugCheck(a)
#define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e) #define KEBUGCHECKEX(a,b,c,d,e) DbgPrint("KeBugCheckEx at %s:%i\n",__FILE__,__LINE__), KeBugCheckEx(a,b,c,d,e)
#ifdef __NTOSKRNL__
extern CHAR EXPORTED KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK EXPORTED KeLoaderBlock;
extern ULONG EXPORTED KeDcacheFlushCount;
extern ULONG EXPORTED KeIcacheFlushCount;
#else
extern CHAR IMPORTED KeNumberProcessors;
extern LOADER_PARAMETER_BLOCK IMPORTED KeLoaderBlock;
extern ULONG EXPORTED KeDcacheFlushCount;
extern ULONG EXPORTED KeIcacheFlushCount;
#endif
VOID STDCALL KeFlushWriteBuffer (VOID);
#endif /* __INCLUDE_NTOS_KEFUNCS_H */ #endif /* __INCLUDE_NTOS_KEFUNCS_H */

View file

@ -11,12 +11,12 @@
#ifndef __INCLUDE_NTDEF_H #ifndef __INCLUDE_NTDEF_H
#define __INCLUDE_NTDEF_H #define __INCLUDE_NTDEF_H
#define PACKED __attribute__((packed))
#define EX_MAXIMUM_WAIT_OBJECTS (64) #define EX_MAXIMUM_WAIT_OBJECTS (64)
#ifndef __USE_W32API #ifndef __USE_W32API
#define PACKED __attribute__((packed))
#define ANYSIZE_ARRAY (1) #define ANYSIZE_ARRAY (1)
#define DELETE (0x00010000L) #define DELETE (0x00010000L)

View file

@ -1,5 +1,5 @@
#ifndef __INCLUDE_DDK_ZWTYPES_H #ifndef __INCLUDE_NTOS_ZWTYPES_H
#define __INCLUDE_DDK_ZWTYPES_H #define __INCLUDE_NTOS_ZWTYPES_H
#ifndef __USE_W32API #ifndef __USE_W32API
@ -1081,7 +1081,7 @@ typedef enum _IO_COMPLETION_INFORMATION_CLASS {
} IO_COMPLETION_INFORMATION_CLASS; } IO_COMPLETION_INFORMATION_CLASS;
typedef struct _IO_COMPLETION_BASIC_INFORMATION { typedef struct _IO_COMPLETION_BASIC_INFORMATION {
LONG SignalState; LONG Depth;
} IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION; } IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION;
#else /* __USE_W32API */ #else /* __USE_W32API */

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: draw.c,v 1.16 2003/08/11 07:02:06 rcampbell Exp $ /* $Id: draw.c,v 1.17 2003/08/14 18:30:27 silverblade Exp $
* *
* PROJECT: ReactOS user32.dll * PROJECT: ReactOS user32.dll
* FILE: lib/user32/windows/input.c * FILE: lib/user32/windows/input.c
@ -1635,6 +1635,45 @@ DrawStateW(
int cy, int cy,
UINT fuFlags) UINT fuFlags)
{ {
UNIMPLEMENTED; // AG: Experimental, unfinished, and most likely buggy! I haven't been
return FALSE; // able to test this - my intention was to implement some things needed
// by the button control.
if ((! lpOutputFunc) && (fuFlags & DST_COMPLEX))
return FALSE;
RECT r;
SetRect(&r, x, y, cx, cy);
HBITMAP MemBMP = CreateCompatibleBitmap(hdc, cx, cy);
HDC MemDC = CreateCompatibleDC(hdc);
HBITMAP OldBMP = (HBITMAP) SelectObject(MemDC, MemBMP);
// Do drawing first
if (lpOutputFunc)
lpOutputFunc(MemDC, lData, wData, cx, cy);
else if (fuFlags & DST_TEXT)
{
int count;
if (wData == 0) count = -1;
else count = wData;
DrawTextW(MemDC, (WCHAR*) lData, count, &r, 0);
}
// Now apply state effect
// not implemented yet ...
// Copy to hdc
BitBlt(hdc, x, y, cx, cy, MemDC, 0, 0, SRCCOPY);
SelectObject(MemDC, OldBMP);
DeleteObject(MemBMP);
DeleteDC(MemDC);
return TRUE;
} }

View file

@ -1,4 +1,4 @@
/* $Id: list.c,v 1.10 2003/07/12 10:24:45 chorns Exp $ /* $Id: list.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -13,9 +13,9 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#ifdef __USE_W32API //#ifdef __USE_W32API
#define NONAMELESSUNION //#define NONAMELESSUNION
#endif //#endif
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#define NDEBUG #define NDEBUG
@ -176,11 +176,11 @@ ExInterlockedPopEntrySList(IN PSLIST_HEADER ListHead,
KIRQL oldlvl; KIRQL oldlvl;
KeAcquireSpinLock(Lock,&oldlvl); KeAcquireSpinLock(Lock,&oldlvl);
ret = PopEntryList(&ListHead->s.Next); ret = PopEntryList(&ListHead->Next);
if (ret) if (ret)
{ {
ListHead->s.Depth--; ListHead->Depth--;
ListHead->s.Sequence++; ListHead->Sequence++;
} }
KeReleaseSpinLock(Lock,oldlvl); KeReleaseSpinLock(Lock,oldlvl);
return(ret); return(ret);
@ -211,10 +211,10 @@ ExInterlockedPushEntrySList(IN PSLIST_HEADER ListHead,
PSINGLE_LIST_ENTRY ret; PSINGLE_LIST_ENTRY ret;
KeAcquireSpinLock(Lock,&oldlvl); KeAcquireSpinLock(Lock,&oldlvl);
ret=ListHead->s.Next.Next; ret=ListHead->Next.Next;
PushEntryList(&ListHead->s.Next,ListEntry); PushEntryList(&ListHead->Next,ListEntry);
ListHead->s.Depth++; ListHead->Depth++;
ListHead->s.Sequence++; ListHead->Sequence++;
KeReleaseSpinLock(Lock,oldlvl); KeReleaseSpinLock(Lock,oldlvl);
return(ret); return(ret);
} }

View file

@ -1,4 +1,4 @@
/* $Id: lookas.c,v 1.10 2003/07/12 10:24:45 chorns Exp $ /* $Id: lookas.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -14,9 +14,9 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#ifdef __USE_W32API //#ifdef __USE_W32API
#define NONAMELESSUNION // #define NONAMELESSUNION
#endif //#endif
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/ex.h> #include <internal/ex.h>
#define NDEBUG #define NDEBUG
@ -45,12 +45,12 @@ PSINGLE_LIST_ENTRY
{ {
PSINGLE_LIST_ENTRY ListEntry; PSINGLE_LIST_ENTRY ListEntry;
ListEntry = ListHead->s.Next.Next; ListEntry = ListHead->Next.Next;
if (ListEntry!=NULL) if (ListEntry!=NULL)
{ {
ListHead->s.Next.Next = ListEntry->Next; ListHead->Next.Next = ListEntry->Next;
ListHead->s.Depth++; ListHead->Depth++;
ListHead->s.Sequence++; ListHead->Sequence++;
} }
return ListEntry; return ListEntry;
} }
@ -64,10 +64,10 @@ PushEntrySList (
PSINGLE_LIST_ENTRY Entry PSINGLE_LIST_ENTRY Entry
) )
{ {
Entry->Next = ListHead->s.Next.Next; Entry->Next = ListHead->Next.Next;
ListHead->s.Next.Next = Entry; ListHead->Next.Next = Entry;
ListHead->s.Depth++; ListHead->Depth++;
ListHead->s.Sequence++; ListHead->Sequence++;
} }

View file

@ -1,4 +1,4 @@
/* $Id: resource.c,v 1.25 2003/07/21 21:53:51 royce Exp $ /* $Id: resource.c,v 1.26 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -36,9 +36,9 @@
#define ResourceOwnedExclusive 0x80 #define ResourceOwnedExclusive 0x80
#define ResourceDisableBoost 0x08 #define ResourceDisableBoost 0x08
#ifdef __USE_W32API //#ifdef __USE_W32API
#define NONAMELESSUNION //#define NONAMELESSUNION
#endif //#endif
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
@ -125,7 +125,7 @@ ExAcquireResourceExclusiveLite (
&& Resource->OwnerThreads[0].OwnerThread == ExGetCurrentResourceThread()) && Resource->OwnerThreads[0].OwnerThread == ExGetCurrentResourceThread())
{ {
/* it's ok : same lock for same thread */ /* it's ok : same lock for same thread */
Resource->OwnerThreads[0].u.OwnerCount++; Resource->OwnerThreads[0].OwnerCount++;
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExAcquireResourceExclusiveLite() = TRUE\n"); DPRINT("ExAcquireResourceExclusiveLite() = TRUE\n");
return(TRUE); return(TRUE);
@ -162,7 +162,7 @@ ExAcquireResourceExclusiveLite (
Resource->Flag |= ResourceOwnedExclusive; Resource->Flag |= ResourceOwnedExclusive;
Resource->ActiveCount = 1; Resource->ActiveCount = 1;
Resource->OwnerThreads[0].OwnerThread = ExGetCurrentResourceThread(); Resource->OwnerThreads[0].OwnerThread = ExGetCurrentResourceThread();
Resource->OwnerThreads[0].u.OwnerCount = 1; Resource->OwnerThreads[0].OwnerCount = 1;
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExAcquireResourceExclusiveLite() = TRUE\n"); DPRINT("ExAcquireResourceExclusiveLite() = TRUE\n");
return(TRUE); return(TRUE);
@ -182,8 +182,8 @@ static BOOLEAN EiRemoveSharedOwner(PERESOURCE Resource,
if (Resource->OwnerThreads[1].OwnerThread == ResourceThreadId) if (Resource->OwnerThreads[1].OwnerThread == ResourceThreadId)
{ {
Resource->OwnerThreads[1].u.OwnerCount--; Resource->OwnerThreads[1].OwnerCount--;
if (Resource->OwnerThreads[1].u.OwnerCount == 0) if (Resource->OwnerThreads[1].OwnerCount == 0)
{ {
Resource->ActiveCount--; Resource->ActiveCount--;
Resource->OwnerThreads[1].OwnerThread = 0; Resource->OwnerThreads[1].OwnerThread = 0;
@ -197,12 +197,12 @@ static BOOLEAN EiRemoveSharedOwner(PERESOURCE Resource,
return(FALSE);; return(FALSE);;
} }
for (i=0; i<Resource->OwnerThreads[1].u.TableSize; i++) for (i=0; i<Resource->OwnerThreads[1].TableSize; i++)
{ {
if (Resource->OwnerTable[i].OwnerThread == ResourceThreadId) if (Resource->OwnerTable[i].OwnerThread == ResourceThreadId)
{ {
Resource->OwnerTable[i].u.OwnerCount--; Resource->OwnerTable[i].OwnerCount--;
if (Resource->OwnerTable[i].u.OwnerCount == 0) if (Resource->OwnerTable[i].OwnerCount == 0)
{ {
Resource->ActiveCount--; Resource->ActiveCount--;
Resource->OwnerTable[i].OwnerThread = 0; Resource->OwnerTable[i].OwnerThread = 0;
@ -232,7 +232,7 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
{ {
/* no owner, it's easy */ /* no owner, it's easy */
Resource->OwnerThreads[1].OwnerThread = ExGetCurrentResourceThread(); Resource->OwnerThreads[1].OwnerThread = ExGetCurrentResourceThread();
Resource->OwnerThreads[1].u.OwnerCount = 1; Resource->OwnerThreads[1].OwnerCount = 1;
if (Resource->OwnerTable != NULL) if (Resource->OwnerTable != NULL)
{ {
ExFreePool(Resource->OwnerTable); ExFreePool(Resource->OwnerTable);
@ -266,10 +266,10 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
sizeof(OWNER_ENTRY)); sizeof(OWNER_ENTRY));
Resource->OwnerThreads[1].OwnerThread = 0; Resource->OwnerThreads[1].OwnerThread = 0;
Resource->OwnerThreads[1].u.TableSize = 3; Resource->OwnerThreads[1].TableSize = 3;
Resource->OwnerTable[1].OwnerThread = CurrentThread; Resource->OwnerTable[1].OwnerThread = CurrentThread;
Resource->OwnerTable[1].u.OwnerCount = 1; Resource->OwnerTable[1].OwnerCount = 1;
Resource->ActiveCount++; Resource->ActiveCount++;
return(TRUE); return(TRUE);
@ -278,15 +278,15 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
DPRINT("Search free entries\n"); DPRINT("Search free entries\n");
DPRINT("Number of entries %d\n", DPRINT("Number of entries %d\n",
Resource->OwnerThreads[1].u.TableSize); Resource->OwnerThreads[1].TableSize);
freeEntry = NULL; freeEntry = NULL;
for (i=0; i<Resource->OwnerThreads[1].u.TableSize; i++) for (i=0; i<Resource->OwnerThreads[1].TableSize; i++)
{ {
if (Resource->OwnerTable[i].OwnerThread == CurrentThread) if (Resource->OwnerTable[i].OwnerThread == CurrentThread)
{ {
DPRINT("Thread already owns resource\n"); DPRINT("Thread already owns resource\n");
Resource->OwnerTable[i].u.OwnerCount++; Resource->OwnerTable[i].OwnerCount++;
return(TRUE); return(TRUE);
} }
if (Resource->OwnerTable[i].OwnerThread == 0) if (Resource->OwnerTable[i].OwnerThread == 0)
@ -306,7 +306,7 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
freeEntry = freeEntry =
ExAllocatePoolWithTag(NonPagedPool, ExAllocatePoolWithTag(NonPagedPool,
sizeof(OWNER_ENTRY)* sizeof(OWNER_ENTRY)*
(Resource->OwnerThreads[1].u.TableSize+1), (Resource->OwnerThreads[1].TableSize+1),
TAG_OWNER_TABLE); TAG_OWNER_TABLE);
if (freeEntry == NULL) if (freeEntry == NULL)
{ {
@ -314,15 +314,15 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
return(FALSE); return(FALSE);
} }
memcpy(freeEntry,Resource->OwnerTable, memcpy(freeEntry,Resource->OwnerTable,
sizeof(OWNER_ENTRY)*(Resource->OwnerThreads[1].u.TableSize)); sizeof(OWNER_ENTRY)*(Resource->OwnerThreads[1].TableSize));
ExFreePool(Resource->OwnerTable); ExFreePool(Resource->OwnerTable);
Resource->OwnerTable=freeEntry; Resource->OwnerTable=freeEntry;
freeEntry=&Resource->OwnerTable[Resource->OwnerThreads[1].u.TableSize]; freeEntry=&Resource->OwnerTable[Resource->OwnerThreads[1].TableSize];
Resource->OwnerThreads[1].u.TableSize++; Resource->OwnerThreads[1].TableSize++;
} }
DPRINT("Creating entry\n"); DPRINT("Creating entry\n");
freeEntry->OwnerThread=ExGetCurrentResourceThread(); freeEntry->OwnerThread=ExGetCurrentResourceThread();
freeEntry->u.OwnerCount=1; freeEntry->OwnerCount=1;
Resource->ActiveCount++; Resource->ActiveCount++;
return(TRUE); return(TRUE);
} }
@ -371,7 +371,7 @@ ExAcquireResourceSharedLite (
/* /*
* NOTE: Is this correct? Seems the same as ExConvertExclusiveToShared * NOTE: Is this correct? Seems the same as ExConvertExclusiveToShared
*/ */
Resource->OwnerThreads[0].u.OwnerCount++; Resource->OwnerThreads[0].OwnerCount++;
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExAcquireResourceSharedLite() = TRUE\n"); DPRINT("ExAcquireResourceSharedLite() = TRUE\n");
return(TRUE); return(TRUE);
@ -446,9 +446,9 @@ ExConvertExclusiveToSharedLite (
//transfer infos from entry 0 to entry 1 and erase entry 0 //transfer infos from entry 0 to entry 1 and erase entry 0
Resource->OwnerThreads[1].OwnerThread=Resource->OwnerThreads[0].OwnerThread; Resource->OwnerThreads[1].OwnerThread=Resource->OwnerThreads[0].OwnerThread;
Resource->OwnerThreads[1].u.OwnerCount=Resource->OwnerThreads[0].u.OwnerCount; Resource->OwnerThreads[1].OwnerCount=Resource->OwnerThreads[0].OwnerCount;
Resource->OwnerThreads[0].OwnerThread=0; Resource->OwnerThreads[0].OwnerThread=0;
Resource->OwnerThreads[0].u.OwnerCount=0; Resource->OwnerThreads[0].OwnerCount=0;
/* erase exclusive flag */ /* erase exclusive flag */
Resource->Flag &= (~ResourceOwnedExclusive); Resource->Flag &= (~ResourceOwnedExclusive);
/* if no shared waiters, that's all */ /* if no shared waiters, that's all */
@ -520,7 +520,7 @@ ExAcquireSharedStarveExclusive (
if (Resource->ActiveCount == 0) if (Resource->ActiveCount == 0)
{ {
Resource->OwnerThreads[1].OwnerThread=ExGetCurrentResourceThread(); Resource->OwnerThreads[1].OwnerThread=ExGetCurrentResourceThread();
Resource->OwnerThreads[1].u.OwnerCount=1; Resource->OwnerThreads[1].OwnerCount=1;
Resource->ActiveCount=1; Resource->ActiveCount=1;
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExAcquireSharedStarveExclusive() = TRUE\n"); DPRINT("ExAcquireSharedStarveExclusive() = TRUE\n");
@ -531,7 +531,7 @@ ExAcquireSharedStarveExclusive (
&& Resource->OwnerThreads[0].OwnerThread==ExGetCurrentResourceThread()) && Resource->OwnerThreads[0].OwnerThread==ExGetCurrentResourceThread())
{ {
/* exclusive, but by same thread : it's ok */ /* exclusive, but by same thread : it's ok */
Resource->OwnerThreads[0].u.OwnerCount++; Resource->OwnerThreads[0].OwnerCount++;
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExAcquireSharedStarveExclusive() = TRUE\n"); DPRINT("ExAcquireSharedStarveExclusive() = TRUE\n");
return(TRUE); return(TRUE);
@ -712,21 +712,21 @@ ExIsResourceAcquiredSharedLite(
ULONG i; ULONG i;
if (Resource->OwnerThreads[0].OwnerThread == ExGetCurrentResourceThread()) if (Resource->OwnerThreads[0].OwnerThread == ExGetCurrentResourceThread())
{ {
return(Resource->OwnerThreads[0].u.OwnerCount); return(Resource->OwnerThreads[0].OwnerCount);
} }
if (Resource->OwnerThreads[1].OwnerThread == ExGetCurrentResourceThread()) if (Resource->OwnerThreads[1].OwnerThread == ExGetCurrentResourceThread())
{ {
return(Resource->OwnerThreads[1].u.OwnerCount); return(Resource->OwnerThreads[1].OwnerCount);
} }
if (!Resource->OwnerThreads[1].u.TableSize) if (!Resource->OwnerThreads[1].TableSize)
{ {
return(0); return(0);
} }
for (i=0; i<Resource->OwnerThreads[1].u.TableSize; i++) for (i=0; i<Resource->OwnerThreads[1].TableSize; i++)
{ {
if (Resource->OwnerTable[i].OwnerThread==ExGetCurrentResourceThread()) if (Resource->OwnerTable[i].OwnerThread==ExGetCurrentResourceThread())
{ {
return Resource->OwnerTable[i].u.OwnerCount; return Resource->OwnerTable[i].OwnerCount;
} }
} }
return(0); return(0);
@ -754,9 +754,9 @@ ExReinitializeResourceLite (
ExFreePool(Resource->OwnerTable); ExFreePool(Resource->OwnerTable);
} }
Resource->OwnerThreads[0].OwnerThread=0; Resource->OwnerThreads[0].OwnerThread=0;
Resource->OwnerThreads[0].u.OwnerCount=0; Resource->OwnerThreads[0].OwnerCount=0;
Resource->OwnerThreads[1].OwnerThread=0; Resource->OwnerThreads[1].OwnerThread=0;
Resource->OwnerThreads[1].u.OwnerCount=0; Resource->OwnerThreads[1].OwnerCount=0;
} }
/* /*
@ -823,8 +823,8 @@ ExReleaseResourceForThreadLite (
{ {
DPRINT("Releasing from exclusive access\n"); DPRINT("Releasing from exclusive access\n");
Resource->OwnerThreads[0].u.OwnerCount--; Resource->OwnerThreads[0].OwnerCount--;
if (Resource->OwnerThreads[0].u.OwnerCount > 0) if (Resource->OwnerThreads[0].OwnerCount > 0)
{ {
KeReleaseSpinLock(&Resource->SpinLock, oldIrql); KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
DPRINT("ExReleaseResourceForThreadLite() finished\n"); DPRINT("ExReleaseResourceForThreadLite() finished\n");

View file

@ -1,4 +1,4 @@
/* $Id: filelock.c,v 1.10 2003/08/07 11:47:33 silverblade Exp $ /* $Id: filelock.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
* *
* reactos/ntoskrnl/fs/filelock.c * reactos/ntoskrnl/fs/filelock.c
* *
@ -6,6 +6,7 @@
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/ifs.h> #include <internal/ifs.h>
#include <ddk/ntifs.h> #include <ddk/ntifs.h>
#include <ntos.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>

View file

@ -1,4 +1,4 @@
/* $Id: notify.c,v 1.6 2003/07/10 06:27:13 royce Exp $ /* $Id: notify.c,v 1.7 2003/08/14 18:30:28 silverblade Exp $
* *
* reactos/ntoskrnl/fs/notify.c * reactos/ntoskrnl/fs/notify.c
* *
@ -144,23 +144,23 @@ FsRtlNotifyFullReportChange (
VOID VOID
STDCALL STDCALL
FsRtlNotifyInitializeSync ( FsRtlNotifyInitializeSync (
IN PNOTIFY_SYNC * NotifySync IN PNOTIFY_SYNC * NotifySync
) )
{ {
*NotifySync = NULL; *NotifySync = NULL;
*NotifySync = ExAllocatePoolWithTag ( *NotifySync = ExAllocatePoolWithTag (
0x10, // PoolType??? 0x10, // PoolType???
sizeof (NOTIFY_SYNC), // NumberOfBytes = 0x28 sizeof (NOTIFY_SYNC), // NumberOfBytes = 0x28
FSRTL_TAG FSRTL_TAG
); );
#if 0 #if 0
*NotifySync->Unknown0 = 1; *NotifySync->Unknown0 = 1;
*NotifySync->Unknown2 = 0; *NotifySync->Unknown2 = 0;
*NotifySync->Unknown3 = 1; *NotifySync->Unknown3 = 1;
*NotifySync->Unknown4 = 4; *NotifySync->Unknown4 = 4;
*NotifySync->Unknown5 = 0; *NotifySync->Unknown5 = 0;
*NotifySync->Unknown9 = 0; *NotifySync->Unknown9 = 0;
*NotifySync->Unknown10 = 0; *NotifySync->Unknown10 = 0;
#endif #endif
} }
@ -221,13 +221,13 @@ FsRtlNotifyReportChange (
VOID VOID
STDCALL STDCALL
FsRtlNotifyUninitializeSync ( FsRtlNotifyUninitializeSync (
IN OUT PNOTIFY_SYNC * NotifySync IN OUT PNOTIFY_SYNC * NotifySync
) )
{ {
if (NULL != *NotifySync) if (NULL != *NotifySync)
{ {
ExFreePool (*NotifySync); ExFreePool (*NotifySync);
*NotifySync = NULL; *NotifySync = NULL;
} }
} }

View file

@ -1,4 +1,4 @@
/* $Id: tunnel.c,v 1.5 2003/07/10 06:27:13 royce Exp $ /* $Id: tunnel.c,v 1.6 2003/08/14 18:30:28 silverblade Exp $
* *
* reactos/ntoskrnl/fs/tunnel.c * reactos/ntoskrnl/fs/tunnel.c
* *
@ -89,7 +89,7 @@ FsRtlDeleteTunnelCache (
* *
* @unimplemented * @unimplemented
*/ */
VOID BOOLEAN
STDCALL STDCALL
FsRtlFindInTunnelCache ( FsRtlFindInTunnelCache (
IN PTUNNEL Cache, IN PTUNNEL Cache,
@ -101,6 +101,7 @@ FsRtlFindInTunnelCache (
OUT PVOID Data OUT PVOID Data
) )
{ {
return FALSE;
} }

View file

@ -1,8 +1,9 @@
#ifndef __INCLUDE_INTERNAL_IFS_H #ifndef __INCLUDE_INTERNAL_IFS_H
#define __INCLUDE_INTERNAL_IFS_H #define __INCLUDE_INTERNAL_IFS_H
/* $Id: ifs.h,v 1.5 2003/01/25 15:52:43 hbirr Exp $ */ /* $Id: ifs.h,v 1.6 2003/08/14 18:30:28 silverblade Exp $ */
#include <ddk/ntifs.h> #include <ddk/ntifs.h>
#include <ntos.h>
/* Look for "FSrt" in mem view */ /* Look for "FSrt" in mem view */
#define IFS_POOL_TAG 0x74725346 #define IFS_POOL_TAG 0x74725346

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: io.h,v 1.32 2003/06/20 22:42:18 ekohl Exp $ /* $Id: io.h,v 1.33 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -33,6 +33,22 @@
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/ob.h> #include <internal/ob.h>
#ifndef __USE_W32API
#define DEVICE_TYPE_FROM_CTL_CODE(ctlCode) (((ULONG)(ctlCode&0xffff0000))>>16)
#endif
#define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003)
typedef struct _IO_COMPLETION_PACKET{
ULONG Key;
ULONG Overlapped;
IO_STATUS_BLOCK IoStatus;
LIST_ENTRY ListEntry;
} IO_COMPLETION_PACKET, *PIO_COMPLETION_PACKET;
typedef struct _DEVICE_NODE typedef struct _DEVICE_NODE
{ {
struct _DEVICE_NODE *Parent; struct _DEVICE_NODE *Parent;
@ -297,7 +313,7 @@ PIRP IoBuildSynchronousFsdRequestWithMdl(ULONG MajorFunction,
PLARGE_INTEGER StartingOffset, PLARGE_INTEGER StartingOffset,
PKEVENT Event, PKEVENT Event,
PIO_STATUS_BLOCK IoStatusBlock, PIO_STATUS_BLOCK IoStatusBlock,
ULONG PagingIo); BOOLEAN PagingIo);
VOID IoInitShutdownNotification(VOID); VOID IoInitShutdownNotification(VOID);
VOID IoShutdownRegisteredDevices(VOID); VOID IoShutdownRegisteredDevices(VOID);

View file

@ -1,4 +1,4 @@
/* $Id: adapter.c,v 1.8 2003/07/10 15:47:00 royce Exp $ /* $Id: adapter.c,v 1.9 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -12,6 +12,7 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <ddk/halfuncs.h>
#include <internal/debug.h> #include <internal/debug.h>
@ -19,7 +20,7 @@
POBJECT_TYPE EXPORTED IoAdapterObjectType = NULL; /* FIXME */ POBJECT_TYPE EXPORTED IoAdapterObjectType = NULL; /* FIXME */
POBJECT_TYPE EXPORTED IoDeviceHandlerObjectType = NULL; /* FIXME */ POBJECT_TYPE EXPORTED IoDeviceHandlerObjectType = NULL; /* FIXME */
USHORT EXPORTED IoDeviceHandlerObjectSize = 0; /* FIXME */ ULONG EXPORTED IoDeviceHandlerObjectSize = 0; /* FIXME */
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/

View file

@ -1,4 +1,4 @@
/* $Id: buildirp.c,v 1.33 2003/07/10 15:47:00 royce Exp $ /* $Id: buildirp.c,v 1.34 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -14,6 +14,7 @@
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/pool.h> #include <internal/pool.h>
#include <internal/io.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>

View file

@ -1,4 +1,4 @@
/* $Id: errlog.c,v 1.10 2003/07/10 15:47:00 royce Exp $ /* $Id: errlog.c,v 1.11 2003/08/14 18:30:28 silverblade Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -20,7 +20,7 @@
/* TYPES *********************************************************************/ /* TYPES *********************************************************************/
#ifndef __USE_W32API
typedef struct _IO_ERROR_LOG_PACKET typedef struct _IO_ERROR_LOG_PACKET
{ {
UCHAR MajorFunctionCode; UCHAR MajorFunctionCode;
@ -37,6 +37,7 @@ typedef struct _IO_ERROR_LOG_PACKET
LARGE_INTEGER DeviceOffset; LARGE_INTEGER DeviceOffset;
ULONG DumpData[1]; ULONG DumpData[1];
} IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET; } IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;
#endif
typedef struct _ERROR_LOG_ENTRY typedef struct _ERROR_LOG_ENTRY
{ {

View file

@ -15,6 +15,7 @@
#define NTOS_MODE_KERNEL #define NTOS_MODE_KERNEL
#include <ntos.h> #include <ntos.h>
//#include <ntos/synch.h> //#include <ntos/synch.h>
#include <internal/io.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>
@ -202,7 +203,7 @@ NtQueryIoCompletion(
NULL); NULL);
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
((PIO_COMPLETION_BASIC_INFORMATION)IoCompletionInformation)->SignalState = ((PIO_COMPLETION_BASIC_INFORMATION)IoCompletionInformation)->Depth =
Queue->Header.SignalState; Queue->Header.SignalState;
ObDereferenceObject(Queue); ObDereferenceObject(Queue);

View file

@ -12,6 +12,7 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/io.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>

View file

@ -11,6 +11,7 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/io.h>
#define NDEBUG #define NDEBUG
#include <internal/debug.h> #include <internal/debug.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
/* $Id: queue.c,v 1.8 2003/07/11 01:23:15 royce Exp $ /* $Id: queue.c,v 1.9 2003/08/14 18:30:28 silverblade Exp $
* *
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
* FILE: ntoskrnl/ke/queue.c * FILE: ntoskrnl/ke/queue.c
@ -29,6 +29,7 @@
/* INCLUDES *****************************************************************/ /* INCLUDES *****************************************************************/
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <ntos.h>
#include <internal/ke.h> #include <internal/ke.h>
#include <internal/id.h> #include <internal/id.h>
#include <internal/ps.h> #include <internal/ps.h>