Add some check utils.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 1 Sep 2010 10:52:41 +0000 (10:52 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 1 Sep 2010 10:52:41 +0000 (10:52 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4213 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/struct/bitarray.h

index 76899c50ba3843987ed48c4179f8a8dec8a7857c..326617a34f0a1f7a8a6bfc1aff4716b42bb0a233 100644 (file)
@@ -116,6 +116,35 @@ INLINE bool bitarray_full(uint8_t *bit_array, size_t len)
        return 1;
 }
 
+/*
+ * Ugly!.. reformat it.
+ */
+INLINE bool bitarray_blockFull(int idx, int offset, uint8_t *bit_array, size_t len)
+{
+       ASSERT((size_t)(idx + offset) <= len);
+
+       for (int i = idx; i <= idx + offset; i++)
+               if (!bitarray_check(i, bit_array, len))
+                       return 0;
+
+       return 1;
+}
+
+
+/*
+ * Ugly!.. reformat it.
+ */
+INLINE bool bitarray_blockEmpty(int idx, int offset, uint8_t *bit_array, size_t len)
+{
+       ASSERT((size_t)(idx + offset) <= len);
+
+       for (int i = idx; i <= idx + offset; i++)
+               if (bitarray_check(i, bit_array, len))
+                       return 0;
+
+       return 1;
+}
+
 
 INLINE void bitarray_dump(uint8_t *bit_array, size_t len)
 {