1 #ifndef __GCC_ORO_ARCH__     2 #define __GCC_ORO_ARCH__     4 #include "../../rtt-config.h"    14 #define ORO_ATOMIC_SETUP    oro_atomic_set    15 #define ORO_ATOMIC_CLEANUP(a_int)    17 #define oro_atomic_read(a_int)      ((a_int)->cnt)    19 #define oro_atomic_set(a_int,n)     (((a_int)->cnt) = (n))    26     (void)__sync_add_and_fetch(&a_int->
cnt, n);
    34     return __sync_add_and_fetch(&a_int->
cnt, n);
    42     (void)__sync_sub_and_fetch(&a_int->
cnt, n);
    50     return __sync_sub_and_fetch(&a_int->
cnt, n);
    58     return !(__sync_sub_and_fetch(&a_int->
cnt, n));
    66     (void)__sync_fetch_and_add(&a_int->
cnt, 1);
    74     return __sync_fetch_and_add(&a_int->
cnt, 1);
    82     (void)__sync_fetch_and_sub(&a_int->
cnt, 1);
    90     return __sync_fetch_and_sub(&a_int->
cnt, 1);
    98     return !(__sync_sub_and_fetch(&a_int->
cnt, 1));
   106     return !(__sync_add_and_fetch(&a_int->
cnt, 1));
   112 #define oro_cmpxchg(ptr,o,n)\   113     ((__typeof__(*(ptr)))__sync_val_compare_and_swap((ptr),(o),(n)))   116 #endif // __GCC_ORO_ARCH__ int oro_atomic_inc_return(oro_atomic_t *a)
Increment a atomically and return the new value. 
int oro_atomic_inc_and_test(oro_atomic_t *a)
Increment a atomically and test for zero. 
int oro_atomic_sub_return(int n, oro_atomic_t *a, int n)
Subtract n from a and return the new value. 
void oro_atomic_inc(oro_atomic_t *a)
Increment a atomically. 
volatile long oro_atomic_t
void oro_atomic_sub(int n, oro_atomic_t *a, int n)
Subtract n from a. 
int oro_atomic_dec_and_test(oro_atomic_t *a)
Decrement a atomically and test for zero. 
int oro_atomic_sub_and_test(oro_atomic_t *a, int n)
Subtract n from a and test for zero. 
int oro_atomic_dec_return(oro_atomic_t *a)
Decrement a atomically and return the new value. 
void oro_atomic_dec(oro_atomic_t *a)
Decrement a atomically. 
Structure that contains an int for atomic operations. 
int oro_atomic_add_return(oro_atomic_t *a, int n)
Add n to a and return the new value. 
void oro_atomic_add(oro_atomic_t *a, int n)
Add n to a.