1 #ifndef __ORO_ARCH_INTERFACE__     2 #define __ORO_ARCH_INTERFACE__    25 struct oro_atomic_t_interface;
    95 int oro_cmpxchg(
void volatile* ptr, 
unsigned long o, 
unsigned long n);
    98 #endif // __ORO_ARCH_INTERFACE__ int oro_atomic_inc_and_test(oro_atomic_t *a)
Increment a atomically and test for zero. 
 
int oro_atomic_read(oro_atomic_t *a)
Returns the current counter value of the atomic structure a. 
 
void oro_atomic_inc(oro_atomic_t *a)
Increment a atomically. 
 
void ORO_ATOMIC_SETUP(oro_atomic_t *a, int n)
Initializes the uninitialized atomic structure a with a counter value of 'n'. 
 
void ORO_ATOMIC_CLEANUP(oro_atomic_t *a)
Cleans up all resources allocated durint the setup of atomic structure a. 
 
int oro_cmpxchg(void volatile *ptr, unsigned long o, unsigned long n)
Compare o with *ptr and swap with n if equal. 
 
void oro_atomic_sub(int n, oro_atomic_t *a, int n)
Substract 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)
Substract n from a and test for zero. 
 
void oro_atomic_set(oro_atomic_t *a, int n)
Sets the current counter value of the atomic structure a to n. 
 
void oro_atomic_dec(oro_atomic_t *a)
Decrement a atomically. 
 
Structure that contains an int for atomic operations. 
 
void oro_atomic_add(oro_atomic_t *a, int n)
Add n to a.