Moved internal NT stuff to NtDll.h

This commit is contained in:
PatrickvL 2016-11-15 16:48:41 +01:00
parent d802a6f8b6
commit ffc20a5c1f
2 changed files with 42 additions and 26 deletions

View File

@ -83,6 +83,9 @@ typedef unsigned long PHYSICAL_ADDRESS;
typedef long INT_PTR;
typedef int BOOL;
typedef unsigned long UINT32;
// ******************************************************************
// * Pointer types
// ******************************************************************
@ -528,6 +531,39 @@ typedef struct _TIME_FIELDS
}
TIME_FIELDS, *PTIME_FIELDS;
// ******************************************************************
// * KSYSTEM_TIME
// ******************************************************************
typedef struct _KSYSTEM_TIME {
ULONG LowPart;
LONG High1Time;
LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME;
// ******************************************************************
// * KUSER_SHARED_DATA
// ******************************************************************
typedef struct _KUSER_SHARED_DATA
{
/* Current low 32-bit of tick count and tick count multiplier.
* N.B. The tick count is updated each time the clock ticks.
*/
volatile ULONG TickCountLow;
UINT32 TickCountMultiplier;
/* Current 64-bit interrupt time in 100ns units. */
volatile KSYSTEM_TIME InterruptTime;
/* Current 64-bit system time in 100ns units. */
volatile KSYSTEM_TIME SystemTime;
/* Current 64-bit time zone bias. */
volatile KSYSTEM_TIME TimeZoneBias;
}
KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
// This is only the top of the actual definition. For the complete version,
// see http://processhacker.sourceforge.net/doc/ntexapi_8h_source.html
// ******************************************************************
// * KeDelayExecutionThread
// ******************************************************************

View File

@ -441,31 +441,11 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] =
(uint32)PANIC(0x017A), // 0x017A (378) MmDbgWriteCheck
};
/*******************************************************************/
/* Internal NT Stuff */
/*******************************************************************/
typedef struct _KSYSTEM_TIME {
ULONG LowPart;
LONG High1Time;
LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME;
typedef struct _KUSER_SHARED_DATA {
/* Current low 32-bit of tick count and tick count multiplier.
* N.B. The tick count is updated each time the clock ticks.
*/
volatile ULONG TickCountLow;
UINT32 TickCountMultiplier;
/* Current 64-bit interrupt time in 100ns units. */
volatile KSYSTEM_TIME InterruptTime;
/* Current 64-bit system time in 100ns units. */
volatile KSYSTEM_TIME SystemTime;
/* Current 64-bit time zone bias. */
volatile KSYSTEM_TIME TimeZoneBias;
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
/* prevent name collisions */
namespace NtDll
{
#include "EmuNtDll.h"
};
// Virtual memory location of KUSER_SHARED_DATA :
// See http://research.microsoft.com/en-us/um/redmond/projects/invisible/src/base/md/i386/sim/_pertest2.c.htm
@ -473,7 +453,7 @@ typedef struct _KUSER_SHARED_DATA {
// and http://processhacker.sourceforge.net/doc/ntexapi_8h_source.html
// and http://forum.sysinternals.com/0x7ffe0000-what-is-in-it_topic10012.html
#define MM_SHARED_USER_DATA_VA 0x7FFE0000
#define USER_SHARED_DATA ((KUSER_SHARED_DATA * const)MM_SHARED_USER_DATA_VA)
#define USER_SHARED_DATA ((NtDll::KUSER_SHARED_DATA * const)MM_SHARED_USER_DATA_VA)
// KUSER_SHARED_DATA Offsets
// See http://native-nt-toolkit.googlecode.com/svn/trunk/ndk/asm.h