@@ -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);
@@ -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);
@@ -203,6 +203,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);
@@ -283,6 +284,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);
@@ -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);
@@ -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;
}
@@ -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];
@@ -287,7 +287,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:
@@ -732,7 +732,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:
@@ -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";
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> --- include/expression.h | 2 ++ include/fib.h | 3 +++ include/rule.h | 2 ++ include/statement.h | 2 ++ src/expression.c | 2 +- src/fib.c | 2 +- src/rule.c | 4 ++-- src/statement.c | 4 ++-- 8 files changed, 15 insertions(+), 6 deletions(-)