7#ifndef ZEPHYR_INCLUDE_SYS_BITARRAY_H_ 
    8#define ZEPHYR_INCLUDE_SYS_BITARRAY_H_ 
   42#define _SYS_BITARRAY_DEFINE(name, total_bits, sba_mod)                 \ 
   43        sba_mod uint32_t _sys_bitarray_bundles_##name                   \ 
   44                [(((total_bits + 8 - 1) / 8) + sizeof(uint32_t) - 1)    \ 
   45                 / sizeof(uint32_t)] = {0};                             \ 
   46        sba_mod sys_bitarray_t name = {                                 \ 
   47                .num_bits = total_bits,                                 \ 
   48                .num_bundles = (((total_bits + 8 - 1) / 8)              \ 
   49                                + sizeof(uint32_t) - 1)                 \ 
   51                .bundles = _sys_bitarray_bundles_##name,                \ 
   60#define SYS_BITARRAY_DEFINE(name, total_bits)                           \ 
   61        _SYS_BITARRAY_DEFINE(name, total_bits,) 
   69#define SYS_BITARRAY_DEFINE_STATIC(name, total_bits)                    \ 
   70        _SYS_BITARRAY_DEFINE(name, total_bits, static) 
  247                                     size_t offset, 
bool to_set);
 
bool sys_bitarray_is_region_cleared(sys_bitarray_t *bitarray, size_t num_bits, size_t offset)
 
bool sys_bitarray_is_region_set(sys_bitarray_t *bitarray, size_t num_bits, size_t offset)
 
int sys_bitarray_test_and_clear_bit(sys_bitarray_t *bitarray, size_t bit, int *prev_val)
 
int sys_bitarray_set_bit(sys_bitarray_t *bitarray, size_t bit)
 
int sys_bitarray_clear_bit(sys_bitarray_t *bitarray, size_t bit)
 
int sys_bitarray_set_region(sys_bitarray_t *bitarray, size_t num_bits, size_t offset)
 
int sys_bitarray_alloc(sys_bitarray_t *bitarray, size_t num_bits, size_t *offset)
 
int sys_bitarray_clear_region(sys_bitarray_t *bitarray, size_t num_bits, size_t offset)
 
int sys_bitarray_test_and_set_bit(sys_bitarray_t *bitarray, size_t bit, int *prev_val)
 
int sys_bitarray_test_and_set_region(sys_bitarray_t *bitarray, size_t num_bits, size_t offset, bool to_set)
 
int sys_bitarray_test_bit(sys_bitarray_t *bitarray, size_t bit, int *val)
 
int sys_bitarray_free(sys_bitarray_t *bitarray, size_t num_bits, size_t offset)
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
Kernel Spin Lock.
Definition: spinlock.h:43
 
Definition: bitarray.h:19
 
uint32_t num_bits
Definition: bitarray.h:21
 
struct k_spinlock lock
Definition: bitarray.h:30
 
uint32_t * bundles
Definition: bitarray.h:27
 
uint32_t num_bundles
Definition: bitarray.h:24