## NAME

`atomic_setbits_int`

,
`atomic_clearbits_int`

—
interface to perform atomic operations
on data

## SYNOPSIS

```
#include
<sys/atomic.h>
```

`void`

`atomic_setbits_int`

(`unsigned
int *p`, `unsigned int
b`);

`void`

`atomic_clearbits_int`

(`unsigned
int *p`, `unsigned int
b`);

## DESCRIPTION

The atomic bits set of functions provide an interface for changing data atomically with respect to interrupts and multiple processors in the system.

The
`atomic_setbits_int`

()
function sets the bits in `b` in the integer pointed to
by `p`. It is equivalent to

*p |= b;

The
`atomic_clearbits_int`

()
function clears the bits in `b` in the integer pointed
to by `p`. It is equivalent to

*p &= ~b;

## CONTEXT

`atomic_setbits_int`

(), and
`atomic_clearbits_int`

() can be called during
autoconf, from process context, or from interrupt context.

## SEE ALSO

atomic_add_int(9), atomic_cas_uint(9), atomic_dec_int(9), atomic_inc_int(9), atomic_sub_int(9), atomic_swap_uint(9)

## HISTORY

The `atomic_setbits_int`

functions first
appeared in OpenBSD 4.1.