| 
    Orocos Real-Time Toolkit
    2.9.0
    
   | 
 
Go to the source code of this file.
Classes | |
| struct | oro_atomic_t | 
| Structure that contains an int for atomic operations.  More... | |
Macros | |
| #define | LWSYNC sync | 
| #define | ISYNC_ON_SMP | 
| #define | LWSYNC_ON_SMP | 
| #define | __stringify_in_c(...) #__VA_ARGS__ | 
| #define | stringify_in_c(...) __stringify_in_c(__VA_ARGS__) " " | 
| #define | __ASM_CONST(x) x##UL | 
| #define | ASM_CONST(x) __ASM_CONST(x) | 
| #define | PPC_LL stringify_in_c(lwz) | 
| #define | PPC_STL stringify_in_c(stw) | 
| #define | PPC_LCMPI stringify_in_c(cmpwi) | 
| #define | PPC_LONG stringify_in_c(.long) | 
| #define | PPC_TLNEI stringify_in_c(twnei) | 
| #define | PPC_LLARX stringify_in_c(lwarx) | 
| #define | PPC_STLCX stringify_in_c(stwcx.) | 
| #define | PPC_CNTLZL stringify_in_c(cntlzw) | 
| #define | PPC405_ERR77(ra, rb) | 
| #define | PPC405_ERR77_SYNC | 
| #define | ORO_ATOMIC_INIT(i) { (i) } | 
| #define | ORO_ATOMIC_SETUP oro_atomic_set | 
| #define | ORO_ATOMIC_CLEANUP(v) | 
| #define | oro_atomic_read(v) ((v)->counter) | 
| #define | oro_atomic_set(v, i) (((v)->counter) = (i)) | 
| #define | oro_atomic_add_negative(a, v) (oro_atomic_add_return((a), (v)) < 0) | 
| #define | oro_atomic_inc_and_test(v) (oro_atomic_inc_return(v) == 0) | 
| #define | oro_atomic_oro_cmpxchg(v, o, n) ((int)oro_cmpxchg(&((v)->counter), (o), (n))) | 
| #define | oro_atomic_xchg(v, new) (xchg(&((v)->counter), new)) | 
| #define | oro_atomic_add_unless(v, a, u) | 
| oro_atomic_add_unless - add unless the number is a given value : pointer of type oro_atomic_t : the amount to add to v...  More... | |
| #define | oro_atomic_inc_not_zero(v) oro_atomic_add_unless((v), 1, 0) | 
| #define | oro_atomic_sub_and_test(a, v) (oro_atomic_sub_return((a), (v)) == 0) | 
| #define | oro_atomic_dec_and_test(v) (oro_atomic_dec_return((v)) == 0) | 
| #define | smp_mb__before_oro_atomic_dec() smp_mb() | 
| #define | smp_mb__after_oro_atomic_dec() smp_mb() | 
| #define | smp_mb__before_oro_atomic_inc() smp_mb() | 
| #define | smp_mb__after_oro_atomic_inc() smp_mb() | 
| #define __ASM_CONST | ( | x | ) | x##UL | 
Definition at line 85 of file oro_atomic.h.
| #define __stringify_in_c | ( | ... | ) | #__VA_ARGS__ | 
Definition at line 83 of file oro_atomic.h.
| #define ASM_CONST | ( | x | ) | __ASM_CONST(x) | 
Definition at line 86 of file oro_atomic.h.
| #define ISYNC_ON_SMP | 
Definition at line 62 of file oro_atomic.h.
| #define LWSYNC sync | 
Definition at line 59 of file oro_atomic.h.
| #define LWSYNC_ON_SMP | 
Definition at line 63 of file oro_atomic.h.
| #define oro_atomic_add_negative | ( | a, | |
| v | |||
| ) | (oro_atomic_add_return((a), (v)) < 0) | 
Definition at line 160 of file oro_atomic.h.
| #define oro_atomic_add_unless | ( | v, | |
| a, | |||
| u | |||
| ) | 
oro_atomic_add_unless - add unless the number is a given value : pointer of type oro_atomic_t : the amount to add to v...
: ...unless v is equal to u.
Atomically adds to , so long as it was not . Returns non-zero if was not , and zero otherwise.
Definition at line 286 of file oro_atomic.h.
| #define ORO_ATOMIC_CLEANUP | ( | v | ) | 
Definition at line 121 of file oro_atomic.h.
| #define oro_atomic_dec_and_test | ( | v | ) | (oro_atomic_dec_return((v)) == 0) | 
Definition at line 303 of file oro_atomic.h.
| #define oro_atomic_inc_and_test | ( | v | ) | (oro_atomic_inc_return(v) == 0) | 
Definition at line 238 of file oro_atomic.h.
| #define oro_atomic_inc_not_zero | ( | v | ) | oro_atomic_add_unless((v), 1, 0) | 
Definition at line 300 of file oro_atomic.h.
| #define ORO_ATOMIC_INIT | ( | i | ) | { (i) } | 
Definition at line 119 of file oro_atomic.h.
| #define oro_atomic_oro_cmpxchg | ( | v, | |
| o, | |||
| n | |||
| ) | ((int)oro_cmpxchg(&((v)->counter), (o), (n))) | 
Definition at line 274 of file oro_atomic.h.
| #define oro_atomic_read | ( | v | ) | ((v)->counter) | 
Definition at line 123 of file oro_atomic.h.
| #define oro_atomic_set | ( | v, | |
| i | |||
| ) | (((v)->counter) = (i)) | 
Definition at line 124 of file oro_atomic.h.
| #define ORO_ATOMIC_SETUP oro_atomic_set | 
Definition at line 120 of file oro_atomic.h.
| #define oro_atomic_sub_and_test | ( | a, | |
| v | |||
| ) | (oro_atomic_sub_return((a), (v)) == 0) | 
Definition at line 302 of file oro_atomic.h.
| #define oro_atomic_xchg | ( | v, | |
| new | |||
| ) | (xchg(&((v)->counter), new)) | 
Definition at line 275 of file oro_atomic.h.
| #define PPC405_ERR77 | ( | ra, | |
| rb | |||
| ) | 
Definition at line 106 of file oro_atomic.h.
| #define PPC405_ERR77_SYNC | 
Definition at line 107 of file oro_atomic.h.
| #define PPC_CNTLZL stringify_in_c(cntlzw) | 
Definition at line 97 of file oro_atomic.h.
| #define PPC_LCMPI stringify_in_c(cmpwi) | 
Definition at line 92 of file oro_atomic.h.
| #define PPC_LL stringify_in_c(lwz) | 
Definition at line 90 of file oro_atomic.h.
| #define PPC_LLARX stringify_in_c(lwarx) | 
Definition at line 95 of file oro_atomic.h.
| #define PPC_LONG stringify_in_c(.long) | 
Definition at line 93 of file oro_atomic.h.
| #define PPC_STL stringify_in_c(stw) | 
Definition at line 91 of file oro_atomic.h.
| #define PPC_STLCX stringify_in_c(stwcx.) | 
Definition at line 96 of file oro_atomic.h.
| #define PPC_TLNEI stringify_in_c(twnei) | 
Definition at line 94 of file oro_atomic.h.
| #define smp_mb__after_oro_atomic_dec | ( | ) | smp_mb() | 
Definition at line 331 of file oro_atomic.h.
| #define smp_mb__after_oro_atomic_inc | ( | ) | smp_mb() | 
Definition at line 333 of file oro_atomic.h.
| #define smp_mb__before_oro_atomic_dec | ( | ) | smp_mb() | 
Definition at line 330 of file oro_atomic.h.
| #define smp_mb__before_oro_atomic_inc | ( | ) | smp_mb() | 
Definition at line 332 of file oro_atomic.h.
| #define stringify_in_c | ( | ... | ) | __stringify_in_c(__VA_ARGS__) " " | 
Definition at line 84 of file oro_atomic.h.
 1.8.11