summaryrefslogtreecommitdiff
path: root/src/kernel/memorymanagement.h
blob: 299fa4c66a9bd32f7ad84f6d76cdd8172d391e59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef MEMORYMANAGEMENT_H
#define MEMORYMANAGEMENT_H

#include <stddef.h>
#include "stdint.h"

typedef struct {
	size_t offset;
	size_t size;
	uint32_t prev_ptr;
	uint32_t free_ptr;
} memory_manager_t;

void memory_manager_init( memory_manager_t *memory_manager, size_t offset, size_t size );
void *memory_manager_allocate( memory_manager_t *memory_manager, size_t size );
void memory_manager_deallocate( memory_manager_t *memory_manager, void **p );

#endif // MEMORYMANAGEMENT_H