Go to the source code of this file.
Macros | |
#define | as_aaf_int32(_target, _value) InterlockedAdd((LONG volatile*)(_target), _value) |
#define | as_aaf_int32_rls(_target, _value) InterlockedAdd((LONG volatile*)(_target), _value) |
#define | as_aaf_int64(_target, _value) InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_aaf_int64_rls(_target, _value) InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_aaf_uint32(_target, _value) (uint32_t)InterlockedAdd((LONG volatile*)(_target), _value) |
#define | as_aaf_uint32_rls(_target, _value) (uint32_t)InterlockedAdd((LONG volatile*)(_target), _value) |
#define | as_aaf_uint64(_target, _value) (uint64_t)InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_aaf_uint64_rls(_target, _value) (uint64_t)InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_add_int32(_target, _value) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
#define | as_add_int64(_target, _value) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_add_uint32(_target, _value) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
#define | as_add_uint64(_target, _value) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_cas_int16(_target, _old_value, _new_value) (InterlockedCompareExchange16((short volatile*)(_target), (short)(_new_value), (short)(_old_value)) == (short)(_old_value)) |
#define | as_cas_int32(_target, _old_value, _new_value) (InterlockedCompareExchange((LONG volatile*)(_target), (LONG)(_new_value), (LONG)(_old_value)) == (LONG)(_old_value)) |
#define | as_cas_int64(_target, _old_value, _new_value) (InterlockedCompareExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_new_value), (LONGLONG)(_old_value)) == (LONGLONG)(_old_value)) |
#define | as_cas_int8(_target, _old_value, _new_value) (_InterlockedCompareExchange8((char volatile*)(_target), (char)(_new_value), (char)(_old_value)) == (char)(_old_value)) |
#define | as_cas_uint16(_target, _old_value, _new_value) (InterlockedCompareExchange16((short volatile*)(_target), (short)(_new_value), (short)(_old_value)) == (short)(_old_value)) |
#define | as_cas_uint32(_target, _old_value, _new_value) (InterlockedCompareExchange((LONG volatile*)(_target), (LONG)(_new_value), (LONG)(_old_value)) == (LONG)(_old_value)) |
#define | as_cas_uint64(_target, _old_value, _new_value) (InterlockedCompareExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_new_value), (LONGLONG)(_old_value)) == (LONGLONG)(_old_value)) |
#define | as_cas_uint8(_target, _old_value, _new_value) (_InterlockedCompareExchange8((char volatile*)(_target), (char)(_new_value), (char)(_old_value)) == (char)(_old_value)) |
#define | as_decr_int16(_target) InterlockedDecrement16((short volatile*)(_target)) |
#define | as_decr_int16_rls(_target) InterlockedDecrement16((short volatile*)(_target)) |
#define | as_decr_int32(_target) InterlockedDecrement((LONG volatile*)(_target)) |
#define | as_decr_int32_rls(_target) InterlockedDecrement((LONG volatile*)(_target)) |
#define | as_decr_int64(_target) InterlockedDecrement64((LONGLONG volatile*)(_target)) |
#define | as_decr_int64_rls(_target) InterlockedDecrement64((LONGLONG volatile*)(_target)) |
#define | as_decr_uint16(_target) InterlockedDecrement16((short volatile*)(_target)) |
#define | as_decr_uint16_rls(_target) InterlockedDecrement16((short volatile*)(_target)) |
#define | as_decr_uint32(_target) InterlockedDecrement((LONG volatile*)(_target)) |
#define | as_decr_uint32_rls(_target) InterlockedDecrement((LONG volatile*)(_target)) |
#define | as_decr_uint64(_target) InterlockedDecrement64((LONGLONG volatile*)(_target)) |
#define | as_decr_uint64_rls(_target) InterlockedDecrement64((LONGLONG volatile*)(_target)) |
#define | as_faa_int32(_target, _value) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
#define | as_faa_int64(_target, _value) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_faa_uint32(_target, _value) (uint32_t)InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
#define | as_faa_uint64(_target, _value) (uint64_t)InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
#define | as_fas_int16(_target, _value) InterlockedExchange16((short volatile*)(_target), (LONG)(_value)) |
#define | as_fas_int32(_target, _value) InterlockedExchange((LONG volatile*)(_target), (LONG)(_value)) |
#define | as_fas_int64(_target, _value) InterlockedExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_value)) |
#define | as_fas_uint16(_target, _value) (uint16_t)InterlockedExchange16((short volatile*)(_target), (LONG)(_value)) |
#define | as_fas_uint32(_target, _value) (uint32_t)InterlockedExchange((LONG volatile*)(_target), (LONG)(_value)) |
#define | as_fas_uint64(_target, _value) (uint64_t)InterlockedExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_value)) |
#define | as_fence_acq MemoryBarrier |
#define | as_fence_rls MemoryBarrier |
#define | as_fence_rlx MemoryBarrier |
#define | as_fence_seq MemoryBarrier |
#define | as_incr_int16(_target) InterlockedIncrement16((short volatile*)(_target)) |
#define | as_incr_int16_rls(_target) InterlockedIncrement16((short volatile*)(_target)) |
#define | as_incr_int32(_target) InterlockedIncrement((LONG volatile*)(_target)) |
#define | as_incr_int32_rls(_target) InterlockedIncrement((LONG volatile*)(_target)) |
#define | as_incr_int64(_target) InterlockedIncrement64((LONGLONG volatile*)(_target)) |
#define | as_incr_int64_rls(_target) InterlockedIncrement64((LONGLONG volatile*)(_target)) |
#define | as_incr_uint16(_target) InterlockedIncrement16((short volatile*)(_target)) |
#define | as_incr_uint16_rls(_target) InterlockedIncrement16((short volatile*)(_target)) |
#define | as_incr_uint32(_target) InterlockedIncrement((LONG volatile*)(_target)) |
#define | as_incr_uint32_rls(_target) InterlockedIncrement((LONG volatile*)(_target)) |
#define | as_incr_uint64(_target) InterlockedIncrement64((LONGLONG volatile*)(_target)) |
#define | as_incr_uint64_rls(_target) InterlockedIncrement64((LONGLONG volatile*)(_target)) |
#define | as_load_int16(_target) (*(int16_t volatile*)(_target)) |
#define | as_load_int16_acq(_target) (*(int16_t volatile*)(_target)) |
#define | as_load_int32(_target) (*(int32_t volatile*)(_target)) |
#define | as_load_int32_acq(_target) (*(int32_t volatile*)(_target)) |
#define | as_load_int64(_target) (*(int64_t volatile*)(_target)) |
#define | as_load_int64_acq(_target) (*(int64_t volatile*)(_target)) |
#define | as_load_int8(_target) (*(int8_t volatile*)(_target)) |
#define | as_load_int8_acq(_target) (*(int8_t volatile*)(_target)) |
#define | as_load_ptr(_target) (*(void volatile**)(_target)) |
#define | as_load_ptr_acq(_target) (*(void volatile**)(_target)) |
#define | as_load_uint16(_target) (*(uint16_t volatile*)(_target)) |
#define | as_load_uint16_acq(_target) (*(uint16_t volatile*)(_target)) |
#define | as_load_uint32(_target) (*(uint32_t volatile*)(_target)) |
#define | as_load_uint32_acq(_target) (*(uint32_t volatile*)(_target)) |
#define | as_load_uint64(_target) (*(uint64_t volatile*)(_target)) |
#define | as_load_uint64_acq(_target) (*(uint64_t volatile*)(_target)) |
#define | as_load_uint8(_target) (*(uint8_t volatile*)(_target)) |
#define | as_load_uint8_acq(_target) (*(uint8_t volatile*)(_target)) |
#define | as_spinlock_destroy(_s) ((void)_s) |
#define | AS_SPINLOCK_INIT { 0 } |
#define | as_spinlock_init(_s) *(_s) = 0 |
#define | as_store_int16(_target, _value) *(int16_t volatile*)(_target) = _value |
#define | as_store_int16_rls(_target, _value) *(int16_t volatile*)(_target) = _value |
#define | as_store_int32(_target, _value) *(int32_t volatile*)(_target) = _value |
#define | as_store_int32_rls(_target, _value) *(int32_t volatile*)(_target) = _value |
#define | as_store_int64(_target, _value) *(int64_t volatile*)(_target) = _value |
#define | as_store_int64_rls(_target, _value) *(int64_t volatile*)(_target) = _value |
#define | as_store_int8(_target, _value) *(int8_t volatile*)(_target) = _value |
#define | as_store_int8_rls(_target, _value) *(int8_t volatile*)(_target) = _value |
#define | as_store_ptr(_target, _value) *(void volatile**)(_target) = _value |
#define | as_store_ptr_rls(_target, _value) *(void volatile**)(_target) = _value |
#define | as_store_uint16(_target, _value) *(uint16_t volatile*)(_target) = _value |
#define | as_store_uint16_rls(_target, _value) *(uint16_t volatile*)(_target) = _value |
#define | as_store_uint32(_target, _value) *(uint32_t volatile*)(_target) = _value |
#define | as_store_uint32_rls(_target, _value) *(uint32_t volatile*)(_target) = _value |
#define | as_store_uint64(_target, _value) *(uint64_t volatile*)(_target) = _value |
#define | as_store_uint64_rls(_target, _value) *(uint64_t volatile*)(_target) = _value |
#define | as_store_uint8(_target, _value) *(uint8_t volatile*)(_target) = _value |
#define | as_store_uint8_rls(_target, _value) *(uint8_t volatile*)(_target) = _value |
#define | as_swlock_destroy(_s) ((void)_s) |
#define | AS_SWLOCK_INIT { 0 } |
#define | as_swlock_init(_s) (_s) = 0 |
#define | AS_SWLOCK_LATCH_BIT (1 << 30) |
#define | AS_SWLOCK_READER_MASK (UINT32_MAX ^ AS_SWLOCK_WRITER_MASK) |
#define | AS_SWLOCK_WRITER_BIT (1 << 31) |
#define | AS_SWLOCK_WRITER_MASK (AS_SWLOCK_LATCH_BIT | AS_SWLOCK_WRITER_BIT) |
#define | WIN32_LEAN_AND_MEAN |
Typedefs | |
typedef uint32_t | as_spinlock |
typedef uint32_t | as_swlock |
Functions | |
static bool | as_setmax_uint32 (uint32_t *target, uint32_t x) |
static bool | as_setmax_uint64 (uint64_t *target, uint64_t x) |
static void | as_spinlock_lock (as_spinlock *lock) |
static void | as_spinlock_unlock (as_spinlock *lock) |
static void | as_swlock_read_lock (as_swlock *lock) |
static void | as_swlock_read_unlock (as_swlock *lock) |
static void | as_swlock_write_lock (as_swlock *lock) |
static void | as_swlock_write_unlock (as_swlock *lock) |
#define as_aaf_int32 | ( | _target, | |
_value ) InterlockedAdd((LONG volatile*)(_target), _value) |
Definition at line 196 of file as_atomic_win.h.
#define as_aaf_int32_rls | ( | _target, | |
_value ) InterlockedAdd((LONG volatile*)(_target), _value) |
Definition at line 210 of file as_atomic_win.h.
#define as_aaf_int64 | ( | _target, | |
_value ) InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 190 of file as_atomic_win.h.
#define as_aaf_int64_rls | ( | _target, | |
_value ) InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 204 of file as_atomic_win.h.
#define as_aaf_uint32 | ( | _target, | |
_value ) (uint32_t)InterlockedAdd((LONG volatile*)(_target), _value) |
Definition at line 193 of file as_atomic_win.h.
#define as_aaf_uint32_rls | ( | _target, | |
_value ) (uint32_t)InterlockedAdd((LONG volatile*)(_target), _value) |
Definition at line 207 of file as_atomic_win.h.
#define as_aaf_uint64 | ( | _target, | |
_value ) (uint64_t)InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 187 of file as_atomic_win.h.
#define as_aaf_uint64_rls | ( | _target, | |
_value ) (uint64_t)InterlockedAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 201 of file as_atomic_win.h.
#define as_add_int32 | ( | _target, | |
_value ) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
Definition at line 232 of file as_atomic_win.h.
#define as_add_int64 | ( | _target, | |
_value ) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 226 of file as_atomic_win.h.
#define as_add_uint32 | ( | _target, | |
_value ) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
Definition at line 229 of file as_atomic_win.h.
#define as_add_uint64 | ( | _target, | |
_value ) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 223 of file as_atomic_win.h.
#define as_cas_int16 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange16((short volatile*)(_target), (short)(_new_value), (short)(_old_value)) == (short)(_old_value)) |
Definition at line 364 of file as_atomic_win.h.
#define as_cas_int32 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange((LONG volatile*)(_target), (LONG)(_new_value), (LONG)(_old_value)) == (LONG)(_old_value)) |
Definition at line 358 of file as_atomic_win.h.
#define as_cas_int64 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_new_value), (LONGLONG)(_old_value)) == (LONGLONG)(_old_value)) |
Definition at line 352 of file as_atomic_win.h.
#define as_cas_int8 | ( | _target, | |
_old_value, | |||
_new_value ) (_InterlockedCompareExchange8((char volatile*)(_target), (char)(_new_value), (char)(_old_value)) == (char)(_old_value)) |
Definition at line 370 of file as_atomic_win.h.
#define as_cas_uint16 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange16((short volatile*)(_target), (short)(_new_value), (short)(_old_value)) == (short)(_old_value)) |
Definition at line 361 of file as_atomic_win.h.
#define as_cas_uint32 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange((LONG volatile*)(_target), (LONG)(_new_value), (LONG)(_old_value)) == (LONG)(_old_value)) |
Definition at line 355 of file as_atomic_win.h.
#define as_cas_uint64 | ( | _target, | |
_old_value, | |||
_new_value ) (InterlockedCompareExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_new_value), (LONGLONG)(_old_value)) == (LONGLONG)(_old_value)) |
Definition at line 349 of file as_atomic_win.h.
#define as_cas_uint8 | ( | _target, | |
_old_value, | |||
_new_value ) (_InterlockedCompareExchange8((char volatile*)(_target), (char)(_new_value), (char)(_old_value)) == (char)(_old_value)) |
Definition at line 367 of file as_atomic_win.h.
#define as_decr_int16 | ( | _target | ) | InterlockedDecrement16((short volatile*)(_target)) |
Definition at line 300 of file as_atomic_win.h.
#define as_decr_int16_rls | ( | _target | ) | InterlockedDecrement16((short volatile*)(_target)) |
Definition at line 320 of file as_atomic_win.h.
#define as_decr_int32 | ( | _target | ) | InterlockedDecrement((LONG volatile*)(_target)) |
Definition at line 294 of file as_atomic_win.h.
#define as_decr_int32_rls | ( | _target | ) | InterlockedDecrement((LONG volatile*)(_target)) |
Definition at line 314 of file as_atomic_win.h.
#define as_decr_int64 | ( | _target | ) | InterlockedDecrement64((LONGLONG volatile*)(_target)) |
Definition at line 288 of file as_atomic_win.h.
#define as_decr_int64_rls | ( | _target | ) | InterlockedDecrement64((LONGLONG volatile*)(_target)) |
Definition at line 308 of file as_atomic_win.h.
#define as_decr_uint16 | ( | _target | ) | InterlockedDecrement16((short volatile*)(_target)) |
Definition at line 297 of file as_atomic_win.h.
#define as_decr_uint16_rls | ( | _target | ) | InterlockedDecrement16((short volatile*)(_target)) |
Definition at line 317 of file as_atomic_win.h.
#define as_decr_uint32 | ( | _target | ) | InterlockedDecrement((LONG volatile*)(_target)) |
Definition at line 291 of file as_atomic_win.h.
#define as_decr_uint32_rls | ( | _target | ) | InterlockedDecrement((LONG volatile*)(_target)) |
Definition at line 311 of file as_atomic_win.h.
#define as_decr_uint64 | ( | _target | ) | InterlockedDecrement64((LONGLONG volatile*)(_target)) |
Definition at line 285 of file as_atomic_win.h.
#define as_decr_uint64_rls | ( | _target | ) | InterlockedDecrement64((LONGLONG volatile*)(_target)) |
Definition at line 305 of file as_atomic_win.h.
#define as_faa_int32 | ( | _target, | |
_value ) InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
Definition at line 176 of file as_atomic_win.h.
#define as_faa_int64 | ( | _target, | |
_value ) InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 170 of file as_atomic_win.h.
#define as_faa_uint32 | ( | _target, | |
_value ) (uint32_t)InterlockedExchangeAdd((LONG volatile*)(_target), _value) |
Definition at line 173 of file as_atomic_win.h.
#define as_faa_uint64 | ( | _target, | |
_value ) (uint64_t)InterlockedExchangeAdd64((LONGLONG volatile*)(_target), _value) |
Definition at line 167 of file as_atomic_win.h.
#define as_fas_int16 | ( | _target, | |
_value ) InterlockedExchange16((short volatile*)(_target), (LONG)(_value)) |
Definition at line 342 of file as_atomic_win.h.
#define as_fas_int32 | ( | _target, | |
_value ) InterlockedExchange((LONG volatile*)(_target), (LONG)(_value)) |
Definition at line 336 of file as_atomic_win.h.
#define as_fas_int64 | ( | _target, | |
_value ) InterlockedExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_value)) |
Definition at line 330 of file as_atomic_win.h.
#define as_fas_uint16 | ( | _target, | |
_value ) (uint16_t)InterlockedExchange16((short volatile*)(_target), (LONG)(_value)) |
Definition at line 339 of file as_atomic_win.h.
#define as_fas_uint32 | ( | _target, | |
_value ) (uint32_t)InterlockedExchange((LONG volatile*)(_target), (LONG)(_value)) |
Definition at line 333 of file as_atomic_win.h.
#define as_fas_uint64 | ( | _target, | |
_value ) (uint64_t)InterlockedExchange64((LONGLONG volatile*)(_target), (LONGLONG)(_value)) |
Definition at line 327 of file as_atomic_win.h.
#define as_fence_acq MemoryBarrier |
Definition at line 381 of file as_atomic_win.h.
#define as_fence_rls MemoryBarrier |
Definition at line 384 of file as_atomic_win.h.
#define as_fence_rlx MemoryBarrier |
Definition at line 387 of file as_atomic_win.h.
#define as_fence_seq MemoryBarrier |
Definition at line 390 of file as_atomic_win.h.
#define as_incr_int16 | ( | _target | ) | InterlockedIncrement16((short volatile*)(_target)) |
Definition at line 258 of file as_atomic_win.h.
#define as_incr_int16_rls | ( | _target | ) | InterlockedIncrement16((short volatile*)(_target)) |
Definition at line 278 of file as_atomic_win.h.
#define as_incr_int32 | ( | _target | ) | InterlockedIncrement((LONG volatile*)(_target)) |
Definition at line 252 of file as_atomic_win.h.
#define as_incr_int32_rls | ( | _target | ) | InterlockedIncrement((LONG volatile*)(_target)) |
Definition at line 272 of file as_atomic_win.h.
#define as_incr_int64 | ( | _target | ) | InterlockedIncrement64((LONGLONG volatile*)(_target)) |
Definition at line 246 of file as_atomic_win.h.
#define as_incr_int64_rls | ( | _target | ) | InterlockedIncrement64((LONGLONG volatile*)(_target)) |
Definition at line 266 of file as_atomic_win.h.
#define as_incr_uint16 | ( | _target | ) | InterlockedIncrement16((short volatile*)(_target)) |
Definition at line 255 of file as_atomic_win.h.
#define as_incr_uint16_rls | ( | _target | ) | InterlockedIncrement16((short volatile*)(_target)) |
Definition at line 275 of file as_atomic_win.h.
#define as_incr_uint32 | ( | _target | ) | InterlockedIncrement((LONG volatile*)(_target)) |
Definition at line 249 of file as_atomic_win.h.
#define as_incr_uint32_rls | ( | _target | ) | InterlockedIncrement((LONG volatile*)(_target)) |
Definition at line 269 of file as_atomic_win.h.
#define as_incr_uint64 | ( | _target | ) | InterlockedIncrement64((LONGLONG volatile*)(_target)) |
Definition at line 243 of file as_atomic_win.h.
#define as_incr_uint64_rls | ( | _target | ) | InterlockedIncrement64((LONGLONG volatile*)(_target)) |
Definition at line 263 of file as_atomic_win.h.
#define as_load_int16 | ( | _target | ) | (*(int16_t volatile*)(_target)) |
Definition at line 65 of file as_atomic_win.h.
#define as_load_int16_acq | ( | _target | ) | (*(int16_t volatile*)(_target)) |
Definition at line 94 of file as_atomic_win.h.
#define as_load_int32 | ( | _target | ) | (*(int32_t volatile*)(_target)) |
Definition at line 59 of file as_atomic_win.h.
#define as_load_int32_acq | ( | _target | ) | (*(int32_t volatile*)(_target)) |
Definition at line 88 of file as_atomic_win.h.
#define as_load_int64 | ( | _target | ) | (*(int64_t volatile*)(_target)) |
Definition at line 53 of file as_atomic_win.h.
#define as_load_int64_acq | ( | _target | ) | (*(int64_t volatile*)(_target)) |
Definition at line 82 of file as_atomic_win.h.
#define as_load_int8 | ( | _target | ) | (*(int8_t volatile*)(_target)) |
Definition at line 71 of file as_atomic_win.h.
#define as_load_int8_acq | ( | _target | ) | (*(int8_t volatile*)(_target)) |
Definition at line 100 of file as_atomic_win.h.
#define as_load_ptr | ( | _target | ) | (*(void volatile**)(_target)) |
Definition at line 47 of file as_atomic_win.h.
#define as_load_ptr_acq | ( | _target | ) | (*(void volatile**)(_target)) |
Definition at line 76 of file as_atomic_win.h.
#define as_load_uint16 | ( | _target | ) | (*(uint16_t volatile*)(_target)) |
Definition at line 62 of file as_atomic_win.h.
#define as_load_uint16_acq | ( | _target | ) | (*(uint16_t volatile*)(_target)) |
Definition at line 91 of file as_atomic_win.h.
#define as_load_uint32 | ( | _target | ) | (*(uint32_t volatile*)(_target)) |
Definition at line 56 of file as_atomic_win.h.
#define as_load_uint32_acq | ( | _target | ) | (*(uint32_t volatile*)(_target)) |
Definition at line 85 of file as_atomic_win.h.
#define as_load_uint64 | ( | _target | ) | (*(uint64_t volatile*)(_target)) |
Definition at line 50 of file as_atomic_win.h.
#define as_load_uint64_acq | ( | _target | ) | (*(uint64_t volatile*)(_target)) |
Definition at line 79 of file as_atomic_win.h.
#define as_load_uint8 | ( | _target | ) | (*(uint8_t volatile*)(_target)) |
Definition at line 68 of file as_atomic_win.h.
#define as_load_uint8_acq | ( | _target | ) | (*(uint8_t volatile*)(_target)) |
Definition at line 97 of file as_atomic_win.h.
#define as_spinlock_destroy | ( | _s | ) | ((void)_s) |
Definition at line 400 of file as_atomic_win.h.
#define AS_SPINLOCK_INIT { 0 } |
Definition at line 398 of file as_atomic_win.h.
#define as_spinlock_init | ( | _s | ) | *(_s) = 0 |
Definition at line 399 of file as_atomic_win.h.
#define as_store_int16 | ( | _target, | |
_value ) *(int16_t volatile*)(_target) = _value |
Definition at line 125 of file as_atomic_win.h.
#define as_store_int16_rls | ( | _target, | |
_value ) *(int16_t volatile*)(_target) = _value |
Definition at line 154 of file as_atomic_win.h.
#define as_store_int32 | ( | _target, | |
_value ) *(int32_t volatile*)(_target) = _value |
Definition at line 119 of file as_atomic_win.h.
#define as_store_int32_rls | ( | _target, | |
_value ) *(int32_t volatile*)(_target) = _value |
Definition at line 148 of file as_atomic_win.h.
#define as_store_int64 | ( | _target, | |
_value ) *(int64_t volatile*)(_target) = _value |
Definition at line 113 of file as_atomic_win.h.
#define as_store_int64_rls | ( | _target, | |
_value ) *(int64_t volatile*)(_target) = _value |
Definition at line 142 of file as_atomic_win.h.
#define as_store_int8 | ( | _target, | |
_value ) *(int8_t volatile*)(_target) = _value |
Definition at line 131 of file as_atomic_win.h.
#define as_store_int8_rls | ( | _target, | |
_value ) *(int8_t volatile*)(_target) = _value |
Definition at line 160 of file as_atomic_win.h.
#define as_store_ptr | ( | _target, | |
_value ) *(void volatile**)(_target) = _value |
Definition at line 107 of file as_atomic_win.h.
#define as_store_ptr_rls | ( | _target, | |
_value ) *(void volatile**)(_target) = _value |
Definition at line 136 of file as_atomic_win.h.
#define as_store_uint16 | ( | _target, | |
_value ) *(uint16_t volatile*)(_target) = _value |
Definition at line 122 of file as_atomic_win.h.
#define as_store_uint16_rls | ( | _target, | |
_value ) *(uint16_t volatile*)(_target) = _value |
Definition at line 151 of file as_atomic_win.h.
#define as_store_uint32 | ( | _target, | |
_value ) *(uint32_t volatile*)(_target) = _value |
Definition at line 116 of file as_atomic_win.h.
#define as_store_uint32_rls | ( | _target, | |
_value ) *(uint32_t volatile*)(_target) = _value |
Definition at line 145 of file as_atomic_win.h.
#define as_store_uint64 | ( | _target, | |
_value ) *(uint64_t volatile*)(_target) = _value |
Definition at line 110 of file as_atomic_win.h.
#define as_store_uint64_rls | ( | _target, | |
_value ) *(uint64_t volatile*)(_target) = _value |
Definition at line 139 of file as_atomic_win.h.
#define as_store_uint8 | ( | _target, | |
_value ) *(uint8_t volatile*)(_target) = _value |
Definition at line 128 of file as_atomic_win.h.
#define as_store_uint8_rls | ( | _target, | |
_value ) *(uint8_t volatile*)(_target) = _value |
Definition at line 157 of file as_atomic_win.h.
#define as_swlock_destroy | ( | _s | ) | ((void)_s) |
Definition at line 428 of file as_atomic_win.h.
#define AS_SWLOCK_INIT { 0 } |
Definition at line 426 of file as_atomic_win.h.
#define as_swlock_init | ( | _s | ) | (_s) = 0 |
Definition at line 427 of file as_atomic_win.h.
#define AS_SWLOCK_LATCH_BIT (1 << 30) |
Definition at line 431 of file as_atomic_win.h.
#define AS_SWLOCK_READER_MASK (UINT32_MAX ^ AS_SWLOCK_WRITER_MASK) |
Definition at line 433 of file as_atomic_win.h.
#define AS_SWLOCK_WRITER_BIT (1 << 31) |
Definition at line 430 of file as_atomic_win.h.
#define AS_SWLOCK_WRITER_MASK (AS_SWLOCK_LATCH_BIT | AS_SWLOCK_WRITER_BIT) |
Definition at line 432 of file as_atomic_win.h.
#define WIN32_LEAN_AND_MEAN |
Definition at line 25 of file as_atomic_win.h.
typedef uint32_t as_spinlock |
Definition at line 396 of file as_atomic_win.h.
typedef uint32_t as_swlock |
Definition at line 424 of file as_atomic_win.h.
|
inlinestatic |
Definition at line 513 of file as_atomic_win.h.
References as_load_uint32.
|
inlinestatic |
Definition at line 488 of file as_atomic_win.h.
References as_load_uint64.
|
inlinestatic |
Definition at line 403 of file as_atomic_win.h.
References as_fas_uint32, and as_load_uint32.
|
inlinestatic |
Definition at line 414 of file as_atomic_win.h.
References as_store_uint32.
|
inlinestatic |
Definition at line 455 of file as_atomic_win.h.
References as_decr_uint32, as_faa_uint32, as_load_uint32, AS_SWLOCK_WRITER_BIT, and AS_SWLOCK_WRITER_MASK.
|
inlinestatic |
Definition at line 477 of file as_atomic_win.h.
References as_decr_uint32.
|
inlinestatic |
Definition at line 436 of file as_atomic_win.h.
References as_load_uint32, AS_SWLOCK_READER_MASK, and AS_SWLOCK_WRITER_BIT.
|
inlinestatic |
Definition at line 448 of file as_atomic_win.h.
References AS_SWLOCK_READER_MASK.