From d34f0c0508f08a84f4351f2a9369e85ccccfe5a0 Mon Sep 17 00:00:00 2001 From: Arturo Borrero Date: Thu, 9 Jan 2014 12:19:12 +0100 Subject: src: add interface to parse from file This patch adds a new API to parse rule-set expressed in XML/JSON from a file. A new enum nft_parse_input type is added for this purpose. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- src/set.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/set.c') diff --git a/src/set.c b/src/set.c index 1c9caf8..822a715 100644 --- a/src/set.c +++ b/src/set.c @@ -376,7 +376,8 @@ err: #endif static int nft_set_json_parse(struct nft_set *s, const void *json, - struct nft_parse_err *err, enum nft_parse_input input) + struct nft_parse_err *err, + enum nft_parse_input input) { #ifdef JSON_PARSING json_t *tree; @@ -484,7 +485,8 @@ int nft_mxml_set_parse(mxml_node_t *tree, struct nft_set *s, #endif static int nft_set_xml_parse(struct nft_set *s, const void *xml, - struct nft_parse_err *err, enum nft_parse_input input) + struct nft_parse_err *err, + enum nft_parse_input input) { #ifdef XML_PARSING int ret; @@ -533,6 +535,13 @@ int nft_set_parse(struct nft_set *s, enum nft_parse_type type, } EXPORT_SYMBOL(nft_set_parse); +int nft_set_parse_file(struct nft_set *s, enum nft_parse_type type, + FILE *fp, struct nft_parse_err *err) +{ + return nft_set_do_parse(s, type, fp, err, NFT_PARSE_FILE); +} +EXPORT_SYMBOL(nft_set_parse_file); + static int nft_set_snprintf_json(char *buf, size_t size, struct nft_set *s, uint32_t type, uint32_t flags) { -- cgit v1.2.3