33 #ifndef LWIP_HDR_MEMP_H 34 #define LWIP_HDR_MEMP_H 41 #define LWIP_MEMPOOL(name,num,size,desc) 46 #define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name, 67 #define LWIP_MEMPOOL_PROTOTYPE(name) extern const struct memp_desc memp_ ## name 74 #define memp_malloc(type) mem_malloc(memp_pools[type]->size) 75 #define memp_free(type, mem) mem_free(mem) 77 #define LWIP_MEMPOOL_DECLARE(name,num,size,desc) \ 78 const struct memp_desc memp_ ## name = { \ 79 LWIP_MEM_ALIGN_SIZE(size) \ 82 #define LWIP_MEMPOOL_INIT(name) 83 #define LWIP_MEMPOOL_ALLOC(name) mem_malloc(memp_ ## name.size) 84 #define LWIP_MEMPOOL_FREE(name, x) mem_free(x) 88 #define LWIP_MEMPOOL_DECLARE(name,num,size,desc) u8_t memp_memory_ ## name ## _base \ 89 [((num) * (MEMP_SIZE + MEMP_ALIGN_SIZE(size)))]; \ 91 static struct memp *memp_tab_ ## name; \ 93 const struct memp_desc memp_ ## name = { \ 94 LWIP_MEM_ALIGN_SIZE(size), \ 96 DECLARE_LWIP_MEMPOOL_DESC(desc) \ 97 memp_memory_ ## name ## _base, \ 101 #define LWIP_MEMPOOL_INIT(name) memp_init_pool(&memp_ ## name) 102 #define LWIP_MEMPOOL_ALLOC(name) memp_malloc_pool(&memp_ ## name) 103 #define LWIP_MEMPOOL_FREE(name, x) memp_free_pool(&memp_ ## name, (x)) 107 struct memp_malloc_helper
110 #if MEMP_OVERFLOW_CHECK 119 #if MEMP_OVERFLOW_CHECK 120 void *memp_malloc_fn(memp_t type,
const char* file,
const int line);
121 #define memp_malloc(t) memp_malloc_fn((t), __FILE__, __LINE__)
const struct memp_desc * memp_pools[MEMP_MAX]
void * memp_malloc(memp_t type)
void memp_free(memp_t type, void *mem)