ae2f_docs
Ftx.core.h
1#ifndef ae2f_Futex_core_h
2#define ae2f_Futex_core_h
3
4#include "../Sys.h"
5
6#if ae2f_Sys_WIN(!)0
7#include <windows.h>
8
9/** synchronization link */
10#pragma comment(lib, "synchronization")
11
12#define _ae2f_SysFtxEl_t volatile LONG
13#define _ae2f_SysFtxRet_t BOOL
14
15#elif ae2f_Sys__linux(!)0
16
17#include <linux/futex.h>
18#include <sys/syscall.h>
19#include <unistd.h>
20
21#define _ae2f_SysFtxEl_t int
22#define _ae2f_SysFtxRet_t int
23
24#else
25#include <pthread.h>
26#include <errno.h>
27
28#define _ae2f_SysFtxEl_t int32_t
29#define _ae2f_SysFtxRet_t int
30
31#endif
32
33#endif
#define _ae2f_SysFtxRet_t
Definition Ftx.core.h:29
#define _ae2f_SysFtxEl_t
Definition Ftx.core.h:28
_ae2f_SysFtxRet_t ae2f_SysFtxRet_t
State for futex operation.
Definition Ftx.h:22
_ae2f_SysFtxEl_t ae2f_SysFtxEl_t
Futex address element type.
Definition Ftx.h:13
#define ae2f_Sys__linux
Definition Sys.h:14
#define ae2f_Sys_WIN
Definition Sys.h:17
#define ae2f_MAC(...)
Definition mac.h:28