Lines Matching refs:bs
38 bitset_free(bitset_t *bs) in bitset_free() argument
40 if (bs == NULL) in bitset_free()
42 if (bs->bs_set && bs->bs_words) in bitset_free()
43 mdb_free(bs->bs_set, bs->bs_words * sizeof (ulong_t)); in bitset_free()
44 mdb_free(bs, sizeof (*bs)); in bitset_free()
50 bitset_t *bs; in bitset_get() local
52 bs = mdb_zalloc(sizeof (*bs), UM_SLEEP); in bitset_get()
53 if (mdb_vread(bs, sizeof (*bs), bsaddr) == -1) { in bitset_get()
55 bitset_free(bs); in bitset_get()
59 bsaddr = (uintptr_t)bs->bs_set; in bitset_get()
60 bs->bs_set = mdb_alloc(bs->bs_words * sizeof (ulong_t), UM_SLEEP); in bitset_get()
61 if (mdb_vread(bs->bs_set, in bitset_get()
62 bs->bs_words * sizeof (ulong_t), bsaddr) == -1) { in bitset_get()
64 bitset_free(bs); in bitset_get()
67 return (bs); in bitset_get()
72 bitset_highbit(bitset_t *bs) in bitset_highbit() argument
77 if ((bs->bs_set == NULL) || (bs->bs_words == 0)) in bitset_highbit()
81 for (i = bs->bs_words; i >= 0; i--) in bitset_highbit()
82 if (bs->bs_set[i]) in bitset_highbit()
90 if (BT_TEST(bs->bs_set, high + i)) in bitset_highbit()
139 bitset_print(bitset_t *bs, char *label, int width) in bitset_print() argument
152 val_max = bitset_highbit(bs) + 1; in bitset_print()
190 if (BT_TEST(bs->bs_set, vi)) in bitset_print()
203 bitset_t *bs; in bitset() local
205 bs = bitset_get(addr); in bitset()
206 if (bs == NULL) in bitset()
209 bitset_print(bs, "label", 80); in bitset()
210 bitset_free(bs); in bitset()