]> wirehaze git hosting - ppos.git/blob - ppos/kernel/memory.h

wirehaze git hosting

add ppos/
[ppos.git] / ppos / kernel / memory.h
1 // PingPongOS - PingPong Operating System
2 // Prof. Carlos A. Maziero, DINF UFPR
3 // Versão 2.0 -- Junho de 2025
4
5 // biblioteca de alocação de memória heap.
6
7 // ATENÇÃO: ESTE ARQUIVO NÃO DEVE SER ALTERADO;
8 // ALTERAÇÕES SERÃO DESCARTADAS NA CORREÇÃO.
9
10 #ifndef __PPOS_MEMORY__
11 #define __PPOS_MEMORY__
12
13 // inicia o subsistema de memória RAM (heap)
14 void mem_init();
15
16 // informa a quantidade de memória total, em bytes
17 int mem_size();
18
19 // informa a quantidade de memória disponível, em bytes
20 int mem_avail();
21
22 // aloca um bloco de memória com o tamanho indicado
23 // retorna ponteiro ou NULL se houver erro
24 void *mem_alloc(int size);
25
26 // libera um bloco de memória previamente alocado
27 // retorna NOERROR se ok ou ERROR se ptr for NULL ou inválido
28 int mem_free(void *ptr);
29
30 // gera um relatório sobre o uso da memória
31 void mem_report();
32
33 #endif