*
* Free @bitmap previously allocated by virBitmapNew.
*/
-void virBitmapFree(virBitmapPtr bitmap)
+void
+virBitmapFree(virBitmapPtr bitmap)
{
if (bitmap) {
VIR_FREE(bitmap->map);
}
-int virBitmapCopy(virBitmapPtr dst, virBitmapPtr src)
+int
+virBitmapCopy(virBitmapPtr dst,
+ virBitmapPtr src)
{
if (dst->nbits != src->nbits) {
errno = EINVAL;
*
* Returns 0 on if bit is successfully set, -1 on error.
*/
-int virBitmapSetBit(virBitmapPtr bitmap, size_t b)
+int
+virBitmapSetBit(virBitmapPtr bitmap,
+ size_t b)
{
if (bitmap->nbits <= b)
return -1;
return 0;
}
+
/**
* virBitmapExpand:
* @map: Pointer to bitmap
*
* Returns 0 on success, -1 on error.
*/
-static int virBitmapExpand(virBitmapPtr map, size_t b)
+static int
+virBitmapExpand(virBitmapPtr map,
+ size_t b)
{
size_t new_len = VIR_DIV_UP(b + 1, VIR_BITMAP_BITS_PER_UNIT);
*
* Returns 0 on if bit is successfully set, -1 on error.
*/
-int virBitmapSetBitExpand(virBitmapPtr bitmap, size_t b)
+int
+virBitmapSetBitExpand(virBitmapPtr bitmap,
+ size_t b)
{
if (bitmap->nbits <= b && virBitmapExpand(bitmap, b) < 0)
return -1;
*
* Returns 0 on if bit is successfully clear, -1 on error.
*/
-int virBitmapClearBit(virBitmapPtr bitmap, size_t b)
+int
+virBitmapClearBit(virBitmapPtr bitmap,
+ size_t b)
{
if (bitmap->nbits <= b)
return -1;
*
* Returns 0 on if bit is successfully cleared, -1 on error.
*/
-int virBitmapClearBitExpand(virBitmapPtr bitmap, size_t b)
+int
+virBitmapClearBitExpand(virBitmapPtr bitmap,
+ size_t b)
{
if (bitmap->nbits <= b) {
if (virBitmapExpand(bitmap, b) < 0)
/* Helper function. caller must ensure b < bitmap->nbits */
-static bool virBitmapIsSet(virBitmapPtr bitmap, size_t b)
+static bool
+virBitmapIsSet(virBitmapPtr bitmap, size_t b)
{
return !!(bitmap->map[VIR_BITMAP_UNIT_OFFSET(b)] & VIR_BITMAP_BIT(b));
}
+
/**
* virBitmapIsBitSet:
* @bitmap: Pointer to bitmap
* If @b is in the range of @bitmap, returns the value of the bit.
* Otherwise false is returned.
*/
-bool virBitmapIsBitSet(virBitmapPtr bitmap, size_t b)
+bool
+virBitmapIsBitSet(virBitmapPtr bitmap,
+ size_t b)
{
if (bitmap->nbits <= b)
return false;
return virBitmapIsSet(bitmap, b);
}
+
/**
* virBitmapGetBit:
* @bitmap: Pointer to bitmap
* On success, @result will contain the setting of @b and 0 is
* returned. On failure, -1 is returned and @result is unchanged.
*/
-int virBitmapGetBit(virBitmapPtr bitmap, size_t b, bool *result)
+int
+virBitmapGetBit(virBitmapPtr bitmap,
+ size_t b,
+ bool *result)
{
if (bitmap->nbits <= b)
return -1;
return 0;
}
+
/**
* virBitmapToString:
* @bitmap: Pointer to bitmap
return ret;
}
+
/**
* virBitmapFormat:
* @bitmap: the bitmap
* Returns the string on success or NULL otherwise. Caller should call
* VIR_FREE to free the string.
*/
-char *virBitmapFormat(virBitmapPtr bitmap)
+char *
+virBitmapFormat(virBitmapPtr bitmap)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
bool first = true;
return virBufferContentAndReset(&buf);
}
+
/**
* virBitmapParseSeparator:
* @str: points to a string representing a human-readable bitmap
return -1;
}
+
/**
* virBitmapParse:
* @str: points to a string representing a human-readable bitmap
return virBitmapParseSeparator(str, '\0', bitmap, bitmapSize);
}
+
/**
* virBitmapParseUnlimited:
* @str: points to a string representing a human-readable bitmap
return NULL;
}
+
/**
* virBitmapNewCopy:
* @src: the source bitmap.
* returns the copied bitmap on success, or NULL otherwise. Caller
* should call virBitmapFree to free the returned bitmap.
*/
-virBitmapPtr virBitmapNewCopy(virBitmapPtr src)
+virBitmapPtr
+virBitmapNewCopy(virBitmapPtr src)
{
virBitmapPtr dst;
return dst;
}
+
/**
* virBitmapNewData:
* @data: the data
* Returns a pointer to the allocated bitmap or NULL if
* memory cannot be allocated.
*/
-virBitmapPtr virBitmapNewData(const void *data, int len)
+virBitmapPtr
+virBitmapNewData(const void *data,
+ int len)
{
virBitmapPtr bitmap;
size_t i, j;
return bitmap;
}
+
/**
* virBitmapToData:
* @data: the data
*
* Returns 0 on success, -1 otherwise.
*/
-int virBitmapToData(virBitmapPtr bitmap, unsigned char **data, int *dataLen)
+int
+virBitmapToData(virBitmapPtr bitmap,
+ unsigned char **data,
+ int *dataLen)
{
ssize_t len;
return 0;
}
+
/**
* virBitmapToDataBuf:
* @bytes: pointer to memory to fill
* Data consists of sequential bytes, with lower bytes containing
* lower bits.
*/
-void virBitmapToDataBuf(virBitmapPtr bitmap,
- unsigned char *bytes,
- size_t len)
+void
+virBitmapToDataBuf(virBitmapPtr bitmap,
+ unsigned char *bytes,
+ size_t len)
{
unsigned long *l;
size_t i, j;
}
}
+
/**
* virBitmapEqual:
* @b1: bitmap 1
* Returns true if two bitmaps have exactly the same set of bits set,
* otherwise false.
*/
-bool virBitmapEqual(virBitmapPtr b1, virBitmapPtr b2)
+bool
+virBitmapEqual(virBitmapPtr b1,
+ virBitmapPtr b2)
{
virBitmapPtr tmp;
size_t i;
return true;
}
-size_t virBitmapSize(virBitmapPtr bitmap)
+
+size_t
+virBitmapSize(virBitmapPtr bitmap)
{
return bitmap->nbits;
}
+
/**
* virBitmapSetAll:
* @bitmap: the bitmap
-1UL >> (VIR_BITMAP_BITS_PER_UNIT - tail);
}
+
/**
* virBitmapClearAll:
* @bitmap: the bitmap
*
* clear all bits in @bitmap.
*/
-void virBitmapClearAll(virBitmapPtr bitmap)
+void
+virBitmapClearAll(virBitmapPtr bitmap)
{
memset(bitmap->map, 0,
bitmap->map_len * (VIR_BITMAP_BITS_PER_UNIT / CHAR_BIT));
}
+
/**
* virBitmapIsAllSet:
* @bitmap: the bitmap to check
*
* check if all bits in @bitmap are set.
*/
-bool virBitmapIsAllSet(virBitmapPtr bitmap)
+bool
+virBitmapIsAllSet(virBitmapPtr bitmap)
{
size_t i;
int unusedBits;
return true;
}
+
/**
* virBitmapIsAllClear:
* @bitmap: the bitmap to check
*
* check if all bits in @bitmap are clear
*/
-bool virBitmapIsAllClear(virBitmapPtr bitmap)
+bool
+virBitmapIsAllClear(virBitmapPtr bitmap)
{
size_t i;
return true;
}
+
/**
* virBitmapNextSetBit:
* @bitmap: the bitmap
* Returns the position of the found bit, or -1 if no bit found.
*/
ssize_t
-virBitmapNextSetBit(virBitmapPtr bitmap, ssize_t pos)
+virBitmapNextSetBit(virBitmapPtr bitmap,
+ ssize_t pos)
{
size_t nl;
size_t nb;
return ffsl(bits) - 1 + nl * VIR_BITMAP_BITS_PER_UNIT;
}
+
/**
* virBitmapLastSetBit:
* @bitmap: the bitmap
return -1;
}
+
/**
* virBitmapNextClearBit:
* @bitmap: the bitmap
* Returns the position of the found bit, or -1 if no bit found.
*/
ssize_t
-virBitmapNextClearBit(virBitmapPtr bitmap, ssize_t pos)
+virBitmapNextClearBit(virBitmapPtr bitmap,
+ ssize_t pos)
{
size_t nl;
size_t nb;
return ffsl(bits) - 1 + nl * VIR_BITMAP_BITS_PER_UNIT;
}
+
/* Return the number of bits currently set in the map. */
size_t
virBitmapCountBits(virBitmapPtr bitmap)
return ret;
}
+
bool
virBitmapOverlaps(virBitmapPtr b1,
virBitmapPtr b2)
return false;
}
+
/**
* virBitmapIntersect:
* @a: bitmap, modified to contain result