path: root/src/expr_ops.h
diff options
authorArturo Borrero Gonzalez <>2013-05-23 12:03:04 +0200
committerPablo Neira Ayuso <>2013-05-23 12:34:08 +0200
commit51370f0eedb1c8167ab2c340d2a53f0d9f02509c (patch)
treec3c59e1ecd89cad380204fec6a92cf418cfb5ca6 /src/expr_ops.h
parent3231f64ee7bc4ba56e814611f306320b48e9b91d (diff)
src: add support for XML parsing
This patch adds capabilities for parsing a XML table/chain/rule. Some comments: * The XML data is case sensitive (so <chain>asd</chain> != <chain>ASD</chain> != <CHAIN>asd</CHAIN>) * 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 ( 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 <>
Diffstat (limited to 'src/expr_ops.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr_ops.h b/src/expr_ops.h
index d6e4ec9..ff4c648 100644
--- a/src/expr_ops.h
+++ b/src/expr_ops.h
@@ -17,6 +17,7 @@ struct expr_ops {
int (*parse)(struct nft_rule_expr *e, struct nlattr *attr);
void (*build)(struct nlmsghdr *nlh, struct nft_rule_expr *e);
int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e);
+ int (*xml_parse)(struct nft_rule_expr *e, char *xml);
struct expr_ops *nft_expr_ops_lookup(const char *name);