27#define atomic_set(ptr, val) \
28 __atomic_store_n(ptr, val, __ATOMIC_SEQ_CST)
33#define atomic_read(ptr) \
34 __atomic_load_n(ptr, __ATOMIC_SEQ_CST)
39#define atomic_inc(ptr) \
40 __atomic_add_fetch(ptr, 1, __ATOMIC_SEQ_CST)
45#define atomic_dec(ptr) \
46 __atomic_sub_fetch(ptr, 1, __ATOMIC_SEQ_CST)
51#define atomic_add(val, ptr) \
52 __atomic_add_fetch(ptr, val, __ATOMIC_SEQ_CST)
57#define atomic_sub(val, ptr) \
58 __atomic_sub_fetch(ptr, val, __ATOMIC_SEQ_CST)
volatile int atomic_t
atomic type, 24 bit useable