Orocos Real-Time Toolkit  2.6.0
oro_arch_interface.h
Go to the documentation of this file.
00001 #ifndef __ORO_ARCH_INTERFACE__
00002 #define __ORO_ARCH_INTERFACE__
00003 
00025 struct oro_atomic_t_interface;
00026 typedef struct oro_atomic_t_interface oro_atomic_t;
00027 
00032 void ORO_ATOMIC_SETUP(oro_atomic_t* a, int n);
00033 
00038 void ORO_ATOMIC_CLEANUP(oro_atomic_t* a);
00039 
00044 int oro_atomic_read(oro_atomic_t* a);
00045 
00050 void oro_atomic_set(oro_atomic_t* a, int n);
00051 
00055 void oro_atomic_add(oro_atomic_t *a, int n);
00056 
00060 void oro_atomic_sub(int n, oro_atomic_t *a, int n);
00061 
00065 int oro_atomic_sub_and_test(oro_atomic_t *a, int n);
00066 
00070 void oro_atomic_inc(oro_atomic_t *a);
00071 
00075 void oro_atomic_dec(oro_atomic_t *a);
00076 
00080 int oro_atomic_dec_and_test(oro_atomic_t *a);
00081 
00085 int oro_atomic_inc_and_test(oro_atomic_t *a);
00086 
00095 int oro_cmpxchg(void volatile* ptr, unsigned long o, unsigned long n);
00096 
00097 
00098 #endif // __ORO_ARCH_INTERFACE__