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);
#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);
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);
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);
struct expr *expr;
};
+const char *objref_type_name(uint32_t type);
struct stmt *objref_stmt_alloc(const struct location *loc);
struct counter_stmt {
uint32_t flags;
};
+extern const char *log_level(uint32_t level);
extern struct stmt *log_stmt_alloc(const struct location *loc);
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;
}
.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];
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:
return "unknown";
}
-static const char *chain_policy2str(uint32_t policy)
+const char *chain_policy2str(uint32_t policy)
{
switch (policy) {
case NF_DROP:
[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";
[LOG_DEBUG] = "debug",
};
-static const char *log_level(uint32_t level)
+const char *log_level(uint32_t level)
{
if (level > LOG_DEBUG)
return "unknown";