More defect fixes, added some error codes

This commit is contained in:
Raul Tambre 2015-10-23 17:42:34 +03:00
parent fac9d74344
commit 9c2f48cd1d
9 changed files with 190 additions and 84 deletions

View file

@ -1,10 +1,20 @@
#pragma once
// Failure codes for the functions
enum
{
VM_SUCCESS = 0,
VM_FAILURE = -1,
};
namespace memory_helper
{
/**
* Reserve size bytes of virtual memory and returns it.
* The memory should be commited before usage.
*
* Returns the base address of the allocated region of pages, if successful.
* Returns (void*)VM_FAILURE, if unsuccessful.
*/
void* reserve_memory(size_t size);
@ -13,13 +23,16 @@ namespace memory_helper
* That is, bake reserved memory with physical memory.
* pointer should belong to a range of reserved memory.
*
* Returns 0, if was successful.
* Returns -1, if was unsuccessful.
* Returns VM_SUCCESS, if successful.
* Returns VM_FAILURE, if unsuccessful.
*/
s32 commit_page_memory(void* pointer, size_t page_size);
/**
* Free memory alloced via reserve_memory.
*
* Returns VM_SUCCESS, if successful.
* Returns VM_FAILURE, if unsuccessful.
*/
void free_reserved_memory(void* pointer, size_t size);
s32 free_reserved_memory(void* pointer, size_t size);
}