diff options
Diffstat (limited to 'src/internal.h')
-rw-r--r-- | src/internal.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/internal.h b/src/internal.h index c8dea7e..d2f944e 100644 --- a/src/internal.h +++ b/src/internal.h @@ -52,8 +52,10 @@ enum nft_parse_input { #define NFT_XML_OPT (1 << 0) mxml_node_t *nft_mxml_build_tree(const void *data, const char *treename, struct nft_parse_err *err, enum nft_parse_input input); +struct nft_set_list; struct nft_rule_expr *nft_mxml_expr_parse(mxml_node_t *node, - struct nft_parse_err *err); + struct nft_parse_err *err, + struct nft_set_list *set_list); int nft_mxml_reg_parse(mxml_node_t *tree, const char *reg_name, uint32_t *reg, uint32_t mxmlflags, uint32_t flags, struct nft_parse_err *err); @@ -83,12 +85,16 @@ int nft_mxml_chain_parse(mxml_node_t *tree, struct nft_chain *c, struct nft_parse_err *err); struct nft_rule; int nft_mxml_rule_parse(mxml_node_t *tree, struct nft_rule *r, - struct nft_parse_err *err); + struct nft_parse_err *err, + struct nft_set_list *set_list); struct nft_set; int nft_mxml_set_parse(mxml_node_t *tree, struct nft_set *s, struct nft_parse_err *err); #endif +int nft_set_lookup_id(struct nft_rule_expr *e, struct nft_set_list *set_list, + uint32_t *set_id); + #ifdef JSON_PARSING #include <jansson.h> @@ -108,7 +114,8 @@ int nft_jansson_str2num(json_t *root, const char *node_name, int base, void *out int nft_jansson_parse_reg(json_t *root, const char *node_name, int type, void *out, struct nft_parse_err *err); struct nft_rule_expr *nft_jansson_expr_parse(json_t *root, - struct nft_parse_err *err); + struct nft_parse_err *err, + struct nft_set_list *set_list); union nft_data_reg; int nft_jansson_data_reg_parse(json_t *root, const char *node_name, union nft_data_reg *data_reg, @@ -123,8 +130,10 @@ struct nft_chain; int nft_jansson_parse_chain(struct nft_chain *c, json_t *tree, struct nft_parse_err *err); struct nft_rule; +struct nft_set_list; int nft_jansson_parse_rule(struct nft_rule *r, json_t *tree, - struct nft_parse_err *err); + struct nft_parse_err *err, + struct nft_set_list *set_list); struct nft_set; int nft_jansson_parse_set(struct nft_set *s, json_t *tree, struct nft_parse_err *err); |