mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 04:45:43 +00:00
Update after server failure.
Fixed STDCALL issues in Ex functions. svn path=/trunk/; revision=1177
This commit is contained in:
parent
d40e55b4e1
commit
0aac416a18
11 changed files with 876 additions and 281 deletions
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -17,6 +17,7 @@
|
|||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
INTERLOCKED_RESULT
|
||||
STDCALL
|
||||
ExInterlockedDecrementLong (
|
||||
PLONG Addend,
|
||||
PKSPIN_LOCK Lock
|
||||
|
@ -37,6 +38,7 @@ ExInterlockedDecrementLong (
|
|||
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
ExInterlockedExchangeUlong (
|
||||
PULONG Target,
|
||||
ULONG Value,
|
||||
|
@ -58,6 +60,7 @@ ExInterlockedExchangeUlong (
|
|||
|
||||
|
||||
ULONG
|
||||
STDCALL
|
||||
ExInterlockedAddUlong (
|
||||
PULONG Addend,
|
||||
ULONG Increment,
|
||||
|
@ -78,6 +81,7 @@ ExInterlockedAddUlong (
|
|||
}
|
||||
|
||||
LARGE_INTEGER
|
||||
STDCALL
|
||||
ExInterlockedAddLargeInteger (
|
||||
PLARGE_INTEGER Addend,
|
||||
LARGE_INTEGER Increment,
|
||||
|
@ -100,6 +104,7 @@ ExInterlockedAddLargeInteger (
|
|||
}
|
||||
|
||||
INTERLOCKED_RESULT
|
||||
STDCALL
|
||||
ExInterlockedIncrementLong (
|
||||
PLONG Addend,
|
||||
PKSPIN_LOCK Lock
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/ex/resource.c
|
||||
|
@ -45,8 +46,12 @@
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
||||
BOOLEAN ExTryToAcquireResourceExclusiveLite(PERESOURCE Resource)
|
||||
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
ExTryToAcquireResourceExclusiveLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Attempts to require the resource for exclusive access
|
||||
* ARGUMENTS:
|
||||
|
@ -58,12 +63,22 @@ BOOLEAN ExTryToAcquireResourceExclusiveLite(PERESOURCE Resource)
|
|||
return(ExAcquireResourceExclusiveLite(Resource,FALSE));
|
||||
}
|
||||
|
||||
BOOLEAN ExAcquireResourceExclusive(PERESOURCE Resource, BOOLEAN Wait)
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
ExAcquireResourceExclusive (
|
||||
PERESOURCE Resource,
|
||||
BOOLEAN 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
|
||||
* ARGUMENTS:
|
||||
|
@ -85,7 +100,7 @@ BOOLEAN ExAcquireResourceExclusiveLite(PERESOURCE Resource, BOOLEAN Wait)
|
|||
/* resource already locked */
|
||||
if((Resource->Flag & ResourceOwnedExclusive)
|
||||
&& Resource->OwnerThreads[0].OwnerThread == ExGetCurrentResourceThread())
|
||||
{
|
||||
{
|
||||
/* it's ok : same lock for same thread */
|
||||
Resource->OwnerThreads[0].a.OwnerCount++;
|
||||
KeReleaseSpinLock(&Resource->SpinLock, oldIrql);
|
||||
|
@ -284,7 +299,12 @@ static BOOLEAN EiAddSharedOwner(PERESOURCE Resource)
|
|||
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
|
||||
* thread
|
||||
|
@ -353,7 +373,11 @@ BOOLEAN ExAcquireResourceSharedLite(PERESOURCE Resource, BOOLEAN Wait)
|
|||
return(TRUE);
|
||||
}
|
||||
|
||||
VOID ExConvertExclusiveToSharedLite(PERESOURCE Resource)
|
||||
VOID
|
||||
STDCALL
|
||||
ExConvertExclusiveToSharedLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Converts a given resource from acquired for exclusive access
|
||||
* to acquire for shared access
|
||||
|
@ -399,12 +423,21 @@ VOID ExConvertExclusiveToSharedLite(PERESOURCE Resource)
|
|||
DPRINT("ExConvertExclusiveToSharedLite() finished\n");
|
||||
}
|
||||
|
||||
ULONG ExGetExclusiveWaiterCount(PERESOURCE Resource)
|
||||
ULONG
|
||||
STDCALL
|
||||
ExGetExclusiveWaiterCount (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
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
|
||||
* for any pending attempts to acquire exclusive access to the
|
||||
|
@ -471,17 +504,30 @@ BOOLEAN ExAcquireSharedStarveExclusive(PERESOURCE Resource, BOOLEAN Wait)
|
|||
return(TRUE);
|
||||
}
|
||||
|
||||
BOOLEAN ExAcquireSharedWaitForExclusive(PERESOURCE Resource, BOOLEAN Wait)
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
ExAcquireSharedWaitForExclusive (
|
||||
PERESOURCE Resource,
|
||||
BOOLEAN Wait
|
||||
)
|
||||
{
|
||||
return(ExAcquireResourceSharedLite(Resource,Wait));
|
||||
}
|
||||
|
||||
NTSTATUS ExDeleteResource(PERESOURCE Resource)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExDeleteResource (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
return(ExDeleteResourceLite(Resource));
|
||||
}
|
||||
|
||||
NTSTATUS ExDeleteResourceLite(PERESOURCE Resource)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExDeleteResourceLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
DPRINT("ExDeleteResourceLite(Resource %x)\n", Resource);
|
||||
if (Resource->OwnerTable) ExFreePool(Resource->OwnerTable);
|
||||
|
@ -490,22 +536,38 @@ NTSTATUS ExDeleteResourceLite(PERESOURCE Resource)
|
|||
return(STATUS_SUCCESS);;
|
||||
}
|
||||
|
||||
ERESOURCE_THREAD ExGetCurrentResourceThread()
|
||||
ERESOURCE_THREAD
|
||||
STDCALL
|
||||
ExGetCurrentResourceThread (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return((ERESOURCE_THREAD)PsGetCurrentThread());
|
||||
}
|
||||
|
||||
ULONG ExGetSharedWaiterCount(PERESOURCE Resource)
|
||||
ULONG
|
||||
STDCALL
|
||||
ExGetSharedWaiterCount (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
return(Resource->NumberOfSharedWaiters);
|
||||
}
|
||||
|
||||
NTSTATUS ExInitializeResource(PERESOURCE Resource)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExInitializeResource (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
return(ExInitializeResourceLite(Resource));
|
||||
}
|
||||
|
||||
NTSTATUS ExInitializeResourceLite(PERESOURCE Resource)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExInitializeResourceLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
DPRINT("ExInitializeResourceLite(Resource %x)\n", Resource);
|
||||
memset(Resource,0,sizeof(ERESOURCE));
|
||||
|
@ -523,7 +585,11 @@ NTSTATUS ExInitializeResourceLite(PERESOURCE Resource)
|
|||
return(0);
|
||||
}
|
||||
|
||||
BOOLEAN ExIsResourceAcquiredExclusiveLite(PERESOURCE Resource)
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
ExIsResourceAcquiredExclusiveLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Returns whether the current thread has exclusive access to
|
||||
* a given resource
|
||||
|
@ -537,7 +603,11 @@ BOOLEAN ExIsResourceAcquiredExclusiveLite(PERESOURCE Resource)
|
|||
&& 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
|
||||
* resource
|
||||
|
@ -570,7 +640,11 @@ ULONG ExIsResourceAcquiredSharedLite(PERESOURCE Resource)
|
|||
return(0);
|
||||
}
|
||||
|
||||
VOID ExReinitializeResourceLite(PERESOURCE Resource)
|
||||
VOID
|
||||
STDCALL
|
||||
ExReinitializeResourceLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
Resource->NumberOfSharedWaiters = 0;
|
||||
Resource->NumberOfExclusiveWaiters = 0;
|
||||
|
@ -590,25 +664,41 @@ VOID ExReinitializeResourceLite(PERESOURCE Resource)
|
|||
Resource->OwnerThreads[1].a.OwnerCount=0;
|
||||
}
|
||||
|
||||
VOID ExReleaseResourceLite(PERESOURCE Resource)
|
||||
VOID
|
||||
STDCALL
|
||||
ExReleaseResourceLite (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
return(ExReleaseResourceForThreadLite(Resource,
|
||||
ExGetCurrentResourceThread()));
|
||||
}
|
||||
|
||||
VOID ExReleaseResource(PERESOURCE Resource)
|
||||
VOID
|
||||
STDCALL
|
||||
ExReleaseResource (
|
||||
PERESOURCE Resource
|
||||
)
|
||||
{
|
||||
return ExReleaseResourceForThreadLite(Resource,ExGetCurrentResourceThread());
|
||||
}
|
||||
|
||||
VOID ExReleaseResourceForThread(PERESOURCE Resource,
|
||||
ERESOURCE_THREAD ResourceThreadId)
|
||||
VOID
|
||||
STDCALL
|
||||
ExReleaseResourceForThread (
|
||||
PERESOURCE Resource,
|
||||
ERESOURCE_THREAD ResourceThreadId
|
||||
)
|
||||
{
|
||||
return(ExReleaseResourceForThreadLite(Resource,ResourceThreadId));
|
||||
}
|
||||
|
||||
VOID ExReleaseResourceForThreadLite(PERESOURCE Resource,
|
||||
ERESOURCE_THREAD ResourceThreadId)
|
||||
VOID
|
||||
STDCALL
|
||||
ExReleaseResourceForThreadLite (
|
||||
PERESOURCE Resource,
|
||||
ERESOURCE_THREAD ResourceThreadId
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Releases a resource for the given thread
|
||||
* ARGUMENTS:
|
||||
|
@ -686,4 +776,4 @@ VOID ExReleaseResourceForThreadLite(PERESOURCE Resource,
|
|||
DPRINT("ExReleaseResourceForThreadLite() finished\n");
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -64,6 +64,7 @@ NtQuerySystemTime (
|
|||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
ExLocalTimeToSystemTime (
|
||||
PLARGE_INTEGER LocalTime,
|
||||
PLARGE_INTEGER SystemTime
|
||||
|
@ -75,6 +76,7 @@ ExLocalTimeToSystemTime (
|
|||
|
||||
|
||||
VOID
|
||||
STDCALL
|
||||
ExSystemTimeToLocalTime (
|
||||
PLARGE_INTEGER SystemTime,
|
||||
PLARGE_INTEGER LocalTime
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: mkernel/kernel/work.c
|
||||
|
@ -134,9 +135,13 @@ VOID ExInitializeWorkerThreads(VOID)
|
|||
HIGH_PRIORITY);
|
||||
}
|
||||
|
||||
VOID ExInitializeWorkItem(PWORK_QUEUE_ITEM Item,
|
||||
PWORKER_THREAD_ROUTINE Routine,
|
||||
PVOID Context)
|
||||
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
|
||||
|
@ -154,8 +159,12 @@ VOID ExInitializeWorkItem(PWORK_QUEUE_ITEM Item,
|
|||
Item->Entry.Blink = NULL;
|
||||
}
|
||||
|
||||
VOID ExQueueWorkItem(PWORK_QUEUE_ITEM WorkItem,
|
||||
WORK_QUEUE_TYPE QueueType)
|
||||
VOID
|
||||
STDCALL
|
||||
ExQueueWorkItem (
|
||||
PWORK_QUEUE_ITEM WorkItem,
|
||||
WORK_QUEUE_TYPE QueueType
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Inserts a work item in a queue for one of the system worker
|
||||
* threads to process
|
||||
|
@ -205,3 +214,5 @@ VOID ExQueueWorkItem(PWORK_QUEUE_ITEM WorkItem,
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -585,7 +585,12 @@ static void* take_block(block_hdr* current, unsigned int size)
|
|||
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
|
||||
* ARGUMENTS:
|
||||
|
@ -620,7 +625,7 @@ asmlinkage VOID ExFreePool(PVOID block)
|
|||
add_to_free_list(blk);
|
||||
|
||||
EiUsedNonPagedPool = EiUsedNonPagedPool - blk->size;
|
||||
EiFreeNonPagedPool = EiFreeNonPagedPool + blk->size;
|
||||
EiFreeNonPagedPool = EiFreeNonPagedPool + blk->size;
|
||||
|
||||
VALIDATE_POOL;
|
||||
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
* 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)));
|
||||
}
|
||||
|
||||
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) +
|
||||
sizeof(ZONE_ENTRY));
|
||||
|
@ -31,7 +37,13 @@ BOOLEAN ExIsObjectInFirstZoneSegment(PZONE_HEADER Zone, PVOID Object)
|
|||
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_SEGMENT seg;
|
||||
|
@ -53,8 +65,14 @@ NTSTATUS ExExtendZone(PZONE_HEADER Zone, PVOID Segment, ULONG SegmentSize)
|
|||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
NTSTATUS ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment,
|
||||
ULONG SegmentSize, PKSPIN_LOCK Lock)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExInterlockedExtendZone (
|
||||
PZONE_HEADER Zone,
|
||||
PVOID Segment,
|
||||
ULONG SegmentSize,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
NTSTATUS ret;
|
||||
KIRQL oldlvl;
|
||||
|
@ -65,12 +83,20 @@ NTSTATUS ExInterlockedExtendZone(PZONE_HEADER Zone, PVOID Segment,
|
|||
return(ret);
|
||||
}
|
||||
|
||||
BOOLEAN ExIsFullZone(PZONE_HEADER Zone)
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
ExIsFullZone (
|
||||
PZONE_HEADER Zone
|
||||
)
|
||||
{
|
||||
return(Zone->FreeList.Next==NULL);
|
||||
}
|
||||
|
||||
PVOID ExAllocateFromZone(PZONE_HEADER Zone)
|
||||
PVOID
|
||||
STDCALL
|
||||
ExAllocateFromZone (
|
||||
PZONE_HEADER Zone
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Allocate a block from a zone
|
||||
* ARGUMENTS:
|
||||
|
@ -83,7 +109,12 @@ PVOID ExAllocateFromZone(PZONE_HEADER Zone)
|
|||
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
|
||||
* ARGUMENTS:
|
||||
|
@ -97,8 +128,14 @@ PVOID ExFreeToZone(PZONE_HEADER Zone, PVOID Block)
|
|||
return(ret);
|
||||
}
|
||||
|
||||
NTSTATUS ExInitializeZone(PZONE_HEADER Zone, ULONG BlockSize,
|
||||
PVOID InitialSegment, ULONG InitialSegmentSize)
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
ExInitializeZone (
|
||||
PZONE_HEADER Zone,
|
||||
ULONG BlockSize,
|
||||
PVOID InitialSegment,
|
||||
ULONG InitialSegmentSize
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Initalizes a zone header
|
||||
* ARGUMENTS:
|
||||
|
@ -134,8 +171,13 @@ NTSTATUS ExInitializeZone(PZONE_HEADER Zone, ULONG BlockSize,
|
|||
return(STATUS_SUCCESS);
|
||||
}
|
||||
|
||||
PVOID ExInterlockedFreeToZone(PZONE_HEADER Zone, PVOID Block,
|
||||
PKSPIN_LOCK Lock)
|
||||
PVOID
|
||||
STDCALL
|
||||
ExInterlockedFreeToZone (
|
||||
PZONE_HEADER Zone,
|
||||
PVOID Block,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
KIRQL oldlvl;
|
||||
PVOID ret;
|
||||
|
@ -146,7 +188,12 @@ PVOID ExInterlockedFreeToZone(PZONE_HEADER Zone, PVOID Block,
|
|||
return(ret);
|
||||
}
|
||||
|
||||
PVOID ExInterlockedAllocateFromZone(PZONE_HEADER Zone, PKSPIN_LOCK Lock)
|
||||
PVOID
|
||||
STDCALL
|
||||
ExInterlockedAllocateFromZone (
|
||||
PZONE_HEADER Zone,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
PVOID ret;
|
||||
KIRQL oldlvl;
|
||||
|
@ -156,3 +203,5 @@ PVOID ExInterlockedAllocateFromZone(PZONE_HEADER Zone, PKSPIN_LOCK Lock)
|
|||
KeReleaseSpinLock(Lock,oldlvl);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -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
|
||||
;
|
||||
|
@ -12,78 +12,106 @@ CcReleaseCachePage@12
|
|||
CcReleaseFileCache@8
|
||||
DbgBreakPoint@0
|
||||
DbgBreakPointWithStatus@4
|
||||
;DbgLoadImageSymbols@12
|
||||
DbgPrint
|
||||
DbgPrompt@12
|
||||
ExAcquireFastMutexUnsafe@4
|
||||
ExAcquireResourceExclusive
|
||||
ExAcquireResourceExclusiveLite
|
||||
ExAcquireResourceSharedLite
|
||||
ExAcquireSharedStarveExclusive
|
||||
ExAcquireSharedWaitForExclusive
|
||||
ExAllocateFromNPagedLookasideList
|
||||
ExAllocateFromPagedLookasideList
|
||||
ExAllocateFromZone
|
||||
ExAcquireResourceExclusive@8
|
||||
ExAcquireResourceExclusiveLite@8
|
||||
ExAcquireResourceSharedLite@8
|
||||
ExAcquireSharedStarveExclusive@8
|
||||
ExAcquireSharedWaitForExclusive@8
|
||||
ExAllocateFromNPagedLookasideList@4
|
||||
ExAllocateFromPagedLookasideList@4
|
||||
ExAllocateFromZone@4
|
||||
ExAllocatePool@8
|
||||
ExAllocatePoolWithQuota@8
|
||||
ExAllocatePoolWithQuotaTag@12
|
||||
ExAllocatePoolWithTag@12
|
||||
ExConvertExclusiveToSharedLite
|
||||
ExDeleteNPagedLookasideList
|
||||
ExDeletePagedLookasideList
|
||||
ExDeleteResource
|
||||
ExDeleteResourceLite
|
||||
ExConvertExclusiveToSharedLite@4
|
||||
;ExCreateCallback
|
||||
ExDeleteNPagedLookasideList@4
|
||||
ExDeletePagedLookasideList@4
|
||||
ExDeleteResource@4
|
||||
ExDeleteResourceLite@4
|
||||
ExDesktopObjectType DATA
|
||||
;ExDisableResourceBoostLite
|
||||
ExEventObjectType DATA
|
||||
ExExtendZone
|
||||
ExFreePool
|
||||
ExFreeToNPagedLookasideList
|
||||
ExFreeToPagedLookasideList
|
||||
ExFreeToZone
|
||||
ExGetCurrentResourceThread
|
||||
ExGetExclusiveWaiterCount
|
||||
ExGetSharedWaiterCount
|
||||
ExExtendZone@12
|
||||
ExFreePool@4
|
||||
ExFreeToNPagedLookasideList@8
|
||||
ExFreeToPagedLookasideList@8
|
||||
ExFreeToZone@8
|
||||
ExGetCurrentResourceThread@0
|
||||
ExGetExclusiveWaiterCount@4
|
||||
;ExGetPreviousMode
|
||||
ExGetSharedWaiterCount@4
|
||||
;FIXME: ExInitializeFastMutex is a macro!
|
||||
ExInitializeFastMutex@4
|
||||
ExInitializeNPagedLookasideList
|
||||
ExInitializePagedLookasideList
|
||||
ExInitializeResource
|
||||
ExInitializeResourceLite
|
||||
ExInitializeSListHead
|
||||
ExInitializeWorkItem
|
||||
ExInitializeZone
|
||||
ExInterlockedAddLargeInteger
|
||||
ExInterlockedAddUlong
|
||||
ExInterlockedAllocateFromZone
|
||||
ExInterlockedDecrementLong
|
||||
ExInterlockedExchangeUlong
|
||||
ExInterlockedExtendZone
|
||||
ExInterlockedFreeToZone
|
||||
ExInterlockedIncrementLong
|
||||
ExInterlockedInsertHeadList
|
||||
ExInterlockedInsertTailList
|
||||
ExInterlockedPopEntryList
|
||||
ExInterlockedPopEntrySList
|
||||
ExInterlockedPushEntryList
|
||||
ExInterlockedPushEntrySList
|
||||
ExInterlockedRemoveHeadList
|
||||
ExIsFullZone
|
||||
ExIsObjectInFirstZoneSegment
|
||||
ExIsResourceAcquiredExclusiveLite
|
||||
ExIsResourceAcquiredSharedLite
|
||||
ExLocalTimeToSystemTime
|
||||
ExQueryDepthSListHead
|
||||
ExQueueWorkItem
|
||||
ExInitializeResource@4
|
||||
ExInitializeResourceLite@4
|
||||
ExInitializeSListHead@4
|
||||
;FIXME: ExInitializeWorkItem is a macro!
|
||||
ExInitializeWorkItem@12
|
||||
ExInitializeZone@16
|
||||
ExInterlockedAddLargeInteger@16
|
||||
;ExInterlockedAddLargeStatistic
|
||||
ExInterlockedAddUlong@12
|
||||
ExInterlockedAllocateFromZone@8
|
||||
;ExInterlockedCompareExchange64
|
||||
ExInterlockedDecrementLong@8
|
||||
ExInterlockedExchangeUlong@12
|
||||
ExInterlockedExtendZone@16
|
||||
ExInterlockedFreeToZone@12
|
||||
ExInterlockedIncrementLong@8
|
||||
ExInterlockedInsertHeadList@12
|
||||
ExInterlockedInsertTailList@12
|
||||
ExInterlockedPopEntryList@8
|
||||
ExInterlockedPopEntrySList@8
|
||||
ExInterlockedPushEntryList@12
|
||||
ExInterlockedPushEntrySList@12
|
||||
ExInterlockedRemoveHeadList@8
|
||||
ExIsFullZone@4
|
||||
ExIsObjectInFirstZoneSegment@8
|
||||
;ExIsProcessorFeaturePresent
|
||||
ExIsResourceAcquiredExclusiveLite@4
|
||||
ExIsResourceAcquiredSharedLite@4
|
||||
ExLocalTimeToSystemTime@8
|
||||
;ExNotifyCallback
|
||||
;ExPostSystemEvent
|
||||
;ExQueryPoolBlockSize
|
||||
ExQueryDepthSListHead@4
|
||||
ExQueueWorkItem@8
|
||||
ExRaiseAccessViolation@0
|
||||
ExRaiseDatatypeMisalignment@0
|
||||
ExRaiseStatus@4
|
||||
ExReinitializeResourceLite
|
||||
;ExRegisterCallback
|
||||
ExReinitializeResourceLite@4
|
||||
ExReleaseFastMutexUnsafe@4
|
||||
ExReleaseResource
|
||||
ExReleaseResourceLite
|
||||
ExReleaseResourceForThread
|
||||
ExReleaseResourceForThreadLite
|
||||
ExSystemTimeToLocalTime
|
||||
ExTryToAcquireResourceExclusiveLite
|
||||
ExReleaseResource@4
|
||||
ExReleaseResourceLite@4
|
||||
ExReleaseResourceForThread@8
|
||||
ExReleaseResourceForThreadLite@8
|
||||
;ExSetResourceOwnerPointer
|
||||
;ExSystemExceptionFilter
|
||||
ExSystemTimeToLocalTime@8
|
||||
ExTryToAcquireResourceExclusiveLite@4
|
||||
;ExUnregisterCallback
|
||||
ExWindowStationObjectType DATA
|
||||
;ExfInterlockedAddUlong
|
||||
;ExfInterlockedInsertHeadList
|
||||
;ExfInterlockedInsertTailList
|
||||
;ExfInterlockedPopEntryList
|
||||
;ExfInterlockedPushEntryList
|
||||
;ExfInterlockedRemoveHeadList
|
||||
;Exfi386InterlockedDecrementLong
|
||||
;Exfi386InterlockedExchangeUlong
|
||||
;Exfi386InterlockedIncrementLong
|
||||
;Exi386InterlockedDecrementLong
|
||||
;Exi386InterlockedExchangeUlong
|
||||
;Exi386InterlockedIncrementLong
|
||||
FsRtlAddLargeMcbEntry@28
|
||||
FsRtlAddMcbEntry@16
|
||||
FsRtlAddToTunnelCache@32
|
||||
|
@ -170,6 +198,11 @@ FsRtlUninitializeMcb@4
|
|||
FsRtlUninitializeOplock@4
|
||||
;HalDispatchTable DATA
|
||||
;HalPrivateDispatchTable DATA
|
||||
;InterlockedCompareExchange
|
||||
;InterlockedDecrement
|
||||
;InterlockedExchange
|
||||
;InterlockedExchangeAdd
|
||||
;InterlockedIncrement
|
||||
IoAcquireCancelSpinLock@4
|
||||
IoAcquireVpbSpinLock@4
|
||||
IoAdapterObjectType DATA
|
||||
|
@ -282,28 +315,143 @@ IofCompleteRequest@8
|
|||
KdDebuggerEnabled DATA
|
||||
KdDebuggerNotPresent DATA
|
||||
KdPollBreakIn@0
|
||||
;Ke386CallBios
|
||||
;Ke386IoSetAccessProcess
|
||||
;Ke386QueryIoAccessMap
|
||||
;Ke386SetIoAccessMap
|
||||
KeAcquireSpinLockAtDpcLevel@4
|
||||
KeAddSystemServiceTable@20
|
||||
KeBugCheck
|
||||
KeBugCheckEx
|
||||
KeClearEvent
|
||||
KeAttachProcess@4
|
||||
;KeBoostCurrentThread
|
||||
KeBugCheck@4
|
||||
KeBugCheckEx@20
|
||||
KeCancelTimer@4
|
||||
KeClearEvent@4
|
||||
;KeConnectInterrupt
|
||||
;KeDcacheFlushCount DATA
|
||||
KeDelayExecutionThread@12
|
||||
KeDeregisterBugCheckCallback@4
|
||||
KeDetachProcess@0
|
||||
;KeDisconnectInterrupt
|
||||
KeEnterCriticalRegion@0
|
||||
KeEnterKernelDebugger@0
|
||||
;KeFindConfigurationEntry
|
||||
;KeFindConfigurationNextEntry
|
||||
;KeFlushEntireTb
|
||||
KeFlushIoBuffers
|
||||
KeGetPreviousMode
|
||||
KeInitializeDpc
|
||||
KeInitializeEvent
|
||||
KeInitializeSpinLock
|
||||
KeInitializeTimer
|
||||
KeInsertQueueDpc
|
||||
KeQuerySystemTime
|
||||
KeReadStateEvent
|
||||
KeResetEvent
|
||||
KeGetCurrentThread@0
|
||||
KeGetPreviousMode@0
|
||||
;KeI386AbiosCall
|
||||
;KeI386AllocateGdtSelectors
|
||||
;KeI386Call16BitCStyleFunction
|
||||
;KeI386Call16BitFunction
|
||||
;KeI386FlatToGdtSelector
|
||||
;KeI386GetLid
|
||||
;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
|
||||
KeSetEvent
|
||||
KeSetTimer
|
||||
KeSynchronizeExecution
|
||||
KeWaitForSingleObject
|
||||
;KeSetAffinityThread
|
||||
KeSetBasePriorityThread@8
|
||||
;KeSetDmaIoCoherency
|
||||
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
|
||||
;LpcRequestPort@8
|
||||
;LsaCallAuthenticationPackage
|
||||
;LsaDeregisterLogonProcess
|
||||
;LsaFreeReturnBuffer
|
||||
;LsaLogonUser
|
||||
;LsaLookupAuthenticationPackage
|
||||
;LsaRegisterLogonProcess
|
||||
MmAdjustWorkingSetSize@12
|
||||
MmAllocateContiguousMemory@12
|
||||
MmAllocateNonCachedMemory@4
|
||||
|
@ -342,7 +490,6 @@ MmSecureVirtualMemory@12
|
|||
MmSetAddressRangeModified@8
|
||||
MmSetBankedSection@24
|
||||
MmSizeOfMdl@8
|
||||
MmSystemRangeStart=MmSectionObjectType
|
||||
MmUnlockPagableImageSection@4
|
||||
MmUnlockPages@4
|
||||
MmUnmapIoSpace@8
|
||||
|
@ -385,7 +532,7 @@ NtOpenProcess@16
|
|||
NtOpenProcessToken@12
|
||||
NtQueryDirectoryFile@44
|
||||
NtQueryEaFile@36
|
||||
;NtQueryInformationAtom <--- ?
|
||||
NtQueryInformationAtom@20
|
||||
NtQueryInformationFile@20
|
||||
NtQueryInformationProcess@20
|
||||
NtQueryInformationToken@20
|
||||
|
@ -430,9 +577,42 @@ ObReferenceObjectByPointer@16
|
|||
ObfDereferenceObject@4
|
||||
;@ObfReferenceObject@4
|
||||
ObfReferenceObject@4
|
||||
;PfxFindPrefix
|
||||
;PfxInitialize
|
||||
;PfxInsertPrefix
|
||||
;PfxRemovePrefix
|
||||
PoQueryPowerSequence@0
|
||||
PoRequestPowerChange@12
|
||||
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_ULONG@4
|
||||
READ_REGISTER_USHORT@4
|
||||
|
@ -661,7 +841,7 @@ SeReleaseSubjectContext@4
|
|||
;SeSinglePrivilegeCheck@12
|
||||
;SeSystemDefaultDacl DATA
|
||||
;SeTokenImpersonationLevel@4
|
||||
;SeTokenType@4
|
||||
SeTokenType DATA
|
||||
;SeUnlockSubjectContext@4
|
||||
;SeUnregisterLogonSessionTerminatedRoutine@4
|
||||
;SeValidSecurityDescriptor@8
|
||||
|
@ -715,6 +895,7 @@ ZwOpenThreadToken@16
|
|||
ZwPulseEvent@8
|
||||
ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile@44
|
||||
ZwQueryInformationAtom@20
|
||||
ZwQueryInformationFile@20
|
||||
ZwQueryInformationProcess@20
|
||||
ZwQueryInformationToken@20
|
||||
|
@ -829,7 +1010,7 @@ wcsstr
|
|||
wcstombs
|
||||
wctomb
|
||||
;
|
||||
; ReactOS Extensions
|
||||
; ReactOS Extensions (these should be macros!)
|
||||
;
|
||||
IoGetCurrentIrpStackLocation
|
||||
IoInitializeDpcRequest
|
||||
|
@ -907,16 +1088,16 @@ KdPortPollByte@4
|
|||
KdPortPutByte@4
|
||||
KdPortRestore@0
|
||||
KdPortSave@0
|
||||
KeAcquireSpinLock
|
||||
KeAcquireSpinLock@8
|
||||
;KeAcquireSpinLockRaiseToSynch
|
||||
KeFlushWriteBuffer@0
|
||||
KeGetCurrentIrql@0
|
||||
KeLowerIrql@4
|
||||
;KeQueryPerformanceCounter
|
||||
KeQueryPerformanceCounter@4
|
||||
KeRaiseIrql@8
|
||||
;KeRaiseIrqlToDpcLevel
|
||||
;KeRaiseIrqlToSynchLevel
|
||||
KeReleaseSpinLock
|
||||
KeReleaseSpinLock@8
|
||||
KeStallExecutionProcessor@4
|
||||
;KfAcquireSpinLock
|
||||
;@KfLowerIrql@4
|
||||
|
|
|
@ -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
|
||||
;
|
||||
|
@ -12,78 +12,106 @@ CcReleaseCachePage=CcReleaseCachePage@12
|
|||
CcReleaseFileCache=CcReleaseFileCache@8
|
||||
DbgBreakPoint=DbgBreakPoint@0
|
||||
DbgBreakPointWithStatus=DbgBreakPointWithStatus@4
|
||||
;DbgLoadImageSymbols=DbgLoadImageSymbols@12
|
||||
DbgPrint
|
||||
DbgPrompt=DbgPrompt@12
|
||||
ExAcquireFastMutexUnsafe=ExAcquireFastMutexUnsafe@4
|
||||
ExAcquireResourceExclusive
|
||||
ExAcquireResourceExclusiveLite
|
||||
ExAcquireResourceSharedLite
|
||||
ExAcquireSharedStarveExclusive
|
||||
ExAcquireSharedWaitForExclusive
|
||||
ExAllocateFromNPagedLookasideList
|
||||
ExAllocateFromPagedLookasideList
|
||||
ExAllocateFromZone
|
||||
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=ExAllocatePool@8
|
||||
ExAllocatePoolWithQuota=ExAllocatePoolWithQuota@8
|
||||
ExAllocatePoolWithQuotaTag=ExAllocatePoolWithQuotaTag@12
|
||||
ExAllocatePoolWithTag=ExAllocatePoolWithTag@12
|
||||
ExConvertExclusiveToSharedLite
|
||||
ExDeleteNPagedLookasideList
|
||||
ExDeletePagedLookasideList
|
||||
ExDeleteResource
|
||||
ExDeleteResourceLite
|
||||
ExConvertExclusiveToSharedLite=ExConvertExclusiveToSharedLite@4
|
||||
;ExCreateCallback
|
||||
ExDeleteNPagedLookasideList=ExDeleteNPagedLookasideList@4
|
||||
ExDeletePagedLookasideList=ExDeletePagedLookasideList@4
|
||||
ExDeleteResource=ExDeleteResource@4
|
||||
ExDeleteResourceLite=ExDeleteResourceLite@4
|
||||
ExDesktopObjectType DATA
|
||||
;ExDisableResourceBoostLite
|
||||
ExEventObjectType DATA
|
||||
ExExtendZone
|
||||
ExFreePool
|
||||
ExFreeToNPagedLookasideList
|
||||
ExFreeToPagedLookasideList
|
||||
ExFreeToZone
|
||||
ExGetCurrentResourceThread
|
||||
ExGetExclusiveWaiterCount
|
||||
ExGetSharedWaiterCount
|
||||
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
|
||||
;FIXME: ExInitializeFastMutex is a macro!
|
||||
ExInitializeFastMutex=ExInitializeFastMutex@4
|
||||
ExInitializeNPagedLookasideList
|
||||
ExInitializePagedLookasideList
|
||||
ExInitializeResource
|
||||
ExInitializeResourceLite
|
||||
ExInitializeSListHead
|
||||
ExInitializeWorkItem
|
||||
ExInitializeZone
|
||||
ExInterlockedAddLargeInteger
|
||||
ExInterlockedAddUlong
|
||||
ExInterlockedAllocateFromZone
|
||||
ExInterlockedDecrementLong
|
||||
ExInterlockedExchangeUlong
|
||||
ExInterlockedExtendZone
|
||||
ExInterlockedFreeToZone
|
||||
ExInterlockedIncrementLong
|
||||
ExInterlockedInsertHeadList
|
||||
ExInterlockedInsertTailList
|
||||
ExInterlockedPopEntryList
|
||||
ExInterlockedPopEntrySList
|
||||
ExInterlockedPushEntryList
|
||||
ExInterlockedPushEntrySList
|
||||
ExInterlockedRemoveHeadList
|
||||
ExIsFullZone
|
||||
ExIsObjectInFirstZoneSegment
|
||||
ExIsResourceAcquiredExclusiveLite
|
||||
ExIsResourceAcquiredSharedLite
|
||||
ExLocalTimeToSystemTime
|
||||
ExQueryDepthSListHead
|
||||
ExQueueWorkItem
|
||||
ExInitializeNPagedLookasideList=ExInitializeNPagedLookasideList@28
|
||||
ExInitializePagedLookasideList=ExInitializePagedLookasideList@28
|
||||
ExInitializeResource=ExInitializeResource@4
|
||||
ExInitializeResourceLite=ExInitializeResourceLite@4
|
||||
ExInitializeSListHead=ExInitializeSListHead@4
|
||||
;FIXME: ExInitializeWorkItem is a macro!
|
||||
ExInitializeWorkItem=ExInitializeWorkItem@12
|
||||
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
|
||||
ExInterlockedPopEntryList=ExInterlockedPopEntryList@8
|
||||
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
|
||||
ExLocalTimeToSystemTime=ExLocalTimeToSystemTime@8
|
||||
;ExNotifyCallback
|
||||
;ExPostSystemEvent
|
||||
;ExQueryPoolBlockSize
|
||||
ExQueryDepthSListHead=ExQueryDepthSListHead@4
|
||||
ExQueueWorkItem=ExQueueWorkItem@8
|
||||
ExRaiseAccessViolation=ExRaiseAccessViolation@0
|
||||
ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
|
||||
ExRaiseStatus=ExRaiseStatus@4
|
||||
ExReinitializeResourceLite
|
||||
;ExRegisterCallback
|
||||
ExReinitializeResourceLite=ExReinitializeResourceLite@4
|
||||
ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
|
||||
ExReleaseResource
|
||||
ExReleaseResourceLite
|
||||
ExReleaseResourceForThread
|
||||
ExReleaseResourceForThreadLite
|
||||
ExSystemTimeToLocalTime
|
||||
ExTryToAcquireResourceExclusiveLite
|
||||
ExReleaseResource=ExReleaseResource@4
|
||||
ExReleaseResourceLite=ExReleaseResourceLite@4
|
||||
ExReleaseResourceForThread=ExReleaseResourceForThread@8
|
||||
ExReleaseResourceForThreadLite=ExReleaseResourceForThreadLite@8
|
||||
;ExSetResourceOwnerPointer
|
||||
;ExSystemExceptionFilter
|
||||
ExSystemTimeToLocalTime=ExSystemTimeToLocalTime@8
|
||||
ExTryToAcquireResourceExclusiveLite=ExTryToAcquireResourceExclusiveLite@4
|
||||
;ExUnregisterCallback
|
||||
ExWindowStationObjectType DATA
|
||||
;ExfInterlockedAddUlong
|
||||
;ExfInterlockedInsertHeadList
|
||||
;ExfInterlockedInsertTailList
|
||||
;ExfInterlockedPopEntryList
|
||||
;ExfInterlockedPushEntryList
|
||||
;ExfInterlockedRemoveHeadList
|
||||
;Exfi386InterlockedDecrementLong
|
||||
;Exfi386InterlockedExchangeUlong
|
||||
;Exfi386InterlockedIncrementLong
|
||||
;Exi386InterlockedDecrementLong
|
||||
;Exi386InterlockedExchangeUlong
|
||||
;Exi386InterlockedIncrementLong
|
||||
FsRtlAddLargeMcbEntry=FsRtlAddLargeMcbEntry@28
|
||||
FsRtlAddMcbEntry=FsRtlAddMcbEntry@16
|
||||
FsRtlAddToTunnelCache=FsRtlAddToTunnelCache@32
|
||||
|
@ -282,28 +310,139 @@ IofCompleteRequest=IofCompleteRequest@8
|
|||
KdDebuggerEnabled DATA
|
||||
KdDebuggerNotPresent DATA
|
||||
KdPollBreakIn=KdPollBreakIn@0
|
||||
;Ke386CallBios
|
||||
;Ke386IoSetAccessProcess
|
||||
;Ke386QueryIoAccessMap
|
||||
;Ke386SetIoAccessMap
|
||||
KeAcquireSpinLockAtDpcLevel=KeAcquireSpinLockAtDpcLevel@4
|
||||
KeAddSystemServiceTable=KeAddSystemServiceTable@20
|
||||
KeBugCheck
|
||||
KeBugCheckEx
|
||||
KeClearEvent
|
||||
KeAttachProcess=KeAttachProcess@4
|
||||
;KeBoostCurrentThread
|
||||
KeBugCheck=KeBugCheck@4
|
||||
KeBugCheckEx=KeBugCheckEx@20
|
||||
KeCancelTimer=KeCancelTimer@4
|
||||
KeClearEvent=KeClearEvent@4
|
||||
;KeConnectInterrupt
|
||||
;KeDcacheFlushCount DATA
|
||||
KeDelayExecutionThread=KeDelayExecutionThread@12
|
||||
KeDeregisterBugCheckCallback=KeDeregisterBugCheckCallback@4
|
||||
KeDetachProcess=KeDetachProcess@0
|
||||
;KeDisconnectInterrupt
|
||||
KeEnterCriticalRegion=KeEnterCriticalRegion@0
|
||||
KeEnterKernelDebugger=KeEnterKernelDebugger@0
|
||||
KeFlushIoBuffers
|
||||
KeGetPreviousMode
|
||||
KeInitializeDpc
|
||||
KeInitializeEvent
|
||||
KeInitializeSpinLock
|
||||
KeInitializeTimer
|
||||
KeInsertQueueDpc
|
||||
KeQuerySystemTime
|
||||
KeReadStateEvent
|
||||
KeResetEvent
|
||||
KeGetPreviousMode=KeGetPreviousMode@0
|
||||
;KeI386AbiosCall
|
||||
;KeI386AllocateGdtSelectors
|
||||
;KeI386Call16BitCStyleFunction
|
||||
;KeI386Call16BitFunction
|
||||
;KeI386FlatToGdtSelector
|
||||
;KeI386GetLid
|
||||
;KeI386MachineType
|
||||
;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
|
||||
KeSetEvent
|
||||
KeSetTimer
|
||||
KeSynchronizeExecution
|
||||
KeWaitForSingleObject
|
||||
;KeSetAffinityThread
|
||||
KeSetBasePriorityThread=KeSetBasePriorityThread@8
|
||||
;KeSetDmaIoCoherency
|
||||
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
|
||||
;LpcRequestPort@8
|
||||
;LsaCallAuthenticationPackage
|
||||
;LsaDeregisterLogonProcess
|
||||
;LsaFreeReturnBuffer
|
||||
;LsaLogonUser
|
||||
;LsaLookupAuthenticationPackage
|
||||
;LsaRegisterLogonProcess
|
||||
MmAdjustWorkingSetSize=MmAdjustWorkingSetSize@12
|
||||
MmAllocateContiguousMemory=MmAllocateContiguousMemory@12
|
||||
MmAllocateNonCachedMemory=MmAllocateNonCachedMemory@4
|
||||
|
@ -342,7 +481,6 @@ MmSecureVirtualMemory=MmSecureVirtualMemory@12
|
|||
MmSetAddressRangeModified=MmSetAddressRangeModified@8
|
||||
MmSetBankedSection=MmSetBankedSection@24
|
||||
MmSizeOfMdl=MmSizeOfMdl@8
|
||||
MmSystemRangeStart=MmSectionObjectType
|
||||
MmUnlockPagableImageSection=MmUnlockPagableImageSection@4
|
||||
MmUnlockPages=MmUnlockPages@4
|
||||
MmUnmapIoSpace=MmUnmapIoSpace@8
|
||||
|
@ -385,7 +523,7 @@ NtOpenProcess=NtOpenProcess@16
|
|||
NtOpenProcessToken=NtOpenProcessToken@12
|
||||
NtQueryDirectoryFile=NtQueryDirectoryFile@44
|
||||
NtQueryEaFile=NtQueryEaFile@36
|
||||
;NtQueryInformationAtom <--- ?
|
||||
NtQueryInformationAtom=NtQueryInformationAtom@20
|
||||
NtQueryInformationFile=NtQueryInformationFile@20
|
||||
NtQueryInformationProcess=NtQueryInformationProcess@20
|
||||
NtQueryInformationToken=NtQueryInformationToken@20
|
||||
|
@ -430,9 +568,41 @@ ObReferenceObjectByPointer=ObReferenceObjectByPointer@16
|
|||
ObfDereferenceObject=ObfDereferenceObject@4
|
||||
;ObfReferenceObject=@ObfReferenceObject@4
|
||||
ObfReferenceObject=ObfReferenceObject@4
|
||||
;PfxFindPrefix
|
||||
;PfxInitialize
|
||||
;PfxInsertPrefix
|
||||
;PfxRemovePrefix
|
||||
PoQueryPowerSequence=PoQueryPowerSequence@0
|
||||
PoRequestPowerChange=PoRequestPowerChange@12
|
||||
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_ULONG=READ_REGISTER_ULONG@4
|
||||
READ_REGISTER_USHORT=READ_REGISTER_USHORT@4
|
||||
|
@ -600,7 +770,7 @@ SeReleaseSubjectContext=SeReleaseSubjectContext@4
|
|||
;SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12
|
||||
;SeSystemDefaultDacl DATA
|
||||
;SeTokenImpersonationLevel=SeTokenImpersonationLevel@4
|
||||
;SeTokenType=SeTokenType@4
|
||||
SeTokenType DATA
|
||||
;SeUnlockSubjectContext=SeUnlockSubjectContext@4
|
||||
;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4
|
||||
;SeValidSecurityDescriptor=SeValidSecurityDescriptor@8
|
||||
|
@ -654,6 +824,7 @@ ZwOpenThreadToken=ZwOpenThreadToken@16
|
|||
ZwPulseEvent=ZwPulseEvent@8
|
||||
ZwQueryDefaultLocale=ZwQueryDefaultLocale@8
|
||||
ZwQueryDirectoryFile=ZwQueryDirectoryFile@44
|
||||
ZwQueryInformationAtom=ZwQueryInformationAtom@20
|
||||
ZwQueryInformationFile=ZwQueryInformationFile@20
|
||||
ZwQueryInformationProcess=ZwQueryInformationProcess@20
|
||||
ZwQueryInformationToken=ZwQueryInformationToken@20
|
||||
|
@ -847,16 +1018,16 @@ KdPortPollByte=KdPortPollByte@4
|
|||
KdPortPutByte=KdPortPutByte@4
|
||||
KdPortRestore=KdPortRestore@0
|
||||
KdPortSave=KdPortSave@0
|
||||
KeAcquireSpinLock
|
||||
KeAcquireSpinLock=KeAcquireSpinLock@8
|
||||
;KeAcquireSpinLockRaiseToSynch
|
||||
KeFlushWriteBuffer=KeFlushWriteBuffer@0
|
||||
KeGetCurrentIrql=KeGetCurrentIrql@0
|
||||
KeLowerIrql=KeLowerIrql@4
|
||||
;KeQueryPerformanceCounter
|
||||
KeQueryPerformanceCounter=KeQueryPerformanceCounter@4
|
||||
KeRaiseIrql=KeRaiseIrql@8
|
||||
;KeRaiseIrqlToDpcLevel
|
||||
;KeRaiseIrqlToSynchLevel
|
||||
KeReleaseSpinLock
|
||||
KeReleaseSpinLock=KeReleaseSpinLock@8
|
||||
KeStallExecutionProcessor=KeStallExecutionProcessor@4
|
||||
;KfAcquireSpinLock
|
||||
;KfLowerIrql=@KfLowerIrql@4
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/rtl/list.c
|
||||
|
@ -124,9 +125,13 @@ VOID InsertHeadList(PLIST_ENTRY ListHead, PLIST_ENTRY ListEntry)
|
|||
assert( CheckEntry( ListEntry ) );
|
||||
}
|
||||
|
||||
PLIST_ENTRY ExInterlockedInsertTailList(PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock)
|
||||
PLIST_ENTRY
|
||||
STDCALL
|
||||
ExInterlockedInsertTailList (
|
||||
PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
PLIST_ENTRY Old;
|
||||
KIRQL oldlvl;
|
||||
|
@ -140,15 +145,19 @@ PLIST_ENTRY ExInterlockedInsertTailList(PLIST_ENTRY ListHead,
|
|||
{
|
||||
Old = ListHead->Blink;
|
||||
}
|
||||
InsertTailList(ListHead,ListEntry);
|
||||
InsertTailList(ListHead,ListEntry);
|
||||
KeReleaseSpinLock(Lock,oldlvl);
|
||||
|
||||
return(Old);
|
||||
}
|
||||
|
||||
PLIST_ENTRY ExInterlockedInsertHeadList(PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock)
|
||||
PLIST_ENTRY
|
||||
STDCALL
|
||||
ExInterlockedInsertHeadList (
|
||||
PLIST_ENTRY ListHead,
|
||||
PLIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Inserts an entry at the head of a doubly linked list
|
||||
* ARGUMENTS:
|
||||
|
@ -167,18 +176,22 @@ PLIST_ENTRY ExInterlockedInsertHeadList(PLIST_ENTRY ListHead,
|
|||
Old = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
Old = ListHead->Flink;
|
||||
}
|
||||
InsertHeadList(ListHead,ListEntry);
|
||||
InsertHeadList(ListHead,ListEntry);
|
||||
KeReleaseSpinLock(Lock,oldlvl);
|
||||
|
||||
return(Old);
|
||||
}
|
||||
|
||||
|
||||
PLIST_ENTRY ExInterlockedRemoveHeadList(PLIST_ENTRY Head,
|
||||
PKSPIN_LOCK Lock)
|
||||
PLIST_ENTRY
|
||||
STDCALL
|
||||
ExInterlockedRemoveHeadList (
|
||||
PLIST_ENTRY Head,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
/*
|
||||
* FUNCTION: Removes the head of a double linked list
|
||||
* ARGUMENTS:
|
||||
|
@ -228,3 +241,5 @@ PLIST_ENTRY ExInterlockedRemoveTailList(PLIST_ENTRY Head,
|
|||
KeReleaseSpinLock(Lock,oldlvl);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/rtl/lookas.c
|
||||
|
@ -16,56 +17,89 @@
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
PVOID ExAllocateFromNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside)
|
||||
PVOID
|
||||
STDCALL
|
||||
ExAllocateFromNPagedLookasideList (
|
||||
PNPAGED_LOOKASIDE_LIST Lookaside
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
PVOID ExAllocateFromPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside)
|
||||
PVOID
|
||||
STDCALL
|
||||
ExAllocateFromPagedLookasideList (
|
||||
PPAGED_LOOKASIDE_LIST Lookaside
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExDeleteNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside)
|
||||
VOID
|
||||
STDCALL
|
||||
ExDeleteNPagedLookasideList (
|
||||
PNPAGED_LOOKASIDE_LIST Lookaside
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExDeletePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside)
|
||||
VOID
|
||||
STDCALL
|
||||
ExDeletePagedLookasideList (
|
||||
PPAGED_LOOKASIDE_LIST Lookaside
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExFreeToNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PVOID Entry)
|
||||
VOID
|
||||
STDCALL
|
||||
ExFreeToNPagedLookasideList (
|
||||
PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PVOID Entry
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExFreeToPagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PVOID Entry)
|
||||
VOID
|
||||
STDCALL
|
||||
ExFreeToPagedLookasideList (
|
||||
PPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PVOID Entry
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PALLOCATE_FUNCTION Allocate,
|
||||
PFREE_FUNCTION Free,
|
||||
ULONG Flags,
|
||||
ULONG Size,
|
||||
ULONG Tag,
|
||||
USHORT Depth)
|
||||
VOID
|
||||
STDCALL
|
||||
ExInitializeNPagedLookasideList (
|
||||
PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PALLOCATE_FUNCTION Allocate,
|
||||
PFREE_FUNCTION Free,
|
||||
ULONG Flags,
|
||||
ULONG Size,
|
||||
ULONG Tag,
|
||||
USHORT Depth)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
VOID ExInitializePagedLookasideList(PPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PALLOCATE_FUNCTION Allocate,
|
||||
PFREE_FUNCTION Free,
|
||||
ULONG Flags,
|
||||
ULONG Size,
|
||||
ULONG Tag,
|
||||
USHORT Depth)
|
||||
VOID
|
||||
STDCALL
|
||||
ExInitializePagedLookasideList (
|
||||
PPAGED_LOOKASIDE_LIST Lookaside,
|
||||
PALLOCATE_FUNCTION Allocate,
|
||||
PFREE_FUNCTION Free,
|
||||
ULONG Flags,
|
||||
ULONG Size,
|
||||
ULONG Tag,
|
||||
USHORT Depth
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -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
|
||||
* PROJECT: ReactOS project
|
||||
* FILE: kernel/rtl/slist.c
|
||||
|
@ -16,29 +17,84 @@
|
|||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
PSINGLE_LIST_ENTRY ExInterlockedPopEntrySList(PSLIST_HEADER ListHead,
|
||||
PKSPIN_LOCK Lock)
|
||||
PSINGLE_LIST_ENTRY
|
||||
STDCALL
|
||||
ExInterlockedPopEntrySList (
|
||||
PSLIST_HEADER ListHead,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
PSINGLE_LIST_ENTRY ExInterlockedPushEntrySList(PSLIST_HEADER ListHead,
|
||||
PSINGLE_LIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock)
|
||||
|
||||
PSINGLE_LIST_ENTRY
|
||||
STDCALL
|
||||
ExInterlockedPushEntrySList (
|
||||
PSLIST_HEADER ListHead,
|
||||
PSINGLE_LIST_ENTRY ListEntry,
|
||||
PKSPIN_LOCK Lock
|
||||
)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
USHORT ExQueryDepthSListHead(PSLIST_HEADER SListHead)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID ExInitializeSListHead(PSLIST_HEADER SListHead)
|
||||
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
|
||||
|
@ -55,17 +111,6 @@ PSINGLE_LIST_ENTRY PopEntryList(PSINGLE_LIST_ENTRY ListHead)
|
|||
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)
|
||||
{
|
||||
|
@ -73,17 +118,4 @@ VOID PushEntryList(PSINGLE_LIST_ENTRY ListHead, PSINGLE_LIST_ENTRY Entry)
|
|||
ListHead->Next = Entry;
|
||||
}
|
||||
|
||||
PSINGLE_LIST_ENTRY 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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue