Initial process and thread related structures
Some checks failed
ci/woodpecker/push/build Pipeline failed
Some checks failed
ci/woodpecker/push/build Pipeline failed
This commit is contained in:
parent
929d3dfae7
commit
9132c47cd9
@ -444,6 +444,7 @@ typedef struct _KPROCESSOR_CONTROL_BLOCK
|
||||
{
|
||||
ULONG MxCsr;
|
||||
UCHAR Number;
|
||||
PKTHREAD CurrentThread;
|
||||
ULONG64 RspBase;
|
||||
ULONG_PTR SetMember;
|
||||
KPROCESSOR_STATE ProcessorState;
|
||||
|
@ -347,6 +347,7 @@ typedef struct _KPROCESSOR_STATE
|
||||
/* Processor Control Block (PRCB) structure definition */
|
||||
typedef struct _KPROCESSOR_CONTROL_BLOCK
|
||||
{
|
||||
PKTHREAD CurrentThread;
|
||||
UCHAR Number;
|
||||
ULONG_PTR SetMember;
|
||||
KPROCESSOR_STATE ProcessorState;
|
||||
|
@ -18,6 +18,14 @@
|
||||
/* Maximum number of exception parameters */
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS 15
|
||||
|
||||
/* APC Types */
|
||||
typedef enum _MODE
|
||||
{
|
||||
KernelMode,
|
||||
UserMode,
|
||||
MaximumMode
|
||||
} MODE, *PMODE;
|
||||
|
||||
/* Exception disposition return values */
|
||||
typedef enum _EXCEPTION_DISPOSITION
|
||||
{
|
||||
@ -41,8 +49,30 @@ typedef struct _EXCEPTION_RECORD
|
||||
/* Exception registration record structure definition */
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD
|
||||
{
|
||||
PEXCEPTION_REGISTRATION_RECORD Next;
|
||||
PEXCEPTION_ROUTINE Handler;
|
||||
PEXCEPTION_REGISTRATION_RECORD Next;
|
||||
PEXCEPTION_ROUTINE Handler;
|
||||
} EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
|
||||
|
||||
/* APC state structure definition */
|
||||
typedef struct _KAPC_STATE
|
||||
{
|
||||
LIST_ENTRY ApcListHead[MaximumMode];
|
||||
PKPROCESS Process;
|
||||
BOOLEAN KernelApcInProgress;
|
||||
BOOLEAN KernelApcPending;
|
||||
BOOLEAN UserApcPending;
|
||||
} KAPC_STATE, *PKAPC_STATE;
|
||||
|
||||
/* Process control block structure definition */
|
||||
typedef struct _KPROCESS
|
||||
{
|
||||
INT PlaceHolder;
|
||||
} KPROCESS, *PKPROCESS;
|
||||
|
||||
/* Thread control block structure definition */
|
||||
typedef struct _KTHREAD
|
||||
{
|
||||
KAPC_STATE ApcState;
|
||||
} KTHREAD, *PKTHREAD;
|
||||
|
||||
#endif /* __XTDK_KEFUNCS_H */
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <iotypes.h>
|
||||
#include <ketypes.h>
|
||||
#include <ldrtypes.h>
|
||||
#include <pstypes.h>
|
||||
#include <rtltypes.h>
|
||||
|
||||
/* Architecture-specific low level data types headers */
|
||||
|
@ -38,6 +38,7 @@ typedef enum _EFI_UART_PARITY_TYPE EFI_UART_PARITY_TYPE, *PEFI_UART_PARITY_TYPE;
|
||||
typedef enum _EFI_UART_STOP_BITS_TYPE EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_BITS_TYPE;
|
||||
typedef enum _EFI_UNIVERSA_GRAPHICS_BLT_OPERATION EFI_UNIVERSA_GRAPHICS_BLT_OPERATION, *PEFI_UNIVERSA_GRAPHICS_BLT_OPERATION;
|
||||
typedef enum _LOADER_MEMORY_TYPE LOADER_MEMORY_TYPE, *PLOADER_MEMORY_TYPE;
|
||||
typedef enum _MODE MODE, *PMODE;
|
||||
typedef enum _SYSTEM_FIRMWARE_TYPE SYSTEM_FIRMWARE_TYPE, *PSYSTEM_FIRMWARE_TYPE;
|
||||
|
||||
/* Structures forward references */
|
||||
@ -182,12 +183,17 @@ typedef struct _EFI_USB_DEVICE_PATH EFI_USB_DEVICE_PATH, *PEFI_USB_DEVICE_PATH;
|
||||
typedef struct _EFI_USB_WWID_DEVICE_PATH EFI_USB_WWID_DEVICE_PATH, *PEFI_USB_WWID_DEVICE_PATH;
|
||||
typedef struct _EFI_VENDOR_DEVICE_PATH EFI_VENDOR_DEVICE_PATH, *PEFI_VENDOR_DEVICE_PATH;
|
||||
typedef struct _EFI_VLAN_DEVICE_PATH EFI_VLAN_DEVICE_PATH, *PEFI_VLAN_DEVICE_PATH;
|
||||
typedef struct _EPROCESS EPROCESS, *PEPROCESS;
|
||||
typedef struct _ETHREAD ETHREAD, *PETHREAD;
|
||||
typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
|
||||
typedef struct _FIRMWARE_INFORMATION_BLOCK FIRMWARE_INFORMATION_BLOCK, *PFIRMWARE_INFORMATION_BLOCK;
|
||||
typedef struct _FLOAT128 FLOAT128, *PFLOAT128;
|
||||
typedef struct _GUID GUID, *PGUID;
|
||||
typedef struct _KAPC_STATE KAPC_STATE, *PKAPC_STATE;
|
||||
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
|
||||
typedef struct _KPROCESS KPROCESS, *PKPROCESS;
|
||||
typedef struct _KTHREAD KTHREAD, *PKTHREAD;
|
||||
typedef struct _LDR_DATA_TABLE_ENTRY LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
|
||||
typedef struct _LIST_ENTRY LIST_ENTRY, *PLIST_ENTRY;
|
||||
typedef struct _LIST_ENTRY32 LIST_ENTRY32, *PLIST_ENTRY32;
|
||||
|
@ -22,4 +22,10 @@ EXTERN VOID (*KeDbgPrint)(IN PWCHAR Format, IN ...);
|
||||
/* Kernel initialization block passed by boot loader */
|
||||
EXTERN PKERNEL_INITIALIZATION_BLOCK KeInitializationBlock;
|
||||
|
||||
/* Kernel initial process */
|
||||
EXTERN EPROCESS KeInitialProcess;
|
||||
|
||||
/* Kernel initial thread */
|
||||
EXTERN ETHREAD KeInitialThread;
|
||||
|
||||
#endif /* __XTOSKRNL_GLOBALS_H */
|
||||
|
@ -17,3 +17,9 @@ VOID (*KeDbgPrint)(IN PWCHAR Format, IN ...) = NULL;
|
||||
|
||||
/* Kernel initialization block passed by boot loader */
|
||||
PKERNEL_INITIALIZATION_BLOCK KeInitializationBlock;
|
||||
|
||||
/* Kernel initial process */
|
||||
EPROCESS KeInitialProcess;
|
||||
|
||||
/* Kernel initial thread */
|
||||
ETHREAD KeInitialThread;
|
||||
|
Loading…
Reference in New Issue
Block a user