#include "lbm_types.h"
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
|
#define | LBM_MEMORY_SIZE_64BYTES_TIMES_X(X) (16*(X)) |
|
#define | LBM_MEMORY_BITMAP_SIZE(X) (X) |
|
#define | LBM_MEMORY_SIZE_512 LBM_MEMORY_SIZE_64BYTES_TIMES_X(8) |
|
#define | LBM_MEMORY_SIZE_1K LBM_MEMORY_SIZE_64BYTES_TIMES_X(16) |
|
#define | LBM_MEMORY_SIZE_2K LBM_MEMORY_SIZE_64BYTES_TIMES_X(32) |
|
#define | LBM_MEMORY_SIZE_4K LBM_MEMORY_SIZE_64BYTES_TIMES_X(64) |
|
#define | LBM_MEMORY_SIZE_8K LBM_MEMORY_SIZE_64BYTES_TIMES_X(128) |
|
#define | LBM_MEMORY_SIZE_10K LBM_MEMORY_SIZE_64BYTES_TIMES_X(160) |
|
#define | LBM_MEMORY_SIZE_12K LBM_MEMORY_SIZE_64BYTES_TIMES_X(192) |
|
#define | LBM_MEMORY_SIZE_14K LBM_MEMORY_SIZE_64BYTES_TIMES_X(224) |
|
#define | LBM_MEMORY_SIZE_16K LBM_MEMORY_SIZE_64BYTES_TIMES_X(256) |
|
#define | LBM_MEMORY_SIZE_32K LBM_MEMORY_SIZE_64BYTES_TIMES_X(512) |
|
#define | LBM_MEMORY_SIZE_1M LBM_MEMORY_SIZE_64BYTES_TIMES_X(16384) |
|
#define | LBM_MEMORY_BITMAP_SIZE_512 LBM_MEMORY_BITMAP_SIZE(8) |
|
#define | LBM_MEMORY_BITMAP_SIZE_1K LBM_MEMORY_BITMAP_SIZE(16) |
|
#define | LBM_MEMORY_BITMAP_SIZE_2K LBM_MEMORY_BITMAP_SIZE(32) |
|
#define | LBM_MEMORY_BITMAP_SIZE_4K LBM_MEMORY_BITMAP_SIZE(64) |
|
#define | LBM_MEMORY_BITMAP_SIZE_8K LBM_MEMORY_BITMAP_SIZE(128) |
|
#define | LBM_MEMORY_BITMAP_SIZE_10K LBM_MEMORY_BITMAP_SIZE(160) |
|
#define | LBM_MEMORY_BITMAP_SIZE_12K LBM_MEMORY_BITMAP_SIZE(192) |
|
#define | LBM_MEMORY_BITMAP_SIZE_14K LBM_MEMORY_BITMAP_SIZE(224) |
|
#define | LBM_MEMORY_BITMAP_SIZE_16K LBM_MEMORY_BITMAP_SIZE(256) |
|
#define | LBM_MEMORY_BITMAP_SIZE_32K LBM_MEMORY_BITMAP_SIZE(512) |
|
#define | LBM_MEMORY_BITMAP_SIZE_1M LBM_MEMORY_BITMAP_SIZE(16384) |
|
◆ lbm_free()
void lbm_free |
( |
void * |
ptr | ) |
|
Free memory allocated with lbm_malloc
- Parameters
-
◆ lbm_malloc()
void* lbm_malloc |
( |
size_t |
size | ) |
|
Malloc like interface to lbm_memory
- Parameters
-
size | Size in bytes of memory to allocate. |
- Returns
- Pointer to array or NULL.
◆ lbm_malloc_reserve()
void* lbm_malloc_reserve |
( |
size_t |
size | ) |
|
Allocate memory potentially from the reserved memory.
- Parameters
-
size | Size in bytes of memory to allocate. |
- Returns
- Pointer to array or NULL.
◆ lbm_memory_allocate()
lbm_uint* lbm_memory_allocate |
( |
lbm_uint |
num_words | ) |
|
Allocate a number of words from the symbols and arrays memory.
- Parameters
-
num_words | Number of words to allocate. |
- Returns
- pointer to allocated array or NULL.
◆ lbm_memory_free()
int lbm_memory_free |
( |
lbm_uint * |
ptr | ) |
|
Free an allocated array int the symbols and arrays memory.
- Parameters
-
ptr | Pointer to array to free. |
- Returns
- 1 on success and 0 on failure.
◆ lbm_memory_get_reserve()
lbm_uint lbm_memory_get_reserve |
( |
void |
| ) |
|
Get the number of words of memory that is treated as reserve.
- Returns
- Number of words that are reserved
◆ lbm_memory_init()
int lbm_memory_init |
( |
lbm_uint * |
data, |
|
|
lbm_uint |
data_size, |
|
|
lbm_uint * |
bitmap, |
|
|
lbm_uint |
bitmap_size |
|
) |
| |
Initialize the symbols and arrays memory
- Parameters
-
data | Pointer to an array of uint32_t for data storage. |
data_size | The size of the data storage array in number of uint32_t elements. |
bitmap | Pointer to an array of uint32_t for memory allocator meta-data. |
bitmap_size | The size of the meta-data in number of uint32_t elements. |
- Returns
◆ lbm_memory_longest_free()
lbm_uint lbm_memory_longest_free |
( |
void |
| ) |
|
Find the length of the longest run of consecutire free indices in the LBM memory.
◆ lbm_memory_num_free()
lbm_uint lbm_memory_num_free |
( |
void |
| ) |
|
- Returns
- The number of free words in the symbols and arrays memory.
◆ lbm_memory_num_words()
lbm_uint lbm_memory_num_words |
( |
void |
| ) |
|
Size of of the symbols and arrays memory in uint32_t chunks.
- Returns
- Number of uint32_t words.
◆ lbm_memory_ptr_inside()
int lbm_memory_ptr_inside |
( |
lbm_uint * |
ptr | ) |
|
Check if a pointer points into the lbm_memory
- Parameters
-
- Returns
- 1 for yes and 0 for no.
◆ lbm_memory_set_reserve()
void lbm_memory_set_reserve |
( |
lbm_uint |
num_words | ) |
|
Set the size of the memory reserve in words.
- Parameters
-
num_words | Number of words to treat as reserve. |
◆ lbm_memory_shrink()
int lbm_memory_shrink |
( |
lbm_uint * |
ptr, |
|
|
lbm_uint |
n |
|
) |
| |
Shrink an allocated array.
- Parameters
-
ptr | Pointer to array to shrink |
n | New smaller size of array |
- Returns
- 1 on success and 0 on failure.