32#ifndef ZYCORE_API_SYNCHRONIZATION_H
33#define ZYCORE_API_SYNCHRONIZATION_H
48#if defined(ZYAN_POSIX)
56typedef pthread_mutex_t ZyanCriticalSection;
60#elif defined(ZYAN_WINDOWS)
68typedef CRITICAL_SECTION ZyanCriticalSection;
73# error "Unsupported platform detected"
General helper and platform detection macros.
#define ZYCORE_EXPORT
Symbol is exported in shared library builds.
Definition Defines.h:330
Status code definitions and check macros.
ZyanU32 ZyanStatus
Defines the ZyanStatus data type.
Definition Status.h:48
ZYCORE_EXPORT ZyanBool ZyanCriticalSectionTryEnter(ZyanCriticalSection *critical_section)
Tries to enter a critical section.
ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionDelete(ZyanCriticalSection *critical_section)
Deletes a critical section.
ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionLeave(ZyanCriticalSection *critical_section)
Leaves a critical section.
ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionInitialize(ZyanCriticalSection *critical_section)
Initializes a critical section.
ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionEnter(ZyanCriticalSection *critical_section)
Enters a critical section.
ZyanU8 ZyanBool
Defines the ZyanBool data-type.
Definition Types.h:296