summaryrefslogtreecommitdiffstats
path: root/shlibs/blkid/src/blkidP.h
diff options
context:
space:
mode:
authorKarel Zak2009-09-15 20:51:30 +0200
committerKarel Zak2009-09-16 09:46:52 +0200
commitf23e05578a84eac60a64b1ccfde4df661b40f1ad (patch)
tree4a96787cae84a1c7cb1536368f21b907a03b5234 /shlibs/blkid/src/blkidP.h
parentlibblkid: create a generic blkid_encode_to_utf8() (diff)
downloadkernel-qcow2-util-linux-f23e05578a84eac60a64b1ccfde4df661b40f1ad.tar.gz
kernel-qcow2-util-linux-f23e05578a84eac60a64b1ccfde4df661b40f1ad.tar.xz
kernel-qcow2-util-linux-f23e05578a84eac60a64b1ccfde4df661b40f1ad.zip
libblkid: move filter macros to header file
* move blkid_bmp_* macros to blkidP.h * add blkid_bmp_nbytes() -- returns size of bitmap in bytes * add blkid_bmp_nwords() -- returns size of bitmap in words (rename from blkid_bmp_size()) Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'shlibs/blkid/src/blkidP.h')
-rw-r--r--shlibs/blkid/src/blkidP.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/shlibs/blkid/src/blkidP.h b/shlibs/blkid/src/blkidP.h
index 4ad76bd1e..9c6578cf4 100644
--- a/shlibs/blkid/src/blkidP.h
+++ b/shlibs/blkid/src/blkidP.h
@@ -340,6 +340,27 @@ extern int blkid_probe_set_uuid_as(blkid_probe pr, unsigned char *uuid, const ch
extern void blkid_unparse_uuid(const unsigned char *uuid, char *str, size_t len);
+/* filter bitmap macros */
+#define blkid_bmp_wordsize (8 * sizeof(unsigned long))
+#define blkid_bmp_idx_bit(item) (1UL << ((item) % blkid_bmp_wordsize))
+#define blkid_bmp_idx_byte(item) ((item) / blkid_bmp_wordsize)
+
+#define blkid_bmp_set_item(bmp, item) \
+ ((bmp)[ blkid_bmp_idx_byte(item) ] |= blkid_bmp_idx_bit(item))
+
+#define blkid_bmp_unset_item(bmp, item) \
+ ((bmp)[ bmp_idx_byte(item) ] &= ~bmp_idx_bit(item))
+
+#define blkid_bmp_get_item(bmp, item) \
+ ((bmp)[ blkid_bmp_idx_byte(item) ] & blkid_bmp_idx_bit(item))
+
+#define blkid_bmp_nwords(max_items) \
+ (((max_items) + blkid_bmp_wordsize) / blkid_bmp_wordsize)
+
+#define blkid_bmp_nbytes(max_items) \
+ (blkid_bmp_nwords(max_items) * sizeof(unsigned long))
+
+/* encode.c */
extern size_t blkid_encode_to_utf8(int enc, unsigned char *dest, size_t len,
const unsigned char *src, size_t count);