40 lines
1.5 KiB
C++
40 lines
1.5 KiB
C++
/**
|
|
******************************************************************************
|
|
* 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<uint32_t>* previous_state_ptr);
|
|
uint32_t xeNtClearEvent(uint32_t handle);
|
|
|
|
uint32_t xeNtWaitForMultipleObjectsEx(uint32_t count, xe::be<uint32_t>* 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_
|