1 /* Modules Definitions 2 ** 3 ** Distributed under the terms of the OpenBeOS License. 4 */ 5 6 #ifndef _FSSH_ATOMIC_H 7 #define _FSSH_ATOMIC_H 8 9 10 #include "fssh_types.h" 11 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 18 int32_t fssh_atomic_set(vint32_t *value, int32_t newValue); 19 int32_t fssh_atomic_test_and_set(vint32_t *value, int32_t newValue, 20 int32_t testAgainst); 21 int32_t fssh_atomic_add(vint32_t *value, int32_t addValue); 22 int32_t fssh_atomic_and(vint32_t *value, int32_t andValue); 23 int32_t fssh_atomic_or(vint32_t *value, int32_t orValue); 24 int32_t fssh_atomic_get(vint32_t *value); 25 26 27 #ifdef __cplusplus 28 } 29 #endif 30 31 32 #endif /* _FSSH_ATOMIC_H */ 33