Fixed more macros

Merged/moved/deleted some files

svn path=/trunk/; revision=1220
This commit is contained in:
Eric Kohl 2000-07-02 10:50:48 +00:00
parent ed53dc2acc
commit 73437d2939
19 changed files with 242 additions and 408 deletions

View file

@ -155,16 +155,24 @@ ExFreeToZone (
PZONE_HEADER Zone, PZONE_HEADER Zone,
PVOID Block PVOID Block
); );
/*
ERESOURCE_THREAD ERESOURCE_THREAD
STDCALL STDCALL
ExGetCurrentResourceThread ( ExGetCurrentResourceThread (
VOID VOID
); );
*/
#define ExGetCurrentResourceThread() \
((ERESOURCE_THREAD)PsGetCurrentThread())
ULONG ULONG
STDCALL STDCALL
ExGetExclusiveWaiterCount ( ExGetExclusiveWaiterCount (
PERESOURCE Resource PERESOURCE Resource
); );
ULONG ULONG
STDCALL STDCALL
ExGetSharedWaiterCount ( ExGetSharedWaiterCount (
@ -217,11 +225,15 @@ STDCALL
ExInitializeResourceLite ( ExInitializeResourceLite (
PERESOURCE Resource PERESOURCE Resource
); );
VOID
STDCALL /*
ExInitializeSListHead ( * VOID
PSLIST_HEADER SListHead * ExInitializeSListHead (
); * PSLIST_HEADER SListHead
* );
*/
#define ExInitializeSListHead(ListHead) \
(ListHead)->Alignment = 0
/* /*
* VOID * VOID
@ -230,6 +242,15 @@ ExInitializeSListHead (
* PWORKER_THREAD_ROUTINE Routine, * PWORKER_THREAD_ROUTINE Routine,
* PVOID Context * PVOID Context
* ); * );
*
* FUNCTION:
* Initializes a work item to be processed by one of the system
* worker threads
*
* ARGUMENTS:
* Item = Pointer to the item to be initialized
* Routine = Routine to be called by the worker thread
* Context = Parameter to be passed to the callback
*/ */
#define ExInitializeWorkItem(Item, Routine, Context) \ #define ExInitializeWorkItem(Item, Routine, Context) \
ASSERT_IRQL(DISPATCH_LEVEL); \ ASSERT_IRQL(DISPATCH_LEVEL); \
@ -381,11 +402,16 @@ ExLocalTimeToSystemTime (
PLARGE_INTEGER LocalTime, PLARGE_INTEGER LocalTime,
PLARGE_INTEGER SystemTime PLARGE_INTEGER SystemTime
); );
USHORT
STDCALL /*
ExQueryDepthSListHead ( * USHORT
PSLIST_HEADER SListHead * ExQueryDepthSListHead (
); * PSLIST_HEADER SListHead
* );
*/
#define ExQueryDepthSListHead(ListHead) \
(USHORT)(ListHead)->Depth
VOID VOID
STDCALL STDCALL
ExQueueWorkItem ( ExQueueWorkItem (
@ -424,11 +450,16 @@ FASTCALL
ExReleaseFastMutexUnsafe ( ExReleaseFastMutexUnsafe (
PFAST_MUTEX Mutex PFAST_MUTEX Mutex
); );
/*
VOID VOID
STDCALL STDCALL
ExReleaseResource ( ExReleaseResource (
PERESOURCE Resource PERESOURCE Resource
); );
*/
#define ExReleaseResource(Resource) \
(ExReleaseResourceLite (Resource))
VOID VOID
STDCALL STDCALL
ExReleaseResourceLite ( ExReleaseResourceLite (
@ -509,11 +540,6 @@ InterlockedIncrement (
PLONG Addend PLONG Addend
); );
VOID
RemoveEntryFromList (
PLIST_ENTRY ListHead,
PLIST_ENTRY Entry
);
/*---*/ /*---*/
typedef typedef

View file

@ -1,6 +1,15 @@
#ifndef __INCLUDE_DDK_KEDEF_H #ifndef __INCLUDE_DDK_KEDEF_H
#define __INCLUDE_DDK_KEDEF_H #define __INCLUDE_DDK_KEDEF_H
typedef enum _KBUGCHECK_BUFFER_DUMP_STATE
{
BufferEmpty,
BufferInserted,
BufferStarted,
BufferFinished,
BufferIncomplete
}KBUGCHECK_BUFFER_DUMP_STATE;
typedef enum _KINTERRUPT_MODE typedef enum _KINTERRUPT_MODE
{ {
LevelSensitive, LevelSensitive,

View file

@ -138,7 +138,14 @@ KeGetCurrentIrql (
VOID VOID
); );
ULONG KeGetCurrentProcessorNumber(VOID); /*
* ULONG
* KeGetCurrentProcessorNumber(VOID);
*/
/*
* FIXME: This should be an inline function on x86 systems
*/
#define KeGetCurrentProcessorNumber() 0UL
PKTHREAD PKTHREAD
STDCALL STDCALL
@ -173,8 +180,14 @@ KeInitializeApc (
PVOID Context PVOID Context
); );
/*
VOID KeInitializeCallbackRecord(PKBUGCHECK_CALLBACK_RECORD CallbackRecord); * VOID
* KeInitializeCallbackRecord (
* PKBUGCHECK_CALLBACK_RECORD CallbackRecord
* );
*/
#define KeInitializeCallbackRecord(CallbackRecord) \
(CallbackRecord)->State = BufferEmpty
VOID VOID
STDCALL STDCALL
@ -525,15 +538,6 @@ KeWaitForSingleObject (
); );
/*
* FUNCTION: Sets the current irql without altering the current processor
* state
* ARGUMENTS:
* newlvl = IRQ level to set
* NOTE: This is for internal use only
*/
//VOID KeSetCurrentIrql(KIRQL newlvl);
// io permission map has a 8k size // io permission map has a 8k size
// Each bit in the IOPM corresponds to an io port byte address. The bitmap // Each bit in the IOPM corresponds to an io port byte address. The bitmap

View file

@ -161,7 +161,7 @@ typedef struct _KAPC
BOOLEAN Inserted; BOOLEAN Inserted;
} KAPC, *PKAPC; } KAPC, *PKAPC;
typedef struct typedef struct _KBUGCHECK_CALLBACK_RECORD
{ {
LIST_ENTRY Entry; LIST_ENTRY Entry;
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine; PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;

View file

@ -1,4 +1,4 @@
/* $Id: rtl.h,v 1.36 2000/06/29 23:35:12 dwelch Exp $ /* $Id: rtl.h,v 1.37 2000/07/02 10:46:35 ekohl Exp $
* *
*/ */
@ -235,7 +235,9 @@ extern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG;
* PLIST_ENTRY Entry * PLIST_ENTRY Entry
* ); * );
* *
* FUNCTION: Inserts an entry in a double linked list * FUNCTION:
* Inserts an entry in a double linked list
*
* ARGUMENTS: * ARGUMENTS:
* ListHead = Head of the list * ListHead = Head of the list
* Entry = Entry to insert * Entry = Entry to insert
@ -271,10 +273,21 @@ extern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG;
((ListHead)->Flink == (ListHead)) ((ListHead)->Flink == (ListHead))
PSINGLE_LIST_ENTRY /*
PopEntryList ( * PSINGLE_LIST_ENTRY
PSINGLE_LIST_ENTRY ListHead * PopEntryList (
); * PSINGLE_LIST_ENTRY ListHead
* );
*
* FUNCTION:
* Removes an entry from the head of a single linked list
*
* ARGUMENTS:
* ListHead = Head of the list
*
* RETURNS:
* The removed entry
*/
/* /*
#define PopEntryList(ListHead) \ #define PopEntryList(ListHead) \
(ListHead)->Next; \ (ListHead)->Next; \
@ -287,17 +300,47 @@ PopEntryList (
} \ } \
} }
*/ */
static
inline
PSINGLE_LIST_ENTRY
PopEntryList (
PSINGLE_LIST_ENTRY ListHead
)
{
PSINGLE_LIST_ENTRY ListEntry;
ListEntry = ListHead->Next;
if (ListEntry!=NULL)
{
ListHead->Next = ListEntry->Next;
}
return ListEntry;
}
/*
VOID VOID
PushEntryList ( PushEntryList (
PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY Entry PSINGLE_LIST_ENTRY Entry
); );
*/
/* /*
#define PushEntryList(ListHead,Entry) \ #define PushEntryList(ListHead,Entry) \
(Entry)->Next = (ListHead)->Next; \ (Entry)->Next = (ListHead)->Next; \
(ListHead)->Next = (Entry) (ListHead)->Next = (Entry)
*/ */
static
inline
VOID
PushEntryList (
PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY Entry
)
{
Entry->Next = ListHead->Next;
ListHead->Next = Entry;
}
/* /*
@ -388,6 +431,7 @@ RemoveHeadList (
* *
* ARGUMENTS: * ARGUMENTS:
* ListHead = Head of the list * ListHead = Head of the list
*
* RETURNS: * RETURNS:
* The removed entry * The removed entry
*/ */

View file

@ -1,9 +1,10 @@
/* $Id: list.c,v 1.7 2000/06/18 15:21:53 ekohl Exp $ /* $Id: list.c,v 1.1 2000/07/02 10:48:31 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
* FILE: ntoskrnl/rtl/list.c * FILE: ntoskrnl/ex/list.c
* PURPOSE: Manages linked lists * PURPOSE: Manages double linked lists, single linked lists and
* sequenced lists
* PROGRAMMER: David Welch (welch@mcmail.com) * PROGRAMMER: David Welch (welch@mcmail.com)
*/ */
@ -16,73 +17,6 @@
/* FUNCTIONS *************************************************************/ /* FUNCTIONS *************************************************************/
#if 0
static BOOLEAN CheckEntry(PLIST_ENTRY ListEntry)
{
assert(ListEntry!=NULL);
assert(ListEntry->Blink!=NULL);
assert(ListEntry->Blink->Flink==ListEntry);
assert(ListEntry->Flink!=NULL);
assert(ListEntry->Flink->Blink==ListEntry);
return(TRUE);
}
PLIST_ENTRY RemoveTailList(PLIST_ENTRY ListHead)
/*
* FUNCTION: Remove the tail entry from a double linked list
* ARGUMENTS:
* ListHead = Head of the list to remove from
* RETURNS: The removed entry
*/
{
PLIST_ENTRY Old = ListHead->Blink;
RemoveEntryList(ListHead->Blink);
return(Old);
}
PLIST_ENTRY RemoveHeadList(PLIST_ENTRY ListHead)
{
PLIST_ENTRY Old;
DPRINT("RemoveHeadList(ListHead %x)\n",ListHead);
assert(CheckEntry(ListHead));
Old = ListHead->Flink;
RemoveEntryList(ListHead->Flink);
DPRINT("RemoveHeadList()\n");
return(Old);
}
#endif
PLIST_ENTRY
STDCALL
ExInterlockedInsertTailList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
PLIST_ENTRY Old;
KIRQL oldlvl;
KeAcquireSpinLock(Lock,&oldlvl);
if (IsListEmpty(ListHead))
{
Old = NULL;
}
else
{
Old = ListHead->Blink;
}
InsertTailList(ListHead,ListEntry);
KeReleaseSpinLock(Lock,oldlvl);
return(Old);
}
PLIST_ENTRY PLIST_ENTRY
STDCALL STDCALL
@ -119,6 +53,33 @@ ExInterlockedInsertHeadList (
} }
PLIST_ENTRY
STDCALL
ExInterlockedInsertTailList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
PLIST_ENTRY Old;
KIRQL oldlvl;
KeAcquireSpinLock(Lock,&oldlvl);
if (IsListEmpty(ListHead))
{
Old = NULL;
}
else
{
Old = ListHead->Blink;
}
InsertTailList(ListHead,ListEntry);
KeReleaseSpinLock(Lock,oldlvl);
return(Old);
}
PLIST_ENTRY PLIST_ENTRY
STDCALL STDCALL
ExInterlockedRemoveHeadList ( ExInterlockedRemoveHeadList (
@ -178,4 +139,63 @@ ExInterlockedRemoveTailList (
return(ret); return(ret);
} }
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPopEntrySList (
PSLIST_HEADER ListHead,
PKSPIN_LOCK Lock
)
{
UNIMPLEMENTED;
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPushEntrySList (
PSLIST_HEADER ListHead,
PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
UNIMPLEMENTED;
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPopEntryList (
PSINGLE_LIST_ENTRY ListHead,
PKSPIN_LOCK Lock
)
{
PSINGLE_LIST_ENTRY ret;
KIRQL oldlvl;
KeAcquireSpinLock(Lock,&oldlvl);
ret = PopEntryList(ListHead);
KeReleaseSpinLock(Lock,oldlvl);
return(ret);
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPushEntryList (
PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
KIRQL oldlvl;
PSINGLE_LIST_ENTRY ret;
KeAcquireSpinLock(Lock,&oldlvl);
ret=ListHead->Next;
PushEntryList(ListHead,ListEntry);
KeReleaseSpinLock(Lock,oldlvl);
return(ret);
}
/* EOF */ /* EOF */

View file

@ -1,8 +1,8 @@
/* $Id: lookas.c,v 1.2 2000/06/07 13:05:09 ekohl Exp $ /* $Id: lookas.c,v 1.1 2000/07/02 10:48:31 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
* FILE: ntoskrnl/rtl/lookas.c * FILE: ntoskrnl/ex/lookas.c
* PURPOSE: Lookaside lists * PURPOSE: Lookaside lists
* PROGRAMMER: David Welch (welch@mcmail.com) * PROGRAMMER: David Welch (welch@mcmail.com)
* UPDATE HISTORY: * UPDATE HISTORY:

View file

@ -1,4 +1,4 @@
/* $Id: resource.c,v 1.12 2000/06/07 13:04:34 ekohl Exp $ /* $Id: resource.c,v 1.13 2000/07/02 10:48:31 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -536,15 +536,6 @@ ExDeleteResourceLite (
return(STATUS_SUCCESS);; return(STATUS_SUCCESS);;
} }
ERESOURCE_THREAD
STDCALL
ExGetCurrentResourceThread (
VOID
)
{
return((ERESOURCE_THREAD)PsGetCurrentThread());
}
ULONG ULONG
STDCALL STDCALL
ExGetSharedWaiterCount ( ExGetSharedWaiterCount (
@ -674,15 +665,6 @@ ExReleaseResourceLite (
ExGetCurrentResourceThread())); ExGetCurrentResourceThread()));
} }
VOID
STDCALL
ExReleaseResource (
PERESOURCE Resource
)
{
return ExReleaseResourceForThreadLite(Resource,ExGetCurrentResourceThread());
}
VOID VOID
STDCALL STDCALL
ExReleaseResourceForThread ( ExReleaseResourceForThread (

View file

@ -1,26 +0,0 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ex/stamp.c
* PURPOSE: Versioning
* PROGRAMMER: David Welch (welch@mcmail.com)
* UPDATE HISTORY:
* Created 22/05/98
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <internal/debug.h>
/* GLOBALS ******************************************************************/
static ULONG TimeStamp = 0;
/* FUNCTIONS *****************************************************************/
ULONG ExGetTimeStamp(VOID)
{
return(InterlockedIncrement(&TimeStamp));
}

View file

@ -1,4 +1,4 @@
/* $Id: work.c,v 1.6 2000/06/09 20:02:59 ekohl Exp $ /* $Id: work.c,v 1.7 2000/07/02 10:48:31 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -135,32 +135,6 @@ VOID ExInitializeWorkerThreads(VOID)
HIGH_PRIORITY); HIGH_PRIORITY);
} }
#if 0
VOID
STDCALL
ExInitializeWorkItem (
PWORK_QUEUE_ITEM Item,
PWORKER_THREAD_ROUTINE Routine,
PVOID Context
)
/*
* FUNCTION: Initializes a work item to be processed by one of the system
* worker threads
* ARGUMENTS:
* Item = Pointer to the item to be initialized
* Routine = Routine to be called by the worker thread
* Context = Parameter to be passed to the callback
*/
{
ASSERT_IRQL(DISPATCH_LEVEL);
Item->Routine = Routine;
Item->Context = Context;
Item->Entry.Flink = NULL;
Item->Entry.Blink = NULL;
}
#endif
VOID VOID
STDCALL STDCALL
ExQueueWorkItem ( ExQueueWorkItem (

View file

@ -1,4 +1,4 @@
/* $Id: zone.c,v 1.3 2000/06/07 13:04:53 ekohl Exp $ /* $Id: zone.c,v 1.1 2000/07/02 10:48:31 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel

View file

@ -1,4 +1,4 @@
/* $Id: mp.c,v 1.4 2000/04/05 15:49:52 ekohl Exp $ /* $Id: mp.c,v 1.5 2000/07/02 10:49:04 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -17,14 +17,6 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
ULONG KeGetCurrentProcessorNumber(VOID)
/*
* FUNCTION: Returns the system assigned number of the current processor
*/
{
return(0);
}
VOID VOID
STDCALL STDCALL
HalInitializeProcessor ( HalInitializeProcessor (

View file

@ -1,4 +1,4 @@
/* $Id: bug.c,v 1.12 2000/07/01 18:26:10 ekohl Exp $ /* $Id: bug.c,v 1.13 2000/07/02 10:49:30 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -41,11 +41,6 @@ KeDeregisterBugCheckCallback (
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID KeInitializeCallbackRecord(PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
{
UNIMPLEMENTED;
}
BOOLEAN BOOLEAN
STDCALL STDCALL
KeRegisterBugCheckCallback ( KeRegisterBugCheckCallback (

View file

@ -1,4 +1,4 @@
# $Id: makefile_rex,v 1.76 2000/06/30 22:50:53 ekohl Exp $ # $Id: makefile_rex,v 1.77 2000/07/02 10:47:28 ekohl Exp $
# #
# ReactOS Operating System # ReactOS Operating System
# #
@ -41,8 +41,6 @@ OBJECTS_RTL = \
rtl/ctype.o \ rtl/ctype.o \
rtl/interlck.o \ rtl/interlck.o \
rtl/largeint.o \ rtl/largeint.o \
rtl/list.o \
rtl/lookas.o \
rtl/mem.o \ rtl/mem.o \
rtl/memchr.o \ rtl/memchr.o \
rtl/memcpy.o \ rtl/memcpy.o \
@ -51,8 +49,6 @@ OBJECTS_RTL = \
rtl/nls.o \ rtl/nls.o \
rtl/qsort.o \ rtl/qsort.o \
rtl/regio.o \ rtl/regio.o \
rtl/return.o \
rtl/slist.o \
rtl/sprintf.o \ rtl/sprintf.o \
rtl/stdlib.o \ rtl/stdlib.o \
rtl/string.o \ rtl/string.o \
@ -110,7 +106,6 @@ OBJECTS_MM = \
mm/ppool.o \ mm/ppool.o \
mm/section.o \ mm/section.o \
mm/virtual.o \ mm/virtual.o \
mm/zone.o \
mm/pager.o \ mm/pager.o \
# mm/kmap.o # mm/kmap.o
@ -182,14 +177,16 @@ OBJECTS_EX = \
ex/fmutex.o \ ex/fmutex.o \
ex/init.o \ ex/init.o \
ex/interlck.o \ ex/interlck.o \
ex/list.o \
ex/locale.o \ ex/locale.o \
ex/lookas.o \
ex/napi.o \ ex/napi.o \
ex/power.o \ ex/power.o \
ex/resource.o \ ex/resource.o \
ex/time.o \ ex/time.o \
ex/stamp.o \
ex/sysinfo.o \ ex/sysinfo.o \
ex/work.o ex/work.o \
ex/zone.o
# Installable File System Run-Time Library (FsRtl) # Installable File System Run-Time Library (FsRtl)
OBJECTS_FS = \ OBJECTS_FS = \

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.78 2000/07/01 18:22:14 ekohl Exp $ ; $Id: ntoskrnl.def,v 1.79 2000/07/02 10:47:28 ekohl Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -23,7 +23,6 @@ ExAcquireSharedStarveExclusive@8
ExAcquireSharedWaitForExclusive@8 ExAcquireSharedWaitForExclusive@8
ExAllocateFromNPagedLookasideList@4 ExAllocateFromNPagedLookasideList@4
ExAllocateFromPagedLookasideList@4 ExAllocateFromPagedLookasideList@4
ExAllocateFromZone@4
ExAllocatePool@8 ExAllocatePool@8
ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag@12 ExAllocatePoolWithQuotaTag@12
@ -41,8 +40,6 @@ ExExtendZone@12
ExFreePool@4 ExFreePool@4
ExFreeToNPagedLookasideList@8 ExFreeToNPagedLookasideList@8
ExFreeToPagedLookasideList@8 ExFreeToPagedLookasideList@8
ExFreeToZone@8
ExGetCurrentResourceThread@0
ExGetExclusiveWaiterCount@4 ExGetExclusiveWaiterCount@4
;ExGetPreviousMode ;ExGetPreviousMode
ExGetSharedWaiterCount@4 ExGetSharedWaiterCount@4
@ -50,18 +47,14 @@ ExInitializeNPagedLookasideList
ExInitializePagedLookasideList ExInitializePagedLookasideList
ExInitializeResource@4 ExInitializeResource@4
ExInitializeResourceLite@4 ExInitializeResourceLite@4
;FIXME: ExInitializeSListHead is a macro!
ExInitializeSListHead@4
ExInitializeZone@16 ExInitializeZone@16
ExInterlockedAddLargeInteger@16 ExInterlockedAddLargeInteger@16
;ExInterlockedAddLargeStatistic ;ExInterlockedAddLargeStatistic
ExInterlockedAddUlong@12 ExInterlockedAddUlong@12
ExInterlockedAllocateFromZone@8
;ExInterlockedCompareExchange64 ;ExInterlockedCompareExchange64
ExInterlockedDecrementLong@8 ExInterlockedDecrementLong@8
ExInterlockedExchangeUlong@12 ExInterlockedExchangeUlong@12
ExInterlockedExtendZone@16 ExInterlockedExtendZone@16
ExInterlockedFreeToZone@12
ExInterlockedIncrementLong@8 ExInterlockedIncrementLong@8
ExInterlockedInsertHeadList@12 ExInterlockedInsertHeadList@12
ExInterlockedInsertTailList@12 ExInterlockedInsertTailList@12
@ -70,8 +63,6 @@ ExInterlockedPopEntrySList@8
ExInterlockedPushEntryList@12 ExInterlockedPushEntryList@12
ExInterlockedPushEntrySList@12 ExInterlockedPushEntrySList@12
ExInterlockedRemoveHeadList@8 ExInterlockedRemoveHeadList@8
ExIsFullZone@4
ExIsObjectInFirstZoneSegment@8
;ExIsProcessorFeaturePresent ;ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusiveLite@4 ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite@4 ExIsResourceAcquiredSharedLite@4
@ -79,18 +70,18 @@ ExLocalTimeToSystemTime@8
;ExNotifyCallback ;ExNotifyCallback
;ExPostSystemEvent ;ExPostSystemEvent
;ExQueryPoolBlockSize ;ExQueryPoolBlockSize
ExQueryDepthSListHead@4
ExQueueWorkItem@8 ExQueueWorkItem@8
ExRaiseAccessViolation@0 ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment@0 ExRaiseDatatypeMisalignment@0
;ExRaiseException
;ExRaiseHardError
ExRaiseStatus@4 ExRaiseStatus@4
;ExRegisterCallback ;ExRegisterCallback
ExReinitializeResourceLite@4 ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe@4 ExReleaseFastMutexUnsafe@4
ExReleaseResource@4
ExReleaseResourceLite@4
ExReleaseResourceForThread@8 ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite@8 ExReleaseResourceForThreadLite@8
ExReleaseResourceLite@4
;ExSetResourceOwnerPointer ;ExSetResourceOwnerPointer
;ExSystemExceptionFilter ;ExSystemExceptionFilter
ExSystemTimeToLocalTime@8 ExSystemTimeToLocalTime@8
@ -1013,6 +1004,12 @@ wctomb
; ;
; ReactOS Extensions (these should be macros!) ; ReactOS Extensions (these should be macros!)
; ;
ExAllocateFromZone@4
ExFreeToZone@8
ExInterlockedAllocateFromZone@8
ExInterlockedFreeToZone@12
ExIsFullZone@4
ExIsObjectInFirstZoneSegment@8
MmGetSystemAddressForMdl MmGetSystemAddressForMdl
; ;
; ;

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.65 2000/07/01 18:22:14 ekohl Exp $ ; $Id: ntoskrnl.edf,v 1.66 2000/07/02 10:47:28 ekohl Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -23,7 +23,6 @@ ExAcquireSharedStarveExclusive=ExAcquireSharedStarveExclusive@8
ExAcquireSharedWaitForExclusive=ExAcquireSharedWaitForExclusive@8 ExAcquireSharedWaitForExclusive=ExAcquireSharedWaitForExclusive@8
ExAllocateFromNPagedLookasideList=ExAllocateFromNPagedLookasideList@4 ExAllocateFromNPagedLookasideList=ExAllocateFromNPagedLookasideList@4
ExAllocateFromPagedLookasideList=ExAllocateFromPagedLookasideList@4 ExAllocateFromPagedLookasideList=ExAllocateFromPagedLookasideList@4
ExAllocateFromZone=ExAllocateFromZone@4
ExAllocatePool=ExAllocatePool@8 ExAllocatePool=ExAllocatePool@8
ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12 ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12
@ -41,8 +40,6 @@ ExExtendZone=ExExtendZone@12
ExFreePool=ExFreePool@4 ExFreePool=ExFreePool@4
ExFreeToNPagedLookasideList=ExFreeToNPagedLookasideList@8 ExFreeToNPagedLookasideList=ExFreeToNPagedLookasideList@8
ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8 ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8
ExFreeToZone=ExFreeToZone@8
ExGetCurrentResourceThread=ExGetCurrentResourceThread@0
ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4 ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4
;ExGetPreviousMode ;ExGetPreviousMode
ExGetSharedWaiterCount=ExGetSharedWaiterCount@4 ExGetSharedWaiterCount=ExGetSharedWaiterCount@4
@ -50,17 +47,14 @@ ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28
ExInitializePagedLookasideList=ExInitializePagedLookasideList@28 ExInitializePagedLookasideList=ExInitializePagedLookasideList@28
ExInitializeResource=ExInitializeResource@4 ExInitializeResource=ExInitializeResource@4
ExInitializeResourceLite=ExInitializeResourceLite@4 ExInitializeResourceLite=ExInitializeResourceLite@4
ExInitializeSListHead=ExInitializeSListHead@4
ExInitializeZone=ExInitializeZone@16 ExInitializeZone=ExInitializeZone@16
ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16 ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16
;ExInterlockedAddLargeStatistic ;ExInterlockedAddLargeStatistic
ExInterlockedAddUlong=ExInterlockedAddUlong@12 ExInterlockedAddUlong=ExInterlockedAddUlong@12
ExInterlockedAllocateFromZone=ExInterlockedAllocateFromZone@8
;ExInterlockedCompareExchange64 ;ExInterlockedCompareExchange64
ExInterlockedDecrementLong=ExInterlockedDecrementLong@8 ExInterlockedDecrementLong=ExInterlockedDecrementLong@8
ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12 ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12
ExInterlockedExtendZone=ExInterlockedExtendZone@16 ExInterlockedExtendZone=ExInterlockedExtendZone@16
ExInterlockedFreeToZone=ExInterlockedFreeToZone@12
ExInterlockedIncrementLong=ExInterlockedIncrementLong@8 ExInterlockedIncrementLong=ExInterlockedIncrementLong@8
ExInterlockedInsertHeadList=ExInterlockedInsertHeadList@12 ExInterlockedInsertHeadList=ExInterlockedInsertHeadList@12
ExInterlockedInsertTailList=ExInterlockedInsertTailList@12 ExInterlockedInsertTailList=ExInterlockedInsertTailList@12
@ -69,8 +63,6 @@ ExInterlockedPopEntrySList=ExInterlockedPopEntrySList@8
ExInterlockedPushEntryList=ExInterlockedPushEntryList@12 ExInterlockedPushEntryList=ExInterlockedPushEntryList@12
ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12 ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12
ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8 ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8
ExIsFullZone=ExIsFullZone@4
ExIsObjectInFirstZoneSegment=ExIsObjectInFirstZoneSegment@8
;ExIsProcessorFeaturePresent ;ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4 ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4 ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4
@ -78,7 +70,6 @@ ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8
;ExNotifyCallback ;ExNotifyCallback
;ExPostSystemEvent ;ExPostSystemEvent
;ExQueryPoolBlockSize ;ExQueryPoolBlockSize
ExQueryDepthSListHead=ExQueryDepthSListHead@4
ExQueueWorkItem=ExQueueWorkItem@8 ExQueueWorkItem=ExQueueWorkItem@8
ExRaiseAccessViolation=ExRaiseAccessViolation@0 ExRaiseAccessViolation=ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0 ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
@ -86,10 +77,9 @@ ExRaiseStatus=ExRaiseStatus@4
;ExRegisterCallback ;ExRegisterCallback
ExReinitializeResourceLite=ExReinitializeResourceLite@4 ExReinitializeResourceLite=ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4 ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
ExReleaseResource=ExReleaseResource@4
ExReleaseResourceLite=ExReleaseResourceLite@4
ExReleaseResourceForThread=ExReleaseResourceForThread@8 ExReleaseResourceForThread=ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8 ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8
ExReleaseResourceLite=ExReleaseResourceLite@4
;ExSetResourceOwnerPointer ;ExSetResourceOwnerPointer
;ExSystemExceptionFilter ;ExSystemExceptionFilter
ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8 ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8
@ -950,6 +940,12 @@ wctomb
; ;
; ReactOS Extensions ; ReactOS Extensions
; ;
ExAllocateFromZone=ExAllocateFromZone@4
ExFreeToZone=ExFreeToZone@8
ExInterlockedAllocateFromZone=ExInterlockedAllocateFromZone@8
ExInterlockedFreeToZone=ExInterlockedFreeToZone@12
ExIsFullZone=ExIsFullZone@4
ExIsObjectInFirstZoneSegment=ExIsObjectInFirstZoneSegment@8
MmGetSystemAddressForMdl MmGetSystemAddressForMdl
; ;
; ;

View file

@ -1,18 +0,0 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: kernel/base/bug.c
* PURPOSE: Graceful system shutdown if a bug is detected
* PROGRAMMER: David Welch (welch@mcmail.com)
* UPDATE HISTORY:
* Created 22/05/98
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <internal/debug.h>
/* FUNCTIONS *****************************************************************/

View file

@ -1,37 +0,0 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/rtl/seqlist.c
* PURPOSE: Implementing sequenced lists
* PROGRAMMER: David Welch (welch@cwcom.net)
* REVISION HISTORY:
* 28/06/98: Created
*/
/* INCLUDES ***************************************************************/
#include <ddk/ntddk.h>
/* TYPES ********************************************************************/
typedef union _SLIST_HEADER
{
ULONGLONG Alignment;
struct
{
SINGLE_LIST_ENTRY Next;
USHORT Depth;
USHORT Sequence;
} s;
} SLIST_HEADER, *PSLIST_HEADER;
/* FUNCTIONS ****************************************************************/
VOID ExInitializeSListHead(PSLIST_HEADER SListHead)
{
SListHead->s.Next.Next=NULL;
SListHead->s.Depth = 0;
SListHead->s.Sequence = 0;
}

View file

@ -1,121 +0,0 @@
/* $Id: slist.c,v 1.3 2000/06/07 13:05:09 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS project
* FILE: kernel/rtl/slist.c
* PURPOSE: Implements single linked lists
* PROGRAMMER: David Welch (welch@mcmail.com)
* REVISION HISTORY:
* 28/06/98: Created
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include <internal/debug.h>
/* FUNCTIONS ****************************************************************/
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPopEntrySList (
PSLIST_HEADER ListHead,
PKSPIN_LOCK Lock
)
{
UNIMPLEMENTED;
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPushEntrySList (
PSLIST_HEADER ListHead,
PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
UNIMPLEMENTED;
}
USHORT
STDCALL
ExQueryDepthSListHead (
PSLIST_HEADER SListHead
)
{
UNIMPLEMENTED;
}
VOID
STDCALL
ExInitializeSListHead (
PSLIST_HEADER SListHead
)
{
UNIMPLEMENTED;
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPopEntryList (
PSINGLE_LIST_ENTRY ListHead,
PKSPIN_LOCK Lock
)
{
PSINGLE_LIST_ENTRY ret;
KIRQL oldlvl;
KeAcquireSpinLock(Lock,&oldlvl);
ret = PopEntryList(ListHead);
KeReleaseSpinLock(Lock,oldlvl);
return(ret);
}
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPushEntryList (
PSINGLE_LIST_ENTRY ListHead,
PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock
)
{
KIRQL oldlvl;
PSINGLE_LIST_ENTRY ret;
KeAcquireSpinLock(Lock,&oldlvl);
ret=ListHead->Next;
PushEntryList(ListHead,ListEntry);
KeReleaseSpinLock(Lock,oldlvl);
return(ret);
}
PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead)
/*
* FUNCTION: Removes an entry from the head of a single linked list
* ARGUMENTS:
* ListHead = Head of the list
* RETURNS: The removed entry
*/
{
PSINGLE_LIST_ENTRY ListEntry = ListHead->Next;
if (ListEntry!=NULL)
{
ListHead->Next = ListEntry->Next;
}
return(ListEntry);
}
VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry)
{
Entry->Next = ListHead->Next;
ListHead->Next = Entry;
}
/* EOF */