#include "lwip/opt.h"Defines | |
| #define | MEM_SIZE_F U16_F |
| #define | LWIP_MEM_ALIGN_SIZE(size) (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1)) |
| Calculate memory size for an aligned buffer - returns the next highest multiple of MEM_ALIGNMENT (e.g. | |
| #define | LWIP_MEM_ALIGN_BUFFER(size) (((size) + MEM_ALIGNMENT - 1)) |
| Calculate safe memory size for an aligned buffer when using an unaligned type as storage. | |
| #define | LWIP_MEM_ALIGN(addr) ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1))) |
| Align a memory pointer to the alignment defined by MEM_ALIGNMENT so that ADDR % MEM_ALIGNMENT == 0. | |
Typedefs | |
| typedef u16_t | mem_size_t |
Functions | |
| void | mem_init (void) |
| Zero the heap and initialize start, end and lowest-free. | |
| void * | mem_trim (void *mem, mem_size_t size) |
| Shrink memory returned by mem_malloc(). | |
| void * | mem_malloc (mem_size_t size) |
| Adam's mem_malloc() plus solution for bug #17922 Allocate a block of memory with a minimum of 'size' bytes. | |
| void * | mem_calloc (mem_size_t count, mem_size_t size) |
| Contiguously allocates enough space for count objects that are size bytes of memory each and returns a pointer to the allocated memory. | |
| void | mem_free (void *mem) |
| Put a struct mem back on the heap. | |
| #define LWIP_MEM_ALIGN | ( | addr | ) | ((void *)(((mem_ptr_t)(addr) + MEM_ALIGNMENT - 1) & ~(mem_ptr_t)(MEM_ALIGNMENT-1))) |
Align a memory pointer to the alignment defined by MEM_ALIGNMENT so that ADDR % MEM_ALIGNMENT == 0.
| #define LWIP_MEM_ALIGN_BUFFER | ( | size | ) | (((size) + MEM_ALIGNMENT - 1)) |
Calculate safe memory size for an aligned buffer when using an unaligned type as storage.
This includes a safety-margin on (MEM_ALIGNMENT - 1) at the start (e.g. if buffer is u8_t[] and actual data will be u32_t*)
| #define LWIP_MEM_ALIGN_SIZE | ( | size | ) | (((size) + MEM_ALIGNMENT - 1) & ~(MEM_ALIGNMENT-1)) |
Calculate memory size for an aligned buffer - returns the next highest multiple of MEM_ALIGNMENT (e.g.
LWIP_MEM_ALIGN_SIZE(3) and LWIP_MEM_ALIGN_SIZE(4) will both yield 4 for MEM_ALIGNMENT == 4).
| #define MEM_SIZE_F U16_F |
| typedef u16_t mem_size_t |
| void* mem_calloc | ( | mem_size_t | count, | |
| mem_size_t | size | |||
| ) |
Contiguously allocates enough space for count objects that are size bytes of memory each and returns a pointer to the allocated memory.
The allocated memory is filled with bytes of value zero.
| count | number of objects to allocate | |
| size | size of the objects to allocate |
| void mem_free | ( | void * | rmem | ) |
Put a struct mem back on the heap.
| rmem | is the data portion of a struct mem as returned by a previous call to mem_malloc() |
| void mem_init | ( | void | ) |
Zero the heap and initialize start, end and lowest-free.
| void* mem_malloc | ( | mem_size_t | size | ) |
Adam's mem_malloc() plus solution for bug #17922 Allocate a block of memory with a minimum of 'size' bytes.
| size | is the minimum size of the requested block in bytes. |
Note that the returned value will always be aligned (as defined by MEM_ALIGNMENT).
| void* mem_trim | ( | void * | rmem, | |
| mem_size_t | newsize | |||
| ) |
Shrink memory returned by mem_malloc().
| rmem | pointer to memory allocated by mem_malloc the is to be shrinked | |
| newsize | required size after shrinking (needs to be smaller than or equal to the previous size) |
1.7.1