Lines Matching refs:addr
42 * Atomicly adds a value to the value at addr, i.e. *addr += value.
45 * addr: Address of the value to modify.
48 * Returns: Value of *addr prior to the operation.
52 rsAtomicAdd(volatile int32_t* addr, int32_t value);
57 rsAtomicAdd(volatile uint32_t* addr, uint32_t value);
63 * Atomicly performs a bitwise and of two values, storing the result back at addr,
64 * i.e. *addr &= value.
67 * addr: Address of the value to modify.
70 * Returns: Value of *addr prior to the operation.
74 rsAtomicAnd(volatile int32_t* addr, int32_t value);
79 rsAtomicAnd(volatile uint32_t* addr, uint32_t value);
85 * If the value at addr matches compareValue then the newValue is written at addr,
86 * i.e. if (*addr == compareValue) { *addr = newValue; }.
92 * addr: Address of the value to compare and replace if the test passes.
93 * compareValue: Value to test *addr against.
96 * Returns: Value of *addr prior to the operation.
100 rsAtomicCas(volatile int32_t* addr, int32_t compareValue, int32_t newValue);
105 rsAtomicCas(volatile uint32_t* addr, uint32_t compareValue, uint32_t newValue);
111 * Atomicly subtracts one from the value at addr. This is equivalent to rsAtomicSub(addr, 1).
114 * addr: Address of the value to decrement.
116 * Returns: Value of *addr prior to the operation.
120 rsAtomicDec(volatile int32_t* addr);
125 rsAtomicDec(volatile uint32_t* addr);
131 * Atomicly adds one to the value at addr. This is equivalent to rsAtomicAdd(addr, 1).
134 * addr: Address of the value to increment.
136 * Returns: Value of *addr prior to the operation.
140 rsAtomicInc(volatile int32_t* addr);
145 rsAtomicInc(volatile uint32_t* addr);
151 * Atomicly sets the value at addr to the maximum of *addr and value, i.e.
152 * *addr = max(*addr, value).
155 * addr: Address of the value to modify.
158 * Returns: Value of *addr prior to the operation.
162 rsAtomicMax(volatile uint32_t* addr, uint32_t value);
167 rsAtomicMax(volatile int32_t* addr, int32_t value);
173 * Atomicly sets the value at addr to the minimum of *addr and value, i.e.
174 * *addr = min(*addr, value).
177 * addr: Address of the value to modify.
180 * Returns: Value of *addr prior to the operation.
184 rsAtomicMin(volatile uint32_t* addr, uint32_t value);
189 rsAtomicMin(volatile int32_t* addr, int32_t value);
195 * Atomicly perform a bitwise or two values, storing the result at addr,
196 * i.e. *addr |= value.
199 * addr: Address of the value to modify.
202 * Returns: Value of *addr prior to the operation.
206 rsAtomicOr(volatile int32_t* addr, int32_t value);
211 rsAtomicOr(volatile uint32_t* addr, uint32_t value);
217 * Atomicly subtracts a value from the value at addr, i.e. *addr -= value.
220 * addr: Address of the value to modify.
223 * Returns: Value of *addr prior to the operation.
227 rsAtomicSub(volatile int32_t* addr, int32_t value);
232 rsAtomicSub(volatile uint32_t* addr, uint32_t value);
238 * Atomicly performs a bitwise xor of two values, storing the result at addr,
239 * i.e. *addr ^= value.
242 * addr: Address of the value to modify.
245 * Returns: Value of *addr prior to the operation.
249 rsAtomicXor(volatile int32_t* addr, int32_t value);
254 rsAtomicXor(volatile uint32_t* addr, uint32_t value);