tcpip_priv.h: More flexible API by including return value in API_VAR_ALLOC macro

This commit is contained in:
Dirk Ziegelmeier 2016-04-25 21:00:28 +02:00
parent 0d0b935d3d
commit 5a123a3405
4 changed files with 8 additions and 8 deletions

View File

@ -57,7 +57,7 @@
#define API_MSG_VAR_REF(name) API_VAR_REF(name) #define API_MSG_VAR_REF(name) API_VAR_REF(name)
#define API_MSG_VAR_DECLARE(name) API_VAR_DECLARE(struct api_msg, name) #define API_MSG_VAR_DECLARE(name) API_VAR_DECLARE(struct api_msg, name)
#define API_MSG_VAR_ALLOC(name) API_VAR_ALLOC(struct api_msg, MEMP_API_MSG, name) #define API_MSG_VAR_ALLOC(name) API_VAR_ALLOC(struct api_msg, MEMP_API_MSG, name, ERR_MEM)
#define API_MSG_VAR_ALLOC_DONTFAIL(name) API_VAR_ALLOC_DONTFAIL(struct api_msg, MEMP_API_MSG, name) #define API_MSG_VAR_ALLOC_DONTFAIL(name) API_VAR_ALLOC_DONTFAIL(struct api_msg, MEMP_API_MSG, name)
#define API_MSG_VAR_FREE(name) API_VAR_FREE(MEMP_API_MSG, name) #define API_MSG_VAR_FREE(name) API_VAR_FREE(MEMP_API_MSG, name)
@ -881,7 +881,7 @@ netconn_gethostbyname(const char *name, ip_addr_t *addr)
} }
#endif #endif
API_VAR_ALLOC(struct dns_api_msg, MEMP_DNS_API_MSG, msg); API_VAR_ALLOC(struct dns_api_msg, MEMP_DNS_API_MSG, msg, ERR_MEM);
#if LWIP_MPU_COMPATIBLE #if LWIP_MPU_COMPATIBLE
strncpy(API_VAR_REF(msg).name, name, DNS_MAX_NAME_LENGTH-1); strncpy(API_VAR_REF(msg).name, name, DNS_MAX_NAME_LENGTH-1);
API_VAR_REF(msg).name[DNS_MAX_NAME_LENGTH-1] = 0; API_VAR_REF(msg).name[DNS_MAX_NAME_LENGTH-1] = 0;

View File

@ -41,7 +41,7 @@
#define NETIFAPI_VAR_REF(name) API_VAR_REF(name) #define NETIFAPI_VAR_REF(name) API_VAR_REF(name)
#define NETIFAPI_VAR_DECLARE(name) API_VAR_DECLARE(struct netifapi_msg, name) #define NETIFAPI_VAR_DECLARE(name) API_VAR_DECLARE(struct netifapi_msg, name)
#define NETIFAPI_VAR_ALLOC(name) API_VAR_ALLOC(struct netifapi_msg, MEMP_NETIFAPI_MSG, name) #define NETIFAPI_VAR_ALLOC(name) API_VAR_ALLOC(struct netifapi_msg, MEMP_NETIFAPI_MSG, name, ERR_MEM)
#define NETIFAPI_VAR_FREE(name) API_VAR_FREE(MEMP_NETIFAPI_MSG, name) #define NETIFAPI_VAR_FREE(name) API_VAR_FREE(MEMP_NETIFAPI_MSG, name)
/** /**

View File

@ -51,7 +51,7 @@
#define TCPIP_MSG_VAR_REF(name) API_VAR_REF(name) #define TCPIP_MSG_VAR_REF(name) API_VAR_REF(name)
#define TCPIP_MSG_VAR_DECLARE(name) API_VAR_DECLARE(struct tcpip_msg, name) #define TCPIP_MSG_VAR_DECLARE(name) API_VAR_DECLARE(struct tcpip_msg, name)
#define TCPIP_MSG_VAR_ALLOC(name) API_VAR_ALLOC(struct tcpip_msg, MEMP_TCPIP_MSG_API, name) #define TCPIP_MSG_VAR_ALLOC(name) API_VAR_ALLOC(struct tcpip_msg, MEMP_TCPIP_MSG_API, name, ERR_MEM)
#define TCPIP_MSG_VAR_FREE(name) API_VAR_FREE(MEMP_TCPIP_MSG_API, name) #define TCPIP_MSG_VAR_FREE(name) API_VAR_FREE(MEMP_TCPIP_MSG_API, name)
/* global variables */ /* global variables */

View File

@ -50,16 +50,16 @@ struct netif;
#if LWIP_MPU_COMPATIBLE #if LWIP_MPU_COMPATIBLE
#define API_VAR_REF(name) (*(name)) #define API_VAR_REF(name) (*(name))
#define API_VAR_DECLARE(type, name) type * name #define API_VAR_DECLARE(type, name) type * name
#define API_VAR_ALLOC(type, pool, name) do { \ #define API_VAR_ALLOC(type, pool, name, errorval) do { \
name = (type *)memp_malloc(pool); \ name = (type *)memp_malloc(pool); \
if (name == NULL) { \ if (name == NULL) { \
return ERR_MEM; \ return errorval; \
} \ } \
} while(0) } while(0)
#define API_VAR_ALLOC_POOL(type, pool, name) do { \ #define API_VAR_ALLOC_POOL(type, pool, name, errorval) do { \
name = (type *)LWIP_MEMPOOL_ALLOC(pool); \ name = (type *)LWIP_MEMPOOL_ALLOC(pool); \
if (name == NULL) { \ if (name == NULL) { \
return ERR_MEM; \ return errorval; \
} \ } \
} while(0) } while(0)
#define API_VAR_ALLOC_DONTFAIL(type, pool, name) do { \ #define API_VAR_ALLOC_DONTFAIL(type, pool, name) do { \