mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 00:45:49 +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
|
* 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
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue