| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
#include <stdbool.h>#include <zephyr/toolchain.h>#include <stddef.h>#include <zephyr/types.h>#include <zephyr/sys/util_macro.h>#include <zephyr/sys/atomic_builtin.h>Go to the source code of this file.
Macros | |
| #define | ATOMIC_INIT(i) (i) | 
| Initialize an atomic variable.  More... | |
| #define | ATOMIC_PTR_INIT(p) (p) | 
| Initialize an atomic pointer variable.  More... | |
| #define | ATOMIC_BITMAP_SIZE(num_bits) (1 + ((num_bits) - 1) / ATOMIC_BITS) | 
| This macro computes the number of atomic variables necessary to represent a bitmap with num_bits.  More... | |
| #define | ATOMIC_DEFINE(name, num_bits) atomic_t name[ATOMIC_BITMAP_SIZE(num_bits)] | 
| Define an array of atomic variables.  More... | |
Typedefs | |
| typedef long | atomic_t | 
| typedef atomic_t | atomic_val_t | 
| typedef void * | atomic_ptr_t | 
| typedef atomic_ptr_t | atomic_ptr_val_t | 
Functions | |
| static bool | atomic_test_bit (const atomic_t *target, int bit) | 
| Atomically test a bit.  More... | |
| static bool | atomic_test_and_clear_bit (atomic_t *target, int bit) | 
| Atomically test and clear a bit.  More... | |
| static bool | atomic_test_and_set_bit (atomic_t *target, int bit) | 
| Atomically set a bit.  More... | |
| static void | atomic_clear_bit (atomic_t *target, int bit) | 
| Atomically clear a bit.  More... | |
| static void | atomic_set_bit (atomic_t *target, int bit) | 
| Atomically set a bit.  More... | |
| static void | atomic_set_bit_to (atomic_t *target, int bit, bool val) | 
| Atomically set a bit to a given value.  More... | |
| typedef void* atomic_ptr_t | 
| typedef atomic_ptr_t atomic_ptr_val_t | 
| typedef long atomic_t | 
| typedef atomic_t atomic_val_t |