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,6 +464,9 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
/* Processor Block structure definition */ /* Processor Block structure definition */
typedef struct _KPROCESSOR_BLOCK typedef struct _KPROCESSOR_BLOCK
{ {
union
{
THREAD_INFORMATION_BLOCK ThreadInformationBlock;
struct struct
{ {
PKGDTENTRY GdtBase; PKGDTENTRY GdtBase;
@ -471,6 +474,7 @@ typedef struct _KPROCESSOR_BLOCK
PKPROCESSOR_BLOCK Self; PKPROCESSOR_BLOCK Self;
PKPROCESSOR_CONTROL_BLOCK CurrentPrcb; PKPROCESSOR_CONTROL_BLOCK CurrentPrcb;
}; };
};
PKIDTENTRY IdtBase; PKIDTENTRY IdtBase;
KIRQL Irql; KIRQL Irql;
KPROCESSOR_CONTROL_BLOCK Prcb; KPROCESSOR_CONTROL_BLOCK Prcb;

View File

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

View File

@ -295,6 +295,17 @@ typedef struct _KWAIT_BLOCK
LONG SpareLong; LONG SpareLong;
} KWAIT_BLOCK, *PKWAIT_BLOCK; } 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 */ /* Process control block structure definition */
typedef struct _KPROCESS 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 _STRING STRING, *PSTRING;
typedef struct _STRING32 STRING32, *PSTRING32; typedef struct _STRING32 STRING32, *PSTRING32;
typedef struct _STRING64 STRING64, *PSTRING64; 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 _UEFI_FIRMWARE_INFORMATION UEFI_FIRMWARE_INFORMATION, *PUEFI_FIRMWARE_INFORMATION;
typedef struct _UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING; typedef struct _UNICODE_STRING UNICODE_STRING, *PUNICODE_STRING;
typedef struct _UNICODE_STRING32 UNICODE_STRING32, *PUNICODE_STRING32; typedef struct _UNICODE_STRING32 UNICODE_STRING32, *PUNICODE_STRING32;