Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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.
 
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.
 
static atomic_val_t atomic_add (atomic_t *target, atomic_val_t value)
 Atomic addition.
 
static atomic_val_t atomic_sub (atomic_t *target, atomic_val_t value)
 Atomic subtraction.
 
static atomic_val_t atomic_inc (atomic_t *target)
 Atomic increment.
 
static atomic_val_t atomic_dec (atomic_t *target)
 Atomic decrement.
 
static atomic_val_t atomic_get (const atomic_t *target)
 Atomic get.
 
static atomic_ptr_val_t atomic_ptr_get (const atomic_ptr_t *target)
 Atomic get a pointer value.
 
static atomic_val_t atomic_set (atomic_t *target, atomic_val_t value)
 Atomic get-and-set.
 
static atomic_ptr_val_t atomic_ptr_set (atomic_ptr_t *target, atomic_ptr_val_t value)
 Atomic get-and-set for pointer values.
 
static atomic_val_t atomic_clear (atomic_t *target)
 Atomic clear.
 
static atomic_ptr_val_t atomic_ptr_clear (atomic_ptr_t *target)
 Atomic clear of a pointer value.
 
static atomic_val_t atomic_or (atomic_t *target, atomic_val_t value)
 Atomic bitwise inclusive OR.
 
static atomic_val_t atomic_xor (atomic_t *target, atomic_val_t value)
 Atomic bitwise exclusive OR (XOR).
 
static atomic_val_t atomic_and (atomic_t *target, atomic_val_t value)
 Atomic bitwise AND.
 
static atomic_val_t atomic_nand (atomic_t *target, atomic_val_t value)
 Atomic bitwise NAND.