Update after server failure.

Fixed STDCALL issues in Ex functions.

svn path=/trunk/; revision=1177
This commit is contained in:
Eric Kohl 2000-06-07 13:05:09 +00:00
parent d40e55b4e1
commit 0aac416a18
11 changed files with 876 additions and 281 deletions

View file

@ -1,4 +1,4 @@
/* $Id: interlck.c,v 1.3 1999/11/09 18:00:14 ekohl Exp $ /* $Id: interlck.c,v 1.4 2000/06/07 13:04:34 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,6 +17,7 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
INTERLOCKED_RESULT INTERLOCKED_RESULT
STDCALL
ExInterlockedDecrementLong ( ExInterlockedDecrementLong (
PLONG Addend, PLONG Addend,
PKSPIN_LOCK Lock PKSPIN_LOCK Lock
@ -37,6 +38,7 @@ ExInterlockedDecrementLong (
ULONG ULONG
STDCALL
ExInterlockedExchangeUlong ( ExInterlockedExchangeUlong (
PULONG Target, PULONG Target,
ULONG Value, ULONG Value,
@ -58,6 +60,7 @@ ExInterlockedExchangeUlong (
ULONG ULONG
STDCALL
ExInterlockedAddUlong ( ExInterlockedAddUlong (
PULONG Addend, PULONG Addend,
ULONG Increment, ULONG Increment,
@ -78,6 +81,7 @@ ExInterlockedAddUlong (
} }
LARGE_INTEGER LARGE_INTEGER
STDCALL
ExInterlockedAddLargeInteger ( ExInterlockedAddLargeInteger (
PLARGE_INTEGER Addend, PLARGE_INTEGER Addend,
LARGE_INTEGER Increment, LARGE_INTEGER Increment,
@ -100,6 +104,7 @@ ExInterlockedAddLargeInteger (
} }
INTERLOCKED_RESULT INTERLOCKED_RESULT
STDCALL
ExInterlockedIncrementLong ( ExInterlockedIncrementLong (
PLONG Addend, PLONG Addend,
PKSPIN_LOCK Lock PKSPIN_LOCK Lock

View file

@ -1,4 +1,5 @@
/* /* $Id: resource.c,v 1.12 2000/06/07 13:04:34 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/ex/resource.c * FILE: ntoskrnl/ex/resource.c
@ -46,7 +47,11 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
BOOLEAN ExTryToAcquireResourceExclusiveLite(PERESOURCE Resource) BOOLEAN
STDCALL
ExTryToAcquireResourceExclusiveLite (
PERESOURCE Resource
)
/* /*
* FUNCTION: Attempts to require the resource for exclusive access * FUNCTION: Attempts to require the resource for exclusive access
* ARGUMENTS: * ARGUMENTS:
@ -58,12 +63,22 @@ BOOLEAN ExTryToAcquireResourceExclusiveLite(PERESOURCE Resource)
return(ExAcquireResourceExclusiveLite(Resource,FALSE)); return(ExAcquireResourceExclusiveLite(Resource,FALSE));
} }
BOOLEAN ExAcquireResourceExclusive(PERESOURCE Resource, BOOLEAN Wait) BOOLEAN
STDCALL
ExAcquireResourceExclusive (
PERESOURCE Resource,
BOOLEAN Wait
)
{ {
return(ExAcquireResourceExclusiveLite(Resource,Wait)); return(ExAcquireResourceExclusiveLite(Resource,Wait));
} }
BOOLEAN ExAcquireResourceExclusiveLite(PERESOURCE Resource, BOOLEAN Wait) BOOLEAN
STDCALL
ExAcquireResourceExclusiveLite (
PERESOURCE Resource,
BOOLEAN Wait
)
/* /*
* FUNCTION: Acquires a resource exclusively for the calling thread * FUNCTION: Acquires a resource exclusively for the calling thread
* ARGUMENTS: * ARGUMENTS:
@ -284,7 +299,12 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
return(TRUE); return(TRUE);
} }
BOOLEAN ExAcquireResourceSharedLite(PERESOURCE Resource, BOOLEAN Wait) BOOLEAN
STDCALL
ExAcquireResourceSharedLite (
PERESOURCE Resource,
BOOLEAN Wait
)
/* /*
* FUNCTION: Acquires the given resource for shared access by the calling * FUNCTION: Acquires the given resource for shared access by the calling
* thread * thread
@ -353,7 +373,11 @@ BOOLEAN ExAcquireResourceSharedLite(PERESOURCE Resource, BOOLEAN Wait)
return(TRUE); return(TRUE);
} }
VOID ExConvertExclusiveToSharedLite(PERESOURCE Resource) VOID
STDCALL
ExConvertExclusiveToSharedLite (
PERESOURCE Resource
)
/* /*
* FUNCTION: Converts a given resource from acquired for exclusive access * FUNCTION: Converts a given resource from acquired for exclusive access
* to acquire for shared access * to acquire for shared access
@ -399,12 +423,21 @@ VOID ExConvertExclusiveToSharedLite(PERESOURCE Resource)
DPRINT("ExConvertExclusiveToSharedLite() finished\n"); DPRINT("ExConvertExclusiveToSharedLite() finished\n");
} }
ULONG ExGetExclusiveWaiterCount(PERESOURCE Resource) ULONG
STDCALL
ExGetExclusiveWaiterCount (
PERESOURCE Resource
)
{ {
return(Resource->NumberOfExclusiveWaiters); return(Resource->NumberOfExclusiveWaiters);
} }
BOOLEAN ExAcquireSharedStarveExclusive(PERESOURCE Resource, BOOLEAN Wait) BOOLEAN
STDCALL
ExAcquireSharedStarveExclusive (
PERESOURCE Resource,
BOOLEAN Wait
)
/* /*
* FUNCTION: Acquires a given resource for shared access without waiting * FUNCTION: Acquires a given resource for shared access without waiting
* for any pending attempts to acquire exclusive access to the * for any pending attempts to acquire exclusive access to the
@ -471,17 +504,30 @@ BOOLEAN ExAcquireSharedStarveExclusive(PERESOURCE Resource, BOOLEAN Wait)
return(TRUE); return(TRUE);
} }
BOOLEAN ExAcquireSharedWaitForExclusive(PERESOURCE Resource, BOOLEAN Wait) BOOLEAN
STDCALL
ExAcquireSharedWaitForExclusive (
PERESOURCE Resource,
BOOLEAN Wait
)
{ {
return(ExAcquireResourceSharedLite(Resource,Wait)); return(ExAcquireResourceSharedLite(Resource,Wait));
} }
NTSTATUS ExDeleteResource(PERESOURCE Resource) NTSTATUS
STDCALL
ExDeleteResource (
PERESOURCE Resource
)
{ {
return(ExDeleteResourceLite(Resource)); return(ExDeleteResourceLite(Resource));
} }
NTSTATUS ExDeleteResourceLite(PERESOURCE Resource) NTSTATUS
STDCALL
ExDeleteResourceLite (
PERESOURCE Resource
)
{ {
DPRINT("ExDeleteResourceLite(Resource %x)\n", Resource); DPRINT("ExDeleteResourceLite(Resource %x)\n", Resource);
if (Resource->OwnerTable) ExFreePool(Resource->OwnerTable); if (Resource->OwnerTable) ExFreePool(Resource->OwnerTable);
@ -490,22 +536,38 @@ NTSTATUS ExDeleteResourceLite(PERESOURCE Resource)
return(STATUS_SUCCESS);; return(STATUS_SUCCESS);;
} }
ERESOURCE_THREAD ExGetCurrentResourceThread() ERESOURCE_THREAD
STDCALL
ExGetCurrentResourceThread (
VOID
)
{ {
return((ERESOURCE_THREAD)PsGetCurrentThread()); return((ERESOURCE_THREAD)PsGetCurrentThread());
} }
ULONG ExGetSharedWaiterCount(PERESOURCE Resource) ULONG
STDCALL
ExGetSharedWaiterCount (
PERESOURCE Resource
)
{ {
return(Resource->NumberOfSharedWaiters); return(Resource->NumberOfSharedWaiters);
} }
NTSTATUS ExInitializeResource(PERESOURCE Resource) NTSTATUS
STDCALL
ExInitializeResource (
PERESOURCE Resource
)
{ {
return(ExInitializeResourceLite(Resource)); return(ExInitializeResourceLite(Resource));
} }
NTSTATUS ExInitializeResourceLite(PERESOURCE Resource) NTSTATUS
STDCALL
ExInitializeResourceLite (
PERESOURCE Resource
)
{ {
DPRINT("ExInitializeResourceLite(Resource %x)\n", Resource); DPRINT("ExInitializeResourceLite(Resource %x)\n", Resource);
memset(Resource,0,sizeof(ERESOURCE)); memset(Resource,0,sizeof(ERESOURCE));
@ -523,7 +585,11 @@ NTSTATUS ExInitializeResourceLite(PERESOURCE Resource)
return(0); return(0);
} }
BOOLEAN ExIsResourceAcquiredExclusiveLite(PERESOURCE Resource) BOOLEAN
STDCALL
ExIsResourceAcquiredExclusiveLite (
PERESOURCE Resource
)
/* /*
* FUNCTION: Returns whether the current thread has exclusive access to * FUNCTION: Returns whether the current thread has exclusive access to
* a given resource * a given resource
@ -537,7 +603,11 @@ BOOLEAN ExIsResourceAcquiredExclusiveLite(PERESOURCE Resource)
&& Resource->OwnerThreads[0].OwnerThread==ExGetCurrentResourceThread()); && Resource->OwnerThreads[0].OwnerThread==ExGetCurrentResourceThread());
} }
ULONG ExIsResourceAcquiredSharedLite(PERESOURCE Resource) ULONG
STDCALL
ExIsResourceAcquiredSharedLite (
PERESOURCE Resource
)
/* /*
* FUNCTION: Returns whether the current thread has shared access to a given * FUNCTION: Returns whether the current thread has shared access to a given
* resource * resource
@ -570,7 +640,11 @@ ULONG ExIsResourceAcquiredSharedLite(PERESOURCE Resource)
return(0); return(0);
} }
VOID ExReinitializeResourceLite(PERESOURCE Resource) VOID
STDCALL
ExReinitializeResourceLite (
PERESOURCE Resource
)
{ {
Resource->NumberOfSharedWaiters = 0; Resource->NumberOfSharedWaiters = 0;
Resource->NumberOfExclusiveWaiters = 0; Resource->NumberOfExclusiveWaiters = 0;
@ -590,25 +664,41 @@ VOID ExReinitializeResourceLite(PERESOURCE Resource)
Resource->OwnerThreads[1].a.OwnerCount=0; Resource->OwnerThreads[1].a.OwnerCount=0;
} }
VOID ExReleaseResourceLite(PERESOURCE Resource) VOID
STDCALL
ExReleaseResourceLite (
PERESOURCE Resource
)
{ {
return(ExReleaseResourceForThreadLite(Resource, return(ExReleaseResourceForThreadLite(Resource,
ExGetCurrentResourceThread())); ExGetCurrentResourceThread()));
} }
VOID ExReleaseResource(PERESOURCE Resource) VOID
STDCALL
ExReleaseResource (
PERESOURCE Resource
)
{ {
return ExReleaseResourceForThreadLite(Resource,ExGetCurrentResourceThread()); return ExReleaseResourceForThreadLite(Resource,ExGetCurrentResourceThread());
} }
VOID ExReleaseResourceForThread(PERESOURCE Resource, VOID
ERESOURCE_THREAD ResourceThreadId) STDCALL
ExReleaseResourceForThread (
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
)
{ {
return(ExReleaseResourceForThreadLite(Resource,ResourceThreadId)); return(ExReleaseResourceForThreadLite(Resource,ResourceThreadId));
} }
VOID ExReleaseResourceForThreadLite(PERESOURCE Resource, VOID
ERESOURCE_THREAD ResourceThreadId) STDCALL
ExReleaseResourceForThreadLite (
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
)
/* /*
* FUNCTION: Releases a resource for the given thread * FUNCTION: Releases a resource for the given thread
* ARGUMENTS: * ARGUMENTS:
@ -686,4 +776,4 @@ VOID ExReleaseResourceForThreadLite(PERESOURCE Resource,
DPRINT("ExReleaseResourceForThreadLite() finished\n"); DPRINT("ExReleaseResourceForThreadLite() finished\n");
} }
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: time.c,v 1.9 2000/04/25 23:22:56 ea Exp $ /* $Id: time.c,v 1.10 2000/06/07 13:04:34 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -64,6 +64,7 @@ NtQuerySystemTime (
VOID VOID
STDCALL
ExLocalTimeToSystemTime ( ExLocalTimeToSystemTime (
PLARGE_INTEGER LocalTime, PLARGE_INTEGER LocalTime,
PLARGE_INTEGER SystemTime PLARGE_INTEGER SystemTime
@ -75,6 +76,7 @@ ExLocalTimeToSystemTime (
VOID VOID
STDCALL
ExSystemTimeToLocalTime ( ExSystemTimeToLocalTime (
PLARGE_INTEGER SystemTime, PLARGE_INTEGER SystemTime,
PLARGE_INTEGER LocalTime PLARGE_INTEGER LocalTime

View file

@ -1,4 +1,5 @@
/* /* $Id: work.c,v 1.5 2000/06/07 13:04:34 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: mkernel/kernel/work.c * FILE: mkernel/kernel/work.c
@ -134,9 +135,13 @@ VOID ExInitializeWorkerThreads(VOID)
HIGH_PRIORITY); HIGH_PRIORITY);
} }
VOID ExInitializeWorkItem(PWORK_QUEUE_ITEM Item, VOID
STDCALL
ExInitializeWorkItem (
PWORK_QUEUE_ITEM Item,
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 * FUNCTION: Initializes a work item to be processed by one of the system
* worker threads * worker threads
@ -154,8 +159,12 @@ VOID ExInitializeWorkItem(PWORK_QUEUE_ITEM Item,
Item->Entry.Blink = NULL; Item->Entry.Blink = NULL;
} }
VOID ExQueueWorkItem(PWORK_QUEUE_ITEM WorkItem, VOID
WORK_QUEUE_TYPE QueueType) STDCALL
ExQueueWorkItem (
PWORK_QUEUE_ITEM WorkItem,
WORK_QUEUE_TYPE QueueType
)
/* /*
* FUNCTION: Inserts a work item in a queue for one of the system worker * FUNCTION: Inserts a work item in a queue for one of the system worker
* threads to process * threads to process
@ -205,3 +214,5 @@ VOID ExQueueWorkItem(PWORK_QUEUE_ITEM WorkItem,
} }
} }
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: npool.c,v 1.27 2000/04/07 02:24:00 dwelch Exp $ /* $Id: npool.c,v 1.28 2000/06/07 13:04:53 ekohl Exp $
* *
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel * PROJECT: ReactOS kernel
@ -585,7 +585,12 @@ static void* take_block(block_hdr* current, unsigned int size)
return(block_to_address(current)); return(block_to_address(current));
} }
asmlinkage VOID ExFreePool(PVOID block) //asmlinkage VOID ExFreePool(PVOID block)
VOID
STDCALL
ExFreePool (
PVOID block
)
/* /*
* FUNCTION: Releases previously allocated memory * FUNCTION: Releases previously allocated memory
* ARGUMENTS: * ARGUMENTS:

View file

@ -1,4 +1,5 @@
/* /* $Id: zone.c,v 1.3 2000/06/07 13:04:53 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/mm/zone.c * FILE: ntoskrnl/mm/zone.c
@ -22,7 +23,12 @@ inline static PVOID entry_to_block(PZONE_ENTRY Entry)
return( (PVOID)( ((PVOID)Entry) + sizeof(ZONE_ENTRY))); return( (PVOID)( ((PVOID)Entry) + sizeof(ZONE_ENTRY)));
} }
BOOLEAN ExIsObjectInFirstZoneSegment(PZONE_HEADER Zone, PVOID Object) BOOLEAN
STDCALL
ExIsObjectInFirstZoneSegment (
PZONE_HEADER Zone,
PVOID Object
)
{ {
PVOID Base = (PVOID)(Zone + sizeof(ZONE_HEADER) + sizeof(ZONE_SEGMENT) + PVOID Base = (PVOID)(Zone + sizeof(ZONE_HEADER) + sizeof(ZONE_SEGMENT) +
sizeof(ZONE_ENTRY)); sizeof(ZONE_ENTRY));
@ -31,7 +37,13 @@ BOOLEAN ExIsObjectInFirstZoneSegment(PZONE_HEADER Zone, PVOID Object)
return( (Object > Base) && (Object < (Base + length))); return( (Object > Base) && (Object < (Base + length)));
} }
NTSTATUS ExExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize) NTSTATUS
STDCALL
ExExtendZone (
PZONE_HEADER Zone,
PVOID Segment,
ULONG SegmentSize
)
{ {
PZONE_ENTRY entry; PZONE_ENTRY entry;
PZONE_SEGMENT seg; PZONE_SEGMENT seg;
@ -53,8 +65,14 @@ NTSTATUS ExExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize)
return(STATUS_SUCCESS); return(STATUS_SUCCESS);
} }
NTSTATUS ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment, NTSTATUS
ULONG SegmentSize, PKSPIN_LOCK Lock) STDCALL
ExInterlockedExtendZone (
PZONE_HEADER Zone,
PVOID Segment,
ULONG SegmentSize,
PKSPIN_LOCK Lock
)
{ {
NTSTATUS ret; NTSTATUS ret;
KIRQL oldlvl; KIRQL oldlvl;
@ -65,12 +83,20 @@ NTSTATUS ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment,
return(ret); return(ret);
} }
BOOLEAN ExIsFullZone(PZONE_HEADER Zone) BOOLEAN
STDCALL
ExIsFullZone (
PZONE_HEADER Zone
)
{ {
return(Zone->FreeList.Next==NULL); return(Zone->FreeList.Next==NULL);
} }
PVOID ExAllocateFromZone(PZONE_HEADER Zone) PVOID
STDCALL
ExAllocateFromZone (
PZONE_HEADER Zone
)
/* /*
* FUNCTION: Allocate a block from a zone * FUNCTION: Allocate a block from a zone
* ARGUMENTS: * ARGUMENTS:
@ -83,7 +109,12 @@ PVOID ExAllocateFromZone(PZONE_HEADER Zone)
return(entry_to_block(entry)); return(entry_to_block(entry));
} }
PVOID ExFreeToZone(PZONE_HEADER Zone, PVOID Block) PVOID
STDCALL
ExFreeToZone (
PZONE_HEADER Zone,
PVOID Block
)
/* /*
* FUNCTION: Frees a block from a zone * FUNCTION: Frees a block from a zone
* ARGUMENTS: * ARGUMENTS:
@ -97,8 +128,14 @@ PVOID ExFreeToZone(PZONE_HEADER Zone, PVOID Block)
return(ret); return(ret);
} }
NTSTATUS ExInitializeZone(PZONE_HEADER Zone, ULONG BlockSize, NTSTATUS
PVOID InitialSegment, ULONG InitialSegmentSize) STDCALL
ExInitializeZone (
PZONE_HEADER Zone,
ULONG BlockSize,
PVOID InitialSegment,
ULONG InitialSegmentSize
)
/* /*
* FUNCTION: Initalizes a zone header * FUNCTION: Initalizes a zone header
* ARGUMENTS: * ARGUMENTS:
@ -134,8 +171,13 @@ NTSTATUS ExInitializeZone(PZONE_HEADER Zone, ULONG BlockSize,
return(STATUS_SUCCESS); return(STATUS_SUCCESS);
} }
PVOID ExInterlockedFreeToZone(PZONE_HEADER Zone, PVOID Block, PVOID
PKSPIN_LOCK Lock) STDCALL
ExInterlockedFreeToZone (
PZONE_HEADER Zone,
PVOID Block,
PKSPIN_LOCK Lock
)
{ {
KIRQL oldlvl; KIRQL oldlvl;
PVOID ret; PVOID ret;
@ -146,7 +188,12 @@ PVOID ExInterlockedFreeToZone(PZONE_HEADER Zone, PVOID Block,
return(ret); return(ret);
} }
PVOID ExInterlockedAllocateFromZone(PZONE_HEADER Zone, PKSPIN_LOCK Lock) PVOID
STDCALL
ExInterlockedAllocateFromZone (
PZONE_HEADER Zone,
PKSPIN_LOCK Lock
)
{ {
PVOID ret; PVOID ret;
KIRQL oldlvl; KIRQL oldlvl;
@ -156,3 +203,5 @@ PVOID ExInterlockedAllocateFromZone(PZONE_HEADER Zone, PKSPIN_LOCK Lock)
KeReleaseSpinLock(Lock,oldlvl); KeReleaseSpinLock(Lock,oldlvl);
return(ret); return(ret);
} }
/* EOF */

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.72 2000/05/13 01:46:22 ekohl Exp $ ; $Id: ntoskrnl.def,v 1.73 2000/06/07 13:04:05 ekohl Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -12,78 +12,106 @@ CcReleaseCachePage@12
CcReleaseFileCache@8 CcReleaseFileCache@8
DbgBreakPoint@0 DbgBreakPoint@0
DbgBreakPointWithStatus@4 DbgBreakPointWithStatus@4
;DbgLoadImageSymbols@12
DbgPrint DbgPrint
DbgPrompt@12
ExAcquireFastMutexUnsafe@4 ExAcquireFastMutexUnsafe@4
ExAcquireResourceExclusive ExAcquireResourceExclusive@8
ExAcquireResourceExclusiveLite ExAcquireResourceExclusiveLite@8
ExAcquireResourceSharedLite ExAcquireResourceSharedLite@8
ExAcquireSharedStarveExclusive ExAcquireSharedStarveExclusive@8
ExAcquireSharedWaitForExclusive ExAcquireSharedWaitForExclusive@8
ExAllocateFromNPagedLookasideList ExAllocateFromNPagedLookasideList@4
ExAllocateFromPagedLookasideList ExAllocateFromPagedLookasideList@4
ExAllocateFromZone ExAllocateFromZone@4
ExAllocatePool@8 ExAllocatePool@8
ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag@12 ExAllocatePoolWithQuotaTag@12
ExAllocatePoolWithTag@12 ExAllocatePoolWithTag@12
ExConvertExclusiveToSharedLite ExConvertExclusiveToSharedLite@4
ExDeleteNPagedLookasideList ;ExCreateCallback
ExDeletePagedLookasideList ExDeleteNPagedLookasideList@4
ExDeleteResource ExDeletePagedLookasideList@4
ExDeleteResourceLite ExDeleteResource@4
ExDeleteResourceLite@4
ExDesktopObjectType DATA ExDesktopObjectType DATA
;ExDisableResourceBoostLite
ExEventObjectType DATA ExEventObjectType DATA
ExExtendZone ExExtendZone@12
ExFreePool ExFreePool@4
ExFreeToNPagedLookasideList ExFreeToNPagedLookasideList@8
ExFreeToPagedLookasideList ExFreeToPagedLookasideList@8
ExFreeToZone ExFreeToZone@8
ExGetCurrentResourceThread ExGetCurrentResourceThread@0
ExGetExclusiveWaiterCount ExGetExclusiveWaiterCount@4
ExGetSharedWaiterCount ;ExGetPreviousMode
ExGetSharedWaiterCount@4
;FIXME: ExInitializeFastMutex is a macro! ;FIXME: ExInitializeFastMutex is a macro!
ExInitializeFastMutex@4 ExInitializeFastMutex@4
ExInitializeNPagedLookasideList ExInitializeNPagedLookasideList
ExInitializePagedLookasideList ExInitializePagedLookasideList
ExInitializeResource ExInitializeResource@4
ExInitializeResourceLite ExInitializeResourceLite@4
ExInitializeSListHead ExInitializeSListHead@4
ExInitializeWorkItem ;FIXME: ExInitializeWorkItem is a macro!
ExInitializeZone ExInitializeWorkItem@12
ExInterlockedAddLargeInteger ExInitializeZone@16
ExInterlockedAddUlong ExInterlockedAddLargeInteger@16
ExInterlockedAllocateFromZone ;ExInterlockedAddLargeStatistic
ExInterlockedDecrementLong ExInterlockedAddUlong@12
ExInterlockedExchangeUlong ExInterlockedAllocateFromZone@8
ExInterlockedExtendZone ;ExInterlockedCompareExchange64
ExInterlockedFreeToZone ExInterlockedDecrementLong@8
ExInterlockedIncrementLong ExInterlockedExchangeUlong@12
ExInterlockedInsertHeadList ExInterlockedExtendZone@16
ExInterlockedInsertTailList ExInterlockedFreeToZone@12
ExInterlockedPopEntryList ExInterlockedIncrementLong@8
ExInterlockedPopEntrySList ExInterlockedInsertHeadList@12
ExInterlockedPushEntryList ExInterlockedInsertTailList@12
ExInterlockedPushEntrySList ExInterlockedPopEntryList@8
ExInterlockedRemoveHeadList ExInterlockedPopEntrySList@8
ExIsFullZone ExInterlockedPushEntryList@12
ExIsObjectInFirstZoneSegment ExInterlockedPushEntrySList@12
ExIsResourceAcquiredExclusiveLite ExInterlockedRemoveHeadList@8
ExIsResourceAcquiredSharedLite ExIsFullZone@4
ExLocalTimeToSystemTime ExIsObjectInFirstZoneSegment@8
ExQueryDepthSListHead ;ExIsProcessorFeaturePresent
ExQueueWorkItem ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite@4
ExLocalTimeToSystemTime@8
;ExNotifyCallback
;ExPostSystemEvent
;ExQueryPoolBlockSize
ExQueryDepthSListHead@4
ExQueueWorkItem@8
ExRaiseAccessViolation@0 ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment@0 ExRaiseDatatypeMisalignment@0
ExRaiseStatus@4 ExRaiseStatus@4
ExReinitializeResourceLite ;ExRegisterCallback
ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe@4 ExReleaseFastMutexUnsafe@4
ExReleaseResource ExReleaseResource@4
ExReleaseResourceLite ExReleaseResourceLite@4
ExReleaseResourceForThread ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite ExReleaseResourceForThreadLite@8
ExSystemTimeToLocalTime ;ExSetResourceOwnerPointer
ExTryToAcquireResourceExclusiveLite ;ExSystemExceptionFilter
ExSystemTimeToLocalTime@8
ExTryToAcquireResourceExclusiveLite@4
;ExUnregisterCallback
ExWindowStationObjectType DATA ExWindowStationObjectType DATA
;ExfInterlockedAddUlong
;ExfInterlockedInsertHeadList
;ExfInterlockedInsertTailList
;ExfInterlockedPopEntryList
;ExfInterlockedPushEntryList
;ExfInterlockedRemoveHeadList
;Exfi386InterlockedDecrementLong
;Exfi386InterlockedExchangeUlong
;Exfi386InterlockedIncrementLong
;Exi386InterlockedDecrementLong
;Exi386InterlockedExchangeUlong
;Exi386InterlockedIncrementLong
FsRtlAddLargeMcbEntry@28 FsRtlAddLargeMcbEntry@28
FsRtlAddMcbEntry@16 FsRtlAddMcbEntry@16
FsRtlAddToTunnelCache@32 FsRtlAddToTunnelCache@32
@ -170,6 +198,11 @@ FsRtlUninitializeMcb@4
FsRtlUninitializeOplock@4 FsRtlUninitializeOplock@4
;HalDispatchTable DATA ;HalDispatchTable DATA
;HalPrivateDispatchTable DATA ;HalPrivateDispatchTable DATA
;InterlockedCompareExchange
;InterlockedDecrement
;InterlockedExchange
;InterlockedExchangeAdd
;InterlockedIncrement
IoAcquireCancelSpinLock@4 IoAcquireCancelSpinLock@4
IoAcquireVpbSpinLock@4 IoAcquireVpbSpinLock@4
IoAdapterObjectType DATA IoAdapterObjectType DATA
@ -282,28 +315,143 @@ IofCompleteRequest@8
KdDebuggerEnabled DATA KdDebuggerEnabled DATA
KdDebuggerNotPresent DATA KdDebuggerNotPresent DATA
KdPollBreakIn@0 KdPollBreakIn@0
;Ke386CallBios
;Ke386IoSetAccessProcess
;Ke386QueryIoAccessMap
;Ke386SetIoAccessMap
KeAcquireSpinLockAtDpcLevel@4
KeAddSystemServiceTable@20 KeAddSystemServiceTable@20
KeBugCheck KeAttachProcess@4
KeBugCheckEx ;KeBoostCurrentThread
KeClearEvent KeBugCheck@4
KeBugCheckEx@20
KeCancelTimer@4
KeClearEvent@4
;KeConnectInterrupt
;KeDcacheFlushCount DATA
KeDelayExecutionThread@12 KeDelayExecutionThread@12
KeDeregisterBugCheckCallback@4
KeDetachProcess@0
;KeDisconnectInterrupt
KeEnterCriticalRegion@0
KeEnterKernelDebugger@0 KeEnterKernelDebugger@0
;KeFindConfigurationEntry
;KeFindConfigurationNextEntry
;KeFlushEntireTb
KeFlushIoBuffers KeFlushIoBuffers
KeGetPreviousMode KeGetCurrentThread@0
KeInitializeDpc KeGetPreviousMode@0
KeInitializeEvent ;KeI386AbiosCall
KeInitializeSpinLock ;KeI386AllocateGdtSelectors
KeInitializeTimer ;KeI386Call16BitCStyleFunction
KeInsertQueueDpc ;KeI386Call16BitFunction
KeQuerySystemTime ;KeI386FlatToGdtSelector
KeReadStateEvent ;KeI386GetLid
KeResetEvent ;KeI386MachineType
;KeI386ReleaseGdtSelectors
;KeI386ReleaseLid
;KeI386SetGdtSelector
;KeIcacheFlushCount DATA
KeInitializeApc@32
KeInitializeDeviceQueue@4
KeInitializeDpc@12
KeInitializeEvent@12
;KeInitializeInterrupt
;KeInitializeMutant
KeInitializeMutex@8
;KeInitializeQueue
KeInitializeSemaphore@12
KeInitializeSpinLock@4
KeInitializeTimer@4
KeInitializeTimerEx@8
KeInsertByKeyDeviceQueue@12
KeInsertDeviceQueue@8
;KeInsertHeadQueue
;KeInsertQueue
KeInsertQueueApc@16
KeInsertQueueDpc@12
;KeIsExecutingDpc
KeLeaveCriticalRegion@0
;KeLoaderBlock DATA
KeNumberProcessors DATA
;KeProfileInterrupt
;KeProfileInterruptWithSource
;KePulseEvent
KeQuerySystemTime@4
KeQueryTickCount@4
KeQueryTimeIncrement@0
;KeRaiseUserException
KeReadStateEvent@4
;KeReadStateMutant
KeReadStateMutex@4
;KeReadStateQueue
KeReadStateSemaphore@4
KeReadStateTimer@4
KeRegisterBugCheckCallback@20
;KeReleaseMutant
KeReleaseMutex@8
KeReleaseSemaphore@16
KeReleaseSpinLockFromDpcLevel@4
KeRemoveByKeyDeviceQueue@8
KeRemoveDeviceQueue@4
;KeRemoveEntryDeviceQueue
;KeRemoveQueue
KeRemoveQueueDpc@4
KeResetEvent@4
;KeRestoreFloatingPointState
;KeRundownQueue
;KeSaveFloatingPointState
KeServiceDescriptorTable DATA KeServiceDescriptorTable DATA
KeSetEvent ;KeSetAffinityThread
KeSetTimer KeSetBasePriorityThread@8
KeSynchronizeExecution ;KeSetDmaIoCoherency
KeWaitForSingleObject KeSetEvent@12
;KeSetEventBoostPriority
;KeSetIdealProcessorThread
;KeSetImportanceDpc
;KeSetKernelStackSwapEnable
KeSetPriorityThread@8
;KeSetProfileIrql
;KeSetSwapContextNotifyRoutine
;KeSetTargetProcessorDpc
;KeSetThreadSelectNotifyRoutine
;KeSetTimeIncrement
KeSetTimer@16
KeSetTimerEx@20
;KeSetTimeUpdateNotifyRoutine
KeSynchronizeExecution@12
;KeTerminateThread
;KeTickCount DATA
;KeUpdateRunTime
KeUpdateSystemTime@0
;KeUserModeCallback
KeWaitForMultipleObjects@32
KeWaitForMutexObject@20
KeWaitForSingleObject@20
;KefAcquireSpinLockAtDpcLevel
;KefReleaseSpinLockFromDpcLevel
;Kei386EoiHelper
;KiAcquireSpinLock@4
;KiBugCheckData DATA
;KiCoprocessorError@0
;KiDeliverApc@12
;KiDispatchInterrupt@0
;KiIpiServiceRoutine@8
;KiReleaseSpinLock@4
;KiUnexpectedInterrupt
;Kii386SpinOnSpinLock
;LdrAccessResource@16
;LdrEnumResources@20
;LdrFindResourceDirectory_U@16
;LdrFindResource_U@16
LdrLoadModule LdrLoadModule
;LpcRequestPort@8
;LsaCallAuthenticationPackage
;LsaDeregisterLogonProcess
;LsaFreeReturnBuffer
;LsaLogonUser
;LsaLookupAuthenticationPackage
;LsaRegisterLogonProcess
MmAdjustWorkingSetSize@12 MmAdjustWorkingSetSize@12
MmAllocateContiguousMemory@12 MmAllocateContiguousMemory@12
MmAllocateNonCachedMemory@4 MmAllocateNonCachedMemory@4
@ -342,7 +490,6 @@ MmSecureVirtualMemory@12
MmSetAddressRangeModified@8 MmSetAddressRangeModified@8
MmSetBankedSection@24 MmSetBankedSection@24
MmSizeOfMdl@8 MmSizeOfMdl@8
MmSystemRangeStart=MmSectionObjectType
MmUnlockPagableImageSection@4 MmUnlockPagableImageSection@4
MmUnlockPages@4 MmUnlockPages@4
MmUnmapIoSpace@8 MmUnmapIoSpace@8
@ -385,7 +532,7 @@ NtOpenProcess@16
NtOpenProcessToken@12 NtOpenProcessToken@12
NtQueryDirectoryFile@44 NtQueryDirectoryFile@44
NtQueryEaFile@36 NtQueryEaFile@36
;NtQueryInformationAtom <--- ? NtQueryInformationAtom@20
NtQueryInformationFile@20 NtQueryInformationFile@20
NtQueryInformationProcess@20 NtQueryInformationProcess@20
NtQueryInformationToken@20 NtQueryInformationToken@20
@ -430,9 +577,42 @@ ObReferenceObjectByPointer@16
ObfDereferenceObject@4 ObfDereferenceObject@4
;@ObfReferenceObject@4 ;@ObfReferenceObject@4
ObfReferenceObject@4 ObfReferenceObject@4
;PfxFindPrefix
;PfxInitialize
;PfxInsertPrefix
;PfxRemovePrefix
PoQueryPowerSequence@0 PoQueryPowerSequence@0
PoRequestPowerChange@12 PoRequestPowerChange@12
PoSetDeviceIdleDetection@8 PoSetDeviceIdleDetection@8
;ProbeForWrite@12
PsAssignImpersonationToken@8
;PsChargePoolQuota@12
;PsCreateSystemProcess@12
PsCreateSystemThread@28
;PsCreateWin32Process@4
;PsEstablishWin32Callouts@24
PsGetCurrentProcessId@0
PsGetCurrentThreadId@0
;PsGetProcessExitTime@0
PsGetVersion@16
PsImpersonateClient@20
PsInitialSystemProcess DATA
;PsIsThreadTerminating@4
;PsLookupProcessByProcessId@8
;PsLookupProcessThreadByCid@12
;PsLookupThreadByThreadId@8
PsProcessType DATA
PsReferenceImpersonationToken@16
PsReferencePrimaryToken@4
;PsReturnPoolQuota@12
;PsRevertToSelf@0 <-- This is the original size
PsRevertToSelf@4
;PsSetCreateProcessNotifyRoutine@8
;PsSetCreateThreadNotifyRoutine@4
;PsSetLegoNotifyRoutine@4
;PsSetProcessPriorityByClass@8
PsTerminateSystemThread@4
PsThreadType DATA
READ_REGISTER_UCHAR@4 READ_REGISTER_UCHAR@4
READ_REGISTER_ULONG@4 READ_REGISTER_ULONG@4
READ_REGISTER_USHORT@4 READ_REGISTER_USHORT@4
@ -661,7 +841,7 @@ SeReleaseSubjectContext@4
;SeSinglePrivilegeCheck@12 ;SeSinglePrivilegeCheck@12
;SeSystemDefaultDacl DATA ;SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel@4 ;SeTokenImpersonationLevel@4
;SeTokenType@4 SeTokenType DATA
;SeUnlockSubjectContext@4 ;SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine@4 ;SeUnregisterLogonSessionTerminatedRoutine@4
;SeValidSecurityDescriptor@8 ;SeValidSecurityDescriptor@8
@ -715,6 +895,7 @@ ZwOpenThreadToken@16
ZwPulseEvent@8 ZwPulseEvent@8
ZwQueryDefaultLocale@8 ZwQueryDefaultLocale@8
ZwQueryDirectoryFile@44 ZwQueryDirectoryFile@44
ZwQueryInformationAtom@20
ZwQueryInformationFile@20 ZwQueryInformationFile@20
ZwQueryInformationProcess@20 ZwQueryInformationProcess@20
ZwQueryInformationToken@20 ZwQueryInformationToken@20
@ -829,7 +1010,7 @@ wcsstr
wcstombs wcstombs
wctomb wctomb
; ;
; ReactOS Extensions ; ReactOS Extensions (these should be macros!)
; ;
IoGetCurrentIrpStackLocation IoGetCurrentIrpStackLocation
IoInitializeDpcRequest IoInitializeDpcRequest
@ -907,16 +1088,16 @@ KdPortPollByte@4
KdPortPutByte@4 KdPortPutByte@4
KdPortRestore@0 KdPortRestore@0
KdPortSave@0 KdPortSave@0
KeAcquireSpinLock KeAcquireSpinLock@8
;KeAcquireSpinLockRaiseToSynch ;KeAcquireSpinLockRaiseToSynch
KeFlushWriteBuffer@0 KeFlushWriteBuffer@0
KeGetCurrentIrql@0 KeGetCurrentIrql@0
KeLowerIrql@4 KeLowerIrql@4
;KeQueryPerformanceCounter KeQueryPerformanceCounter@4
KeRaiseIrql@8 KeRaiseIrql@8
;KeRaiseIrqlToDpcLevel ;KeRaiseIrqlToDpcLevel
;KeRaiseIrqlToSynchLevel ;KeRaiseIrqlToSynchLevel
KeReleaseSpinLock KeReleaseSpinLock@8
KeStallExecutionProcessor@4 KeStallExecutionProcessor@4
;KfAcquireSpinLock ;KfAcquireSpinLock
;@KfLowerIrql@4 ;@KfLowerIrql@4

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.59 2000/05/13 01:46:23 ekohl Exp $ ; $Id: ntoskrnl.edf,v 1.60 2000/06/07 13:04:05 ekohl Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -12,78 +12,106 @@ CcReleaseCachePage=CcReleaseCachePage@12
CcReleaseFileCache=CcReleaseFileCache@8 CcReleaseFileCache=CcReleaseFileCache@8
DbgBreakPoint=DbgBreakPoint@0 DbgBreakPoint=DbgBreakPoint@0
DbgBreakPointWithStatus=DbgBreakPointWithStatus@4 DbgBreakPointWithStatus=DbgBreakPointWithStatus@4
;DbgLoadImageSymbols=DbgLoadImageSymbols@12
DbgPrint DbgPrint
DbgPrompt=DbgPrompt@12
ExAcquireFastMutexUnsafe=ExAcquireFastMutexUnsafe@4 ExAcquireFastMutexUnsafe=ExAcquireFastMutexUnsafe@4
ExAcquireResourceExclusive ExAcquireResourceExclusive=ExAcquireResourceExclusive@8
ExAcquireResourceExclusiveLite ExAcquireResourceExclusiveLite=ExAcquireResourceExclusiveLite@8
ExAcquireResourceSharedLite ExAcquireResourceSharedLite=ExAcquireResourceSharedLite@8
ExAcquireSharedStarveExclusive ExAcquireSharedStarveExclusive=ExAcquireSharedStarveExclusive@8
ExAcquireSharedWaitForExclusive ExAcquireSharedWaitForExclusive=ExAcquireSharedWaitForExclusive@8
ExAllocateFromNPagedLookasideList ExAllocateFromNPagedLookasideList=ExAllocateFromNPagedLookasideList@4
ExAllocateFromPagedLookasideList ExAllocateFromPagedLookasideList=ExAllocateFromPagedLookasideList@4
ExAllocateFromZone ExAllocateFromZone=ExAllocateFromZone@4
ExAllocatePool=ExAllocatePool@8 ExAllocatePool=ExAllocatePool@8
ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8 ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8
ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12 ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12
ExAllocatePoolWithTag=ExAllocatePoolWithTag@12 ExAllocatePoolWithTag=ExAllocatePoolWithTag@12
ExConvertExclusiveToSharedLite ExConvertExclusiveToSharedLite=ExConvertExclusiveToSharedLite@4
ExDeleteNPagedLookasideList ;ExCreateCallback
ExDeletePagedLookasideList ExDeleteNPagedLookasideList=ExDeleteNPagedLookasideList@4
ExDeleteResource ExDeletePagedLookasideList=ExDeletePagedLookasideList@4
ExDeleteResourceLite ExDeleteResource=ExDeleteResource@4
ExDeleteResourceLite=ExDeleteResourceLite@4
ExDesktopObjectType DATA ExDesktopObjectType DATA
;ExDisableResourceBoostLite
ExEventObjectType DATA ExEventObjectType DATA
ExExtendZone ExExtendZone=ExExtendZone@12
ExFreePool ExFreePool=ExFreePool@4
ExFreeToNPagedLookasideList ExFreeToNPagedLookasideList=ExFreeToNPagedLookasideList@8
ExFreeToPagedLookasideList ExFreeToPagedLookasideList=ExFreeToPagedLookasideList@8
ExFreeToZone ExFreeToZone=ExFreeToZone@8
ExGetCurrentResourceThread ExGetCurrentResourceThread=ExGetCurrentResourceThread@0
ExGetExclusiveWaiterCount ExGetExclusiveWaiterCount=ExGetExclusiveWaiterCount@4
ExGetSharedWaiterCount ;ExGetPreviousMode
ExGetSharedWaiterCount=ExGetSharedWaiterCount@4
;FIXME: ExInitializeFastMutex is a macro! ;FIXME: ExInitializeFastMutex is a macro!
ExInitializeFastMutex=ExInitializeFastMutex@4 ExInitializeFastMutex=ExInitializeFastMutex@4
ExInitializeNPagedLookasideList ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28
ExInitializePagedLookasideList ExInitializePagedLookasideList=ExInitializePagedLookasideList@28
ExInitializeResource ExInitializeResource=ExInitializeResource@4
ExInitializeResourceLite ExInitializeResourceLite=ExInitializeResourceLite@4
ExInitializeSListHead ExInitializeSListHead=ExInitializeSListHead@4
ExInitializeWorkItem ;FIXME: ExInitializeWorkItem is a macro!
ExInitializeZone ExInitializeWorkItem=ExInitializeWorkItem@12
ExInterlockedAddLargeInteger ExInitializeZone=ExInitializeZone@16
ExInterlockedAddUlong ExInterlockedAddLargeInteger=ExInterlockedAddLargeInteger@16
ExInterlockedAllocateFromZone ;ExInterlockedAddLargeStatistic
ExInterlockedDecrementLong ExInterlockedAddUlong=ExInterlockedAddUlong@12
ExInterlockedExchangeUlong ExInterlockedAllocateFromZone=ExInterlockedAllocateFromZone@8
ExInterlockedExtendZone ;ExInterlockedCompareExchange64
ExInterlockedFreeToZone ExInterlockedDecrementLong=ExInterlockedDecrementLong@8
ExInterlockedIncrementLong ExInterlockedExchangeUlong=ExInterlockedExchangeUlong@12
ExInterlockedInsertHeadList ExInterlockedExtendZone=ExInterlockedExtendZone@16
ExInterlockedInsertTailList ExInterlockedFreeToZone=ExInterlockedFreeToZone@12
ExInterlockedPopEntryList ExInterlockedIncrementLong=ExInterlockedIncrementLong@8
ExInterlockedPopEntrySList ExInterlockedInsertHeadList=ExInterlockedInsertHeadList@12
ExInterlockedPushEntryList ExInterlockedInsertTailList=ExInterlockedInsertTailList@12
ExInterlockedPushEntrySList ExInterlockedPopEntryList=ExInterlockedPopEntryList@8
ExInterlockedRemoveHeadList ExInterlockedPopEntrySList=ExInterlockedPopEntrySList@8
ExIsFullZone ExInterlockedPushEntryList=ExInterlockedPushEntryList@12
ExIsObjectInFirstZoneSegment ExInterlockedPushEntrySList=ExInterlockedPushEntrySList@12
ExIsResourceAcquiredExclusiveLite ExInterlockedRemoveHeadList=ExInterlockedRemoveHeadList@8
ExIsResourceAcquiredSharedLite ExIsFullZone=ExIsFullZone@4
ExLocalTimeToSystemTime ExIsObjectInFirstZoneSegment=ExIsObjectInFirstZoneSegment@8
ExQueryDepthSListHead ;ExIsProcessorFeaturePresent
ExQueueWorkItem ExIsResourceAcquiredExclusiveLite=ExIsResourceAcquiredExclusiveLite@4
ExIsResourceAcquiredSharedLite=ExIsResourceAcquiredSharedLite@4
ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8
;ExNotifyCallback
;ExPostSystemEvent
;ExQueryPoolBlockSize
ExQueryDepthSListHead=ExQueryDepthSListHead@4
ExQueueWorkItem=ExQueueWorkItem@8
ExRaiseAccessViolation=ExRaiseAccessViolation@0 ExRaiseAccessViolation=ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0 ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
ExRaiseStatus=ExRaiseStatus@4 ExRaiseStatus=ExRaiseStatus@4
ExReinitializeResourceLite ;ExRegisterCallback
ExReinitializeResourceLite=ExReinitializeResourceLite@4
ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4 ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
ExReleaseResource ExReleaseResource=ExReleaseResource@4
ExReleaseResourceLite ExReleaseResourceLite=ExReleaseResourceLite@4
ExReleaseResourceForThread ExReleaseResourceForThread=ExReleaseResourceForThread@8
ExReleaseResourceForThreadLite ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8
ExSystemTimeToLocalTime ;ExSetResourceOwnerPointer
ExTryToAcquireResourceExclusiveLite ;ExSystemExceptionFilter
ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8
ExTryToAcquireResourceExclusiveLite=ExTryToAcquireResourceExclusiveLite@4
;ExUnregisterCallback
ExWindowStationObjectType DATA ExWindowStationObjectType DATA
;ExfInterlockedAddUlong
;ExfInterlockedInsertHeadList
;ExfInterlockedInsertTailList
;ExfInterlockedPopEntryList
;ExfInterlockedPushEntryList
;ExfInterlockedRemoveHeadList
;Exfi386InterlockedDecrementLong
;Exfi386InterlockedExchangeUlong
;Exfi386InterlockedIncrementLong
;Exi386InterlockedDecrementLong
;Exi386InterlockedExchangeUlong
;Exi386InterlockedIncrementLong
FsRtlAddLargeMcbEntry=FsRtlAddLargeMcbEntry@28 FsRtlAddLargeMcbEntry=FsRtlAddLargeMcbEntry@28
FsRtlAddMcbEntry=FsRtlAddMcbEntry@16 FsRtlAddMcbEntry=FsRtlAddMcbEntry@16
FsRtlAddToTunnelCache=FsRtlAddToTunnelCache@32 FsRtlAddToTunnelCache=FsRtlAddToTunnelCache@32
@ -282,28 +310,139 @@ IofCompleteRequest=IofCompleteRequest@8
KdDebuggerEnabled DATA KdDebuggerEnabled DATA
KdDebuggerNotPresent DATA KdDebuggerNotPresent DATA
KdPollBreakIn=KdPollBreakIn@0 KdPollBreakIn=KdPollBreakIn@0
;Ke386CallBios
;Ke386IoSetAccessProcess
;Ke386QueryIoAccessMap
;Ke386SetIoAccessMap
KeAcquireSpinLockAtDpcLevel=KeAcquireSpinLockAtDpcLevel@4
KeAddSystemServiceTable=KeAddSystemServiceTable@20 KeAddSystemServiceTable=KeAddSystemServiceTable@20
KeBugCheck KeAttachProcess=KeAttachProcess@4
KeBugCheckEx ;KeBoostCurrentThread
KeClearEvent KeBugCheck=KeBugCheck@4
KeBugCheckEx=KeBugCheckEx@20
KeCancelTimer=KeCancelTimer@4
KeClearEvent=KeClearEvent@4
;KeConnectInterrupt
;KeDcacheFlushCount DATA
KeDelayExecutionThread=KeDelayExecutionThread@12 KeDelayExecutionThread=KeDelayExecutionThread@12
KeDeregisterBugCheckCallback=KeDeregisterBugCheckCallback@4
KeDetachProcess=KeDetachProcess@0
;KeDisconnectInterrupt
KeEnterCriticalRegion=KeEnterCriticalRegion@0
KeEnterKernelDebugger=KeEnterKernelDebugger@0 KeEnterKernelDebugger=KeEnterKernelDebugger@0
KeFlushIoBuffers KeFlushIoBuffers
KeGetPreviousMode KeGetPreviousMode=KeGetPreviousMode@0
KeInitializeDpc ;KeI386AbiosCall
KeInitializeEvent ;KeI386AllocateGdtSelectors
KeInitializeSpinLock ;KeI386Call16BitCStyleFunction
KeInitializeTimer ;KeI386Call16BitFunction
KeInsertQueueDpc ;KeI386FlatToGdtSelector
KeQuerySystemTime ;KeI386GetLid
KeReadStateEvent ;KeI386MachineType
KeResetEvent ;KeI386ReleaseGdtSelectors
;KeI386ReleaseLid
;KeI386SetGdtSelector
;KeIcacheFlushCount DATA
KeInitializeApc=KeInitializeApc@32
KeInitializeDeviceQueue=KeInitializeDeviceQueue@4
KeInitializeDpc=KeInitializeDpc@12
KeInitializeEvent=KeInitializeEvent@12
;KeInitializeInterrupt
;KeInitializeMutant
KeInitializeMutex=KeInitializeMutex@8
;KeInitializeQueue
KeInitializeSemaphore=KeInitializeSemaphore@12
KeInitializeSpinLock=KeInitializeSpinLock@4
KeInitializeTimer=KeInitializeTimer@4
KeInitializeTimerEx=KeInitializeTimerEx@8
KeInsertByKeyDeviceQueue=KeInsertByKeyDeviceQueue@12
KeInsertDeviceQueue=KeInsertDeviceQueue@8
;KeInsertHeadQueue
;KeInsertQueue
KeInsertQueueApc=KeInsertQueueApc@16
KeInsertQueueDpc=KeInsertQueueDpc@12
;KeIsExecutingDpc
KeLeaveCriticalRegion=KeLeaveCriticalRegion@0
;KeLoaderBlock DATA
KeNumberProcessors DATA
;KeProfileInterrupt
;KeProfileInterruptWithSource
;KePulseEvent
KeQuerySystemTime=KeQuerySystemTime@4
KeQueryTickCount=KeQueryTickCount@4
KeQueryTimeIncrement=KeQueryTimeIncrement@0
;KeRaiseUserException
KeReadStateEvent=KeReadStateEvent@4
;KeReadStateMutant
KeReadStateMutex=KeReadStateMutex@4
;KeReadStateQueue
KeReadStateSemaphore=KeReadStateSemaphore@4
KeReadStateTimer=KeReadStateTimer@4
KeRegisterBugCheckCallback=KeRegisterBugCheckCallback@20
;KeReleaseMutant
KeReleaseMutex=KeReleaseMutex@8
KeReleaseSemaphore=KeReleaseSemaphore@16
KeReleaseSpinLockFromDpcLevel=KeReleaseSpinLockFromDpcLevel@4
KeRemoveByKeyDeviceQueue=KeRemoveByKeyDeviceQueue@8
KeRemoveDeviceQueue=KeRemoveDeviceQueue@4
;KeRemoveEntryDeviceQueue
;KeRemoveQueue
KeRemoveQueueDpc=KeRemoveQueueDpc@4
KeResetEvent=KeResetEvent@4
;KeRestoreFloatingPointState
;KeRundownQueue
;KeSaveFloatingPointState
KeServiceDescriptorTable DATA KeServiceDescriptorTable DATA
KeSetEvent ;KeSetAffinityThread
KeSetTimer KeSetBasePriorityThread=KeSetBasePriorityThread@8
KeSynchronizeExecution ;KeSetDmaIoCoherency
KeWaitForSingleObject KeSetEvent=KeSetEvent@12
;KeSetEventBoostPriority
;KeSetIdealProcessorThread
;KeSetImportanceDpc
;KeSetKernelStackSwapEnable
KeSetPriorityThread=KeSetPriorityThread@8
;KeSetProfileIrql
;KeSetSwapContextNotifyRoutine
;KeSetTargetProcessorDpc
;KeSetThreadSelectNotifyRoutine
;KeSetTimeIncrement
KeSetTimer=KeSetTimer@16
KeSetTimerEx=KeSetTimerEx@20
;KeSetTimeUpdateNotifyRoutine
KeSynchronizeExecution=KeSynchronizeExecution@12
;KeTerminateThread
;KeTickCount DATA
;KeUpdateRunTime
KeUpdateSystemTime=KeUpdateSystemTime@0
;KeUserModeCallback
KeWaitForMultipleObjects=KeWaitForMultipleObjects@32
KeWaitForMutexObject=KeWaitForMutexObject@20
KeWaitForSingleObject=KeWaitForSingleObject@20
;KefAcquireSpinLockAtDpcLevel
;KefReleaseSpinLockFromDpcLevel
;Kei386EoiHelper
;KiAcquireSpinLock@4
;KiBugCheckData DATA
;KiCoprocessorError@0
;KiDeliverApc@12
;KiDispatchInterrupt@0
;KiIpiServiceRoutine@8
;KiReleaseSpinLock@4
;KiUnexpectedInterrupt
;Kii386SpinOnSpinLock
;LdrAccessResource@16
;LdrEnumResources@20
;LdrFindResourceDirectory_U@16
;LdrFindResource_U@16
LdrLoadModule=LdrLoadModule LdrLoadModule=LdrLoadModule
;LpcRequestPort@8
;LsaCallAuthenticationPackage
;LsaDeregisterLogonProcess
;LsaFreeReturnBuffer
;LsaLogonUser
;LsaLookupAuthenticationPackage
;LsaRegisterLogonProcess
MmAdjustWorkingSetSize=MmAdjustWorkingSetSize@12 MmAdjustWorkingSetSize=MmAdjustWorkingSetSize@12
MmAllocateContiguousMemory=MmAllocateContiguousMemory@12 MmAllocateContiguousMemory=MmAllocateContiguousMemory@12
MmAllocateNonCachedMemory=MmAllocateNonCachedMemory@4 MmAllocateNonCachedMemory=MmAllocateNonCachedMemory@4
@ -342,7 +481,6 @@ MmSecureVirtualMemory=MmSecureVirtualMemory@12
MmSetAddressRangeModified=MmSetAddressRangeModified@8 MmSetAddressRangeModified=MmSetAddressRangeModified@8
MmSetBankedSection=MmSetBankedSection@24 MmSetBankedSection=MmSetBankedSection@24
MmSizeOfMdl=MmSizeOfMdl@8 MmSizeOfMdl=MmSizeOfMdl@8
MmSystemRangeStart=MmSectionObjectType
MmUnlockPagableImageSection=MmUnlockPagableImageSection@4 MmUnlockPagableImageSection=MmUnlockPagableImageSection@4
MmUnlockPages=MmUnlockPages@4 MmUnlockPages=MmUnlockPages@4
MmUnmapIoSpace=MmUnmapIoSpace@8 MmUnmapIoSpace=MmUnmapIoSpace@8
@ -385,7 +523,7 @@ NtOpenProcess=NtOpenProcess@16
NtOpenProcessToken=NtOpenProcessToken@12 NtOpenProcessToken=NtOpenProcessToken@12
NtQueryDirectoryFile=NtQueryDirectoryFile@44 NtQueryDirectoryFile=NtQueryDirectoryFile@44
NtQueryEaFile=NtQueryEaFile@36 NtQueryEaFile=NtQueryEaFile@36
;NtQueryInformationAtom <--- ? NtQueryInformationAtom=NtQueryInformationAtom@20
NtQueryInformationFile=NtQueryInformationFile@20 NtQueryInformationFile=NtQueryInformationFile@20
NtQueryInformationProcess=NtQueryInformationProcess@20 NtQueryInformationProcess=NtQueryInformationProcess@20
NtQueryInformationToken=NtQueryInformationToken@20 NtQueryInformationToken=NtQueryInformationToken@20
@ -430,9 +568,41 @@ ObReferenceObjectByPointer=ObReferenceObjectByPointer@16
ObfDereferenceObject=ObfDereferenceObject@4 ObfDereferenceObject=ObfDereferenceObject@4
;ObfReferenceObject=@ObfReferenceObject@4 ;ObfReferenceObject=@ObfReferenceObject@4
ObfReferenceObject=ObfReferenceObject@4 ObfReferenceObject=ObfReferenceObject@4
;PfxFindPrefix
;PfxInitialize
;PfxInsertPrefix
;PfxRemovePrefix
PoQueryPowerSequence=PoQueryPowerSequence@0 PoQueryPowerSequence=PoQueryPowerSequence@0
PoRequestPowerChange=PoRequestPowerChange@12 PoRequestPowerChange=PoRequestPowerChange@12
PoSetDeviceIdleDetection=PoSetDeviceIdleDetection@8 PoSetDeviceIdleDetection=PoSetDeviceIdleDetection@8
;ProbeForWrite=ProbeForWrite@12
PsAssignImpersonationToken=PsAssignImpersonationToken@8
;PsChargePoolQuota=PsChargePoolQuota@12
;PsCreateSystemProcess=PsCreateSystemProcess@12
PsCreateSystemThread=PsCreateSystemThread@28
;PsCreateWin32Process
;PsEstablishWin32Callouts
PsGetCurrentProcessId=PsGetCurrentProcessId@0
PsGetCurrentThreadId=PsGetCurrentThreadId@0
;PsGetProcessExitTime
PsGetVersion=PsGetVersion@16
PsImpersonateClient=PsImpersonateClient@20
PsInitialSystemProcess DATA
;PsIsThreadTerminating
;PsLookupProcessByProcessId
;PsLookupProcessThreadByCid
;PsLookupThreadByThreadId
PsProcessType DATA
PsReferenceImpersonationToken=PsReferenceImpersonationToken@16
PsReferencePrimaryToken=PsReferencePrimaryToken@4
;PsReturnPoolQuota
PsRevertToSelf=PsRevertToSelf@4
;PsSetCreateProcessNotifyRoutine
;PsSetCreateThreadNotifyRoutine
;PsSetLegoNotifyRoutine
;PsSetProcessPriorityByClass
PsTerminateSystemThread=PsTerminateSystemThread@4
PsThreadType DATA
READ_REGISTER_UCHAR=READ_REGISTER_UCHAR@4 READ_REGISTER_UCHAR=READ_REGISTER_UCHAR@4
READ_REGISTER_ULONG=READ_REGISTER_ULONG@4 READ_REGISTER_ULONG=READ_REGISTER_ULONG@4
READ_REGISTER_USHORT=READ_REGISTER_USHORT@4 READ_REGISTER_USHORT=READ_REGISTER_USHORT@4
@ -600,7 +770,7 @@ SeReleaseSubjectContext=SeReleaseSubjectContext@4
;SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12 ;SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12
;SeSystemDefaultDacl DATA ;SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel=SeTokenImpersonationLevel@4 ;SeTokenImpersonationLevel=SeTokenImpersonationLevel@4
;SeTokenType=SeTokenType@4 SeTokenType DATA
;SeUnlockSubjectContext=SeUnlockSubjectContext@4 ;SeUnlockSubjectContext=SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4 ;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4
;SeValidSecurityDescriptor=SeValidSecurityDescriptor@8 ;SeValidSecurityDescriptor=SeValidSecurityDescriptor@8
@ -654,6 +824,7 @@ ZwOpenThreadToken=ZwOpenThreadToken@16
ZwPulseEvent=ZwPulseEvent@8 ZwPulseEvent=ZwPulseEvent@8
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8 ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44 ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
ZwQueryInformationAtom=ZwQueryInformationAtom@20
ZwQueryInformationFile=ZwQueryInformationFile@20 ZwQueryInformationFile=ZwQueryInformationFile@20
ZwQueryInformationProcess=ZwQueryInformationProcess@20 ZwQueryInformationProcess=ZwQueryInformationProcess@20
ZwQueryInformationToken=ZwQueryInformationToken@20 ZwQueryInformationToken=ZwQueryInformationToken@20
@ -847,16 +1018,16 @@ KdPortPollByte=KdPortPollByte@4
KdPortPutByte=KdPortPutByte@4 KdPortPutByte=KdPortPutByte@4
KdPortRestore=KdPortRestore@0 KdPortRestore=KdPortRestore@0
KdPortSave=KdPortSave@0 KdPortSave=KdPortSave@0
KeAcquireSpinLock KeAcquireSpinLock=KeAcquireSpinLock@8
;KeAcquireSpinLockRaiseToSynch ;KeAcquireSpinLockRaiseToSynch
KeFlushWriteBuffer=KeFlushWriteBuffer@0 KeFlushWriteBuffer=KeFlushWriteBuffer@0
KeGetCurrentIrql=KeGetCurrentIrql@0 KeGetCurrentIrql=KeGetCurrentIrql@0
KeLowerIrql=KeLowerIrql@4 KeLowerIrql=KeLowerIrql@4
;KeQueryPerformanceCounter KeQueryPerformanceCounter=KeQueryPerformanceCounter@4
KeRaiseIrql=KeRaiseIrql@8 KeRaiseIrql=KeRaiseIrql@8
;KeRaiseIrqlToDpcLevel ;KeRaiseIrqlToDpcLevel
;KeRaiseIrqlToSynchLevel ;KeRaiseIrqlToSynchLevel
KeReleaseSpinLock KeReleaseSpinLock=KeReleaseSpinLock@8
KeStallExecutionProcessor=KeStallExecutionProcessor@4 KeStallExecutionProcessor=KeStallExecutionProcessor@4
;KfAcquireSpinLock ;KfAcquireSpinLock
;KfLowerIrql=@KfLowerIrql@4 ;KfLowerIrql=@KfLowerIrql@4

