#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <hicn/util/ip_address.h>
Go to the source code of this file.
|
|
#define | INT_CMP(x, y) x < y ? -1 : (x == y ? 0 : 1) |
| |
|
#define | INDENT(n, fmt) "%*s" fmt, n, "" |
| |
|
#define | printfi(n, fmt, ...) printf(INDENT(n*4, fmt), ##__VA_ARGS__) |
| |
|
#define | _unused(x) ((void)(x)) |
| |
| #define | NO_INITIALIZE(NAME) |
| |
| #define | NO_FINALIZE(NAME) |
| |
| #define | AUTOGENERATE_CREATE_FREE(NAME) |
| |
| #define | AUTOGENERATE_DEFS(NAME) |
| |
◆ AUTOGENERATE_CREATE_FREE
| #define AUTOGENERATE_CREATE_FREE |
( |
|
NAME | ) |
|
Value: \
NAME ## _t * \
NAME ## _create() \
{ \
NAME ## _t * obj = malloc(sizeof(NAME ## _t)); \
if (!obj) \
goto ERR_MALLOC; \
\
if (NAME ## _initialize(obj) < 0) \
goto ERR_INIT; \
\
return obj; \
\
ERR_INIT: \
free(obj); \
ERR_MALLOC: \
return NULL; \
} \
\
void \
NAME ## _free(NAME ## _t * obj) \
{ \
if (NAME ## _finalize(obj) < 0) \
(void)0; \
free(obj); \
} \
◆ AUTOGENERATE_DEFS
| #define AUTOGENERATE_DEFS |
( |
|
NAME | ) |
|
Value:int NAME ## _initialize(NAME ## _t *); \
int NAME ## _finalize(NAME ## _t *); \
NAME ## _t * NAME ## _create(); \
void NAME ## _free(NAME ## _t *); \
◆ NO_FINALIZE
| #define NO_FINALIZE |
( |
|
NAME | ) |
|
Value:int \
NAME ## _finalize(NAME ## _t * obj) { \
return 0; \
}
◆ NO_INITIALIZE
| #define NO_INITIALIZE |
( |
|
NAME | ) |
|
Value:int \
NAME ## _initialize(NAME ## _t * obj) { \
return 0; \
}