mirror of https://github.com/InoriRus/Kyty.git
29 lines
931 B
C++
29 lines
931 B
C++
#ifndef EMULATOR_INCLUDE_EMULATOR_KERNEL_SEMAPHORE_H_
|
|
#define EMULATOR_INCLUDE_EMULATOR_KERNEL_SEMAPHORE_H_
|
|
|
|
#include "Kyty/Core/Common.h"
|
|
|
|
#include "Emulator/Common.h"
|
|
#include "Emulator/Kernel/Pthread.h"
|
|
|
|
#ifdef KYTY_EMU_ENABLED
|
|
|
|
namespace Kyty::Libs::LibKernel::Semaphore {
|
|
|
|
class KernelSemaPrivate;
|
|
|
|
using KernelSema = KernelSemaPrivate*;
|
|
|
|
int KYTY_SYSV_ABI KernelCreateSema(KernelSema* sem, const char* name, uint32_t attr, int init, int max, void* opt);
|
|
int KYTY_SYSV_ABI KernelDeleteSema(KernelSema sem);
|
|
int KYTY_SYSV_ABI KernelWaitSema(KernelSema sem, int need, KernelUseconds* time);
|
|
int KYTY_SYSV_ABI KernelPollSema(KernelSema sem, int need);
|
|
int KYTY_SYSV_ABI KernelSignalSema(KernelSema sem, int count);
|
|
int KYTY_SYSV_ABI KernelCancelSema(KernelSema sem, int count, int* threads);
|
|
|
|
} // namespace Kyty::Libs::LibKernel::Semaphore
|
|
|
|
#endif // KYTY_EMU_ENABLED
|
|
|
|
#endif /* EMULATOR_INCLUDE_EMULATOR_KERNEL_SEMAPHORE_H_ */
|