Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
atomic_builtin.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <zephyr/sys/atomic_types.h>

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)
 
static bool atomic_ptr_cas (atomic_ptr_t *target, atomic_ptr_val_t old_value, atomic_ptr_val_t new_value)
 
static atomic_val_t atomic_add (atomic_t *target, atomic_val_t value)
 
static 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)
 
static atomic_val_t atomic_get (const atomic_t *target)
 
static atomic_ptr_val_t atomic_ptr_get (const atomic_ptr_t *target)
 
static atomic_val_t atomic_set (atomic_t *target, atomic_val_t value)
 
static 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)
 
static atomic_val_t atomic_or (atomic_t *target, atomic_val_t value)
 
static atomic_val_t atomic_xor (atomic_t *target, atomic_val_t value)
 
static atomic_val_t atomic_and (atomic_t *target, atomic_val_t value)
 
static atomic_val_t atomic_nand (atomic_t *target, atomic_val_t value)
 

Function Documentation

◆ atomic_add()

static atomic_val_t atomic_add ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_and()

static atomic_val_t atomic_and ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_cas()

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

◆ 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()

static atomic_val_t atomic_get ( const atomic_t * target)
inlinestatic

◆ atomic_inc()

static atomic_val_t atomic_inc ( atomic_t * target)
inlinestatic

◆ atomic_nand()

static atomic_val_t atomic_nand ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_or()

static atomic_val_t atomic_or ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_ptr_cas()

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

◆ atomic_ptr_clear()

static atomic_ptr_val_t atomic_ptr_clear ( atomic_ptr_t * target)
inlinestatic

◆ atomic_ptr_get()

static atomic_ptr_val_t atomic_ptr_get ( const atomic_ptr_t * target)
inlinestatic

◆ atomic_ptr_set()

static atomic_ptr_val_t atomic_ptr_set ( atomic_ptr_t * target,
atomic_ptr_val_t value )
inlinestatic

◆ atomic_set()

static atomic_val_t atomic_set ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_sub()

static atomic_val_t atomic_sub ( atomic_t * target,
atomic_val_t value )
inlinestatic

◆ atomic_xor()

static atomic_val_t atomic_xor ( atomic_t * target,
atomic_val_t value )
inlinestatic