furi_hal_memory.h 647 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * @file furi_hal_memory.h
  3. * Memory HAL API
  4. */
  5. #pragma once
  6. #include <stdbool.h>
  7. #include <stdint.h>
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. /**
  12. * @brief Init memory pool manager
  13. */
  14. void furi_hal_memory_init();
  15. /**
  16. * @brief Allocate memory from separate memory pool. That memory can't be freed.
  17. *
  18. * @param size
  19. * @return void*
  20. */
  21. void* furi_hal_memory_alloc(size_t size);
  22. /**
  23. * @brief Get free memory pool size
  24. *
  25. * @return size_t
  26. */
  27. size_t furi_hal_memory_get_free();
  28. /**
  29. * @brief Get max free block size from memory pool
  30. *
  31. * @return size_t
  32. */
  33. size_t furi_hal_memory_max_pool_block();
  34. #ifdef __cplusplus
  35. }
  36. #endif