ntoskrnl header cleanups Modified: trunk/reactos/include/ndk/i386/ketypes.h Modified: trunk/reactos/ntoskrnl/cc/cacheman.c Modified: trunk/reactos/ntoskrnl/cc/copy.c Modified: trunk/reactos/ntoskrnl/cc/view.c Modified: trunk/reactos/ntoskrnl/include/internal/cc.h Deleted: trunk/reactos/ntoskrnl/include/internal/fs.h Added: trunk/reactos/ntoskrnl/include/internal/fsrtl.h Modified: trunk/reactos/ntoskrnl/include/internal/i386/ke.h Modified: trunk/reactos/ntoskrnl/include/internal/io.h Modified: trunk/reactos/ntoskrnl/include/internal/ke.h Modified: trunk/reactos/ntoskrnl/include/internal/ldr.h Added: trunk/reactos/ntoskrnl/include/internal/lpc.h Modified: trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h Deleted: trunk/reactos/ntoskrnl/include/internal/port.h Deleted: trunk/reactos/ntoskrnl/include/internal/v86m.h Deleted: trunk/reactos/ntoskrnl/include/internal/xhal.h Modified: trunk/reactos/ntoskrnl/ke/bug.c Modified: trunk/reactos/ntoskrnl/ke/clock.c Modified: trunk/reactos/ntoskrnl/ke/dpc.c Modified: trunk/reactos/ntoskrnl/ke/i386/exp.c Modified: trunk/reactos/ntoskrnl/ke/i386/irq.c Modified: trunk/reactos/ntoskrnl/ke/i386/kernel.c Modified: trunk/reactos/ntoskrnl/ke/i386/usertrap.c Modified: trunk/reactos/ntoskrnl/ke/i386/v86m.c Modified: trunk/reactos/ntoskrnl/ke/ipi.c Modified: trunk/reactos/ntoskrnl/ke/kthread.c Modified: trunk/reactos/ntoskrnl/ldr/loader.c _____
Modified: trunk/reactos/include/ndk/i386/ketypes.h --- trunk/reactos/include/ndk/i386/ketypes.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/include/ndk/i386/ketypes.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -20,6 +20,12 @@
#define I386_INTERRUPT_GATE 0xE #define I386_TRAP_GATE 0xF
+#define IPI_APC 1 +#define IPI_DPC 2 +#define IPI_FREEZE 3 +#define IPI_PACKET_READY 4 +#define IPI_SYNCH_REQUEST 10 + /* EXPORTED DATA *************************************************************/
/* ENUMERATIONS **************************************************************/ _____
Modified: trunk/reactos/ntoskrnl/cc/cacheman.c --- trunk/reactos/ntoskrnl/cc/cacheman.c 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/cc/cacheman.c 2005-09-14 01:44:19 UTC (rev 17847) @@ -16,6 +16,7 @@
/* FUNCTIONS *****************************************************************/
VOID +NTAPI CcInit(VOID) { CcInitView(); _____
Modified: trunk/reactos/ntoskrnl/cc/copy.c --- trunk/reactos/ntoskrnl/cc/copy.c 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/cc/copy.c 2005-09-14 01:44:19 UTC (rev 17847) @@ -39,6 +39,7 @@
/* FUNCTIONS *****************************************************************/
VOID +NTAPI CcInitCacheZeroPage(VOID) { NTSTATUS Status; @@ -58,6 +59,7 @@ }
NTSTATUS +NTAPI ReadCacheSegmentChain(PBCB Bcb, ULONG ReadOffset, ULONG Length, PVOID Buffer) { @@ -187,6 +189,7 @@ }
NTSTATUS +NTAPI ReadCacheSegment(PCACHE_SEGMENT CacheSeg) { ULONG Size; @@ -228,6 +231,7 @@ }
NTSTATUS +NTAPI WriteCacheSegment(PCACHE_SEGMENT CacheSeg) { ULONG Size; _____
Modified: trunk/reactos/ntoskrnl/cc/view.c --- trunk/reactos/ntoskrnl/cc/view.c 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/cc/view.c 2005-09-14 01:44:19 UTC (rev 17847) @@ -159,6 +159,7 @@
}
NTSTATUS +NTAPI CcRosFlushCacheSegment(PCACHE_SEGMENT CacheSegment) { NTSTATUS Status; @@ -179,6 +180,7 @@ }
NTSTATUS +NTAPI CcRosFlushDirtyPages(ULONG Target, PULONG Count) { PLIST_ENTRY current_entry; @@ -355,6 +357,7 @@ }
NTSTATUS +NTAPI CcRosReleaseCacheSegment(PBCB Bcb, PCACHE_SEGMENT CacheSeg, BOOLEAN Valid, @@ -403,6 +406,7 @@ }
PCACHE_SEGMENT +NTAPI CcRosLookupCacheSegment(PBCB Bcb, ULONG FileOffset) { PLIST_ENTRY current_entry; @@ -434,6 +438,7 @@ }
NTSTATUS +NTAPI CcRosMarkDirtyCacheSegment(PBCB Bcb, ULONG FileOffset) { PCACHE_SEGMENT CacheSeg; @@ -470,6 +475,7 @@ }
NTSTATUS +NTAPI CcRosUnmapCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty) { PCACHE_SEGMENT CacheSeg; @@ -689,6 +695,7 @@ }
NTSTATUS +NTAPI CcRosGetCacheSegmentChain(PBCB Bcb, ULONG FileOffset, ULONG Length, @@ -752,6 +759,7 @@ }
NTSTATUS +NTAPI CcRosGetCacheSegment(PBCB Bcb, ULONG FileOffset, PULONG BaseOffset, @@ -889,6 +897,7 @@ }
NTSTATUS +NTAPI CcRosFreeCacheSegment(PBCB Bcb, PCACHE_SEGMENT CacheSeg) { NTSTATUS Status; @@ -995,6 +1004,7 @@ }
NTSTATUS +NTAPI CcRosDeleteFileCache(PFILE_OBJECT FileObject, PBCB Bcb) /* * FUNCTION: Releases the BCB associated with a file object @@ -1065,7 +1075,9 @@ return(STATUS_SUCCESS); }
-VOID CcRosReferenceCache(PFILE_OBJECT FileObject) +VOID +NTAPI +CcRosReferenceCache(PFILE_OBJECT FileObject) { PBCB Bcb; ExAcquireFastMutex(&ViewLock); @@ -1086,7 +1098,9 @@ ExReleaseFastMutex(&ViewLock); }
-VOID CcRosSetRemoveOnClose(PSECTION_OBJECT_POINTERS SectionObjectPointer) +VOID +NTAPI +CcRosSetRemoveOnClose(PSECTION_OBJECT_POINTERS SectionObjectPointer) { PBCB Bcb; DPRINT("CcRosSetRemoveOnClose()\n"); @@ -1104,7 +1118,9 @@ }
-VOID CcRosDereferenceCache(PFILE_OBJECT FileObject) +VOID +NTAPI +CcRosDereferenceCache(PFILE_OBJECT FileObject) { PBCB Bcb; ExAcquireFastMutex(&ViewLock); @@ -1171,6 +1187,7 @@ }
NTSTATUS +NTAPI CcTryToInitializeFileCache(PFILE_OBJECT FileObject) { PBCB Bcb; @@ -1328,7 +1345,9 @@ } }
-VOID INIT_FUNCTION +VOID +INIT_FUNCTION +NTAPI CcInitView(VOID) { #ifdef CACHE_BITMAP _____
Modified: trunk/reactos/ntoskrnl/include/internal/cc.h --- trunk/reactos/ntoskrnl/include/internal/cc.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/include/internal/cc.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -77,36 +77,45 @@
);
NTSTATUS +NTAPI CcRosFlushCacheSegment(PCACHE_SEGMENT CacheSegment);
NTSTATUS +NTAPI CcRosGetCacheSegment( PBCB Bcb, ULONG FileOffset, PULONG BaseOffset, - PVOID* BaseAddress, + PVOID *BaseAddress, PBOOLEAN UptoDate, - PCACHE_SEGMENT* CacheSeg + PCACHE_SEGMENT *CacheSeg );
VOID +NTAPI CcInitView(VOID);
NTSTATUS +NTAPI CcRosFreeCacheSegment( PBCB, PCACHE_SEGMENT );
NTSTATUS +NTAPI ReadCacheSegment(PCACHE_SEGMENT CacheSeg);
NTSTATUS +NTAPI WriteCacheSegment(PCACHE_SEGMENT CacheSeg);
-VOID CcInit(VOID); +VOID +NTAPI +CcInit(VOID);
NTSTATUS +NTAPI CcRosUnmapCacheSegment( PBCB Bcb, ULONG FileOffset, @@ -114,12 +123,14 @@ );
PCACHE_SEGMENT +NTAPI CcRosLookupCacheSegment( PBCB Bcb, ULONG FileOffset );
NTSTATUS +NTAPI CcRosGetCacheSegmentChain( PBCB Bcb, ULONG FileOffset, @@ -128,49 +139,57 @@ );
VOID +NTAPI CcInitCacheZeroPage(VOID);
NTSTATUS +NTAPI CcRosMarkDirtyCacheSegment( PBCB Bcb, ULONG FileOffset );
NTSTATUS +NTAPI CcRosFlushDirtyPages( ULONG Target, PULONG Count );
VOID +NTAPI CcRosDereferenceCache(PFILE_OBJECT FileObject);
VOID +NTAPI CcRosReferenceCache(PFILE_OBJECT FileObject);
VOID +NTAPI CcRosSetRemoveOnClose(PSECTION_OBJECT_POINTERS SectionObjectPointer);
NTSTATUS +NTAPI CcRosReleaseCacheSegment( - BCB* Bcb, - CACHE_SEGMENT* CacheSeg, - BOOLEAN Valid, - BOOLEAN Dirty, - BOOLEAN Mapped + BCB* Bcb, + CACHE_SEGMENT *CacheSeg, + BOOLEAN Valid, + BOOLEAN Dirty, + BOOLEAN Mapped );
NTSTATUS STDCALL CcRosRequestCacheSegment( - BCB* Bcb, - ULONG FileOffset, - PVOID* BaseAddress, - PBOOLEAN UptoDate, - CACHE_SEGMENT** CacheSeg + BCB *Bcb, + ULONG FileOffset, + PVOID* BaseAddress, + PBOOLEAN UptoDate, + CACHE_SEGMENT **CacheSeg );
NTSTATUS +NTAPI CcTryToInitializeFileCache(PFILE_OBJECT FileObject);
/* _____
Deleted: trunk/reactos/ntoskrnl/include/internal/fs.h --- trunk/reactos/ntoskrnl/include/internal/fs.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/include/internal/fs.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -1,89 +0,0 @@
-#ifndef __INCLUDE_INTERNAL_IFS_H -#define __INCLUDE_INTERNAL_IFS_H - -typedef struct _FILE_LOCK_GRANTED { - LIST_ENTRY ListEntry; - FILE_LOCK_INFO Lock; - PVOID UnlockContext; -} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED; - - -typedef struct _FILE_LOCK_TOC { - KSPIN_LOCK SpinLock; - LIST_ENTRY GrantedListHead; - LIST_ENTRY PendingListHead; -} FILE_LOCK_TOC, *PFILE_LOCK_TOC; - -VOID -STDCALL INIT_FUNCTION -FsRtlpInitNotifyImplementation(VOID); - - -VOID STDCALL -FsRtlpInitFileLockingImplementation(VOID); - -VOID STDCALL -FsRtlpFileLockCancelRoutine( - IN PDEVICE_OBJECT DeviceObject, - IN PIRP Irp - ); - -BOOLEAN FASTCALL -FsRtlpCheckLockForReadOrWriteAccess( - IN PFILE_LOCK FileLock, - IN PLARGE_INTEGER FileOffset, - IN PLARGE_INTEGER Length, - IN ULONG Key, - IN PFILE_OBJECT FileObject, - IN PEPROCESS Process, - IN BOOLEAN Read - ); - -NTSTATUS FASTCALL -FsRtlpFastUnlockAllByKey( - IN PFILE_LOCK FileLock, - IN PFILE_OBJECT FileObject, - IN PEPROCESS Process, - IN DWORD Key, /* FIXME: guess */ - IN BOOLEAN UseKey, /* FIXME: guess */ - IN PVOID Context OPTIONAL - ); - -BOOLEAN FASTCALL -FsRtlpAddLock( - IN PFILE_LOCK_TOC LockToc, - IN PFILE_OBJECT FileObject, - IN PLARGE_INTEGER FileOffset, - IN PLARGE_INTEGER Length, - IN PEPROCESS Process, - IN ULONG Key, - IN BOOLEAN ExclusiveLock, - IN PVOID UnlockContext - ); - -VOID FASTCALL -FsRtlpCompletePendingLocks( - IN PFILE_LOCK FileLock, - IN PFILE_LOCK_TOC LockToc, - IN OUT PKIRQL oldirql, - IN PVOID Context - ); - -NTSTATUS FASTCALL -FsRtlpUnlockSingle( - IN PFILE_LOCK FileLock, - IN PFILE_OBJECT FileObject, - IN PLARGE_INTEGER FileOffset, - IN PLARGE_INTEGER Length, - IN PEPROCESS Process, - IN ULONG Key, - IN PVOID Context OPTIONAL, - IN BOOLEAN CallUnlockRoutine - ); - -VOID FASTCALL -FsRtlpDumpFileLocks( - IN PFILE_LOCK FileLock - ); - -#endif _____
Copied: trunk/reactos/ntoskrnl/include/internal/fsrtl.h (from rev 17811, trunk/reactos/ntoskrnl/include/internal/fs.h) --- trunk/reactos/ntoskrnl/include/internal/fs.h 2005-09-11 22:32:20 UTC (rev 17811) +++ trunk/reactos/ntoskrnl/include/internal/fsrtl.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -0,0 +1,96 @@
+#ifndef __INCLUDE_INTERNAL_IFS_H +#define __INCLUDE_INTERNAL_IFS_H + +typedef struct _FILE_LOCK_GRANTED +{ + LIST_ENTRY ListEntry; + FILE_LOCK_INFO Lock; + PVOID UnlockContext; +} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED; + +typedef struct _FILE_LOCK_TOC +{ + KSPIN_LOCK SpinLock; + LIST_ENTRY GrantedListHead; + LIST_ENTRY PendingListHead; +} FILE_LOCK_TOC, *PFILE_LOCK_TOC; + +VOID +INIT_FUNCTION +STDCALL +FsRtlpInitNotifyImplementation(VOID); + +VOID +STDCALL +FsRtlpInitFileLockingImplementation(VOID); + +VOID +STDCALL +FsRtlpFileLockCancelRoutine( + IN PDEVICE_OBJECT DeviceObject, + IN PIRP Irp + ); + +BOOLEAN +FASTCALL +FsRtlpCheckLockForReadOrWriteAccess( + IN PFILE_LOCK FileLock, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN ULONG Key, + IN PFILE_OBJECT FileObject, + IN PEPROCESS Process, + IN BOOLEAN Read +); + +NTSTATUS +FASTCALL +FsRtlpFastUnlockAllByKey( + IN PFILE_LOCK FileLock, + IN PFILE_OBJECT FileObject, + IN PEPROCESS Process, + IN DWORD Key, + IN BOOLEAN UseKey, + IN PVOID Context OPTIONAL +); + +BOOLEAN +FASTCALL +FsRtlpAddLock( + IN PFILE_LOCK_TOC LockToc, + IN PFILE_OBJECT FileObject, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN PEPROCESS Process, + IN ULONG Key, + IN BOOLEAN ExclusiveLock, + IN PVOID UnlockContext +); + +VOID +FASTCALL +FsRtlpCompletePendingLocks( + IN PFILE_LOCK FileLock, + IN PFILE_LOCK_TOC LockToc, + IN OUT PKIRQL oldirql, + IN PVOID Context +); + +NTSTATUS +FASTCALL +FsRtlpUnlockSingle( + IN PFILE_LOCK FileLock, + IN PFILE_OBJECT FileObject, + IN PLARGE_INTEGER FileOffset, + IN PLARGE_INTEGER Length, + IN PEPROCESS Process, + IN ULONG Key, + IN PVOID Context OPTIONAL, + IN BOOLEAN CallUnlockRoutine +); + +VOID +FASTCALL +FsRtlpDumpFileLocks(IN PFILE_LOCK FileLock); + +#endif _____
Modified: trunk/reactos/ntoskrnl/include/internal/i386/ke.h --- trunk/reactos/ntoskrnl/include/internal/i386/ke.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/include/internal/i386/ke.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -71,6 +71,61 @@
ULONG Eflags; } KIRQ_TRAPFRAME, *PKIRQ_TRAPFRAME;
+/* Emulate cli/sti instructions */ +#define KV86M_EMULATE_CLI_STI (0x1) +/* Allow the v86 mode code to access i/o ports */ +#define KV86M_ALLOW_IO_PORT_ACCESS (0x2) + +typedef struct _KV86M_REGISTERS +{ + /* + * General purpose registers + */ + ULONG Ebp; + ULONG Edi; + ULONG Esi; + ULONG Edx; + ULONG Ecx; + ULONG Ebx; + ULONG Eax; + ULONG Ds; + ULONG Es; + ULONG Fs; + ULONG Gs; + + /* + * Control registers + */ + ULONG Eip; + ULONG Cs; + ULONG Eflags; + ULONG Esp; + ULONG Ss; + + /* + * Control structures + */ + ULONG RecoveryAddress; + UCHAR RecoveryInstruction[4]; + ULONG Vif; + ULONG Flags; + PNTSTATUS PStatus; +} KV86M_REGISTERS, *PKV86M_REGISTERS; + +typedef struct _KV86M_TRAP_FRAME +{ + KTRAP_FRAME Tf; + + ULONG SavedExceptionStack; + + /* + * These are put on the top of the stack by the routine that entered + * v86 mode so the exception handlers can find the control information + */ + struct _KV86M_REGISTERS* regs; + ULONG orig_ebp; +} KV86M_TRAP_FRAME, *PKV86M_TRAP_FRAME; + extern ULONG Ke386CacheAlignment;
struct _KPCR; _____
Modified: trunk/reactos/ntoskrnl/include/internal/io.h --- trunk/reactos/ntoskrnl/include/internal/io.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/include/internal/io.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -1,6 +1,8 @@
#ifndef __NTOSKRNL_INCLUDE_INTERNAL_IO_H #define __NTOSKRNL_INCLUDE_INTERNAL_IO_H
+#include <ddk/ntdddisk.h> + #define IO_METHOD_FROM_CTL_CODE(ctlCode) (ctlCode&0x00000003)
extern POBJECT_TYPE IoCompletionType; @@ -478,4 +480,59 @@ : \ FIELD_OFFSET(CM_RESOURCE_LIST, List)
+/* xhal.c */ +NTSTATUS +FASTCALL +xHalQueryDriveLayout( + IN PUNICODE_STRING DeviceName, + OUT PDRIVE_LAYOUT_INFORMATION *LayoutInfo +); + +#undef HalExamineMBR +VOID +FASTCALL +HalExamineMBR( + IN PDEVICE_OBJECT DeviceObject, + IN ULONG SectorSize, + IN ULONG MBRTypeIdentifier, + OUT PVOID *Buffer +); + +VOID +FASTCALL +xHalIoAssignDriveLetters( + IN PLOADER_PARAMETER_BLOCK LoaderBlock, + IN PSTRING NtDeviceName, + OUT PUCHAR NtSystemPath, + OUT PSTRING NtSystemPathString +); + +NTSTATUS +FASTCALL +xHalIoReadPartitionTable( + PDEVICE_OBJECT DeviceObject, + ULONG SectorSize, + BOOLEAN ReturnRecognizedPartitions, + PDRIVE_LAYOUT_INFORMATION *PartitionBuffer +); + +NTSTATUS +FASTCALL +xHalIoSetPartitionInformation( + IN PDEVICE_OBJECT DeviceObject, + IN ULONG SectorSize, + IN ULONG PartitionNumber, + IN ULONG PartitionType +); + +NTSTATUS +FASTCALL +xHalIoWritePartitionTable( + IN PDEVICE_OBJECT DeviceObject, + IN ULONG SectorSize, + IN ULONG SectorsPerTrack, + IN ULONG NumberOfHeads, + IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer +); + #endif _____
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h --- trunk/reactos/ntoskrnl/include/internal/ke.h 2005-09-14 01:05:50 UTC (rev 17846) +++ trunk/reactos/ntoskrnl/include/internal/ke.h 2005-09-14 01:44:19 UTC (rev 17847) @@ -12,8 +12,24 @@
PVOID Wow64; } WOW64_PROCESS, *PWOW64_PROCESS;
-/* INTERNAL KERNEL FUNCTIONS ************************************************/ +typedef struct _KPROFILE_SOURCE_OBJECT +{ + KPROFILE_SOURCE Source; + LIST_ENTRY ListEntry; +} KPROFILE_SOURCE_OBJECT, *PKPROFILE_SOURCE_OBJECT;
+/* Cached modules from the loader block */ +typedef enum _CACHED_MODULE_TYPE +{ + AnsiCodepage, + OemCodepage, + UnicodeCasemap, + SystemRegistry, + HardwareRegistry, + MaximumCachedModuleType, +} CACHED_MODULE_TYPE, *PCACHED_MODULE_TYPE; +extern PLOADER_MODULE CachedModules[MaximumCachedModuleType]; + struct _KIRQ_TRAPFRAME; struct _KPCR; struct _KPRCB; @@ -23,12 +39,9 @@ extern PVOID KeUserCallbackDispatcher; extern PVOID KeUserExceptionDispatcher; extern PVOID KeRaiseUserExceptionDispatcher; +extern LARGE_INTEGER SystemBootTime; +extern ULONG_PTR KERNEL_BASE;
-#define IPI_REQUEST_FUNCTIONCALL 0 -#define IPI_REQUEST_APC 1 -#define IPI_REQUEST_DPC 2 -#define IPI_REQUEST_FREEZE 3 - /* MACROS ************************************************************************ */
#define KeEnterCriticalRegion() \ @@ -49,6 +62,14 @@ } \ }
+#define KEBUGCHECKWITHTF(a,b,c,d,e,f) \ + DbgPrint("KeBugCheckWithTf at %s:%i\n",__FILE__,__LINE__), KeBugCheckWithTf(a,b,c,d,e,f) + +#define MAXIMUM_PROCESSORS 32 + + +/* INTERNAL KERNEL FUNCTIONS ************************************************/ + /* threadsch.c ********************************************************************/
/* Thread Scheduler Functions */ @@ -66,17 +87,21 @@ /* Puts a Thread into a block state. */ VOID STDCALL -KiBlockThread(PNTSTATUS Status, - UCHAR Alertable, - ULONG WaitMode, - UCHAR WaitReason); +KiBlockThread( + PNTSTATUS Status, + UCHAR Alertable, + ULONG WaitMode, + UCHAR WaitReason +);
/* Removes a thread out of a block state. */ VOID STDCALL -KiUnblockThread(PKTHREAD Thread, - PNTSTATUS WaitStatus, - KPRIORITY Increment); +KiUnblockThread( + PKTHREAD Thread, + PNTSTATUS WaitStatus, + KPRIORITY Increment +);
NTSTATUS STDCALL @@ -108,62 +133,59 @@
VOID FASTCALL -KeWaitForGate(PKGATE Gate, - KWAIT_REASON WaitReason, - KPROCESSOR_MODE WaitMode); +KeWaitForGate( + PKGATE Gate, + KWAIT_REASON WaitReason, + KPROCESSOR_MODE WaitMode +);
/* ipi.c ********************************************************************/
-BOOLEAN STDCALL -KiIpiServiceRoutine(IN PKTRAP_FRAME TrapFrame, - IN struct _KEXCEPTION_FRAME* ExceptionFrame); +BOOLEAN +STDCALL +KiIpiServiceRoutine( + IN PKTRAP_FRAME TrapFrame, + IN struct _KEXCEPTION_FRAME* ExceptionFrame +);
VOID -KiIpiSendRequest(KAFFINITY TargetSet, - ULONG IpiRequest); +NTAPI +KiIpiSendRequest( + KAFFINITY TargetSet, + ULONG IpiRequest +);
VOID -KeIpiGenericCall(VOID (STDCALL *WorkerRoutine)(PVOID), - PVOID Argument); +NTAPI +KeIpiGenericCall( + VOID (STDCALL *WorkerRoutine)(PVOID), + PVOID Argument +);
/* next file ***************************************************************/
-typedef struct _KPROFILE_SOURCE_OBJECT -{ - KPROFILE_SOURCE Source; - LIST_ENTRY ListEntry; -} KPROFILE_SOURCE_OBJECT, *PKPROFILE_SOURCE_OBJECT; - -/* Cached modules from the loader block */ -typedef enum _CACHED_MODULE_TYPE -{ - AnsiCodepage, - OemCodepage, - UnicodeCasemap, - SystemRegistry, - HardwareRegistry, - MaximumCachedModuleType, -} CACHED_MODULE_TYPE, *PCACHED_MODULE_TYPE; -extern PLOADER_MODULE CachedModules[MaximumCachedModuleType]; - VOID STDCALL DbgBreakPointNoBugCheck(VOID);
VOID STDCALL -KeInitializeProfile(struct _KPROFILE* Profile, - struct _KPROCESS* Process, - PVOID ImageBase, - ULONG ImageSize, - ULONG BucketSize, - KPROFILE_SOURCE ProfileSource, - KAFFINITY Affinity); +KeInitializeProfile( + struct _KPROFILE* Profile, + struct _KPROCESS* Process, + PVOID ImageBase, + ULONG ImageSize, + ULONG BucketSize, + KPROFILE_SOURCE ProfileSource, + KAFFINITY Affinity +);
VOID STDCALL -KeStartProfile(struct _KPROFILE* Profile, - PVOID Buffer); +KeStartProfile( + struct _KPROFILE* Profile, + PVOID Buffer +);
VOID STDCALL @@ -175,8 +197,10 @@
VOID STDCALL -KeSetIntervalProfile(KPROFILE_SOURCE ProfileSource, - ULONG Interval); +KeSetIntervalProfile( + KPROFILE_SOURCE ProfileSource, + ULONG Interval +);
VOID STDCALL @@ -187,40 +211,77 @@ VOID STDCALL KeProfileInterruptWithSource( - IN PKTRAP_FRAME TrapFrame, - IN KPROFILE_SOURCE Source + IN PKTRAP_FRAME TrapFrame, + IN KPROFILE_SOURCE Source );
BOOLEAN STDCALL KiRosPrintAddress(PVOID Address);
-VOID STDCALL KeUpdateSystemTime(PKTRAP_FRAME TrapFrame, KIRQL Irql); -VOID STDCALL KeUpdateRunTime(PKTRAP_FRAME TrapFrame, KIRQL Irql); +VOID +STDCALL +KeUpdateSystemTime( + PKTRAP_FRAME TrapFrame, + KIRQL Irql +);
-VOID STDCALL KiExpireTimers(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2); +VOID +STDCALL +KeUpdateRunTime( + PKTRAP_FRAME TrapFrame, + KIRQL Irql +);
-KIRQL inline FASTCALL KeAcquireDispatcherDatabaseLock(VOID); -VOID inline FASTCALL KeAcquireDispatcherDatabaseLockAtDpcLevel(VOID); -VOID inline FASTCALL KeReleaseDispatcherDatabaseLock(KIRQL Irql); -VOID inline FASTCALL KeReleaseDispatcherDatabaseLockFromDpcLevel(VOID); +VOID +STDCALL +KiExpireTimers( + PKDPC Dpc, + PVOID DeferredContext, + PVOID SystemArgument1, + PVOID SystemArgument2 +);
+KIRQL +inline +FASTCALL +KeAcquireDispatcherDatabaseLock(VOID); + VOID +__inline +FASTCALL +KeAcquireDispatcherDatabaseLockAtDpcLevel(VOID); + +VOID +__inline +FASTCALL +KeReleaseDispatcherDatabaseLock(KIRQL Irql); + +VOID +__inline +FASTCALL +KeReleaseDispatcherDatabaseLockFromDpcLevel(VOID); + +VOID STDCALL -KeInitializeThread(struct _KPROCESS* Process, - PKTHREAD Thread, - PKSYSTEM_ROUTINE SystemRoutine, - PKSTART_ROUTINE StartRoutine, - PVOID StartContext, - PCONTEXT Context, - PVOID Teb, - PVOID KernelStack); +KeInitializeThread( + struct _KPROCESS* Process, + PKTHREAD Thread, + PKSYSTEM_ROUTINE SystemRoutine, + PKSTART_ROUTINE StartRoutine, + PVOID StartContext, + PCONTEXT Context, + PVOID Teb, + PVOID KernelStack +);
VOID STDCALL KeRundownThread(VOID);
-NTSTATUS KeReleaseThread(PKTHREAD Thread); +NTSTATUS +NTAPI +KeReleaseThread(PKTHREAD Thread);
LONG STDCALL @@ -228,45 +289,62 @@
VOID STDCALL -KiSetPriorityThread(PKTHREAD Thread, - KPRIORITY Priority, - PBOOLEAN Released); +KiSetPriorityThread( + PKTHREAD Thread, + KPRIORITY Priority, + PBOOLEAN Released +);
+BOOLEAN +NTAPI +KiDispatcherObjectWake( + DISPATCHER_HEADER* hdr, + KPRIORITY increment +); + VOID STDCALL -KeStackAttachProcess ( - IN struct _KPROCESS* Process, - OUT PKAPC_STATE ApcState - ); +KeExpireTimers( + PKDPC Apc, + PVOID Arg1, + PVOID Arg2, + PVOID Arg3 +);
VOID [truncated at 1000 lines; 1204 more skipped]