Go to the source code of this file.
Data Structures | |
| struct | Memory_handler |
Functions | |
| void | _free_memory (void *memory, int true_f) |
| int | init_memory_handler () |
| void | fill_memory (void *mem) |
| int | check_memory (void *mem) |
| void * | allocate_memory (int size) |
| void | free_memory (void *memory) |
| void | true_free_memory (void *memory) |
| void | free_all_memory () |
| void | debug_print_memory () |
Variables | |
| int | DEBUG |
| struct Memory_handler * | MEM_HANDLE = NULL |
| void _free_memory | ( | void * | memory, |
| int | true_f | ||
| ) |
For internal use only
Marks memory as freed, optionally actually frees the memory
| memory | pointer to memory |
| true_f | 1 for actual freeing |
Definition at line 274 of file memory_handler.c.
References check_memory(), DEBUG, DEBUG_BUFFER_BORDER, Memory_handler::mem, MEM_HANDLE, Memory_handler::next, Memory_handler::size, and Memory_handler::used.
Referenced by free_memory(), and true_free_memory().
| void* allocate_memory | ( | int | size | ) |
Allocate memory for atleast size bytes.
| size | size of memory in bytes |
Definition at line 168 of file memory_handler.c.
References DEBUG, DEBUG_BUFFER_BORDER, fill_memory(), Memory_handler::mem, MEM_HANDLE, Memory_handler::next, Memory_handler::size, and Memory_handler::used.
| int check_memory | ( | void * | mem | ) |
Checks that memory usage of mem has not borders on both sides
| mem | pointer to memory |
Definition at line 145 of file memory_handler.c.
References DEBUG, DEBUG_BUFFER_BORDER, and DEBUG_BUFFER_VALUE.
Referenced by _free_memory().
| void debug_print_memory | ( | ) |
Debug printing. Prints usage of memory and some info.
Definition at line 368 of file memory_handler.c.
References DEBUG, Memory_handler::mem, MEM_HANDLE, Memory_handler::next, Memory_handler::size, and Memory_handler::used.
| void fill_memory | ( | void * | mem | ) |
Fills memory with DEBUG_BUFFER_VALUE for DEBUG_BUFFER_BORDER bytes
| mem | pointer to memory |
Definition at line 130 of file memory_handler.c.
References DEBUG_BUFFER_BORDER, and DEBUG_BUFFER_VALUE.
Referenced by allocate_memory().
| void free_all_memory | ( | ) |
Free all memory, permanently. Used as clean_up() function.
Definition at line 334 of file memory_handler.c.
References Memory_handler::mem, Memory_handler::next, Memory_handler::size, and Memory_handler::used.
| void free_memory | ( | void * | memory | ) |
Sets memory free for re-use, but does not actually free any memory
| memory |
Definition at line 255 of file memory_handler.c.
References _free_memory().
| int init_memory_handler | ( | ) |
Initializes this whole handler thingie. MUST BE CALLED
Definition at line 104 of file memory_handler.c.
References DEBUG, Memory_handler::mem, Memory_handler::next, Memory_handler::size, and Memory_handler::used.
| void true_free_memory | ( | void * | memory | ) |
Does the really freeing memory, deallocates the memory.
| memory | pointer to memory |
Definition at line 264 of file memory_handler.c.
References _free_memory().
| int DEBUG |
Referenced by _free_memory(), allocate_memory(), check_memory(), debug_print_memory(), and init_memory_handler().
| struct Memory_handler* MEM_HANDLE = NULL |
Global handle for memory handler
Definition at line 93 of file memory_handler.c.
Referenced by _free_memory(), allocate_memory(), and debug_print_memory().
1.8.0