diff --git a/reactos/include/ddk/exfuncs.h b/reactos/include/ddk/exfuncs.h index 671084dda61..13ff46652ba 100644 --- a/reactos/include/ddk/exfuncs.h +++ b/reactos/include/ddk/exfuncs.h @@ -155,16 +155,24 @@ ExFreeToZone ( PZONE_HEADER Zone, PVOID Block ); + +/* ERESOURCE_THREAD STDCALL ExGetCurrentResourceThread ( VOID ); +*/ +#define ExGetCurrentResourceThread() \ + ((ERESOURCE_THREAD)PsGetCurrentThread()) + + ULONG STDCALL ExGetExclusiveWaiterCount ( PERESOURCE Resource ); + ULONG STDCALL ExGetSharedWaiterCount ( @@ -217,11 +225,15 @@ STDCALL ExInitializeResourceLite ( PERESOURCE Resource ); -VOID -STDCALL -ExInitializeSListHead ( - PSLIST_HEADER SListHead - ); + +/* + * VOID + * ExInitializeSListHead ( + * PSLIST_HEADER SListHead + * ); +*/ +#define ExInitializeSListHead(ListHead) \ + (ListHead)->Alignment = 0 /* * VOID @@ -230,8 +242,17 @@ ExInitializeSListHead ( * 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 */ -#define ExInitializeWorkItem (Item, Routine, Context) \ +#define ExInitializeWorkItem(Item, Routine, Context) \ ASSERT_IRQL(DISPATCH_LEVEL); \ (Item)->WorkerRoutine = (Routine); \ (Item)->Parameter = (Context); \ @@ -381,11 +402,16 @@ ExLocalTimeToSystemTime ( PLARGE_INTEGER LocalTime, PLARGE_INTEGER SystemTime ); -USHORT -STDCALL -ExQueryDepthSListHead ( - PSLIST_HEADER SListHead - ); + +/* + * USHORT + * ExQueryDepthSListHead ( + * PSLIST_HEADER SListHead + * ); +*/ +#define ExQueryDepthSListHead(ListHead) \ + (USHORT)(ListHead)->Depth + VOID STDCALL ExQueueWorkItem ( @@ -424,11 +450,16 @@ FASTCALL ExReleaseFastMutexUnsafe ( PFAST_MUTEX Mutex ); +/* VOID STDCALL ExReleaseResource ( PERESOURCE Resource ); +*/ +#define ExReleaseResource(Resource) \ + (ExReleaseResourceLite (Resource)) + VOID STDCALL ExReleaseResourceLite ( @@ -509,11 +540,6 @@ InterlockedIncrement ( PLONG Addend ); -VOID -RemoveEntryFromList ( - PLIST_ENTRY ListHead, - PLIST_ENTRY Entry - ); /*---*/ typedef diff --git a/reactos/include/ddk/kedef.h b/reactos/include/ddk/kedef.h index 3dc9cdc1231..45503653b0a 100644 --- a/reactos/include/ddk/kedef.h +++ b/reactos/include/ddk/kedef.h @@ -1,6 +1,15 @@ #ifndef __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 { LevelSensitive, diff --git a/reactos/include/ddk/kefuncs.h b/reactos/include/ddk/kefuncs.h index 918b607daa1..07e748d30ad 100644 --- a/reactos/include/ddk/kefuncs.h +++ b/reactos/include/ddk/kefuncs.h @@ -138,7 +138,14 @@ KeGetCurrentIrql ( VOID ); -ULONG KeGetCurrentProcessorNumber(VOID); +/* + * ULONG + * KeGetCurrentProcessorNumber(VOID); + */ +/* + * FIXME: This should be an inline function on x86 systems + */ +#define KeGetCurrentProcessorNumber() 0UL PKTHREAD STDCALL @@ -173,8 +180,14 @@ KeInitializeApc ( PVOID Context ); - -VOID KeInitializeCallbackRecord(PKBUGCHECK_CALLBACK_RECORD CallbackRecord); +/* + * VOID + * KeInitializeCallbackRecord ( + * PKBUGCHECK_CALLBACK_RECORD CallbackRecord + * ); + */ +#define KeInitializeCallbackRecord(CallbackRecord) \ + (CallbackRecord)->State = BufferEmpty VOID 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 // Each bit in the IOPM corresponds to an io port byte address. The bitmap diff --git a/reactos/include/ddk/ketypes.h b/reactos/include/ddk/ketypes.h index b2904f9b27f..b20868f872a 100644 --- a/reactos/include/ddk/ketypes.h +++ b/reactos/include/ddk/ketypes.h @@ -161,7 +161,7 @@ typedef struct _KAPC BOOLEAN Inserted; } KAPC, *PKAPC; -typedef struct +typedef struct _KBUGCHECK_CALLBACK_RECORD { LIST_ENTRY Entry; PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine; diff --git a/reactos/include/ddk/rtl.h b/reactos/include/ddk/rtl.h index eb0c3064deb..d576ce182f7 100644 --- a/reactos/include/ddk/rtl.h +++ b/reactos/include/ddk/rtl.h @@ -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,10 +235,12 @@ extern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG; * PLIST_ENTRY Entry * ); * - * FUNCTION: Inserts an entry in a double linked list + * FUNCTION: + * Inserts an entry in a double linked list + * * ARGUMENTS: - * ListHead = Head of the list - * Entry = Entry to insert + * ListHead = Head of the list + * Entry = Entry to insert */ #define InsertTailList(ListHead, ListEntry) \ { \ @@ -271,10 +273,21 @@ extern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG; ((ListHead)->Flink == (ListHead)) -PSINGLE_LIST_ENTRY -PopEntryList ( - PSINGLE_LIST_ENTRY ListHead - ); +/* + * 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 + */ /* #define PopEntryList(ListHead) \ (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 PushEntryList ( PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry ); +*/ /* #define PushEntryList(ListHead,Entry) \ - (Entry)->Next = (ListHead)->Next; \ - (ListHead)->Next = (Entry) + (Entry)->Next = (ListHead)->Next; \ + (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: * ListHead = Head of the list + * * RETURNS: * The removed entry */ diff --git a/reactos/ntoskrnl/rtl/list.c b/reactos/ntoskrnl/ex/list.c similarity index 69% rename from reactos/ntoskrnl/rtl/list.c rename to reactos/ntoskrnl/ex/list.c index 4f3a13fb236..2600f024972 100644 --- a/reactos/ntoskrnl/rtl/list.c +++ b/reactos/ntoskrnl/ex/list.c @@ -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 * PROJECT: ReactOS kernel - * FILE: ntoskrnl/rtl/list.c - * PURPOSE: Manages linked lists + * FILE: ntoskrnl/ex/list.c + * PURPOSE: Manages double linked lists, single linked lists and + * sequenced lists * PROGRAMMER: David Welch (welch@mcmail.com) */ @@ -16,73 +17,6 @@ /* 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 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 STDCALL ExInterlockedRemoveHeadList ( @@ -178,4 +139,63 @@ ExInterlockedRemoveTailList ( 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 */ diff --git a/reactos/ntoskrnl/rtl/lookas.c b/reactos/ntoskrnl/ex/lookas.c similarity index 94% rename from reactos/ntoskrnl/rtl/lookas.c rename to reactos/ntoskrnl/ex/lookas.c index f9ec7681eea..376cbeeb832 100644 --- a/reactos/ntoskrnl/rtl/lookas.c +++ b/reactos/ntoskrnl/ex/lookas.c @@ -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 * PROJECT: ReactOS kernel - * FILE: ntoskrnl/rtl/lookas.c + * FILE: ntoskrnl/ex/lookas.c * PURPOSE: Lookaside lists * PROGRAMMER: David Welch (welch@mcmail.com) * UPDATE HISTORY: diff --git a/reactos/ntoskrnl/ex/resource.c b/reactos/ntoskrnl/ex/resource.c index 377c69fae18..7d231a9452a 100644 --- a/reactos/ntoskrnl/ex/resource.c +++ b/reactos/ntoskrnl/ex/resource.c @@ -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 * PROJECT: ReactOS kernel @@ -536,15 +536,6 @@ ExDeleteResourceLite ( return(STATUS_SUCCESS);; } -ERESOURCE_THREAD -STDCALL -ExGetCurrentResourceThread ( - VOID - ) -{ - return((ERESOURCE_THREAD)PsGetCurrentThread()); -} - ULONG STDCALL ExGetSharedWaiterCount ( @@ -674,15 +665,6 @@ ExReleaseResourceLite ( ExGetCurrentResourceThread())); } -VOID -STDCALL -ExReleaseResource ( - PERESOURCE Resource - ) -{ - return ExReleaseResourceForThreadLite(Resource,ExGetCurrentResourceThread()); -} - VOID STDCALL ExReleaseResourceForThread ( diff --git a/reactos/ntoskrnl/ex/stamp.c b/reactos/ntoskrnl/ex/stamp.c deleted file mode 100644 index d86f9960bc3..00000000000 --- a/reactos/ntoskrnl/ex/stamp.c +++ /dev/null @@ -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 - -#include - -/* GLOBALS ******************************************************************/ - -static ULONG TimeStamp = 0; - -/* FUNCTIONS *****************************************************************/ - -ULONG ExGetTimeStamp(VOID) -{ - return(InterlockedIncrement(&TimeStamp)); -} diff --git a/reactos/ntoskrnl/ex/work.c b/reactos/ntoskrnl/ex/work.c index 722de58868b..2cf01454e03 100644 --- a/reactos/ntoskrnl/ex/work.c +++ b/reactos/ntoskrnl/ex/work.c @@ -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 * PROJECT: ReactOS kernel @@ -135,32 +135,6 @@ VOID ExInitializeWorkerThreads(VOID) 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 STDCALL ExQueueWorkItem ( diff --git a/reactos/ntoskrnl/mm/zone.c b/reactos/ntoskrnl/ex/zone.c similarity index 98% rename from reactos/ntoskrnl/mm/zone.c rename to reactos/ntoskrnl/ex/zone.c index aac251d89f2..8a159eac9ed 100644 --- a/reactos/ntoskrnl/mm/zone.c +++ b/reactos/ntoskrnl/ex/zone.c @@ -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 * PROJECT: ReactOS kernel diff --git a/reactos/ntoskrnl/hal/x86/mp.c b/reactos/ntoskrnl/hal/x86/mp.c index 2b57ba16f0c..5bf58133ff9 100644 --- a/reactos/ntoskrnl/hal/x86/mp.c +++ b/reactos/ntoskrnl/hal/x86/mp.c @@ -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 * PROJECT: ReactOS kernel @@ -17,14 +17,6 @@ /* FUNCTIONS *****************************************************************/ -ULONG KeGetCurrentProcessorNumber(VOID) -/* - * FUNCTION: Returns the system assigned number of the current processor - */ -{ - return(0); -} - VOID STDCALL HalInitializeProcessor ( diff --git a/reactos/ntoskrnl/ke/bug.c b/reactos/ntoskrnl/ke/bug.c index a13846a1318..963af14debd 100644 --- a/reactos/ntoskrnl/ke/bug.c +++ b/reactos/ntoskrnl/ke/bug.c @@ -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 * PROJECT: ReactOS kernel @@ -41,11 +41,6 @@ KeDeregisterBugCheckCallback ( UNIMPLEMENTED; } -VOID KeInitializeCallbackRecord(PKBUGCHECK_CALLBACK_RECORD CallbackRecord) -{ - UNIMPLEMENTED; -} - BOOLEAN STDCALL KeRegisterBugCheckCallback ( diff --git a/reactos/ntoskrnl/makefile_rex b/reactos/ntoskrnl/makefile_rex index 63b5327c68e..4edb8489611 100644 --- a/reactos/ntoskrnl/makefile_rex +++ b/reactos/ntoskrnl/makefile_rex @@ -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 # @@ -41,8 +41,6 @@ OBJECTS_RTL = \ rtl/ctype.o \ rtl/interlck.o \ rtl/largeint.o \ - rtl/list.o \ - rtl/lookas.o \ rtl/mem.o \ rtl/memchr.o \ rtl/memcpy.o \ @@ -51,8 +49,6 @@ OBJECTS_RTL = \ rtl/nls.o \ rtl/qsort.o \ rtl/regio.o \ - rtl/return.o \ - rtl/slist.o \ rtl/sprintf.o \ rtl/stdlib.o \ rtl/string.o \ @@ -110,7 +106,6 @@ OBJECTS_MM = \ mm/ppool.o \ mm/section.o \ mm/virtual.o \ - mm/zone.o \ mm/pager.o \ # mm/kmap.o @@ -182,14 +177,16 @@ OBJECTS_EX = \ ex/fmutex.o \ ex/init.o \ ex/interlck.o \ + ex/list.o \ ex/locale.o \ + ex/lookas.o \ ex/napi.o \ ex/power.o \ ex/resource.o \ ex/time.o \ - ex/stamp.o \ ex/sysinfo.o \ - ex/work.o + ex/work.o \ + ex/zone.o # Installable File System Run-Time Library (FsRtl) OBJECTS_FS = \ diff --git a/reactos/ntoskrnl/ntoskrnl.def b/reactos/ntoskrnl/ntoskrnl.def index 7b414bc663f..621e5c20a96 100644 --- a/reactos/ntoskrnl/ntoskrnl.def +++ b/reactos/ntoskrnl/ntoskrnl.def @@ -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 ; @@ -23,7 +23,6 @@ ExAcquireSharedStarveExclusive@8 ExAcquireSharedWaitForExclusive@8 ExAllocateFromNPagedLookasideList@4 ExAllocateFromPagedLookasideList@4 -ExAllocateFromZone@4 ExAllocatePool@8 ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuotaTag@12 @@ -41,8 +40,6 @@ ExExtendZone@12 ExFreePool@4 ExFreeToNPagedLookasideList@8 ExFreeToPagedLookasideList@8 -ExFreeToZone@8 -ExGetCurrentResourceThread@0 ExGetExclusiveWaiterCount@4 ;ExGetPreviousMode ExGetSharedWaiterCount@4 @@ -50,18 +47,14 @@ ExInitializeNPagedLookasideList ExInitializePagedLookasideList ExInitializeResource@4 ExInitializeResourceLite@4 -;FIXME: ExInitializeSListHead is a macro! -ExInitializeSListHead@4 ExInitializeZone@16 ExInterlockedAddLargeInteger@16 ;ExInterlockedAddLargeStatistic ExInterlockedAddUlong@12 -ExInterlockedAllocateFromZone@8 ;ExInterlockedCompareExchange64 ExInterlockedDecrementLong@8 ExInterlockedExchangeUlong@12 ExInterlockedExtendZone@16 -ExInterlockedFreeToZone@12 ExInterlockedIncrementLong@8 ExInterlockedInsertHeadList@12 ExInterlockedInsertTailList@12 @@ -70,8 +63,6 @@ ExInterlockedPopEntrySList@8 ExInterlockedPushEntryList@12 ExInterlockedPushEntrySList@12 ExInterlockedRemoveHeadList@8 -ExIsFullZone@4 -ExIsObjectInFirstZoneSegment@8 ;ExIsProcessorFeaturePresent ExIsResourceAcquiredExclusiveLite@4 ExIsResourceAcquiredSharedLite@4 @@ -79,18 +70,18 @@ ExLocalTimeToSystemTime@8 ;ExNotifyCallback ;ExPostSystemEvent ;ExQueryPoolBlockSize -ExQueryDepthSListHead@4 ExQueueWorkItem@8 ExRaiseAccessViolation@0 ExRaiseDatatypeMisalignment@0 +;ExRaiseException +;ExRaiseHardError ExRaiseStatus@4 ;ExRegisterCallback ExReinitializeResourceLite@4 ExReleaseFastMutexUnsafe@4 -ExReleaseResource@4 -ExReleaseResourceLite@4 ExReleaseResourceForThread@8 ExReleaseResourceForThreadLite@8 +ExReleaseResourceLite@4 ;ExSetResourceOwnerPointer ;ExSystemExceptionFilter ExSystemTimeToLocalTime@8 @@ -1013,6 +1004,12 @@ wctomb ; ; ReactOS Extensions (these should be macros!) ; +ExAllocateFromZone@4 +ExFreeToZone@8 +ExInterlockedAllocateFromZone@8 +ExInterlockedFreeToZone@12 +ExIsFullZone@4 +ExIsObjectInFirstZoneSegment@8 MmGetSystemAddressForMdl ; ; diff --git a/reactos/ntoskrnl/ntoskrnl.edf b/reactos/ntoskrnl/ntoskrnl.edf index db93325170d..f17e74b0bf7 100644 --- a/reactos/ntoskrnl/ntoskrnl.edf +++ b/reactos/ntoskrnl/ntoskrnl.edf @@ -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 ; @@ -23,7 +23,6 @@ ExAcquireSharedStarveExclusive=ExAcquireSharedStarveExclusive@8 ExAcquireSharedWaitForExclusive=ExAcquireSharedWaitForExclusive@8 ExAllocateFromNPagedLookasideList=ExAllocateFromNPagedLookasideList@4 ExAllocateFromPagedLookasideList=ExAllocateFromPagedLookasideList@4 -ExAllocateFromZone=ExAllocateFromZone@4 ExAllocatePool=ExAllocatePool@8 ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12 @@ -41,8 +40,6 @@ ExExtendZone=ExExtendZone@12 ExFreePool=ExFreePool@4 ExFreeToNPagedLookasideList=ExFreeToNPagedLookasideList@8 ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8 -ExFreeToZone=ExFreeToZone@8 -ExGetCurrentResourceThread=ExGetCurrentResourceThread@0 ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4 ;ExGetPreviousMode ExGetSharedWaiterCount=ExGetSharedWaiterCount@4 @@ -50,17 +47,14 @@ ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28 ExInitializePagedLookasideList=ExInitializePagedLookasideList@28 ExInitializeResource=ExInitializeResource@4 ExInitializeResourceLite=ExInitializeResourceLite@4 -ExInitializeSListHead=ExInitializeSListHead@4 ExInitializeZone=ExInitializeZone@16 ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16 ;ExInterlockedAddLargeStatistic ExInterlockedAddUlong=ExInterlockedAddUlong@12 -ExInterlockedAllocateFromZone=ExInterlockedAllocateFromZone@8 ;ExInterlockedCompareExchange64 ExInterlockedDecrementLong=ExInterlockedDecrementLong@8 ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12 ExInterlockedExtendZone=ExInterlockedExtendZone@16 -ExInterlockedFreeToZone=ExInterlockedFreeToZone@12 ExInterlockedIncrementLong=ExInterlockedIncrementLong@8 ExInterlockedInsertHeadList=ExInterlockedInsertHeadList@12 ExInterlockedInsertTailList=ExInterlockedInsertTailList@12 @@ -69,8 +63,6 @@ ExInterlockedPopEntrySList=ExInterlockedPopEntrySList@8 ExInterlockedPushEntryList=ExInterlockedPushEntryList@12 ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12 ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8 -ExIsFullZone=ExIsFullZone@4 -ExIsObjectInFirstZoneSegment=ExIsObjectInFirstZoneSegment@8 ;ExIsProcessorFeaturePresent ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4 ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4 @@ -78,7 +70,6 @@ ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8 ;ExNotifyCallback ;ExPostSystemEvent ;ExQueryPoolBlockSize -ExQueryDepthSListHead=ExQueryDepthSListHead@4 ExQueueWorkItem=ExQueueWorkItem@8 ExRaiseAccessViolation=ExRaiseAccessViolation@0 ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0 @@ -86,10 +77,9 @@ ExRaiseStatus=ExRaiseStatus@4 ;ExRegisterCallback ExReinitializeResourceLite=ExReinitializeResourceLite@4 ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4 -ExReleaseResource=ExReleaseResource@4 -ExReleaseResourceLite=ExReleaseResourceLite@4 ExReleaseResourceForThread=ExReleaseResourceForThread@8 ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8 +ExReleaseResourceLite=ExReleaseResourceLite@4 ;ExSetResourceOwnerPointer ;ExSystemExceptionFilter ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8 @@ -950,6 +940,12 @@ wctomb ; ; ReactOS Extensions ; +ExAllocateFromZone=ExAllocateFromZone@4 +ExFreeToZone=ExFreeToZone@8 +ExInterlockedAllocateFromZone=ExInterlockedAllocateFromZone@8 +ExInterlockedFreeToZone=ExInterlockedFreeToZone@12 +ExIsFullZone=ExIsFullZone@4 +ExIsObjectInFirstZoneSegment=ExIsObjectInFirstZoneSegment@8 MmGetSystemAddressForMdl ; ; diff --git a/reactos/ntoskrnl/rtl/return.c b/reactos/ntoskrnl/rtl/return.c deleted file mode 100644 index eefaa94927c..00000000000 --- a/reactos/ntoskrnl/rtl/return.c +++ /dev/null @@ -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 - -#include - -/* FUNCTIONS *****************************************************************/ - diff --git a/reactos/ntoskrnl/rtl/seqlist.c b/reactos/ntoskrnl/rtl/seqlist.c deleted file mode 100644 index 20a809dbf2a..00000000000 --- a/reactos/ntoskrnl/rtl/seqlist.c +++ /dev/null @@ -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 - -/* 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; -} - - diff --git a/reactos/ntoskrnl/rtl/slist.c b/reactos/ntoskrnl/rtl/slist.c deleted file mode 100644 index 3cfab5e3a0a..00000000000 --- a/reactos/ntoskrnl/rtl/slist.c +++ /dev/null @@ -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 - -#include - -/* 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 */