Memory
Basic memory allocation/loading functions. More...
Macros | |
#define | gos_malloc(name, ptr, size) gos_core_malloc(ptr, size) |
Allocate memory on the heap. More... | |
#define | gos_malloc_named(name, size) gos_core_malloc_named(size) |
Allocate memory on the heap. More... | |
Functions | |
gos_result_t | gos_free (void *ptr) |
Free memory allocated by gos_malloc() or gos_malloc_named() More... | |
void | gos_free_linked_list (void *list) |
Free the entries allocated in a linked list. More... | |
Detailed Description
Basic memory allocation/loading functions.
Macro Definition Documentation
◆ gos_malloc
#define gos_malloc | ( | name, |
|
ptr, |
|||
size |
|||
) | gos_core_malloc(ptr, size) |
Allocate memory on the heap.
If the memory is allocated, it is set to zero first. If this call fails, ptr will contain a NULL pointer. Use gos_free() to release the memory allocated by this function.
- Note
- Use the gos_malloc() macro which enables malloc debugging.
- Parameters
-
[in] name
The name of the allocated data, this is only used when using malloc debugging [out] ptr
Pointer to hold address of allocated data [in] size
Size of memory in bytes to allocated
- Returns
- gos_result_t result of api call
◆ gos_malloc_named
#define gos_malloc_named | ( | name, |
|
size |
|||
) | gos_core_malloc_named(size) |
Allocate memory on the heap.
This has the exact same functionality as gos_malloc() except it directly returns the allocated function pointer. If this call fails, the return value is NULL. Use gos_free() to release the memory allocated by this function.
- Note
- This API enables malloc debugging.
- Parameters
-
[in] name
The name of the allocated data, this is only used when using malloc debugging [in] size
Size of memory in bytes to allocated
- Returns
- Pointer to allocated memory, NULL on failure
Function Documentation
◆ gos_free()
gos_result_t gos_free | ( | void * | ptr | ) |
Free memory allocated by gos_malloc() or gos_malloc_named()
- Parameters
-
[in] ptr
Address returned by gos_malloc() or gos_malloc_named()
- Returns
- gos_result_t result of api call
◆ gos_free_linked_list()
void gos_free_linked_list | ( | void * | list | ) |
Free the entries allocated in a linked list.
The entries of the linked list should be of the form:
i.e. The first element of each entry should point to the next entry in the list. The 'next' element of the last entry should be NULL.
- Parameters
-
[in] list
Linked list to de-allocate