diff options
author | Richard Braun <rbraun@sceen.net> | 2013-05-15 20:51:15 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2013-05-15 20:51:15 +0200 |
commit | 0a508edac7b34eebf1456e3a826ec1c468eafe34 (patch) | |
tree | 2b2cfdef99a03063ada4e9229ed2d764d182738f /kern/bitmap.h | |
parent | 564fd3aefe3fcb27de4c8fc375fc10293a002fa9 (diff) |
kern/bitmap: move helper functions to bitmap_i.h
Although the dinstinction between those and the public interface was already
easy to make, it's a bit more consistent and elegant this way.
Diffstat (limited to 'kern/bitmap.h')
-rw-r--r-- | kern/bitmap.h | 45 |
1 files changed, 1 insertions, 44 deletions
diff --git a/kern/bitmap.h b/kern/bitmap.h index 526824d6..05741b3a 100644 --- a/kern/bitmap.h +++ b/kern/bitmap.h @@ -24,56 +24,13 @@ #ifndef _KERN_BITMAP_H #define _KERN_BITMAP_H +#include <kern/bitmap_i.h> #include <kern/limits.h> -#include <kern/macros.h> #include <kern/string.h> #include <machine/atomic.h> -#define BITMAP_LONGS(nr_bits) DIV_CEIL(nr_bits, LONG_BIT) - -/* - * Declare a bitmap. - */ #define BITMAP_DECLARE(name, nr_bits) unsigned long name[BITMAP_LONGS(nr_bits)] -/* - * Helper functions. - */ - -/* - * Adjust the bitmap pointer and the bit index so that the latter refers - * to a bit inside the word pointed by the former. - * - * Implemented as a macro for const-correctness. - */ -#define bitmap_lookup(bm, bit) \ -MACRO_BEGIN \ - int i; \ - \ - i = BITMAP_LONGS((bit) + 1) - 1; \ - (bm) += i; \ - (bit) -= i * LONG_BIT; \ -MACRO_END - -static inline unsigned long -bitmap_mask(int bit) -{ - return (1UL << bit); -} - -/* - * Return the index of the next set bit in the bitmap, starting (and - * including) the given bit index, or -1 if the bitmap is empty. If - * complement is true, bits are toggled before searching so that the - * result is the index of the next zero bit. - */ -int bitmap_find_next_bit(const unsigned long *bm, int nr_bits, int bit, - int complement); - -/* - * Public interface. - */ - static inline void bitmap_zero(unsigned long *bm, int nr_bits) { |