+/** @file libatomic.h
+ * @brief Basic atomic operations to be exposed to user program.
+ */
+
#ifndef __LIBATOMIC_H__
#define __LIBATOMIC_H__
} memory_order;
typedef struct atomic_object {
+ int value;
} atomic_int;
void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order);
int atomic_load_explicit(struct atomic_object *obj, memory_order order);
#define atomic_load(A) atomic_load_explicit((A), memory_order_seq_cst)
+ void atomic_init(struct atomic_object *obj, int value);
+
#ifdef __cplusplus
}
#endif