From 51370f0eedb1c8167ab2c340d2a53f0d9f02509c Mon Sep 17 00:00:00 2001 From: Arturo Borrero Gonzalez Date: Thu, 23 May 2013 12:03:04 +0200 Subject: src: add support for XML parsing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds capabilities for parsing a XML table/chain/rule. Some comments: * The XML data is case sensitive (so asd != ASD != asd) * All exported functions receive XML and return an object (table|chain|rule). * To compile the lib with XML parsing support, run './configure --with-xml-parsing' * XML parsing is done with libmxml (http://minixml.org). XML parsing depends on this external lib, this dependency is optional at compile time. NOTE: expr/target and expr/match binary data are exported. [ Fixed to compile without --with-xml-parsing --pablo ] Signed-off-by: Arturo Borrero González --- include/libnftables/chain.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include/libnftables/chain.h') diff --git a/include/libnftables/chain.h b/include/libnftables/chain.h index 9d356d7..b12474f 100644 --- a/include/libnftables/chain.h +++ b/include/libnftables/chain.h @@ -45,6 +45,13 @@ enum { NFT_CHAIN_O_XML, }; +enum nft_chain_parse_type { + NFT_CHAIN_PARSE_NONE = 0, + NFT_CHAIN_PARSE_XML, + NFT_CHAIN_PARSE_MAX +}; + +int nft_chain_parse(struct nft_chain *c, enum nft_chain_parse_type type, char *data); int nft_chain_snprintf(char *buf, size_t size, struct nft_chain *t, uint32_t type, uint32_t flags); struct nlmsghdr *nft_chain_nlmsg_build_hdr(char *buf, uint16_t cmd, uint16_t family, uint16_t type, uint32_t seq); -- cgit v1.2.3