printf(" free %d allocated %d min_free %d largest_free_block %d\n", info.total_free_bytes, info.total_allocated_bytes, info.minimum_free_bytes, info.largest_free_block);
}
+bool heap_caps_check_integrity(uint32_t caps, bool print_errors)
+{
+ bool all_heaps = caps & MALLOC_CAP_INVALID;
+ bool valid = true;
+
+ heap_t *heap;
+ SLIST_FOREACH(heap, ®istered_heaps, next) {
+ if (heap->heap != NULL
+ && (all_heaps || (get_all_caps(heap) & caps) == caps)) {
+ valid = multi_heap_check(heap->heap, print_errors) && valid;
+ }
+ }
+
+ return valid;
+}
*/
void heap_caps_print_heap_info( uint32_t caps );
+/**
+ * @brief Check integrity of all heaps with the given capabilities.
+ *
+ * Calls multi_heap_check() on all heaps which share the given capabilities. Optionally
+ * print errors if the heaps are corrupt.
+ *
+ * Pass caps == MALLOC_CAP_INVALID to test all registered heaps.
+ *
+ * @param caps Bitwise OR of MALLOC_CAP_* flags indicating the type
+ * of memory
+ * @param print_errors Print specific errors if heap corruption is found.
+ *
+ * @return True if all heaps are valid, False if at least one heap is corrupt.
+ */
+bool heap_caps_check_integrity(uint32_t caps, bool print_errors);