Files
eden/src/core/hle/kernel/semaphore.h
T

32 lines
1015 B
C++
Raw Normal View History

2014-12-03 18:49:51 -05:00
// 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"
namespace Kernel {
/**
* Creates a semaphore
2014-12-04 11:40:36 -05:00
* @param handle Pointer to the handle of the newly created object
* @param initial_count number of slots reserved for other threads
* @param max_count maximum number of slots the semaphore can have
2014-12-04 11:40:36 -05:00
* @param name Optional name of semaphore
* @return ResultCode of the error
2014-12-03 18:49:51 -05:00
*/
2014-12-04 11:40:36 -05:00
ResultCode CreateSemaphore(Handle* handle, u32 initial_count, u32 max_count, const std::string& name = "Unknown");
2014-12-03 18:49:51 -05:00
2014-12-04 11:40:36 -05:00
/**
* Releases a certain number of slots from a semaphore
* @param count The number of free slots the semaphore had before this call
* @param handle The handle of the semaphore to release
* @param release_count The number of slots to release
* @return ResultCode of the error
*/
ResultCode ReleaseSemaphore(s32* count, Handle handle, s32 release_count);
2014-12-03 18:49:51 -05:00
} // namespace