--- src/libvirt_private.syms | 1 + src/util/virbitmap.c | 17 +++++++++++++++++ src/util/virbitmap.h | 3 +++ 3 files changed, 21 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index b7b9631..6b831b3 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1046,6 +1046,7 @@ virBitmapEqual; virBitmapFormat; virBitmapFree; virBitmapGetBit; +virBitmapIsAllClear; virBitmapIsAllSet; virBitmapNew; virBitmapNewCopy; diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c index 21509ac..998c302 100644 --- a/src/util/virbitmap.c +++ b/src/util/virbitmap.c @@ -591,6 +591,23 @@ bool virBitmapIsAllSet(virBitmapPtr bitmap) } /** + * virBitmapIsAllClear: + * @bitmap: the bitmap to check + * + * check if all bits in @bitmap are clear + */ +bool virBitmapIsAllClear(virBitmapPtr bitmap) +{ + int i; + + for (i = 0; i < bitmap->map_len; i++) + if (bitmap->map[i] != 0) + return false; + + return true; +} + +/** * virBitmapNextSetBit: * @bitmap: the bitmap * @pos: the position after which to search for a set bit diff --git a/src/util/virbitmap.h b/src/util/virbitmap.h index 044c7a6..b682523 100644 --- a/src/util/virbitmap.h +++ b/src/util/virbitmap.h @@ -100,6 +100,9 @@ void virBitmapClearAll(virBitmapPtr bitmap) bool virBitmapIsAllSet(virBitmapPtr bitmap) ATTRIBUTE_NONNULL(1); +bool virBitmapIsAllClear(virBitmapPtr bitmap) + ATTRIBUTE_NONNULL(1); + ssize_t virBitmapNextSetBit(virBitmapPtr bitmap, ssize_t pos) ATTRIBUTE_NONNULL(1); -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list