From 0d0b935d3dfa1eef7d816735158b6445d1624e00 Mon Sep 17 00:00:00 2001 From: Dirk Ziegelmeier Date: Mon, 25 Apr 2016 20:51:26 +0200 Subject: [PATCH] tcpip_priv.h: Add helper macros for APIs that use private mempools --- src/include/lwip/priv/tcpip_priv.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/include/lwip/priv/tcpip_priv.h b/src/include/lwip/priv/tcpip_priv.h index f4ddd576..b1d3a72e 100644 --- a/src/include/lwip/priv/tcpip_priv.h +++ b/src/include/lwip/priv/tcpip_priv.h @@ -56,11 +56,18 @@ struct netif; return ERR_MEM; \ } \ } while(0) +#define API_VAR_ALLOC_POOL(type, pool, name) do { \ + name = (type *)LWIP_MEMPOOL_ALLOC(pool); \ + if (name == NULL) { \ + return ERR_MEM; \ + } \ + } while(0) #define API_VAR_ALLOC_DONTFAIL(type, pool, name) do { \ name = (type *)memp_malloc(pool); \ LWIP_ASSERT("pool empty", name != NULL); \ } while(0) #define API_VAR_FREE(pool, name) memp_free(pool, name) +#define API_VAR_FREE_POOL(pool, name) LWIP_MEMPOOL_FREE(pool, name) #define API_EXPR_REF(expr) &(expr) #if LWIP_NETCONN_SEM_PER_THREAD #define API_EXPR_REF_SEM(expr) (expr) @@ -72,8 +79,10 @@ struct netif; #define API_VAR_REF(name) name #define API_VAR_DECLARE(type, name) type name #define API_VAR_ALLOC(type, pool, name) +#define API_VAR_ALLOC_POOL(type, pool, name) #define API_VAR_ALLOC_DONTFAIL(type, pool, name) #define API_VAR_FREE(pool, name) +#define API_VAR_FREE_POOL(pool, name) #define API_EXPR_REF(expr) expr #define API_EXPR_REF_SEM(expr) API_EXPR_REF(expr) #define API_EXPR_DEREF(expr) *(expr)