## **Overview**
**Related Modules:**
[OSAL](OSAL.md)
**Description:**
Declares atomic and bit operation interfaces.
This file provides interfaces such as reading and setting an atomic, incrementing and decrementing an atomic counter by 1. This file also provides interfaces such as checking the bit status of a variable, and setting and clearing the bit value of a variable.
**Since:**
1.0
**Version:**
1.0
## **Summary**
## Data Structures
## Functions
OsalAtomicRead (const OsalAtomic *v) | Reads the counter of an atomic. |
OsalAtomicSet (OsalAtomic *v, int32_t counter) | Sets the counter for an atomic. |
OsalAtomicInc (OsalAtomic *v) | Increments the counter of an atomic by 1. |
OsalAtomicDec (OsalAtomic *v) | Decrements the counter of an atomic by 1. |
OsalTestBit (unsigned long nr, const volatile unsigned long *addr) | Tests the value of a specified bit of a variable. |
OsalTestSetBit (unsigned long nr, volatile unsigned long *addr) | Sets the value of a specified bit of the variable and returns the bit value before the setting. |
OsalTestClearBit (unsigned long nr, volatile unsigned long *addr) | Clears the value of a specified bit of the variable and returns the bit value before clearing. |
OsalClearBit (unsigned long nr, volatile unsigned long *addr) | Clears the value of a specified bit of the variable. |