diff options
-rw-r--r-- | include/gmputil.h | 33 | ||||
-rw-r--r-- | include/json.h | 4 | ||||
-rw-r--r-- | src/gmputil.c | 16 |
3 files changed, 37 insertions, 16 deletions
diff --git a/include/gmputil.h b/include/gmputil.h index ad63d67b..0cb85a7d 100644 --- a/include/gmputil.h +++ b/include/gmputil.h @@ -52,12 +52,31 @@ extern uint32_t mpz_get_be32(const mpz_t op); extern uint16_t mpz_get_be16(const mpz_t op); enum byteorder; -extern void *mpz_export_data(void *data, const mpz_t op, - enum byteorder byteorder, - unsigned int len); -extern void mpz_import_data(mpz_t rop, const void *data, - enum byteorder byteorder, - unsigned int len); -extern void mpz_switch_byteorder(mpz_t rop, unsigned int len); +extern void *__mpz_export_data(void *data, const mpz_t op, + enum byteorder byteorder, unsigned int len); +extern void __mpz_import_data(mpz_t rop, const void *data, + enum byteorder byteorder, unsigned int len); +extern void __mpz_switch_byteorder(mpz_t rop, unsigned int len); + +#include <assert.h> +#include <datatype.h> + +#define mpz_export_data(data, op, byteorder, len) \ +{ \ + assert(len > 0); \ + __mpz_export_data(data, op, byteorder, len); \ +} + +#define mpz_import_data(rop, data, byteorder, len) \ +{ \ + assert(len > 0); \ + __mpz_import_data(rop, data, byteorder, len); \ +} + +#define mpz_switch_byteorder(rop, len) \ +{ \ + assert(len > 0); \ + __mpz_switch_byteorder(rop, len); \ +} #endif /* NFTABLES_GMPUTIL_H */ diff --git a/include/json.h b/include/json.h index 7f2df7c8..20d6c2a4 100644 --- a/include/json.h +++ b/include/json.h @@ -15,6 +15,10 @@ struct stmt; struct symbol_table; struct table; struct netlink_mon_handler; +struct nft_ctx; +struct location; +struct output_ctx; +struct list_head; #ifdef HAVE_LIBJANSSON diff --git a/src/gmputil.c b/src/gmputil.c index a25f42ee..b356460f 100644 --- a/src/gmputil.c +++ b/src/gmputil.c @@ -87,9 +87,8 @@ uint16_t mpz_get_be16(const mpz_t op) return mpz_get_type(uint16_t, MPZ_BIG_ENDIAN, op); } -void *mpz_export_data(void *data, const mpz_t op, - enum byteorder byteorder, - unsigned int len) +void *__mpz_export_data(void *data, const mpz_t op, enum byteorder byteorder, + unsigned int len) { enum mpz_word_order order; enum mpz_byte_order endian; @@ -111,9 +110,8 @@ void *mpz_export_data(void *data, const mpz_t op, return data; } -void mpz_import_data(mpz_t rop, const void *data, - enum byteorder byteorder, - unsigned int len) +void __mpz_import_data(mpz_t rop, const void *data, enum byteorder byteorder, + unsigned int len) { enum mpz_word_order order; enum mpz_byte_order endian; @@ -133,12 +131,12 @@ void mpz_import_data(mpz_t rop, const void *data, mpz_import(rop, len, order, 1, endian, 0, data); } -void mpz_switch_byteorder(mpz_t rop, unsigned int len) +void __mpz_switch_byteorder(mpz_t rop, unsigned int len) { char data[len]; - mpz_export_data(data, rop, BYTEORDER_BIG_ENDIAN, len); - mpz_import_data(rop, data, BYTEORDER_HOST_ENDIAN, len); + __mpz_export_data(data, rop, BYTEORDER_BIG_ENDIAN, len); + __mpz_import_data(rop, data, BYTEORDER_HOST_ENDIAN, len); } #ifndef HAVE_LIBGMP |