ConOpSys V2970
P004.07
ANVILEX control operating system
|
#include "lwip/opt.h"
Go to the source code of this file.
Macros | |
#define | MEM_SIZE_F U16_F |
Typedefs | |
typedef u16_t | mem_size_t |
Functions | |
void | mem_init (void) |
void * | mem_trim (void *mem, mem_size_t size) |
void * | mem_malloc (mem_size_t size) |
void * | mem_calloc (mem_size_t count, mem_size_t size) |
void | mem_free (void *mem) |
Heap API
#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 |
References LWIP_DBG_LEVEL_SERIOUS, LWIP_DEBUGF, MEM_DEBUG, mem_malloc(), NULL, and SZT_F.
Referenced by bridgeif_fdb_init().
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() |
References lfree, LWIP_DBG_LEVEL_SERIOUS, LWIP_DBG_LEVEL_SEVERE, LWIP_DBG_TRACE, LWIP_DEBUGF, LWIP_MEM_FREE_DECL_PROTECT, LWIP_MEM_FREE_PROTECT, LWIP_MEM_FREE_UNPROTECT, LWIP_MEM_ILLEGAL_FREE, MEM_ALIGNMENT, MEM_DEBUG, mem_link_valid(), mem_overflow_check_element, MEM_SANITY, MEM_SANITY_OFFSET, MEM_STATS_DEC_USED, MEM_STATS_INC_LOCKED, mem::next, NULL, plug_holes(), ram, ram_end, SIZEOF_STRUCT_MEM, and mem::used.
Referenced by do_memp_free_pool(), mem_free_callback(), pbuf_free(), and slipif_init().
void mem_init | ( | void | ) |
Zero the heap and initialise start, end and lowest-free
References ERR_OK, lfree, LWIP_ASSERT, LWIP_MEM_ALIGN, LWIP_RAM_HEAP_POINTER, MEM_ALIGNMENT, mem_mutex, MEM_SANITY, MEM_SIZE_ALIGNED, MEM_STATS_AVAIL, mem::next, mem::prev, ptr_to_mem(), ram, ram_end, SIZEOF_STRUCT_MEM, sys_mutex_new(), and mem::used.
Referenced by lwip_init().
void* mem_malloc | ( | mem_size_t | size_in | ) |
Allocate a block of memory with a minimum of 'size' bytes.
size_in | is the minimum size of the requested block in bytes. |
Note that the returned value will always be aligned (as defined by MEM_ALIGNMENT).
References lfree, LWIP_ASSERT, LWIP_DBG_LEVEL_SERIOUS, LWIP_DEBUGF, LWIP_MEM_ALIGN_SIZE, LWIP_MEM_ALLOC_DECL_PROTECT, LWIP_MEM_ALLOC_PROTECT, LWIP_MEM_ALLOC_UNPROTECT, MEM_ALIGNMENT, MEM_DEBUG, mem_mutex, mem_overflow_init_element, MEM_SANITY, MEM_SANITY_OFFSET, MEM_SIZE_ALIGNED, MEM_STATS_INC, MEM_STATS_INC_USED, mem_to_ptr(), MIN_SIZE_ALIGNED, mem::next, NULL, mem::prev, ptr_to_mem(), ram_end, S16_F, SIZEOF_STRUCT_MEM, sys_mutex_lock(), sys_mutex_unlock(), and mem::used.
Referenced by do_memp_malloc_pool(), mem_calloc(), pbuf_alloc(), and slipif_init().
void* mem_trim | ( | void * | rmem, |
mem_size_t | new_size | ||
) |
Shrink memory returned by mem_malloc().
rmem | pointer to memory allocated by mem_malloc the is to be shrinked |
new_size | required size after shrinking (needs to be smaller than or equal to the previous size) |
References lfree, LWIP_ASSERT, LWIP_DBG_LEVEL_SEVERE, LWIP_DEBUGF, LWIP_MEM_ALIGN_SIZE, LWIP_MEM_FREE_DECL_PROTECT, LWIP_MEM_FREE_PROTECT, LWIP_MEM_FREE_UNPROTECT, MEM_DEBUG, mem_overflow_check_element, mem_overflow_init_element, MEM_SANITY, MEM_SANITY_OFFSET, MEM_SANITY_OVERHEAD, MEM_SIZE_ALIGNED, MEM_STATS_DEC_USED, MEM_STATS_INC_LOCKED, mem_to_ptr(), MIN_SIZE_ALIGNED, mem::next, NULL, mem::prev, ptr_to_mem(), ram, ram_end, SIZEOF_STRUCT_MEM, and mem::used.
Referenced by pbuf_realloc().