Added Ex Prototypes

svn path=/trunk/; revision=9841
This commit is contained in:
Alex Ionescu
2004-06-23 21:02:35 +00:00
parent 62a4509b5f
commit 68f96d4b10
4 changed files with 257 additions and 9 deletions
+156 -1
View File
@@ -46,6 +46,32 @@ ExAcquireResourceSharedLite (
BOOLEAN Wait
);
BOOLEAN
FASTCALL
ExAcquireRundownProtection (
PVOID ProcessRundownProtect
);
BOOLEAN
FASTCALL
ExAcquireRundownProtectionEx (
IN PVOID ProcessRundownProtect,
IN PVOID Unknown
);
PVOID
FASTCALL
ExfAcquirePushLockExclusive (
PVOID Lock
);
PVOID
FASTCALL
ExfAcquirePushLockShared (
PVOID Lock
);
PVOID
FASTCALL
ExfReleasePushLock (
PVOID Lock
);
BOOLEAN
STDCALL
ExAcquireSharedStarveExclusive (
PERESOURCE Resource,
@@ -120,6 +146,15 @@ ExAllocatePoolWithTag (
IN ULONG Tag
);
PVOID
NTAPI
ExAllocatePoolWithTagPriority(
IN POOL_TYPE PoolType,
IN SIZE_T NumberOfBytes,
IN ULONG Tag,
IN EX_POOL_PRIORITY Priority
);
VOID
STDCALL
ExConvertExclusiveToSharedLite (
@@ -152,6 +187,15 @@ ExDisableResourceBoostLite (
PERESOURCE Resource
);
VOID
STDCALL
ExEnumHandleTable (
PULONG HandleTable,
PVOID Callback,
PVOID Param,
PHANDLE Handle OPTIONAL
);
NTSTATUS
STDCALL
ExExtendZone (
@@ -199,6 +243,28 @@ ExFreePool (
#define ExGetCurrentResourceThread() \
((ERESOURCE_THREAD)KeGetCurrentThread())
LONGLONG
FASTCALL
ExfInterlockedCompareExchange64(
IN OUT LONGLONG volatile *Destination,
IN PLONGLONG ExChange,
IN PLONGLONG Comperand
);
VOID
STDCALL
ExGetCurrentProcessorCounts (
PVOID IdleThreadTime,
PVOID SystemTime,
PVOID Number
);
VOID
STDCALL
ExGetCurrentProcessorCpuUsage (
PVOID RetVal
);
ULONG
STDCALL
ExGetExclusiveWaiterCount (
@@ -242,6 +308,12 @@ ExInitializeResourceLite (
PERESOURCE Resource
);
VOID
FASTCALL
ExInitializeRundownProtection (
PVOID ProcessRundown
);
/*
* VOID
* ExInitializeSListHead (
@@ -333,6 +405,7 @@ ExInterlockedDecrementLong (
PLONG Addend,
PKSPIN_LOCK Lock
);
ULONG
STDCALL
ExInterlockedExchangeUlong (
@@ -340,6 +413,7 @@ ExInterlockedExchangeUlong (
ULONG Value,
PKSPIN_LOCK Lock
);
NTSTATUS
STDCALL
ExInterlockedExtendZone (
@@ -349,6 +423,12 @@ ExInterlockedExtendZone (
PKSPIN_LOCK Lock
);
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
IN PSLIST_HEADER ListHead
);
/*
* PVOID
* ExInterlockedFreeToZone (
@@ -498,6 +578,14 @@ ExQueueWorkItem (
PWORK_QUEUE_ITEM WorkItem,
WORK_QUEUE_TYPE QueueType
);
SIZE_T
STDCALL
ExQueryPoolBlockSize (
IN PVOID PoolBlock,
OUT PBOOLEAN QuotaCharged
);
VOID
STDCALL
ExRaiseAccessViolation (
@@ -513,6 +601,21 @@ STDCALL
ExRaiseStatus (
NTSTATUS Status
);
VOID
STDCALL
ExRaiseException (
PEXCEPTION_RECORD pExcptRec
);
VOID
STDCALL
ExRaiseHardError (
IN NTSTATUS ErrorStatus,
IN ULONG NumberOfParameters,
IN PUNICODE_STRING UnicodeStringParameterMask OPTIONAL,
IN PVOID *Parameters,
IN HARDERROR_RESPONSE_OPTION ResponseOption,
OUT PHARDERROR_RESPONSE Response
);
PVOID
STDCALL
@@ -527,6 +630,12 @@ STDCALL
ExReinitializeResourceLite (
PERESOURCE Resource
);
VOID
FASTCALL
ExReInitializeRundownProtection (
PVOID ProcessRundown
);
/* ReactOS Specific: begin */
VOID
FASTCALL
@@ -566,7 +675,22 @@ ExReleaseResourceForThreadLite (
PERESOURCE Resource,
ERESOURCE_THREAD ResourceThreadId
);
BOOLEAN
FASTCALL
ExReleaseRundownProtection (
IN PVOID ProcessRundownProtect
);
BOOLEAN
FASTCALL
ExReleaseRundownProtectionEx (
IN PVOID ProcessRundownProtect,
IN PVOID Unknown
);
VOID
FASTCALL
ExRundownCompleted (
PVOID ProcessRundown
);
VOID
STDCALL
ExSetResourceOwnerPointer (
@@ -574,6 +698,23 @@ ExSetResourceOwnerPointer (
IN PVOID OwnerPointer
);
VOID
STDCALL
ExSetTimerResolution (
IN ULONG DesiredTime,
IN BOOLEAN SetResolution
);
STDCALL
BOOLEAN
ExVerifySuite(
SUITE_TYPE SuiteType
);
BOOLEAN
STDCALL
ExSystemExceptionFilter();
VOID
STDCALL
ExSystemTimeToLocalTime (
@@ -599,6 +740,20 @@ ExUnregisterCallback (
IN PVOID CallbackRegistration
);
typedef GUID UUID;
STDCALL
NTSTATUS
ExUuidCreate(
OUT UUID *Uuid
);
PVOID
FASTCALL
ExWaitForRundownProtectionRelease (
PVOID ProcessRundownProtect
);
PSLIST_ENTRY
FASTCALL
InterlockedPopEntrySList (
+50 -1
View File
@@ -1,4 +1,4 @@
/* $Id: extypes.h,v 1.21 2003/11/14 15:19:35 ekohl Exp $ */
/* $Id: extypes.h,v 1.22 2004/06/23 21:02:35 ion Exp $ */
#ifndef __INCLUDE_DDK_EXTYPES_H
#define __INCLUDE_DDK_EXTYPES_H
@@ -137,6 +137,55 @@ typedef struct _PAGED_LOOKASIDE_LIST
FAST_MUTEX Obsoleted;
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
typedef enum _EX_POOL_PRIORITY {
LowPoolPriority,
LowPoolPrioritySpecialPoolOverrun = 8,
LowPoolPrioritySpecialPoolUnderrun = 9,
NormalPoolPriority = 16,
NormalPoolPrioritySpecialPoolOverrun = 24,
NormalPoolPrioritySpecialPoolUnderrun = 25,
HighPoolPriority = 32,
HighPoolPrioritySpecialPoolOverrun = 40,
HighPoolPrioritySpecialPoolUnderrun = 41
} EX_POOL_PRIORITY;
typedef enum _SUITE_TYPE {
SmallBusiness,
Enterprise,
BackOffice,
CommunicationServer,
TerminalServer,
SmallBusinessRestricted,
EmbeddedNT,
DataCenter,
SingleUserTS,
Personal,
Blade,
MaxSuiteType
} SUITE_TYPE;
typedef enum _HARDERROR_RESPONSE_OPTION {
OptionAbortRetryIgnore,
OptionOk,
OptionOkCancel,
OptionRetryCancel,
OptionYesNo,
OptionYesNoCancel,
OptionShutdownSystem
} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
typedef enum _HARDERROR_RESPONSE {
ResponseReturnToCaller,
ResponseNotHandled,
ResponseAbort,
ResponseCancel,
ResponseIgnore,
ResponseNo,
ResponseOk,
ResponseRetry,
ResponseYes
} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
/* callback object (not functional in NT4)*/
+35 -5
View File
@@ -53,6 +53,34 @@ DbgBreakPointNoBugCheck(VOID);
VOID STDCALL KeRescheduleThread();
STDCALL
VOID
KeProfileInterrupt(
PKTRAP_FRAME TrapFrame
);
STDCALL
VOID
KeProfileInterruptWithSource(
IN PKTRAP_FRAME TrapFrame,
IN KPROFILE_SOURCE Source
);
/*STDCALL
BOOLEAN
KiIpiServiceRoutine(
IN PKTRAP_FRAME TrapFrame,
IN PKEXCEPTION_FRAME ExceptionFrame
);*/
STDCALL
VOID
KeUpdateSystemTime(
IN PKTRAP_FRAME TrapFrame,
IN ULONG Increment
);
VOID KiUpdateSystemTime (KIRQL oldIrql, ULONG Eip);
KIRQL KeAcquireDispatcherDatabaseLock(VOID);
@@ -71,17 +99,13 @@ VOID KeDumpStackFrames(PULONG Frame);
BOOLEAN KiTestAlert(VOID);
VOID KeRemoveAllWaitsThread(struct _ETHREAD* Thread, NTSTATUS WaitStatus, BOOL Unblock);
PULONG KeGetStackTopThread(struct _ETHREAD* Thread);
VOID KeContextToTrapFrame(PCONTEXT Context,
PKTRAP_FRAME TrapFrame);
VOID KeContextToTrapFrame(PCONTEXT Context, PKTRAP_FRAME TrapFrame);
VOID
KiDeliverNormalApc(VOID);
BOOLEAN STDCALL KeRemoveQueueApc (PKAPC Apc);
PLIST_ENTRY STDCALL KeRundownQueue(IN PKQUEUE Queue);
NTSTATUS STDCALL
KeRaiseUserException(IN NTSTATUS ExceptionCode);
/* INITIALIZATION FUNCTIONS *************************************************/
VOID KeInitExceptions(VOID);
@@ -138,6 +162,12 @@ KiDumpTrapFrame(PKTRAP_FRAME Tf, ULONG ExceptionNr, ULONG cr2);
VOID
KiUpdateProcessThreadTime(VOID);
STDCALL
VOID
KeUpdateRunTime(
IN PKTRAP_FRAME TrapFrame
);
#endif /* not __ASM__ */
#define MAXIMUM_PROCESSORS 32
+16 -2
View File
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: ps.h,v 1.58 2004/03/14 18:11:25 ekohl Exp $
/* $Id: ps.h,v 1.59 2004/06/23 21:02:16 ion Exp $
*
* FILE: ntoskrnl/ke/kthread.c
* PURPOSE: Process manager definitions
@@ -63,7 +63,7 @@ typedef struct _KAPC_STATE
UCHAR KernelApcInProgress;
UCHAR KernelApcPending;
USHORT UserApcPending;
} KAPC_STATE, *PKAPC_STATE;
} KAPC_STATE, *PKAPC_STATE, *__restrict PRKAPC_STATE;
#include <poppack.h>
@@ -505,6 +505,20 @@ NTSTATUS PsResumeThread(PETHREAD Thread, PULONG PreviousCount);
VOID
KeInitializeThread(PKPROCESS Process, PKTHREAD Thread, BOOLEAN First);
NTSTATUS KeReleaseThread(PETHREAD Thread);
STDCALL
VOID
KeStackAttachProcess (
IN PKPROCESS Process,
OUT PRKAPC_STATE ApcState
);
STDCALL
VOID
KeUnstackDetachProcess (
IN PRKAPC_STATE ApcState
);
VOID STDCALL PiDeleteProcess(PVOID ObjectBody);
VOID PsReapThreads(VOID);
VOID PsUnfreezeOtherThread(PETHREAD Thread);