View file

@ -1,4 +1,5 @@
/* /* $Id: list.c,v 1.6 2000/06/07 13:05:09 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/rtl/list.c
@ -124,9 +125,13 @@ VOID InsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY ListEntry)
assert( CheckEntry( ListEntry ) ); assert( CheckEntry( ListEntry ) );
} }
PLIST_ENTRY ExInterlockedInsertTailList(PLIST_ENTRY ListHead, PLIST_ENTRY
STDCALL
ExInterlockedInsertTailList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry, PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock) PKSPIN_LOCK Lock
)
{ {
PLIST_ENTRY Old; PLIST_ENTRY Old;
KIRQL oldlvl; KIRQL oldlvl;
@ -146,9 +151,13 @@ PLIST_ENTRY ExInterlockedInsertTailList(PLIST_ENTRY ListHead,
return(Old); return(Old);
} }
PLIST_ENTRY ExInterlockedInsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY
STDCALL
ExInterlockedInsertHeadList (
PLIST_ENTRY ListHead,
PLIST_ENTRY ListEntry, PLIST_ENTRY ListEntry,
PKSPIN_LOCK Lock) PKSPIN_LOCK Lock
)
/* /*
* FUNCTION: Inserts an entry at the head of a doubly linked list * FUNCTION: Inserts an entry at the head of a doubly linked list
* ARGUMENTS: * ARGUMENTS:
@ -177,8 +186,12 @@ PLIST_ENTRY ExInterlockedInsertHeadList(PLIST_ENTRY ListHead,
} }
PLIST_ENTRY ExInterlockedRemoveHeadList(PLIST_ENTRY Head, PLIST_ENTRY
PKSPIN_LOCK Lock) STDCALL
ExInterlockedRemoveHeadList (
PLIST_ENTRY Head,
PKSPIN_LOCK Lock
)
/* /*
* FUNCTION: Removes the head of a double linked list * FUNCTION: Removes the head of a double linked list
* ARGUMENTS: * ARGUMENTS:
@ -228,3 +241,5 @@ PLIST_ENTRY ExInterlockedRemoveTailList(PLIST_ENTRY Head,
KeReleaseSpinLock(Lock,oldlvl); KeReleaseSpinLock(Lock,oldlvl);
return(ret); return(ret);
} }
/* EOF */

View file

@ -1,4 +1,5 @@
/* /* $Id: lookas.c,v 1.2 2000/06/07 13:05:09 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/rtl/lookas.c
@ -16,39 +17,66 @@
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
PVOID ExAllocateFromNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside) PVOID
STDCALL
ExAllocateFromNPagedLookasideList (
PNPAGED_LOOKASIDE_LIST Lookaside
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
PVOID ExAllocateFromPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside) PVOID
STDCALL
ExAllocateFromPagedLookasideList (
PPAGED_LOOKASIDE_LIST Lookaside
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExDeleteNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside) VOID
STDCALL
ExDeleteNPagedLookasideList (
PNPAGED_LOOKASIDE_LIST Lookaside
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExDeletePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside) VOID
STDCALL
ExDeletePagedLookasideList (
PPAGED_LOOKASIDE_LIST Lookaside
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExFreeToNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside, VOID
PVOID Entry) STDCALL
ExFreeToNPagedLookasideList (
PNPAGED_LOOKASIDE_LIST Lookaside,
PVOID Entry
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExFreeToPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside, VOID
PVOID Entry) STDCALL
ExFreeToPagedLookasideList (
PPAGED_LOOKASIDE_LIST Lookaside,
PVOID Entry
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside, VOID
STDCALL
ExInitializeNPagedLookasideList (
PNPAGED_LOOKASIDE_LIST Lookaside,
PALLOCATE_FUNCTION Allocate, PALLOCATE_FUNCTION Allocate,
PFREE_FUNCTION Free, PFREE_FUNCTION Free,
ULONG Flags, ULONG Flags,
@ -59,13 +87,19 @@ VOID ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside,
UNIMPLEMENTED UNIMPLEMENTED
} }
VOID ExInitializePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside, VOID
STDCALL
ExInitializePagedLookasideList (
PPAGED_LOOKASIDE_LIST Lookaside,
PALLOCATE_FUNCTION Allocate, PALLOCATE_FUNCTION Allocate,
PFREE_FUNCTION Free, PFREE_FUNCTION Free,
ULONG Flags, ULONG Flags,
ULONG Size, ULONG Size,
ULONG Tag, ULONG Tag,
USHORT Depth) USHORT Depth
)
{ {
UNIMPLEMENTED UNIMPLEMENTED
} }
/* EOF */

