zephyr/lib/heap/heap_stats.c

35 lines
717 B
C

/*
* Copyright (c) 2019,2023 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/sys/sys_heap.h>
#include <zephyr/sys/util.h>
#include <zephyr/kernel.h>
#include "heap.h"
int sys_heap_runtime_stats_get(struct sys_heap *heap,
struct sys_memory_stats *stats)
{
if ((heap == NULL) || (stats == NULL)) {
return -EINVAL;
}
stats->free_bytes = heap->heap->free_bytes;
stats->allocated_bytes = heap->heap->allocated_bytes;
stats->max_allocated_bytes = heap->heap->max_allocated_bytes;
return 0;
}
int sys_heap_runtime_stats_reset_max(struct sys_heap *heap)
{
if (heap == NULL) {
return -EINVAL;
}
heap->heap->max_allocated_bytes = heap->heap->allocated_bytes;
return 0;
}