|
ReXGlue SDK
|
#include <rex/kernel/types/thread.h>
Public Attributes | |
| u16 | type |
| u8 | apc_mode |
| u8 | enqueued |
| be_u32 | thread_ptr |
| X_LIST_ENTRY | list_entry |
| be_u32 | kernel_routine |
| be_u32 | rundown_routine |
| be_u32 | normal_routine |
| be_u32 | normal_context |
| be_u32 | arg1 |
| be_u32 | arg2 |
Static Public Attributes | |
| static constexpr u32 | kSize = 40 |
| static constexpr u32 | kDummyKernelRoutine = 0xF00DFF00 |
| static constexpr u32 | kDummyRundownRoutine = 0xF00DFF01 |
Kernel APC in guest memory, 40 bytes. NT has a reserved dword at +4 that this layout omits.
| u8 rex::kernel::XAPC::apc_mode |
Index into X_KTHREAD::apc_lists, 0 for kernel and 1 for user.
| be_u32 rex::kernel::XAPC::arg1 |
Second argument of the normal routine, set when queued.
| be_u32 rex::kernel::XAPC::arg2 |
Third argument of the normal routine, set when queued.
| u8 rex::kernel::XAPC::enqueued |
1 while the APC is in a list of the thread.
|
staticconstexpr |
Kernel routine address that marks an APC the host queued itself, never called.
|
staticconstexpr |
Rundown routine address stored beside kDummyKernelRoutine in an APC the host queued itself.
|
staticconstexpr |
Size in bytes of an APC block, allocated for each APC the host queues.
| X_LIST_ENTRY rex::kernel::XAPC::list_entry |
Links the APC in a list of the thread.
| be_u32 rex::kernel::XAPC::normal_context |
First argument of the normal routine.
| be_u32 rex::kernel::XAPC::normal_routine |
Guest address of the normal routine, 0 for a kernel only APC.
| u16 rex::kernel::XAPC::type |
Object type, 18 for an APC.