1 #ifndef __LIBATOMIC_H__
2 #define __LIBATOMIC_H__
8 typedef enum memory_order {
17 typedef struct atomic_object {
21 void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order);
22 #define atomic_store(A, B) atomic_store_explicit((A), (B), memory_order_seq_cst)
24 int atomic_load_explicit(struct atomic_object *obj, memory_order order);
25 #define atomic_load(A) atomic_load_explicit((A), memory_order_seq_cst)
27 void atomic_init(struct atomic_object *obj, int value);
33 #endif /* __LIBATOMIC_H__ */