forked from xt-sys/exectos
Update KPROCESS and KTHREAD structure definitions
This commit is contained in:
parent
9f1a4f0ced
commit
f74a5521ba
@ -365,25 +365,35 @@ typedef struct _KPROCESS
|
|||||||
LIST_ENTRY ProfileListHead;
|
LIST_ENTRY ProfileListHead;
|
||||||
ULONG_PTR DirectoryTable[2];
|
ULONG_PTR DirectoryTable[2];
|
||||||
USHORT IopmOffset;
|
USHORT IopmOffset;
|
||||||
|
UCHAR Iopl;
|
||||||
VOLATILE KAFFINITY ActiveProcessors;
|
VOLATILE KAFFINITY ActiveProcessors;
|
||||||
|
ULONG KernelTime;
|
||||||
|
ULONG UserTime;
|
||||||
LIST_ENTRY ReadyListHead;
|
LIST_ENTRY ReadyListHead;
|
||||||
|
SINGLE_LIST_ENTRY SwapListEntry;
|
||||||
|
PVOID VdmTrapHandler;
|
||||||
LIST_ENTRY ThreadListHead;
|
LIST_ENTRY ThreadListHead;
|
||||||
|
KSPIN_LOCK ProcessLock;
|
||||||
KAFFINITY Affinity;
|
KAFFINITY Affinity;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
LONG AutoAlignment:1;
|
BOOLEAN AutoAlignment;
|
||||||
LONG DisableBoost:1;
|
BOOLEAN DisableBoost;
|
||||||
LONG DisableQuantum:1;
|
BOOLEAN DisableQuantum;
|
||||||
LONG ReservedFlags:29;
|
LONG ReservedFlags:29;
|
||||||
};
|
};
|
||||||
LONG ProcessFlags;
|
LONG ProcessFlags;
|
||||||
};
|
};
|
||||||
|
ULONG_PTR StackCount;
|
||||||
SCHAR BasePriority;
|
SCHAR BasePriority;
|
||||||
SCHAR Quantum;
|
SCHAR Quantum;
|
||||||
UCHAR State;
|
UCHAR State;
|
||||||
ULONG_PTR StackCount;
|
UCHAR ThreadSeed;
|
||||||
|
UCHAR PowerState;
|
||||||
|
UCHAR IdealNode;
|
||||||
|
UCHAR Spare;
|
||||||
} KPROCESS, *PKPROCESS;
|
} KPROCESS, *PKPROCESS;
|
||||||
|
|
||||||
/* Thread control block structure definition */
|
/* Thread control block structure definition */
|
||||||
@ -396,7 +406,13 @@ typedef struct _KTHREAD
|
|||||||
PVOID StackBase;
|
PVOID StackBase;
|
||||||
PVOID StackLimit;
|
PVOID StackLimit;
|
||||||
KSPIN_LOCK ThreadLock;
|
KSPIN_LOCK ThreadLock;
|
||||||
volatile UCHAR State;
|
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
VOLATILE UCHAR State;
|
||||||
|
UCHAR NpxState;
|
||||||
|
KRUNLEVEL WaitRunLevel;
|
||||||
|
KPROCESSOR_MODE WaitMode;
|
||||||
|
PTHREAD_ENVIRONMENT_BLOCK EnvironmentBlock;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
KAPC_STATE ApcState;
|
KAPC_STATE ApcState;
|
||||||
@ -411,13 +427,8 @@ typedef struct _KTHREAD
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
KSPIN_LOCK ApcQueueLock;
|
KSPIN_LOCK ApcQueueLock;
|
||||||
ULONG ContextSwitches;
|
|
||||||
LONG_PTR WaitStatus;
|
LONG_PTR WaitStatus;
|
||||||
union
|
PKWAIT_BLOCK WaitBlockList;
|
||||||
{
|
|
||||||
PKWAIT_BLOCK WaitBlockList;
|
|
||||||
PKGATE GateObject;
|
|
||||||
};
|
|
||||||
BOOLEAN Alertable;
|
BOOLEAN Alertable;
|
||||||
BOOLEAN WaitNext;
|
BOOLEAN WaitNext;
|
||||||
UCHAR WaitReason;
|
UCHAR WaitReason;
|
||||||
@ -431,43 +442,62 @@ typedef struct _KTHREAD
|
|||||||
SINGLE_LIST_ENTRY SwapListEntry;
|
SINGLE_LIST_ENTRY SwapListEntry;
|
||||||
};
|
};
|
||||||
PKQUEUE Queue;
|
PKQUEUE Queue;
|
||||||
CHAR PreviousMode;
|
ULONG WaitTime;
|
||||||
SHORT SpecialApcDisable;
|
|
||||||
PTHREAD_ENVIRONMENT_BLOCK EnvironmentBlock;
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
KTIMER Timer;
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
UCHAR TimerFill[KTIMER_LENGTH];
|
SHORT KernelApcDisable;
|
||||||
union
|
SHORT SpecialApcDisable;
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
LONG AutoAlignment:1;
|
|
||||||
LONG DisableBoost:1;
|
|
||||||
LONG ReservedFlags:30;
|
|
||||||
};
|
|
||||||
LONG ThreadFlags;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
ULONG CombinedApcDisable;
|
||||||
};
|
};
|
||||||
|
KTIMER Timer;
|
||||||
KWAIT_BLOCK WaitBlock[KTHREAD_WAIT_BLOCK + 1];
|
KWAIT_BLOCK WaitBlock[KTHREAD_WAIT_BLOCK + 1];
|
||||||
UCHAR NpxState;
|
|
||||||
KRUNLEVEL WaitRunLevel;
|
|
||||||
LIST_ENTRY QueueListEntry;
|
LIST_ENTRY QueueListEntry;
|
||||||
PKTRAP_FRAME TrapFrame;
|
|
||||||
PVOID CallbackStack;
|
|
||||||
PVOID ServiceTable;
|
|
||||||
ULONG KernelLimit;
|
|
||||||
UCHAR ApcStateIndex;
|
UCHAR ApcStateIndex;
|
||||||
BOOLEAN StackResident;
|
BOOLEAN Preempted;
|
||||||
|
BOOLEAN ProcessReadyQueue;
|
||||||
|
BOOLEAN KernelStackResident;
|
||||||
|
CHAR Saturation;
|
||||||
|
UCHAR IdealProcessor;
|
||||||
|
SCHAR BasePriority;
|
||||||
|
UCHAR Spare4;
|
||||||
|
SCHAR PriorityDecrement;
|
||||||
|
SCHAR Quantum;
|
||||||
|
BOOLEAN SystemAffinityActive;
|
||||||
|
CHAR PreviousMode;
|
||||||
|
UCHAR ResourceIndex;
|
||||||
|
UCHAR DisableBoost;
|
||||||
|
KAFFINITY UserAffinity;
|
||||||
PKPROCESS Process;
|
PKPROCESS Process;
|
||||||
KAFFINITY Affinity;
|
KAFFINITY Affinity;
|
||||||
|
PVOID ServiceTable;
|
||||||
PKAPC_STATE ApcStatePointer[2];
|
PKAPC_STATE ApcStatePointer[2];
|
||||||
KAPC_STATE SavedApcState;
|
KAPC_STATE SavedApcState;
|
||||||
|
PVOID CallbackStack;
|
||||||
|
PVOID SubSystemThread;
|
||||||
|
PKTRAP_FRAME TrapFrame;
|
||||||
|
ULONG KernelTime;
|
||||||
|
ULONG UserTime;
|
||||||
KAPC SuspendApc;
|
KAPC SuspendApc;
|
||||||
KSEMAPHORE SuspendSemaphore;
|
KSEMAPHORE SuspendSemaphore;
|
||||||
|
PVOID TlsArray;
|
||||||
|
PVOID LegoData;
|
||||||
|
LIST_ENTRY ThreadListEntry;
|
||||||
|
UCHAR LargeStack;
|
||||||
|
UCHAR PowerState;
|
||||||
|
UCHAR NpxIrql;
|
||||||
|
UCHAR Spare5;
|
||||||
|
BOOLEAN AutoAlignment;
|
||||||
|
UCHAR Iopl;
|
||||||
|
CCHAR FreezeCount;
|
||||||
|
CCHAR SuspendCount;
|
||||||
|
UCHAR Spare0[1];
|
||||||
|
UCHAR UserIdealProcessor;
|
||||||
|
UCHAR Spare2[3];
|
||||||
|
ULONG KernelLimit;
|
||||||
|
BOOLEAN StackResident;
|
||||||
} KTHREAD, *PKTHREAD;
|
} KTHREAD, *PKTHREAD;
|
||||||
|
|
||||||
#endif /* __XTDK_KEFUNCS_H */
|
#endif /* __XTDK_KEFUNCS_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user