Add thread information block
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Rafal Kupiec 2023-03-01 00:14:06 +01:00
parent 3d42fcc0f5
commit 870a6680b0
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
4 changed files with 22 additions and 5 deletions

View File

@ -464,12 +464,16 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
/* Processor Block structure definition */
typedef struct _KPROCESSOR_BLOCK
{
struct
union
{
PKGDTENTRY GdtBase;
PKTSS TssBase;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
THREAD_INFORMATION_BLOCK ThreadInformationBlock;
struct
{
PKGDTENTRY GdtBase;
PKTSS TssBase;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
};
};
PKIDTENTRY IdtBase;
KIRQL Irql;

View File

@ -420,6 +420,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
/* Processor Block structure definition */
typedef struct _KPROCESSOR_BLOCK
{
THREAD_INFORMATION_BLOCK ThreadInformationBlock;
PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
KIRQL Irql;

View File

@ -295,6 +295,17 @@ typedef struct _KWAIT_BLOCK
LONG SpareLong;
} KWAIT_BLOCK, *PKWAIT_BLOCK;
/* XT Thread Information Block (TIB) definition */
typedef struct _THREAD_INFORMATION_BLOCK
{
PEXCEPTION_REGISTRATION_RECORD ExceptionList;
PVOID StackBase;
PVOID StackLimit;
PVOID SubSystemTib;
PVOID ArbitraryUserPointer;
PTHREAD_INFORMATION_BLOCK Self;
} THREAD_INFORMATION_BLOCK, *PTHREAD_INFORMATION_BLOCK;
/* Process control block structure definition */
typedef struct _KPROCESS
{

View File

@ -247,6 +247,7 @@ typedef struct _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
typedef struct _STRING STRING, *PSTRING;
typedef struct _STRING32 STRING32, *PSTRING32;
typedef struct _STRING64 STRING64, *PSTRING64;
typedef struct _THREAD_INFORMATION_BLOCK THREAD_INFORMATION_BLOCK, *PTHREAD_INFORMATION_BLOCK;
typedef struct _UEFI_FIRMWARE_INFORMATION UEFI_FIRMWARE_INFORMATION, *PUEFI_FIRMWARE_INFORMATION;
typedef struct _UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
typedef struct _UNICODE_STRING32 UNICODE_STRING32, *PUNICODE_STRING32;