Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
atomic_builtin.h File Reference

Go to the source code of this file.

Functions

static bool atomic_cas (atomic_t *target, atomic_val_t old_value, atomic_val_t new_value)
 Atomic compare-and-set. More...
 
static bool atomic_ptr_cas (atomic_ptr_t *target, atomic_ptr_val_t old_value, atomic_ptr_val_t new_value)
 Atomic compare-and-set with pointer values. More...
 
static atomic_val_t atomic_add (atomic_t *target, atomic_val_t value)
 Atomic addition. More...
 
static atomic_val_t atomic_sub (atomic_t *target, atomic_val_t value)
 Atomic subtraction. More...
 
static atomic_val_t atomic_inc (atomic_t *target)
 Atomic increment. More...
 
static atomic_val_t atomic_dec (atomic_t *target)
 Atomic decrement. More...
 
static atomic_val_t atomic_get (const atomic_t *target)
 Atomic get. More...
 
static atomic_ptr_val_t atomic_ptr_get (const atomic_ptr_t *target)
 Atomic get a pointer value. More...
 
static atomic_val_t atomic_set (atomic_t *target, atomic_val_t value)
 Atomic get-and-set. More...
 
static atomic_ptr_val_t atomic_ptr_set (atomic_ptr_t *target, atomic_ptr_val_t value)
 Atomic get-and-set for pointer values. More...
 
static atomic_val_t atomic_clear (atomic_t *target)
 Atomic clear. More...
 
static atomic_ptr_val_t atomic_ptr_clear (atomic_ptr_t *target)
 Atomic clear of a pointer value. More...
 
static atomic_val_t atomic_or (atomic_t *target, atomic_val_t value)
 Atomic bitwise inclusive OR. More...
 
static atomic_val_t atomic_xor (atomic_t *target, atomic_val_t value)
 Atomic bitwise exclusive OR (XOR). More...
 
static atomic_val_t atomic_and (atomic_t *target, atomic_val_t value)
 Atomic bitwise AND. More...
 
static atomic_val_t atomic_nand (atomic_t *target, atomic_val_t value)
 Atomic bitwise NAND. More...