2014-05-02 17:54:01 -04:00
|
|
|
#pragma once
|
2013-12-15 18:30:16 -05:00
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2015-08-19 11:12:54 -04:00
|
|
|
#include <mutex>
|
|
|
|
|
#include <condition_variable>
|
2013-12-15 18:30:16 -05:00
|
|
|
|
2015-08-19 11:12:54 -04:00
|
|
|
typedef std::mutex* MUTEX_ID;
|
|
|
|
|
typedef std::condition_variable* MULTIWAIT_ID;
|
|
|
|
|
typedef std::condition_variable::native_handle_type NATIVE_MULTIWAIT_ID;
|
2013-12-15 18:30:16 -05:00
|
|
|
|
2014-05-02 17:54:01 -04:00
|
|
|
extern "C"
|
|
|
|
|
{
|
2014-01-06 10:12:21 -05:00
|
|
|
MUTEX_ID initializeMutexNormal();
|
2013-12-15 18:30:16 -05:00
|
|
|
void deleteMutex(MUTEX_ID sem);
|
2015-08-19 11:12:54 -04:00
|
|
|
void takeMutex(MUTEX_ID sem);
|
|
|
|
|
bool tryTakeMutex(MUTEX_ID sem);
|
|
|
|
|
void giveMutex(MUTEX_ID sem);
|
2013-12-15 18:30:16 -05:00
|
|
|
|
|
|
|
|
MULTIWAIT_ID initializeMultiWait();
|
|
|
|
|
void deleteMultiWait(MULTIWAIT_ID sem);
|
2015-08-19 11:12:54 -04:00
|
|
|
void takeMultiWait(MULTIWAIT_ID sem, MUTEX_ID m);
|
|
|
|
|
void giveMultiWait(MULTIWAIT_ID sem);
|
2013-12-15 18:30:16 -05:00
|
|
|
}
|
|
|
|
|
|