#ifndef __MEM_H
#define __MEM_H

#include "types.h"

/*
  mem_get_block function allocates a block in the internal memory
  
  @param size size_t size of the block
  @return void * pointer to the memory block allocated
 */
void *mem_get_block(size_t size);

/*
  mem_free_block function releases the memory block allocated

  @param addr void * pointer to the memory block
 */
void mem_free_block(void *addr);

/*
  mem_init function initializes the tiny heap manager
 */
void mem_init(uint32_t *addr);

#endif
