---
title: OSIncrementAtomic
framework: kernel
role: symbol
role_heading: Function
path: kernel/1576460-osincrementatomic
---

# OSIncrementAtomic

32-bit increment operation, performed atomically with respect to all devices that participate in the coherency architecture of the platform.

## Declaration

```occ
SInt32 OSIncrementAtomic(volatile SInt32 *address);
```

## Parameters

- `address`: The 4-byte aligned address of the value to update atomically.

## Return Value

Return Value The value before the increment.

## Discussion

Discussion The OSIncrementAtomic function increments the value at the specified address by one and returns the original value. This function guarantees atomicity only with main system memory. It is specifically unsuitable for use on noncacheable memory such as that in devices; this function cannot guarantee atomicity, for example, on memory mapped from a PCI device.

## See Also

### Increment

- [OSIncrementAtomic8](kernel/1576477-osincrementatomic8.md)
- [OSIncrementAtomic16](kernel/1576484-osincrementatomic16.md)
- [OSIncrementAtomic64](kernel/1576480-osincrementatomic64.md)
