|
Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
#include <stdbool.h>#include <toolchain.h>#include <stddef.h>#include <zephyr/types.h>#include <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 int | 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 int atomic_t |
| typedef atomic_t atomic_val_t |