Soletta™ Framework
Framework for making IoT devices

Full online documentation | C API Index
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs
sol-atomic.h File Reference

This is a subset of the C11 atomic API for Soletta. More...

#include <stdatomic.h>

Go to the source code of this file.

Macros

#define SOL_ATOMIC_ACQ_REL   memory_order_acq_rel
 Equivalent to C11 memory_order_acq_re (acquire and release). More...
 
#define SOL_ATOMIC_ACQUIRE   memory_order_acquire
 Equivalent to C11 memory_order_acquire. More...
 
#define sol_atomic_clear   atomic_flag_clear_explicit
 void sol_atomic_clear(atomic_flag *flag, int memory_order) More...
 
#define sol_atomic_compare_exchange   atomic_compare_exchange_strong_explicit
 bool sol_atomic_compare_exchange(atomic *object, value *expected, value desired, int memory_order_success, int memory_order_failure) More...
 
#define SOL_ATOMIC_CONSUME   memory_order_consume
 Equivalent to C11 memory_order_consume. More...
 
#define sol_atomic_exchange   atomic_exchange_explicit
 value sol_atomic_exchange(atomic *object, value new_value, int memory_order) More...
 
#define sol_atomic_fetch_add   atomic_fetch_add_explicit
 value sol_atomic_fetch_add(atomic *object, value addend, int memory_order) More...
 
#define SOL_ATOMIC_FLAG_INIT   ATOMIC_FLAG_INIT
 Used to initialize a sol_atommic_flag statically. More...
 
#define SOL_ATOMIC_INIT   ATOMIC_VAR_INIT
 Used to initialize one of the sol_atomic_ variables statically. More...
 
#define sol_atomic_load   atomic_load_explicit
 value sol_atomic_load(atomic *object, int memory_order) More...
 
#define SOL_ATOMIC_RELAXED   memory_order_relaxed
 Equivalent to C11 memory_order_relaxed. More...
 
#define SOL_ATOMIC_RELEASE   memory_order_release
 Equivalent to C11 memory_order_release. More...
 
#define SOL_ATOMIC_SEQ_CST   memory_order_seq_cst
 Equivalent to C11 memory_order_seq_cst (sequentially consistent). More...
 
#define sol_atomic_store   atomic_store_explicit
 void sol_atomic_store(atomic *object, type value, int memory_order) More...
 
#define sol_atomic_test_and_set   atomic_flag_test_and_set_explicit
 bool sol_atomic_test_and_set(atomic_flag *flag, int memory_order) More...
 

Typedefs

typedef atomic_flag sol_atomic_flag
 An atomic variable that can contain only two states: set or unset. More...
 
typedef atomic_int sol_atomic_int
 An atomic variable compatible with an int. More...
 
typedef atomic_size_t sol_atomic_size_t
 An atomic variable compatible with a size_t. More...
 
typedef atomic_uint sol_atomic_uint
 An atomic variable compatible with an unsigned int. More...
 
typedef atomic_uintptr_t sol_atomic_uintptr_t
 An atomic variable compatible with an uintptr_t. More...
 

Detailed Description

This is a subset of the C11 atomic API for Soletta.