SVC: Implemented ReleaseSemaphore.

This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
This commit is contained in:
Subv
2014-12-04 11:40:36 -05:00
parent 82c84883a5
commit 49b31badba
4 changed files with 82 additions and 20 deletions

View File

@ -12,11 +12,20 @@ namespace Kernel {
/**
* Creates a semaphore
* @param handle Pointer to the handle of the newly created object
* @param initial_count number of reserved entries in the semaphore
* @param max_count maximum number of holders the semaphore can have
* @param name Optional name of semaphore
* @return Handle to newly created object
* @param name Optional name of semaphore
* @return ResultCode of the error
*/
Handle CreateSemaphore(u32 initial_count, u32 max_count, const std::string& name = "Unknown");
ResultCode CreateSemaphore(Handle* handle, u32 initial_count, u32 max_count, const std::string& name = "Unknown");
/**
* 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);
} // namespace