32namespace rex::kernel::xboxkrnl {
34struct X_RTL_CRITICAL_SECTION;
36REX_KERNEL_API void RtlInitializeCriticalSection(X_RTL_CRITICAL_SECTION* cs);
47namespace rex::kernel::xboxkrnl {
72 u32 wait_mode, u32 alertable, u64* timeout_ptr);
82 u32 alertable, u64* timeout_ptr);
110 bool change_irql =
true);
121 u32 rundown_routine, u32 normal_routine, u32 apc_mode,
135 u32 arg1, u32 arg2, u32 priority_increment,
PPCContext* ctx);
144 be_u32 display_width;
145 be_u32 display_height;
164 out.display_width = mode.width;
165 out.display_height = mode.height;
168 out.
is_hi_def = mode.width >= 1280 || mode.height >= 720;
179namespace rex::kernel::xboxkrnl {
Guest list and spin lock structures.
u32 X_STATUS
Definition status.h:23
void FillXVideoMode(const VideoMode &mode, X_VIDEO_MODE &out)
Definition xboxkrnl.h:162
Definition xboxkrnl.h:143
be_u32 unknown_0x01
Definition xboxkrnl.h:152
be_u32 video_standard
Definition xboxkrnl.h:150
be_u32 is_interlaced
Definition xboxkrnl.h:146
be_u32 is_hi_def
Definition xboxkrnl.h:148
be_u32 is_widescreen
Definition xboxkrnl.h:147
be_u32 reserved_0
Definition xboxkrnl.h:151
be_f32 refresh_rate
Definition xboxkrnl.h:149
Integer types, byte order wrappers and size literals.
void KeInitializeApc(rex::kernel::XAPC *apc, u32 thread_ptr, u32 kernel_routine, u32 rundown_routine, u32 normal_routine, u32 apc_mode, u32 normal_context)
u32 KeSetEvent(u32 event_address, u32 increment, u32 wait)
u32 KeKfAcquireSpinLock(rex::kernel::GuestAddressSpace &memory, PPCContext *ctx, rex::kernel::X_KSPINLOCK *lock, bool change_irql=true)
void KeKfReleaseSpinLock(rex::kernel::GuestAddressSpace &memory, PPCContext *ctx, rex::kernel::X_KSPINLOCK *lock, u32 old_irql, bool change_irql=true)
X_STATUS RtlInitializeCriticalSectionAndSpinCount(X_RTL_CRITICAL_SECTION *cs, u32 spin_count)
u32 NtWaitForMultipleObjectsEx(u32 count, be_u32 *handles, u32 wait_type, u32 wait_mode, u32 alertable, u64 *timeout_ptr)
void VdQueryVideoMode(kernel::X_VIDEO_MODE *video_mode)
u32 NtSetEvent(u32 handle, be_u32 *previous_state_ptr)
u32 KeInsertQueueApc(rex::kernel::GuestAddressSpace &memory, rex::kernel::XAPC *apc, u32 arg1, u32 arg2, u32 priority_increment, PPCContext *ctx)
u32 KeWaitForSingleObject(u32 object_address, u32 wait_reason, u32 processor_mode, u32 alertable, u64 *timeout_ptr)
u32 NtClearEvent(u32 handle)