summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2018-05-08 13:08:35 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-05-11 12:16:54 +0200
commit7feece21f72ebf4633048b2dd447e31da30819fb (patch)
tree5863c83d4a02a06e178d3594376072a9471ac188
parentf4c87d0a7037188ff69dff29d5154a102230b792 (diff)
libnftables: Make some functions globally accessible
This removes static flag and adds header prototype for the following functions: * must_print_eq_op() from src/expression.c * fib_result_str() from src/fib.c * set_policy2str() and chain_policy2str from src/rule.c In fib.h, include linux/netfilter/nf_tables.h to make sure enum nft_fib_result is known when including this file. Signed-off-by: Phil Sutter <phil@nwl.cc> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/expression.h2
-rw-r--r--include/fib.h3
-rw-r--r--include/rule.h2
-rw-r--r--include/statement.h2
-rw-r--r--src/expression.c2
-rw-r--r--src/fib.c2
-rw-r--r--src/rule.c4
-rw-r--r--src/statement.c4
8 files changed, 15 insertions, 6 deletions
diff --git a/include/expression.h b/include/expression.h
index f0ba6fc1..23d6bd23 100644
--- a/include/expression.h
+++ b/include/expression.h
@@ -366,6 +366,8 @@ extern struct expr *unary_expr_alloc(const struct location *loc,
extern struct expr *binop_expr_alloc(const struct location *loc, enum ops op,
struct expr *left, struct expr *right);
+extern bool must_print_eq_op(const struct expr *expr);
+
extern struct expr *relational_expr_alloc(const struct location *loc, enum ops op,
struct expr *left, struct expr *right);
diff --git a/include/fib.h b/include/fib.h
index 9ce681cc..67edccfe 100644
--- a/include/fib.h
+++ b/include/fib.h
@@ -1,6 +1,9 @@
#ifndef NFTABLES_FIB_H
#define NFTABLES_FIB_H
+#include <linux/netfilter/nf_tables.h>
+
+extern const char *fib_result_str(enum nft_fib_result result);
extern struct expr *fib_expr_alloc(const struct location *loc,
unsigned int flags,
unsigned int result);
diff --git a/include/rule.h b/include/rule.h
index 2c44ccea..cfecf7ff 100644
--- a/include/rule.h
+++ b/include/rule.h
@@ -204,6 +204,7 @@ extern struct chain *chain_lookup(const struct table *table,
extern const char *family2str(unsigned int family);
extern const char *hooknum2str(unsigned int family, unsigned int hooknum);
+extern const char *chain_policy2str(uint32_t policy);
extern void chain_print_plain(const struct chain *chain,
struct output_ctx *octx);
@@ -284,6 +285,7 @@ extern void set_add_hash(struct set *set, struct table *table);
extern struct set *set_lookup(const struct table *table, const char *name);
extern struct set *set_lookup_global(uint32_t family, const char *table,
const char *name, struct nft_cache *cache);
+extern const char *set_policy2str(uint32_t policy);
extern void set_print(const struct set *set, struct output_ctx *octx);
extern void set_print_plain(const struct set *s, struct output_ctx *octx);
diff --git a/include/statement.h b/include/statement.h
index 5987b181..fc80dbd5 100644
--- a/include/statement.h
+++ b/include/statement.h
@@ -21,6 +21,7 @@ struct objref_stmt {
struct expr *expr;
};
+const char *objref_type_name(uint32_t type);
struct stmt *objref_stmt_alloc(const struct location *loc);
struct counter_stmt {
@@ -75,6 +76,7 @@ struct log_stmt {
uint32_t flags;
};
+extern const char *log_level(uint32_t level);
extern struct stmt *log_stmt_alloc(const struct location *loc);
diff --git a/src/expression.c b/src/expression.c
index c3b6fb22..3c5ea0ff 100644
--- a/src/expression.c
+++ b/src/expression.c
@@ -558,7 +558,7 @@ static void binop_arg_print(const struct expr *op, const struct expr *arg,
nft_print(octx, ")");
}
-static bool must_print_eq_op(const struct expr *expr)
+bool must_print_eq_op(const struct expr *expr)
{
return expr->left->ops->type == EXPR_BINOP;
}
diff --git a/src/fib.c b/src/fib.c
index 21bc69a9..069411f0 100644
--- a/src/fib.c
+++ b/src/fib.c
@@ -52,7 +52,7 @@ const struct datatype fib_addr_type = {
.sym_tbl = &addrtype_tbl,
};
-static const char *fib_result_str(enum nft_fib_result result)
+const char *fib_result_str(enum nft_fib_result result)
{
if (result <= NFT_FIB_RESULT_MAX)
return fib_result[result];
diff --git a/src/rule.c b/src/rule.c
index 5f73bebc..a3ed5179 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -295,7 +295,7 @@ struct print_fmt_options {
const char *stmt_separator;
};
-static const char *set_policy2str(uint32_t policy)
+const char *set_policy2str(uint32_t policy)
{
switch (policy) {
case NFT_SET_POL_PERFORMANCE:
@@ -740,7 +740,7 @@ const char *hooknum2str(unsigned int family, unsigned int hooknum)
return "unknown";
}
-static const char *chain_policy2str(uint32_t policy)
+const char *chain_policy2str(uint32_t policy)
{
switch (policy) {
case NF_DROP:
diff --git a/src/statement.c b/src/statement.c
index a5ef7d7d..6537bbbd 100644
--- a/src/statement.c
+++ b/src/statement.c
@@ -178,7 +178,7 @@ static const char *objref_type[NFT_OBJECT_MAX + 1] = {
[NFT_OBJECT_LIMIT] = "limit",
};
-static const char *objref_type_name(uint32_t type)
+const char *objref_type_name(uint32_t type)
{
if (type > NFT_OBJECT_MAX)
return "unknown";
@@ -225,7 +225,7 @@ static const char *syslog_level[LOG_DEBUG + 1] = {
[LOG_DEBUG] = "debug",
};
-static const char *log_level(uint32_t level)
+const char *log_level(uint32_t level)
{
if (level > LOG_DEBUG)
return "unknown";