30,6 → 30,7 |
* @{ |
*/ |
/** @file |
* @brief Atomic operations. |
*/ |
|
#ifndef LIBC_arm32_ATOMIC_H_ |
37,8 → 38,8 |
|
/** Atomic addition. |
* |
* @param val "Atomic variable". |
* @param i Value to add. |
* @param val Where to add. |
* @param i Value to be added. |
* |
* @return Value after addition. |
*/ |
64,15 → 65,48 |
return ret; |
} |
|
|
/** Atomic increment. |
* |
* @param val Variable to be incremented. |
*/ |
static inline void atomic_inc(atomic_t *val) { atomic_add(val, 1); } |
|
/** Atomic decrement. |
* |
* @param val Variable to be decremented. |
*/ |
static inline void atomic_dec(atomic_t *val) { atomic_add(val, -1); } |
|
/** Atomic pre-increment. |
* |
* @param val Variable to be incremented. |
* @return Value after incrementation. |
*/ |
static inline long atomic_preinc(atomic_t *val) { return atomic_add(val, 1); } |
|
/** Atomic pre-decrement. |
* |
* @param val Variable to be decremented. |
* @return Value after decrementation. |
*/ |
static inline long atomic_predec(atomic_t *val) { return atomic_add(val, -1); } |
|
/** Atomic post-increment. |
* |
* @param val Variable to be incremented. |
* @return Value before incrementation. |
*/ |
static inline long atomic_postinc(atomic_t *val) { return atomic_add(val, 1) - 1; } |
|
/** Atomic post-decrement. |
* |
* @param val Variable to be decremented. |
* @return Value before decrementation. |
*/ |
static inline long atomic_postdec(atomic_t *val) { return atomic_add(val, -1) + 1; } |
|
|
#endif |
|
/** @} |