![]() |
RTEMS 6.3
|
This group contains the atomic operations implementation. More...
Files | |
| file | cpukit/include/rtems/score/atomic.h |
| This header file provides the interfaces of the Atomic Operations. | |
| file | cpukit/score/src/libatomic.c |
| This source file contains the implementation of _Libatomic_Protect_start() and _Libatomic_Protect_end(). | |
Macros | |
| #define | ATOMIC_ORDER_RELAXED 0 |
| #define | ATOMIC_ORDER_ACQUIRE 2 |
| #define | ATOMIC_ORDER_RELEASE 3 |
| #define | ATOMIC_ORDER_ACQ_REL 4 |
| #define | ATOMIC_ORDER_SEQ_CST 5 |
| #define | ATOMIC_INITIALIZER_UINT(value) |
| #define | ATOMIC_INITIALIZER_ULONG(value) |
| #define | ATOMIC_INITIALIZER_UINTPTR(value) |
| #define | ATOMIC_INITIALIZER_FLAG false |
Typedefs | |
| typedef unsigned int | Atomic_Uint |
| typedef unsigned long | Atomic_Ulong |
| typedef uintptr_t | Atomic_Uintptr |
| typedef bool | Atomic_Flag |
| typedef int | Atomic_Order |
This group contains the atomic operations implementation.
Atomic operations can be used to implement low-level synchronization primitives on SMP systems, like spin locks. All atomic operations are defined in terms of C11 (ISO/IEC 9899:2011) or C++11 (ISO/IEC 14882:2011). For documentation use the standard documents.
| #define ATOMIC_INITIALIZER_UINT | ( | value | ) |
| #define ATOMIC_INITIALIZER_UINTPTR | ( | value | ) |
| #define ATOMIC_INITIALIZER_ULONG | ( | value | ) |