utilitiec/src/threading/os_mutex.h
2024-06-13 15:28:21 +02:00

23 lines
514 B
C

#ifndef OS_MUTEX_H
#define OS_MUTEX_H
#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) // Fuck you, apple
#include <pthread.h>
typedef pthread_mutex_t os_mutex_t;
#elif defined(_WIN32)
#include <windows.h>
typedef HANDLE os_mutex_t;
#else
#error "Unknown Threading Standard, feel free to add support via a fork/PR"
#endif
int OSMutex_Create(os_mutex_t* target);
int OSMutex_Acquire(os_mutex_t* mutex);
int OSMutex_Release(os_mutex_t* mutex);
int OSMutex_Destroy(os_mutex_t* mutex);
#endif