/** ****************************************************************************** * Xenia : Xbox 360 Emulator Research Project * ****************************************************************************** * Copyright 2015 Ben Vanik. All rights reserved. * * Released under the BSD license - see LICENSE in the root for more details. * ****************************************************************************** */ #ifndef XENIA_KERNEL_XBOXKRNL_XBOXKRNL_THREADING_H_ #define XENIA_KERNEL_XBOXKRNL_XBOXKRNL_THREADING_H_ #include "xenia/kernel/util/shim_utils.h" #include "xenia/xbox.h" namespace xe { namespace kernel { struct X_KEVENT; namespace xboxkrnl { uint32_t xeNtSetEvent(uint32_t handle, xe::be* previous_state_ptr); uint32_t xeNtClearEvent(uint32_t handle); uint32_t xeNtWaitForMultipleObjectsEx(uint32_t count, xe::be* handles, uint32_t wait_type, uint32_t wait_mode, uint32_t alertable, uint64_t* timeout_ptr); uint32_t xeKeWaitForSingleObject(void* object_ptr, uint32_t wait_reason, uint32_t processor_mode, uint32_t alertable, uint64_t* timeout_ptr); uint32_t xeKeSetEvent(X_KEVENT* event_ptr, uint32_t increment, uint32_t wait); } // namespace xboxkrnl } // namespace kernel } // namespace xe #endif // XENIA_KERNEL_XBOXKRNL_XBOXKRNL_THREADING_H_