View file

@ -1,4 +1,5 @@
/* /* $Id: slist.c,v 1.3 2000/06/07 13:05:09 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS project * PROJECT: ReactOS project
* FILE: kernel/rtl/slist.c * FILE: kernel/rtl/slist.c
@ -16,29 +17,84 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
PSINGLE_LIST_ENTRY ExInterlockedPopEntrySList(PSLIST_HEADER ListHead, PSINGLE_LIST_ENTRY
PKSPIN_LOCK Lock) STDCALL
ExInterlockedPopEntrySList (
PSLIST_HEADER ListHead,
PKSPIN_LOCK Lock
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
PSINGLE_LIST_ENTRY ExInterlockedPushEntrySList(PSLIST_HEADER ListHead,
PSINGLE_LIST_ENTRY
STDCALL
ExInterlockedPushEntrySList (
PSLIST_HEADER ListHead,
PSINGLE_LIST_ENTRY ListEntry, PSINGLE_LIST_ENTRY ListEntry,
PKSPIN_LOCK Lock) PKSPIN_LOCK Lock
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
USHORT ExQueryDepthSListHead(PSLIST_HEADER SListHead)
USHORT
STDCALL
ExQueryDepthSListHead (
PSLIST_HEADER SListHead
)
{ {
UNIMPLEMENTED; UNIMPLEMENTED;
} }
VOID ExInitializeSListHead(PSLIST_HEADER SListHead)
VOID
STDCALL
ExInitializeSListHead (
PSLIST_HEADER SListHead
)
{ {
UNIMPLEMENTED; 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) PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead)
/* /*
* FUNCTION: Removes an entry from the head of a single linked list * FUNCTION: Removes an entry from the head of a single linked list
@ -55,17 +111,6 @@ PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead)
return(ListEntry); return(ListEntry);
} }
PSINGLE_LIST_ENTRY 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);
}
VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry) VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry)
{ {
@ -73,17 +118,4 @@ VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry)
ListHead->Next = Entry; ListHead->Next = Entry;
} }
PSINGLE_LIST_ENTRY ExInterlockedPushEntryList(PSINGLE_LIST_ENTRY ListHead, /* EOF */
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);
}