LibJuno 0.22.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
|
Go to the source code of this file.
Data Structures | |
struct | JUNO_MEMORY_BLOCK_METADATA_TAG |
The memory metadata. More... | |
struct | JUNO_MEMORY_TAG |
Structure for an allocated memory segment. Describes the allocated memory with a pointer to the start and its size. More... | |
struct | JUNO_MEMORY_ALLOC_API_TAG |
Macros | |
#define | JUNO_MEMORY_BLOCK(name, type, length) static type name[length] = {} |
Macro to declare a static memory block and its associated free stack. | |
#define | JUNO_MEMORY_BLOCK_METADATA(name, length) static JUNO_MEMORY_BLOCK_METADATA_T name[length] = {} |
Macro to declare a static array for memory metadata. | |
#define | JUNO_REF(name) REF##name |
Define a reference for memory. | |
#define | JUNO_NEW_REF(name) JUNO_MEMORY_T *JUNO_REF(name) |
Create a new reference for memory. | |
Typedefs | |
typedef struct JUNO_MEMORY_BLOCK_METADATA_TAG | JUNO_MEMORY_BLOCK_METADATA_T |
typedef struct JUNO_MEMORY_BLOCK_TAG | JUNO_MEMORY_BLOCK_T |
typedef struct JUNO_MEMORY_TAG | JUNO_MEMORY_T |
typedef struct JUNO_MEMORY_ALLOC_API_TAG | JUNO_MEMORY_ALLOC_API_T |
Functions | |
JUNO_MODULE_DECLARE (JUNO_MEMORY_ALLOC_T) | |
JUNO_MODULE_BASE_DECLARE (JUNO_MEMORY_ALLOC_BASE_T) | |
JUNO_MODULE_BASE (JUNO_MEMORY_ALLOC_BASE_T, JUNO_MEMORY_ALLOC_API_T, JUNO_MODULE_EMPTY) | |
#define JUNO_MEMORY_BLOCK | ( | name, | |
type, | |||
length | |||
) | static type name[length] = {} |
Macro to declare a static memory block and its associated free stack.
This API has been generated by LibJuno: https://www.robinonsay.com/libjuno/ This header contains the juno_memory library API
name | Name of the memory block. |
type | Data type of each block element. |
length | Number of elements in the memory block. |
#define JUNO_MEMORY_BLOCK_METADATA | ( | name, | |
length | |||
) | static JUNO_MEMORY_BLOCK_METADATA_T name[length] = {} |
Macro to declare a static array for memory metadata.
name | Name of the metadata array. |
length | Number of metadata entries. |
#define JUNO_NEW_REF | ( | name | ) | JUNO_MEMORY_T *JUNO_REF(name) |
Create a new reference for memory.
#define JUNO_REF | ( | name | ) | REF##name |
Define a reference for memory.
typedef struct JUNO_MEMORY_ALLOC_API_TAG JUNO_MEMORY_ALLOC_API_T |
typedef struct JUNO_MEMORY_BLOCK_METADATA_TAG JUNO_MEMORY_BLOCK_METADATA_T |
typedef struct JUNO_MEMORY_BLOCK_TAG JUNO_MEMORY_BLOCK_T |
typedef struct JUNO_MEMORY_TAG JUNO_MEMORY_T |
JUNO_MODULE_BASE | ( | JUNO_MEMORY_ALLOC_BASE_T | , |
JUNO_MEMORY_ALLOC_API_T | , | ||
JUNO_MODULE_EMPTY | |||
) |
JUNO_MODULE_BASE_DECLARE | ( | JUNO_MEMORY_ALLOC_BASE_T | ) |
JUNO_MODULE_DECLARE | ( | JUNO_MEMORY_ALLOC_T | ) |