tp/include/revolution/os/OSSemaphore.h

26 lines
516 B
C

#ifndef _REVOLUTION_OSSEMAPHORE_H_
#define _REVOLUTION_OSSEMAPHORE_H_
#include <revolution/os/OSThread.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OSSemaphore {
s32 count;
OSThreadQueue queue;
} OSSemaphore;
void OSInitSemaphore(OSSemaphore* sem, s32 count);
s32 OSWaitSemaphore(OSSemaphore* sem);
s32 OSTryWaitSemaphore(OSSemaphore* sem);
s32 OSSignalSemaphore(OSSemaphore* sem);
s32 OSGetSemaphoreCount(OSSemaphore* sem);
#ifdef __cplusplus
}
#endif
#endif // _REVOLUTION_OSSEMAPHORE_H_