Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
atomic_c.h File Reference

Go to the source code of this file.

Functions

bool atomic_cas (atomic_t *target, atomic_val_t old_value, atomic_val_t new_value)
 
bool atomic_ptr_cas (atomic_ptr_t *target, atomic_ptr_val_t old_value, atomic_ptr_val_t new_value)
 
atomic_val_t atomic_add (atomic_t *target, atomic_val_t value)
 
atomic_val_t atomic_sub (atomic_t *target, atomic_val_t value)
 
static atomic_val_t atomic_inc (atomic_t *target)
 
static atomic_val_t atomic_dec (atomic_t *target)
 
atomic_val_t atomic_get (const atomic_t *target)
 
atomic_ptr_val_t atomic_ptr_get (const atomic_ptr_t *target)
 
atomic_val_t atomic_set (atomic_t *target, atomic_val_t value)
 
atomic_ptr_val_t atomic_ptr_set (atomic_ptr_t *target, atomic_ptr_val_t value)
 
static atomic_val_t atomic_clear (atomic_t *target)
 
static atomic_ptr_val_t atomic_ptr_clear (atomic_ptr_t *target)
 
atomic_val_t atomic_or (atomic_t *target, atomic_val_t value)
 
atomic_val_t atomic_xor (atomic_t *target, atomic_val_t value)
 
atomic_val_t atomic_and (atomic_t *target, atomic_val_t value)
 
atomic_val_t atomic_nand (atomic_t *target, atomic_val_t value)
 

Function Documentation

◆ atomic_add()

atomic_val_t atomic_add ( atomic_t * target,
atomic_val_t value )

◆ atomic_and()

atomic_val_t atomic_and ( atomic_t * target,
atomic_val_t value )

◆ atomic_cas()

bool atomic_cas ( atomic_t * target,
atomic_val_t old_value,
atomic_val_t new_value )

◆ atomic_clear()

static atomic_val_t atomic_clear ( atomic_t * target)
inlinestatic

◆ atomic_dec()

static atomic_val_t atomic_dec ( atomic_t * target)
inlinestatic

◆ atomic_get()

atomic_val_t atomic_get ( const atomic_t * target)

◆ atomic_inc()

static atomic_val_t atomic_inc ( atomic_t * target)
inlinestatic

◆ atomic_nand()

atomic_val_t atomic_nand ( atomic_t * target,
atomic_val_t value )

◆ atomic_or()

atomic_val_t atomic_or ( atomic_t * target,
atomic_val_t value )

◆ atomic_ptr_cas()

bool atomic_ptr_cas ( atomic_ptr_t * target,
atomic_ptr_val_t old_value,
atomic_ptr_val_t new_value )

◆ atomic_ptr_clear()

static atomic_ptr_val_t atomic_ptr_clear ( atomic_ptr_t * target)
inlinestatic

◆ atomic_ptr_get()

atomic_ptr_val_t atomic_ptr_get ( const atomic_ptr_t * target)

◆ atomic_ptr_set()

atomic_ptr_val_t atomic_ptr_set ( atomic_ptr_t * target,
atomic_ptr_val_t value )

◆ atomic_set()

atomic_val_t atomic_set ( atomic_t * target,
atomic_val_t value )

◆ atomic_sub()

atomic_val_t atomic_sub ( atomic_t * target,
atomic_val_t value )

◆ atomic_xor()

atomic_val_t atomic_xor ( atomic_t * target,
atomic_val_t value )