Lines Matching refs:bitmap
600 int libxl_bitmap_alloc(libxl_ctx *ctx, libxl_bitmap *bitmap, int n_bits) in libxl_bitmap_alloc() argument
606 bitmap->map = libxl__calloc(NOGC, sizeof(*bitmap->map), sz); in libxl_bitmap_alloc()
607 bitmap->size = sz; in libxl_bitmap_alloc()
666 int libxl_bitmap_is_full(const libxl_bitmap *bitmap) in libxl_bitmap_is_full() argument
670 for (i = 0; i < bitmap->size; i++) in libxl_bitmap_is_full()
671 if (bitmap->map[i] != (uint8_t)-1) in libxl_bitmap_is_full()
676 int libxl_bitmap_is_empty(const libxl_bitmap *bitmap) in libxl_bitmap_is_empty() argument
680 for (i = 0; i < bitmap->size; i++) in libxl_bitmap_is_empty()
681 if (bitmap->map[i]) in libxl_bitmap_is_empty()
686 int libxl_bitmap_test(const libxl_bitmap *bitmap, int bit) in libxl_bitmap_test() argument
688 if (bit >= bitmap->size * 8 || bit < 0) in libxl_bitmap_test()
690 return (bitmap->map[bit / 8] & (1 << (bit & 7))) ? 1 : 0; in libxl_bitmap_test()
693 void libxl_bitmap_set(libxl_bitmap *bitmap, int bit) in libxl_bitmap_set() argument
695 if (bit >= bitmap->size * 8 || bit < 0) in libxl_bitmap_set()
697 bitmap->map[bit / 8] |= 1 << (bit & 7); in libxl_bitmap_set()
700 void libxl_bitmap_reset(libxl_bitmap *bitmap, int bit) in libxl_bitmap_reset() argument
702 if (bit >= bitmap->size * 8 || bit < 0) in libxl_bitmap_reset()
704 bitmap->map[bit / 8] &= ~(1 << (bit & 7)); in libxl_bitmap_reset()
777 int libxl_bitmap_count_set(const libxl_bitmap *bitmap) in libxl_bitmap_count_set() argument
780 libxl_for_each_set_bit(i, *bitmap) in libxl_bitmap_count_set()
787 char *libxl_bitmap_to_hex_string(libxl_ctx *ctx, const libxl_bitmap *bitmap) in libxl_bitmap_to_hex_string() argument
790 int i = bitmap->size; in libxl_bitmap_to_hex_string()
791 char *p = libxl__zalloc(NOGC, bitmap->size * 2 + 3); in libxl_bitmap_to_hex_string()
796 sprintf(p, "%02x", bitmap->map[i]); in libxl_bitmap_to_hex_string()