140#include <lwip/memp.h>
149coap_malloc_error(uint16_t *err) {
159#define coap_malloc_type(type, asize) \
160 (((asize) <= memp_pools[MEMP_ ## type]->size) ? \
161 memp_malloc(MEMP_ ## type) : coap_malloc_error(&memp_pools[MEMP_ ## type]->stats->err))
163#define coap_malloc_type(type, asize) \
164 (((asize) <= memp_pools[MEMP_ ## type]->size) ? \
165 memp_malloc(MEMP_ ## type) : NULL)
167#define coap_free_type(type, p) memp_free(MEMP_ ## type, p)
170#define coap_realloc_type(type, p, asize) \
171 ((p) ? ((asize) <= memp_pools[MEMP_ ## type]->size) ? (p) : NULL : coap_malloc_type(type, asize))
179 LWIP_ASSERT(
"coap_malloc must not be used in lwIP", 0);
185 LWIP_ASSERT(
"coap_free must not be used in lwIP", 0);
188#define coap_dump_memory_type_counts(l) coap_lwip_dump_memory_pools(l)
COAP_STATIC_INLINE void coap_free(void *object)
Wrapper function to coap_free_type() for backwards compatibility.
COAP_STATIC_INLINE void * coap_malloc(size_t size)
Wrapper function to coap_malloc_type() for backwards compatibility.
void coap_dump_memory_type_counts(coap_log_t log_level)
Dumps the current usage of malloc'd memory types.
void coap_memory_init(void)
Initializes libcoap's memory management.
coap_memory_tag_t
Type specifiers for coap_malloc_type().
void * coap_realloc_type(coap_memory_tag_t type, void *p, size_t size)
Reallocates a chunk p of bytes created by coap_malloc_type() or coap_realloc_type() and returns a poi...
void * coap_malloc_type(coap_memory_tag_t type, size_t size)
Allocates a chunk of size bytes and returns a pointer to the newly allocated memory.
void coap_free_type(coap_memory_tag_t type, void *p)
Releases the memory that was allocated by coap_malloc_type().
Helper functions for proxy handling.
#define COAP_STATIC_INLINE