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,
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

View file

@ -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,

View file

@ -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

View file

@ -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;

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
* );
*
* 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
@ -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)
*/
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
*/

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
* 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 */

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
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/rtl/lookas.c
* FILE: ntoskrnl/ex/lookas.c
* PURPOSE: Lookaside lists
* PROGRAMMER: David Welch (welch@mcmail.com)
* 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
* 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 (

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
* 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 (

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
* 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
* 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 (

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
* PROJECT: ReactOS kernel
@ -41,11 +41,6 @@ KeDeregisterBugCheckCallback (
UNIMPLEMENTED;
}
VOID KeInitializeCallbackRecord(PKBUGCHECK_CALLBACK_RECORD CallbackRecord)
{
UNIMPLEMENTED;
}
BOOLEAN
STDCALL
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
#
@ -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 = \

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
;
@ -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
;
;

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
;
@ -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
;
;

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 */