Add some check utils.
[bertos.git] / 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)
 {