ae2f_docs
Loading...
Searching...
No Matches
Ftx-WIN.def.c
1
2#include <ae2f/Macro.h>
3
4/**
5 * @file Futex.auto.h
6 * */
7#ifndef ae2f_Sys_Futex_auto_h
8#include <ae2f/Sys/Ftx.h>
9#define ae2f_Sys_Futex_auto_h
10
11/** synchronization link */
12/** #pragma comment(lib, "synchronization") */
13
14#define _ae2f_SysFtxEl_WIN volatile LONG
15
16#if ae2f_Sys_WIN(!)0
17
18ae2f_MAC() ae2f_SysFtxWait_imp_WIN(
19 ae2f_SysFtxEl_t ramtmp_wait,
20 ae2f_SysFtxRet_t ret_err,
21 ae2f_SysFtxEl_t* const prm_uaddr,
22 const ae2f_SysFtxEl_t prm_val
23 const struct timespec * const pprm_time_opt
24 )
25{
26 (ramtmp_wait) = (prm_val);
27 (ret_err) = WaitOnAddress(
28 prm_uaddr
29 , &(ramtmp_wait)
30 , sizeof(ae2f_SysFtxEl_t)
31 , (pprm_time_opt) ? (pprm_time_opt)->tv_nsec + (pprm_time_opt)->tv_sec * 1000 : INFINITE
32 )
33 ? ae2f_SysFtxWait_GOOD
34 : ae2f_SysFtxWait_TMOUT;
35}
36
37ae2f_MAC() ae2f_SysFtxWakeOne_WIN(
38 ae2f_SysFtxRet_t ret_err,
39 ae2f_SysFtxEl_t* const prm_uaddr
40 )
41{
42 WakeByAddressSingle(ae2f_reinterpret_cast(PVOID, uaddr));
43 (ret_err) = ae2f_SysFtxWake_GOOD;
44}
45
46#endif
47#endif
#define ae2f_Sys_WIN
System does not support this version. <ae2f_SysInetMk::prm_VerReq>.
Definition Sys.h:18