ReXGlue SDK
Loading...
Searching...
No Matches
thread.h File Reference
#include <cstddef>
#include <cstdint>
#include <rex/assert.h>
#include <rex/kernel/types/status.h>
#include <rex/kernel/types/list.h>
#include <rex/kernel/types/memory.h>
#include <rex/ppc/context.h>
#include <rex/types.h>
#include <rex/memory.h>

Go to the source code of this file.

Classes

struct  rex::kernel::X_DISPATCH_HEADER
struct  rex::kernel::X_KSEMAPHORE
struct  rex::kernel::XKQueue
struct  rex::kernel::X_KTIMER
struct  rex::kernel::X_OBJECT_HEADER
struct  rex::kernel::X_OBJECT_TYPE
struct  rex::kernel::X_KDPC
struct  rex::kernel::X_THREAD_NOTIFICATION
struct  rex::kernel::XAPC
struct  rex::kernel::X_FIBER_CONTEXT
struct  rex::kernel::X_KWAIT_BLOCK
struct  rex::kernel::X_KPRCB
struct  rex::kernel::X_KPCR
struct  rex::kernel::X_KTHREAD
struct  rex::kernel::X_EX_TITLE_TERMINATE_REGISTRATION
struct  rex::kernel::X_EXCEPTION_RECORD
struct  rex::kernel::X_KPROCESS
struct  rex::kernel::X_UNKNOWN_TYPE_REFED
struct  rex::kernel::KernelGuestGlobals

Namespaces

namespace  rex
namespace  rex::kernel

Enumerations

enum  rex::kernel::IRQL_FLAGS : u8 {
  kIRQLPassive = 0 , kIRQLAPC = 1 , rex::kernel::kIRQLDispatch = 2 , rex::kernel::kIRQLDPC = 3 ,
  rex::kernel::kIRQLAudio = 68 , rex::kernel::kIRQLClock = 116 , kIRQLHighest = 124
}
enum  rex::kernel::X_DISPATCHER_FLAGS : u8 {
  kDispatcherManualResetEvent = 0 , kDispatcherAutoResetEvent = 1 , kDispatcherMutant = 2 , kDispatcherQueue = 4 ,
  kDispatcherSemaphore = 5 , kDispatcherThread = 6 , kDispatcherManualResetTimer = 8 , kDispatcherAutoResetTimer = 9
}
enum  rex::kernel::X_KTHREAD_STATE_FLAGS : u8 {
  rex::kernel::kKThreadStateInitialized = 0 , rex::kernel::kKThreadStateReady = 1 , kKThreadStateRunning = 2 , rex::kernel::kKThreadStateStandby = 3 ,
  rex::kernel::kKThreadStateTerminated = 4 , rex::kernel::kKThreadStateWaiting = 5 , rex::kernel::kKThreadStateUnknown = 6
}

Variables

constexpr u32 rex::kernel::kXCreateSuspended = 0x00000001
constexpr u32 rex::kernel::kXTLSOutOfIndexes = UINT32_MAX
constexpr u32 rex::kernel::kXProcTypeIdle = 0
constexpr u32 rex::kernel::kXProcTypeUser = 1
constexpr u32 rex::kernel::kXProcTypeSystem = 2

Detailed Description

License
BSD 3-Clause License See LICENSE file in the project root for full license text.
Remarks
Derived from Xenia (Ben Vanik, 2020).
Modified
Tom Clay, 2026 - Adapted for ReXGlue runtime
Remarks
Parts derived from Xenia (Ben Vanik, 2020).