summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/gmputil.h33
-rw-r--r--include/json.h4
-rw-r--r--src/gmputil.c16
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