diff options
Diffstat (limited to 'src/core/hle/kernel/event.h')
-rw-r--r-- | src/core/hle/kernel/event.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/core/hle/kernel/event.h b/src/core/hle/kernel/event.h new file mode 100644 index 000000000..c39b33180 --- /dev/null +++ b/src/core/hle/kernel/event.h @@ -0,0 +1,52 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" + +#include "core/hle/kernel/kernel.h" +#include "core/hle/svc.h" + +namespace Kernel { + +/** + * Changes whether an event is locked or not + * @param handle Handle to event to change + * @param locked Boolean locked value to set event + * @return Result of operation, 0 on success, otherwise error code + */ +Result SetEventLocked(const Handle handle, const bool locked); + +/** + * Hackish function to set an events permanent lock state, used to pass through synch blocks + * @param handle Handle to event to change + * @param permanent_locked Boolean permanent locked value to set event + * @return Result of operation, 0 on success, otherwise error code + */ +Result SetPermanentLock(Handle handle, const bool permanent_locked); + +/** + * Signals an event + * @param handle Handle to event to signal + * @return Result of operation, 0 on success, otherwise error code + */ +Result SignalEvent(const Handle handle); + +/** + * Clears an event + * @param handle Handle to event to clear + * @return Result of operation, 0 on success, otherwise error code + */ +Result ClearEvent(Handle handle); + +/** + * Creates an event + * @param reset_type ResetType describing how to create event + * @param name Optional name of event + * @return Handle to newly created Event object + */ +Handle CreateEvent(const ResetType reset_type, const std::string& name="Unknown"); + +} // namespace |